{
    "componentChunkName": "component---src-templates-component-template-tsx",
    "path": "/programmable-components/components/Panel1/",
    "result": {"data":{"entityQuery":{"edges":[{"node":{"name":"Panel1","description":null,"classdesc":"<p>First panel of AgentDesktopView</p>","tags":[{"originalTitle":"component","title":"component","text":""},{"originalTitle":"category","title":"category","text":"Components / Programmable"},{"originalTitle":"subcategory","title":"subcategory","text":"Components"}],"component":{"displayName":"Panel1","param":"Panel1.AgentDesktopPanel1Props","type":"react","children":[{"key":"splitter","condition":"Visible only if agent has 1 or more tasks (if props.tasks.size > 0)","description":"Content splitter container. Renders the TaskListContainer and the TaskCanvas","type":"React component","align":""},{"key":"worker-directory","condition":"","description":"Container for WorkersDirectory that displays the directory of workers","type":"WorkerDirectory","align":""},{"key":"no-tasks","condition":"Visible only if agent doesn't have tasks assigned (if props.tasks.size <= 0)","description":"Component that renders a canvas if no tasks are available","type":"NoTasksCanvas","align":""},{"key":"taskCanvas","condition":"Visible only if agent has 1 or more tasks (if props.tasks.size > 0)","description":"Component that renders a canvas of all assigned tasks.","type":"TaskCanvas","align":""}]},"type":null}}]},"definitionsQuery":{"edges":[]},"childrenDefinitionsQuery":{"edges":[]},"allDefinitionsQuery":{"edges":[{"node":{"kind":"typedef","comment":"/**\n * Callback that returns an array of orchestrations based on a task\n *\n * @callback ChatOrchestrator~ChatOrchestrationsCallback\n * @param {ITask} task task\n * @returns {Array<ChatOrchestrator.ChatOrchestration>}\n * @example\n * import { ChatOrchestratorEvent } from \"@twilio/flex-ui\";\n * const chatOrchestrationsCallback = (task) => {\n *   if (task.sid === \"WT12345\") {\n *      return [ChatOrchestratorEvent.AddToConversation];\n *   }\n *   return [ChatOrchestratorEvent.LeaveConversation];\n * };\n */","name":"ChatOrchestrationsCallback","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ChatOrchestrationsEvents\n * @property {Set<ChatOrchestrator.ChatOrchestration> | ChatOrchestrator.ChatOrchestrationsCallback} accepted orchestrations for reservation accepted events\n * @property {Set<ChatOrchestrator.ChatOrchestration> | ChatOrchestrator.ChatOrchestrationsCallback} wrapup orchestrations for reservation wrapup events\n * @property {Set<ChatOrchestrator.ChatOrchestration> | ChatOrchestrator.ChatOrchestrationsCallback} completed orchestrations for reservation completed events\n * @memberof ChatOrchestrator\n */","name":"ChatOrchestrationsEvents","type":null,"properties":[{"name":"accepted","type":{"names":["Set<ChatOrchestrator.ChatOrchestration>","ChatOrchestrator.ChatOrchestrationsCallback"]},"description":"<p>orchestrations for reservation accepted events</p>","optional":null,"defaultvalue":""},{"name":"wrapup","type":{"names":["Set<ChatOrchestrator.ChatOrchestration>","ChatOrchestrator.ChatOrchestrationsCallback"]},"description":"<p>orchestrations for reservation wrapup events</p>","optional":null,"defaultvalue":""},{"name":"completed","type":{"names":["Set<ChatOrchestrator.ChatOrchestration>","ChatOrchestrator.ChatOrchestrationsCallback"]},"description":"<p>orchestrations for reservation completed events</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Information about the plugin\n * @category Flex Errors\n * @ignore\n * @typedef PluginInfo\n * @property {string} [name] Name of the plugin\n * @property {string} [version] Version of the plugin\n * @memberof FlexError\n */","name":"PluginInfo","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>Name of the plugin</p>","optional":true,"defaultvalue":""},{"name":"version","type":{"names":["string"]},"description":"<p>Version of the plugin</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Flex Error Content\n * @category Flex Errors\n * @ignore\n * @typedef FlexErrorContents\n * @property {FlexErrorType} [type] Type of the error\n * @property {Error} [wrappedError] The original error\n * @property {FlexError.PluginInfo} [plugin] Information about the plugin where the error occured (if applicable)\n * @property {string} [context] Error context, including theme customizations\n * @property {string} [description] Longer and more verbose description of the error than message property, possibly with variable metadata\n * @property {FlexErrorSeverity} [severity] Severity level of the error\n * @property {FlexErrorCategory} [category] Category indicating who is responsible for resolving the error\n * @memberof ErrorManager\n */","name":"FlexErrorContents","type":null,"properties":[{"name":"type","type":{"names":["FlexErrorType"]},"description":"<p>Type of the error</p>","optional":true,"defaultvalue":""},{"name":"wrappedError","type":{"names":["Error"]},"description":"<p>The original error</p>","optional":true,"defaultvalue":""},{"name":"plugin","type":{"names":["FlexError.PluginInfo"]},"description":"<p>Information about the plugin where the error occured (if applicable)</p>","optional":true,"defaultvalue":""},{"name":"context","type":{"names":["string"]},"description":"<p>Error context, including theme customizations</p>","optional":true,"defaultvalue":""},{"name":"description","type":{"names":["string"]},"description":"<p>Longer and more verbose description of the error than message property, possibly with variable metadata</p>","optional":true,"defaultvalue":""},{"name":"severity","type":{"names":["FlexErrorSeverity"]},"description":"<p>Severity level of the error</p>","optional":true,"defaultvalue":""},{"name":"category","type":{"names":["FlexErrorCategory"]},"description":"<p>Category indicating who is responsible for resolving the error</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Information about the session where the error occured\n * @category Flex Errors\n * @ignore\n * @typedef SessionData\n * @property {Config} [config] Session configuration\n * @property {string} [reactVersion] React version\n * @property {string} [bundleType] Bundle type\n * @memberof FlexError\n */","name":"SessionData","type":null,"properties":[{"name":"config","type":{"names":["Config"]},"description":"<p>Session configuration</p>","optional":true,"defaultvalue":""},{"name":"reactVersion","type":{"names":["string"]},"description":"<p>React version</p>","optional":true,"defaultvalue":""},{"name":"bundleType","type":{"names":["string"]},"description":"<p>Bundle type</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Keyboard shortcuts - including a key to be passed and the Keyboard Shortcut object\n *\n * @typedef {object} KeyboardShortcuts\n * @property {string} key The key to be associated with the keyboard shortcut\n * @property {KeyboardShortcut} shortcut The keyboard shortcut object\n * @memberof KeyboardShortcutManager\n */","name":"KeyboardShortcuts","type":{"names":["object"]},"properties":[{"name":"key","type":{"names":["string"]},"description":"<p>The key to be associated with the keyboard shortcut</p>","optional":null,"defaultvalue":""},{"name":"shortcut","type":{"names":["KeyboardShortcut"]},"description":"<p>The keyboard shortcut object</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Keyboard shortcut object containing the action, name and optional throttle\n *\n * @typedef {object} KeyboardShortcut\n * @property {Function} action The action which is triggered by the shortcut\n * @property {string} name The name of the shortcut which will be displayed in error messages if a shortcut does not work\n * @property {number} [throttle] The optional throttle time in ms which can be set to prevent the shortcut from being triggered again within the set amount of time. A notification will show if a shortcut is used repeatedly within the throttle limit time\n * @memberof KeyboardShortcutManager\n * @example\n * {\n *   action: Flex.defaultActions.toggleActivityMenu,\n *   name: \"Toggle Activity Menu\",\n *   throttle: 100\n * }\n */","name":"KeyboardShortcut","type":{"names":["object"]},"properties":[{"name":"action","type":{"names":["function"]},"description":"<p>The action which is triggered by the shortcut</p>","optional":null,"defaultvalue":""},{"name":"name","type":{"names":["string"]},"description":"<p>The name of the shortcut which will be displayed in error messages if a shortcut does not work</p>","optional":null,"defaultvalue":""},{"name":"throttle","type":{"names":["number"]},"description":"<p>The optional throttle time in ms which can be set to prevent the shortcut from being triggered again within the set amount of time. A notification will show if a shortcut is used repeatedly within the throttle limit time</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.StartOutboundCallPayload} StartOutboundCallPayload\n * @property {string} destination - destination phone number to make outbound call.\n * @property {string} [queueSid] - queue sid to assign for the task, if undefined it picks the default from service configuration.\n * @property {string} [callerId] - caller ID to make an outbound call. if undefined it picks the default from service configuration.\n * @property {object} [taskAttributes] - custom attributes to set on Task. For Example - Bring your own Carrier SID (byocSid).\n * @memberof Actions\n */","name":"StartOutboundCallPayload","type":{"names":["Actions.StartOutboundCallPayload"]},"properties":[{"name":"destination","type":{"names":["string"]},"description":"<p>destination phone number to make outbound call.</p>","optional":null,"defaultvalue":""},{"name":"queueSid","type":{"names":["string"]},"description":"<p>queue sid to assign for the task, if undefined it picks the default from service configuration.</p>","optional":true,"defaultvalue":""},{"name":"callerId","type":{"names":["string"]},"description":"<p>caller ID to make an outbound call. if undefined it picks the default from service configuration.</p>","optional":true,"defaultvalue":""},{"name":"taskAttributes","type":{"names":["object"]},"description":"<p>custom attributes to set on Task. For Example - Bring your own Carrier SID (byocSid).</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Callback to provide values for Flex. Called from various areas of Flex.\n * @callback TaskCallbackType\n * @param {ITask} task task\n * @param {React.ComponentType} componentType caller component type. One of Flex React components.\n * @param {Array<any>} [args] optional arguments\n * @returns {T} value to be used\n * @memberof TaskStatusBasedType\n * @template T\n * @example\n * import { TaskCallbackType } from \"@twilio/flex-ui\";\n * const componentCallback: TaskCallbackType<React.ReactNode> = (task, DefaultComponent, TaskAcceptedComponent) => {\n *   if (task.status === \"accepted\") {\n *     return <TaskAcceptedComponent />;\n *   }\n *   return <DefaultComponent />;\n * };\n */","name":"TaskCallbackType","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * TaskStatusBasedTypeBase is an object with ReservationStatus as its key and the parameter type T as the value.\n * @typedef {T} TaskStatusBasedTypeBase\n * @property {ReservationStatuses} [reservationStatus] the T value associated with the reservationStatus\n * @memberof TaskStatusBasedType\n * @template T\n */","name":"TaskStatusBasedTypeBase","type":{"names":["T"]},"properties":[{"name":"reservationStatus","type":{"names":["ReservationStatuses"]},"description":"<p>the T value associated with the reservationStatus</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @callback TaskChannelApplicableCb\n * @param {ITask} task task to evaluate applicability for\n * @returns {boolean} true if task channel is applicable for given task\n * @memberof TaskChannelDefinition\n * @example\n * import { TaskChannelApplicableCb } from \"@twilio/flex-ui\";\n * const isCallTask: TaskChannelApplicableCb = (task) => task.taskChannelUniqueName === \"voice\";\n */","name":"TaskChannelApplicableCb","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} TaskChannelComponentRegistration\n * @property {string} target of a Flex component. Component must have static \"Content\" property.\n * @property {React.ReactChild} component component to register\n * @property {ContentFragmentProps} options properties for component registration\n * @memberof TaskChannelDefinition\n */","name":"TaskChannelComponentRegistration","type":{"names":["object"]},"properties":[{"name":"target","type":{"names":["string"]},"description":"<p>of a Flex component. Component must have static &quot;Content&quot; property.</p>","optional":null,"defaultvalue":""},{"name":"component","type":{"names":["React.ReactChild"]},"description":"<p>component to register</p>","optional":null,"defaultvalue":""},{"name":"options","type":{"names":["ContentFragmentProps"]},"description":"<p>properties for component registration</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} TaskChannelComponentRemoveRequest\n * @property {string} target of a Flex component. Component must have static \"Content\" property.\n * @property {string} key key of a component to remove\n * @property {ContentFragmentProps} options properties for component removal.\n * @memberof TaskChannelDefinition\n */","name":"TaskChannelComponentRemoveRequest","type":{"names":["object"]},"properties":[{"name":"target","type":{"names":["string"]},"description":"<p>of a Flex component. Component must have static &quot;Content&quot; property.</p>","optional":null,"defaultvalue":""},{"name":"key","type":{"names":["string"]},"description":"<p>key of a component to remove</p>","optional":null,"defaultvalue":""},{"name":"options","type":{"names":["ContentFragmentProps"]},"description":"<p>properties for component removal.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {TaskStatusBasedTypeBase} TaskSounds\n * @memberof TaskChannelDefinition\n */","name":"TaskSounds","type":{"names":["TaskStatusBasedTypeBase"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Notification override\n * @typedef { Partial<Notification> | NotificationEventListener | null } NotificationOverride\n * @memberof TaskChannelDefinition\n */","name":"NotificationOverride","type":{"names":["Partial<Notification>","NotificationEventListener","null"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Notification overrides matched to notification ids.\n * @typedef TaskChannelNotificationOverrides\n * @property {NotificationOverride} [NotificationId] overrides for NotificationId\n * @memberof TaskChannelDefinition\n */","name":"TaskChannelNotificationOverrides","type":null,"properties":[{"name":"NotificationId","type":{"names":["NotificationOverride"]},"description":"<p>overrides for NotificationId</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef TaskChannelNotificationOptions\n * @property {NotificationOverride} override Map of notification overrides\n * @memberof TaskChannelDefinition\n */","name":"TaskChannelNotificationOptions","type":null,"properties":[{"name":"override","type":{"names":["NotificationOverride"]},"description":"<p>Map of notification overrides</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Interface to define a task channel for Flex\n * @typedef TaskChannelDefinition\n * @property {string} name name of the task channel definition\n * @property {TaskChannelApplicableCb} isApplicable Callback to determine whether this task channel is applicable for a given task.\n * @property {Set<TaskChannelCapability>} capabilities capabilities of task channel\n * @property {number} charLimit message character limit for task channel with chat capabilities\n * @property {object} [colors] colors to be used\n * @property {TaskStatusBasedType} [colors.main] main color code as string to use in TaskList, TaskCard, Canvases\n * @property {TaskChannelDefinition.TaskSounds} [sounds] sounds to be used for specific tasks\n * @property {object} [icons] icons to render for the task channel\n * @property {TaskStatusBasedType} [icons.list] list icon to be used in TaskList and TaskCardList\n * @property {TaskStatusBasedType} [icons.main] icon to be used in Tab headers if tab is not selected\n * @property {TaskStatusBasedType} [icons.active] icon to be used in Tab headers if tab is selected and in Task Canvases as the main icon\n * @property {object} [templates] template strings for components\n * @property {object} [templates.IncomingTaskCanvas] templates for IncomingTaskCanvas\n * @property {TaskStatusBasedType} [templates.IncomingTaskCanvas.firstLine] first line\n * @property {TaskStatusBasedType} [templates.IncomingTaskCanvas.secondLine] second line\n * @property {object} [templates.CallCanvas] templates for CallCanvas\n * @property {TaskStatusBasedType} [templates.CallCanvas.firstLine] first line\n * @property {TaskStatusBasedType} [templates.CallCanvas.secondLine] second line\n * @property {object} [templates.TaskListItem] templates for TaskListItem\n * @property {TaskStatusBasedType} [templates.TaskListItem.firstLine] first line\n * @property {TaskStatusBasedType} [templates.TaskListItem.secondLine] second line\n * @property {TaskStatusBasedType} [templates.TaskListItem.extraInfo] extra info to be shown\n * @property {object} [templates.TaskCanvasHeader] templates for TaskCanvasHeader\n * @property {TaskStatusBasedType} [templates.TaskCanvasHeader.title] title\n * @property {TaskStatusBasedType} [templates.TaskCanvasHeader.endButton] end button text\n * @property {object} [templates.TaskCard] templates for TaskCard\n * @property {TaskStatusBasedType} [templates.TaskCard.firstLine] first line\n * @property {TaskStatusBasedType} [templates.TaskCard.secondLine] second line\n * @property {object} [templates.TaskInfoPanel] templates for TaskInfoPanel\n * @property {TaskStatusBasedType} [templates.TaskInfoPanel.content] content of the panel\n * @property {object} [templates.Supervisor] templates for components for supervisors\n * @property {object} [templates.Supervisor.TaskCanvasHeader] templates for Supervisor.TaskCanvasHeader\n * @property {TaskStatusBasedType} [templates.Supervisor.TaskCanvasHeader.title] title\n * @property {TaskStatusBasedType} [templates.Supervisor.TaskCanvasHeader.endButton] end button text\n * @property {object} [templates.Supervisor.TaskInfoPanel] templates for Supervisor.TaskInfoPanel\n * @property {TaskStatusBasedType} [templates.Supervisor.TaskInfoPanel.content] content of the panel\n * @property {object} [templates.Supervisor.TaskOverviewCanvas] templates for Supervisor.TaskOverviewCanvas\n * @property {TaskStatusBasedType} [templates.Supervisor.TaskOverviewCanvas.firstLine] first line\n * @property {TaskStatusBasedType} [templates.Supervisor.TaskOverviewCanvas.secondLine] second line\n * @property {Array<TaskChannelComponentRegistration>} [addedComponents] components to be added for task channel\n * @property {Array<TaskChannelComponentRegistration>} [replacedComponents] components to be replaced for task channel\n * @property {Array<TaskChannelComponentRemoveRequest>} [removedComponents] component removal request for task channel\n * @property {object} componentProps Object of task-channel specific components props\n * @property {TaskChannelNotificationOptions} [notifications] Notification properties\n * @category Framework / Channels\n */","name":"TaskChannelDefinition","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>name of the task channel definition</p>","optional":null,"defaultvalue":""},{"name":"isApplicable","type":{"names":["TaskChannelApplicableCb"]},"description":"<p>Callback to determine whether this task channel is applicable for a given task.</p>","optional":null,"defaultvalue":""},{"name":"capabilities","type":{"names":["Set<TaskChannelCapability>"]},"description":"<p>capabilities of task channel</p>","optional":null,"defaultvalue":""},{"name":"charLimit","type":{"names":["number"]},"description":"<p>message character limit for task channel with chat capabilities</p>","optional":null,"defaultvalue":""},{"name":"colors","type":{"names":["object"]},"description":"<p>colors to be used</p>","optional":true,"defaultvalue":""},{"name":"colors.main","type":{"names":["TaskStatusBasedType"]},"description":"<p>main color code as string to use in TaskList, TaskCard, Canvases</p>","optional":true,"defaultvalue":""},{"name":"sounds","type":{"names":["TaskChannelDefinition.TaskSounds"]},"description":"<p>sounds to be used for specific tasks</p>","optional":true,"defaultvalue":""},{"name":"icons","type":{"names":["object"]},"description":"<p>icons to render for the task channel</p>","optional":true,"defaultvalue":""},{"name":"icons.list","type":{"names":["TaskStatusBasedType"]},"description":"<p>list icon to be used in TaskList and TaskCardList</p>","optional":true,"defaultvalue":""},{"name":"icons.main","type":{"names":["TaskStatusBasedType"]},"description":"<p>icon to be used in Tab headers if tab is not selected</p>","optional":true,"defaultvalue":""},{"name":"icons.active","type":{"names":["TaskStatusBasedType"]},"description":"<p>icon to be used in Tab headers if tab is selected and in Task Canvases as the main icon</p>","optional":true,"defaultvalue":""},{"name":"templates","type":{"names":["object"]},"description":"<p>template strings for components</p>","optional":true,"defaultvalue":""},{"name":"templates.IncomingTaskCanvas","type":{"names":["object"]},"description":"<p>templates for IncomingTaskCanvas</p>","optional":true,"defaultvalue":""},{"name":"templates.IncomingTaskCanvas.firstLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>first line</p>","optional":true,"defaultvalue":""},{"name":"templates.IncomingTaskCanvas.secondLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>second line</p>","optional":true,"defaultvalue":""},{"name":"templates.CallCanvas","type":{"names":["object"]},"description":"<p>templates for CallCanvas</p>","optional":true,"defaultvalue":""},{"name":"templates.CallCanvas.firstLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>first line</p>","optional":true,"defaultvalue":""},{"name":"templates.CallCanvas.secondLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>second line</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskListItem","type":{"names":["object"]},"description":"<p>templates for TaskListItem</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskListItem.firstLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>first line</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskListItem.secondLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>second line</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskListItem.extraInfo","type":{"names":["TaskStatusBasedType"]},"description":"<p>extra info to be shown</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCanvasHeader","type":{"names":["object"]},"description":"<p>templates for TaskCanvasHeader</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCanvasHeader.title","type":{"names":["TaskStatusBasedType"]},"description":"<p>title</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCanvasHeader.endButton","type":{"names":["TaskStatusBasedType"]},"description":"<p>end button text</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCard","type":{"names":["object"]},"description":"<p>templates for TaskCard</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCard.firstLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>first line</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskCard.secondLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>second line</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskInfoPanel","type":{"names":["object"]},"description":"<p>templates for TaskInfoPanel</p>","optional":true,"defaultvalue":""},{"name":"templates.TaskInfoPanel.content","type":{"names":["TaskStatusBasedType"]},"description":"<p>content of the panel</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor","type":{"names":["object"]},"description":"<p>templates for components for supervisors</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskCanvasHeader","type":{"names":["object"]},"description":"<p>templates for Supervisor.TaskCanvasHeader</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskCanvasHeader.title","type":{"names":["TaskStatusBasedType"]},"description":"<p>title</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskCanvasHeader.endButton","type":{"names":["TaskStatusBasedType"]},"description":"<p>end button text</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskInfoPanel","type":{"names":["object"]},"description":"<p>templates for Supervisor.TaskInfoPanel</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskInfoPanel.content","type":{"names":["TaskStatusBasedType"]},"description":"<p>content of the panel</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskOverviewCanvas","type":{"names":["object"]},"description":"<p>templates for Supervisor.TaskOverviewCanvas</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskOverviewCanvas.firstLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>first line</p>","optional":true,"defaultvalue":""},{"name":"templates.Supervisor.TaskOverviewCanvas.secondLine","type":{"names":["TaskStatusBasedType"]},"description":"<p>second line</p>","optional":true,"defaultvalue":""},{"name":"addedComponents","type":{"names":["Array<TaskChannelComponentRegistration>"]},"description":"<p>components to be added for task channel</p>","optional":true,"defaultvalue":""},{"name":"replacedComponents","type":{"names":["Array<TaskChannelComponentRegistration>"]},"description":"<p>components to be replaced for task channel</p>","optional":true,"defaultvalue":""},{"name":"removedComponents","type":{"names":["Array<TaskChannelComponentRemoveRequest>"]},"description":"<p>component removal request for task channel</p>","optional":true,"defaultvalue":""},{"name":"componentProps","type":{"names":["object"]},"description":"<p>Object of task-channel specific components props</p>","optional":null,"defaultvalue":""},{"name":"notifications","type":{"names":["TaskChannelNotificationOptions"]},"description":"<p>Notification properties</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} LeaveChannelPayload\n * @property {string} channelSid The associated channelSid\n * @memberof Actions\n * @since 2.9.0\n */","name":"LeaveChannelPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"channelSid","type":{"names":["string"]},"description":"<p>The associated channelSid</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} PauseChannelPayload\n * @property {string} channelSid The associated channelSid\n * @memberof Actions\n * @since 2.9.0\n */","name":"PauseChannelPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"channelSid","type":{"names":["string"]},"description":"<p>The associated channelSid</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} ResumeChannelPayload\n * @property {string} channelSid The associated channelSid\n * @memberof Actions\n * @since 2.9.0\n */","name":"ResumeChannelPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"channelSid","type":{"names":["string"]},"description":"<p>The associated channelSid</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} SelectPausedConversationPayload\n * @property {string} sid The associated conversationSid\n * @memberof Actions\n * @since 2.9.0\n */","name":"SelectPausedConversationPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"sid","type":{"names":["string"]},"description":"<p>The associated conversationSid</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {object} SelectViewPayload\n * @property {string} viewName\n * @memberof Actions\n */","name":"SelectViewPayload","type":{"names":["object"]},"properties":[{"name":"viewName","type":{"names":["string"]},"description":null,"optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef ToggleSidebarPayload\n * @property {boolean} [open]\n * @memberof Actions\n */","name":"ToggleSidebarPayload","type":null,"properties":[{"name":"open","type":{"names":["boolean"]},"description":null,"optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef SetComponentStatePayload\n * @property {string} name\n * @property {any} state\n * @memberof Actions\n */","name":"SetComponentStatePayload","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":null,"optional":null,"defaultvalue":""},{"name":"state","type":{"names":["any"]},"description":null,"optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef ReloadWindowPayload\n * @property {boolean} [forceLogin]\n * @memberof Actions\n */","name":"ReloadWindowPayload","type":null,"properties":[{"name":"forceLogin","type":{"names":["boolean"]},"description":null,"optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef SelectWorkerInSupervisorPayload\n * @property {IWorker} [worker] worker\n * @property {string} [workerSid] workerSid\n * @memberof Actions\n */","name":"SelectWorkerInSupervisorPayload","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>worker</p>","optional":true,"defaultvalue":""},{"name":"workerSid","type":{"names":["string"]},"description":"<p>workerSid</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef TaskInSupervisorPayload\n * @property {ITask} [task] task\n * @property {string} [sid] taskSid\n * @memberof Actions\n */","name":"TaskInSupervisorPayload","type":null,"properties":[{"name":"task","type":{"names":["ITask"]},"description":"<p>task</p>","optional":true,"defaultvalue":""},{"name":"sid","type":{"names":["string"]},"description":"<p>taskSid</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {TaskInSupervisorPayload} MonitorTaskPayload\n * @property {any} [extraParams] extra params\n * @memberof Actions\n */","name":"MonitorTaskPayload","type":{"names":["TaskInSupervisorPayload"]},"properties":[{"name":"extraParams","type":{"names":["any"]},"description":"<p>extra params</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef ApplyTeamsViewFiltersPayload\n * @property {AppliedFilter[]} filters array of filters to apply\n * @property {string} [extraFilterQuery] query string for custom filters\n * @memberof Actions\n */","name":"ApplyTeamsViewFiltersPayload","type":null,"properties":[{"name":"filters","type":{"names":["Array<AppliedFilter>"]},"description":"<p>array of filters to apply</p>","optional":null,"defaultvalue":""},{"name":"extraFilterQuery","type":{"names":["string"]},"description":"<p>query string for custom filters</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef ApplyTeamsViewSearchPayload\n * @property {string} search search string\n * @memberof Actions\n */","name":"ApplyTeamsViewSearchPayload","type":null,"properties":[{"name":"search","type":{"names":["string"]},"description":"<p>search string</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef VoiceActionPayload\n * @property {ITask} [task] Task\n * @property {string} [sid] taskSid\n * @memberof Actions\n */","name":"VoiceActionPayload","type":null,"properties":[{"name":"task","type":{"names":["ITask"]},"description":"<p>Task</p>","optional":true,"defaultvalue":""},{"name":"sid","type":{"names":["string"]},"description":"<p>taskSid</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Hold Call Action Payload\n *\n * @typedef HoldCallActionPayload\n * @property {string} [participantCallSid] Sid of the participant within the call\n * @property {string} [holdMusicUrl] Request URL to fetch the hold music from\n * @property {string} [holdMusicMethod] Request method to fetch the hold music with\n * @memberof Actions\n */","name":"HoldCallActionPayload","type":null,"properties":[{"name":"participantCallSid","type":{"names":["string"]},"description":"<p>Sid of the participant within the call</p>","optional":true,"defaultvalue":""},{"name":"holdMusicUrl","type":{"names":["string"]},"description":"<p>Request URL to fetch the hold music from</p>","optional":true,"defaultvalue":""},{"name":"holdMusicMethod","type":{"names":["string"]},"description":"<p>Request method to fetch the hold music with</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Unhold Call Action Payload\n *\n * @typedef UnholdCallActionPayload\n * @property {string} [participantCallSid] Sid of the participant within the call\n * @memberof Actions\n */","name":"UnholdCallActionPayload","type":null,"properties":[{"name":"participantCallSid","type":{"names":["string"]},"description":"<p>Sid of the participant within the call</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef WorkerActionPayload\n * @property {ITask} [task] - targeted task object. Either this or sid property is required\n * @property {string} [sid] - targeted task object's sid. Either this or task property is required\n * @memberof Actions\n */","name":"WorkerActionPayload","type":null,"properties":[{"name":"task","type":{"names":["ITask"]},"description":"<p>targeted task object. Either this or sid property is required</p>","optional":true,"defaultvalue":""},{"name":"sid","type":{"names":["string"]},"description":"<p>targeted task object's sid. Either this or task property is required</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} TransferTaskPayload\n * @property {string} targetSid - sid of the worker or the queue to be transferred to\n * @property {any} [options] - transfer options (see [Taskrouter](https://www.twilio.com/docs/taskrouter) docs for options).\n * @memberof Actions\n */","name":"TransferTaskPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"targetSid","type":{"names":["string"]},"description":"<p>sid of the worker or the queue to be transferred to</p>","optional":null,"defaultvalue":""},{"name":"options","type":{"names":["any"]},"description":"<p>transfer options (see <a href=\"https://www.twilio.com/docs/taskrouter\">Taskrouter</a> docs for options).</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} WorkerParticipantActionPayload\n * @property {string} [targetSid] - sid of the participant (either this or participant has to be provided)\n * @property {ConferenceParticipant} [participant] - participant object (either this or participant has to be provided)\n * @property {string} [holdMusicUrl] - url of audio to play when on hold\n * @property {string} [holdMusicMethod] - name of hold music method\n * @since 2.0.0\n * @memberof Actions\n */","name":"WorkerParticipantActionPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"targetSid","type":{"names":["string"]},"description":"<p>sid of the participant (either this or participant has to be provided)</p>","optional":true,"defaultvalue":""},{"name":"participant","type":{"names":["ConferenceParticipant"]},"description":"<p>participant object (either this or participant has to be provided)</p>","optional":true,"defaultvalue":""},{"name":"holdMusicUrl","type":{"names":["string"]},"description":"<p>url of audio to play when on hold</p>","optional":true,"defaultvalue":""},{"name":"holdMusicMethod","type":{"names":["string"]},"description":"<p>name of hold music method</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef WorkerSetActivityPayload\n * @property {boolean} [activityAvailable] if the activity is available\n * @property {string} [activityName] name of activity\n * @property {string} [activitySid] sid of activity\n * @property {boolean} [options.rejectPendingReservations] if pending reservations should be rejected\n * @memberof Actions\n */","name":"WorkerSetActivityPayload","type":null,"properties":[{"name":"activityAvailable","type":{"names":["boolean"]},"description":"<p>if the activity is available</p>","optional":true,"defaultvalue":""},{"name":"activityName","type":{"names":["string"]},"description":"<p>name of activity</p>","optional":true,"defaultvalue":""},{"name":"activitySid","type":{"names":["string"]},"description":"<p>sid of activity</p>","optional":true,"defaultvalue":""},{"name":"options.rejectPendingReservations","type":{"names":["boolean"]},"description":"<p>if pending reservations should be rejected</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef WorkerSetWorkerActivityPayload\n * @property {string} [workerSid] - sid of the worker\n * @memberof WorkerActions\n */","name":"WorkerSetWorkerActivityPayload","type":null,"properties":[{"name":"workerSid","type":{"names":["string"]},"description":"<p>sid of the worker</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef WorkerLogoutPayload\n * @property {boolean} [forceLogout] - supress an error in case offline activity cannot be set for the worker\n * @property {string} [activitySid] - sid of the custom offline activity\n * @memberof Actions\n */","name":"WorkerLogoutPayload","type":null,"properties":[{"name":"forceLogout","type":{"names":["boolean"]},"description":"<p>supress an error in case offline activity cannot be set for the worker</p>","optional":true,"defaultvalue":""},{"name":"activitySid","type":{"names":["string"]},"description":"<p>sid of the custom offline activity</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef WorkerAcceptTaskActionPayload\n * @property {any} conferenceOptions conferenceOptions\n * @memberof Actions\n */","name":"WorkerAcceptTaskActionPayload","type":null,"properties":[{"name":"conferenceOptions","type":{"names":["any"]},"description":"<p>conferenceOptions</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef ToggleDTMFDialpadPayload\n * @property {boolean} open if dialpad should be opened\n * @memberof Actions\n */","name":"ToggleDTMFDialpadPayload","type":null,"properties":[{"name":"open","type":{"names":["boolean"]},"description":"<p>if dialpad should be opened</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef SetDTMFDialpadDigitsPayload\n * @property {string} digits dialpad input\n * @memberof Actions\n */","name":"SetDTMFDialpadDigitsPayload","type":null,"properties":[{"name":"digits","type":{"names":["string"]},"description":"<p>dialpad input</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef SendDTMFDigitsPayload\n * @property {string} digits dialpad input to send\n * @memberof Actions\n */","name":"SendDTMFDigitsPayload","type":null,"properties":[{"name":"digits","type":{"names":["string"]},"description":"<p>dialpad input to send</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef SetWorkerAttributesPayload\n * @property {WorkerAttributes} [attributes] - Attributes for worker.\n * @property {boolean} [mergeExisting=true] - Represents if new attributes are to be merged with the existing one\n * @memberof Actions\n */","name":"SetWorkerAttributesPayload","type":null,"properties":[{"name":"attributes","type":{"names":["WorkerAttributes"]},"description":"<p>Attributes for worker.</p>","optional":true,"defaultvalue":""},{"name":"mergeExisting","type":{"names":["boolean"]},"description":"<p>Represents if new attributes are to be merged with the existing one</p>","optional":true,"defaultvalue":"true"}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef UpdateWorkerTokenPayload\n * @property {string} token newToken\n * @memberof Actions\n */","name":"UpdateWorkerTokenPayload","type":null,"properties":[{"name":"token","type":{"names":["string"]},"description":"<p>newToken</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} SetTaskAttributesPayload\n * @property {object} [attributes] - Attributes for the task.\n * @property {boolean} [mergeExisting] - Represents if new attributes are to be merged with the existing one\n * @memberof Actions\n */","name":"SetTaskAttributesPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"attributes","type":{"names":["object"]},"description":"<p>Attributes for the task.</p>","optional":true,"defaultvalue":""},{"name":"mergeExisting","type":{"names":["boolean"]},"description":"<p>Represents if new attributes are to be merged with the existing one</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} UpdateWorkerParticipantPayload\n * @property {ReservationParticipantOptions} options - See (ReservationParticipantOptions)(https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.ParticipantOptions__anchor) for more info.\n * @memberof Actions\n */","name":"UpdateWorkerParticipantPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"options","type":{"names":["ReservationParticipantOptions"]},"description":"<p>See (ReservationParticipantOptions)(https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.ParticipantOptions__anchor) for more info.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} UpdateCustomerParticipantPayload\n * @property {TaskParticipantOptions} options - See [TaskPartipantOptions](https://twilio.github.io/twilio-taskrouter.js/Task.html#.ParticipantOptions__anchor) for more info.\n * @memberof Actions\n */","name":"UpdateCustomerParticipantPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"options","type":{"names":["TaskParticipantOptions"]},"description":"<p>See <a href=\"https://twilio.github.io/twilio-taskrouter.js/Task.html#.ParticipantOptions__anchor\">TaskPartipantOptions</a> for more info.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} IssueCallToWorkerPayload\n * @property {string} callerId - The caller id for the call to a Worker.\n * @property {string} twiMLUrl - A valid TwiML URI that is executed on the answering Worker's leg.\n * @property {CallOptions} options - See [CallOptions](https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.CallOptions__anchor) for more info.\n * @memberof Actions\n */","name":"IssueCallToWorkerPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"callerId","type":{"names":["string"]},"description":"<p>The caller id for the call to a Worker.</p>","optional":null,"defaultvalue":""},{"name":"twiMLUrl","type":{"names":["string"]},"description":"<p>A valid TwiML URI that is executed on the answering Worker's leg.</p>","optional":null,"defaultvalue":""},{"name":"options","type":{"names":["CallOptions"]},"description":"<p>See <a href=\"https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.CallOptions__anchor\">CallOptions</a> for more info.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} DequeueTaskPayload\n * @property {DequeueOptions} options - See [DequeueOptions](https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.DequeueOptions__anchor) for more info.\n * @memberof Actions\n */","name":"DequeueTaskPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"options","type":{"names":["DequeueOptions"]},"description":"<p>See <a href=\"https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.DequeueOptions__anchor\">DequeueOptions</a> for more info.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {Actions.WorkerActionPayload} IssueCallToWorkerPayload\n * @property {string} callSid - The sid of the Call to redirect.\n * @property {string} twiMLUrl - A valid TwiML URI that is executed on the Caller's leg upon redirecting.\n * @property {RedirectOptions} [options] - See [RedirectOptions](https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.RedirectOptions__anchor) for more info.\n * @memberof Actions\n */","name":"IssueCallToWorkerPayload","type":{"names":["Actions.WorkerActionPayload"]},"properties":[{"name":"callSid","type":{"names":["string"]},"description":"<p>The sid of the Call to redirect.</p>","optional":null,"defaultvalue":""},{"name":"twiMLUrl","type":{"names":["string"]},"description":"<p>A valid TwiML URI that is executed on the Caller's leg upon redirecting.</p>","optional":null,"defaultvalue":""},{"name":"options","type":{"names":["RedirectOptions"]},"description":"<p>See <a href=\"https://twilio.github.io/twilio-taskrouter.js/Reservation.html#.RedirectOptions__anchor\">RedirectOptions</a> for more info.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of AppStatusPanel theme.\n *\n * @typedef Theme.AppStatusPanelThemeProps\n * @property {CSSProps} Container - Styles container in AppStatusPanel.\n * @property {CSSProps} Container.disabled - Styles disabled state.\n * @property {CSSProps} Header - Styles header in AppStatusPanel.\n * @property {CSSProps} HeaderButton - Styles header button in AppStatusPanel.\n */","name":"AppStatusPanelThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles container in AppStatusPanel.</p>","optional":null,"defaultvalue":""},{"name":"Container.disabled","type":{"names":["CSSProps"]},"description":"<p>Styles disabled state.</p>","optional":null,"defaultvalue":""},{"name":"Header","type":{"names":["CSSProps"]},"description":"<p>Styles header in AppStatusPanel.</p>","optional":null,"defaultvalue":""},{"name":"HeaderButton","type":{"names":["CSSProps"]},"description":"<p>Styles header button in AppStatusPanel.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of AppStatusPanel.\n *\n * @typedef AppStatusPanel.AppStatusPanelProps\n */","name":"AppStatusPanelProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of AppStatusPanelChildren.\n *\n * @typedef AppStatusPanel.AppStatusPanelChildrenProps\n * @property {WorkerState} [worker] - Worker state based on Worker SDK.\n * @property {boolean} [hasIncomingCallReservation] - Whether user has incoming call reservation.\n */","name":"AppStatusPanelChildrenProps","type":null,"properties":[{"name":"worker","type":{"names":["WorkerState"]},"description":"<p>Worker state based on Worker SDK.</p>","optional":true,"defaultvalue":""},{"name":"hasIncomingCallReservation","type":{"names":["boolean"]},"description":"<p>Whether user has incoming call reservation.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of CRMContainer.\n * @typedef CRMContainer.CRMContainerProps\n * @property {Function} [uriCallback=undefined] - A callback that returns an URI to be displayed in CRM container based on a selected task.\n * @property {string} [uri=undefined] - URI that is displayed in CRM container.\n */","name":"CRMContainerProps","type":null,"properties":[{"name":"uriCallback","type":{"names":["function"]},"description":"<p>A callback that returns an URI to be displayed in CRM container based on a selected task.</p>","optional":true,"defaultvalue":""},{"name":"uri","type":{"names":["string"]},"description":"<p>URI that is displayed in CRM container.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of CRMContainer.\n * @typedef {CRMContainer.CRMContainerProps} CRMContainer.CRMContainerChildrenProps\n */","name":"CRMContainerChildrenProps","type":{"names":["CRMContainer.CRMContainerProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of CustomerProfileView.\n *\n * @typedef CustomerProfileView.CustomerProfileViewProps\n * @property {Profile} [profile=null] - Profile object with customer data.\n * @property {Array<Trait>} [traits=null] - Array of trait mappings and categories.\n * @property {Function} [getProfileView] - A callback that returns an Profile JSON to be displayed in Profile View.\n * @property {React.MouseEventHandler<HTMLButtonElement>} [onClickCancel=undefined] - Action to dismiss the Profile view.\n */","name":"CustomerProfileViewProps","type":null,"properties":[{"name":"profile","type":{"names":["Profile"]},"description":"<p>Profile object with customer data.</p>","optional":true,"defaultvalue":"null"},{"name":"traits","type":{"names":["Array<Trait>"]},"description":"<p>Array of trait mappings and categories.</p>","optional":true,"defaultvalue":"null"},{"name":"getProfileView","type":{"names":["function"]},"description":"<p>A callback that returns an Profile JSON to be displayed in Profile View.</p>","optional":true,"defaultvalue":""},{"name":"onClickCancel","type":{"names":["React.MouseEventHandler<HTMLButtonElement>"]},"description":"<p>Action to dismiss the Profile view.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of  CustomerProfileView.\n *\n * @typedef {CustomerProfileView.CustomerProfileViewProps} CustomerProfileView.CustomerProfileViewChildrenProps\n */","name":"CustomerProfileViewChildrenProps","type":{"names":["CustomerProfileView.CustomerProfileViewProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of FlexUnifyContainer.\n * @typedef FlexUnifyContainer.FlexUnifyContainerProps\n */","name":"FlexUnifyContainerProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of FlexUnifyContainer.\n * @typedef {FlexUnifyContainer.FlexUnifyContainerProps} FlexUnifyContainer.FlexUnifyContainerChildrenProps\n */","name":"FlexUnifyContainerChildrenProps","type":{"names":["FlexUnifyContainer.FlexUnifyContainerProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Tab properties.\n * @typedef ProfileConnectorTabs.TabProps\n * @property {string} [label] - Tab label.\n * @property {number} [index] - Tab index.\n */","name":"TabProps","type":null,"properties":[{"name":"label","type":{"names":["string"]},"description":"<p>Tab label.</p>","optional":true,"defaultvalue":""},{"name":"index","type":{"names":["number"]},"description":"<p>Tab index.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileConnectorTabs.\n * @typedef ProfileConnectorTabs.ProfileConnectorTabsProps\n * @property {string} [selectedTabName] - Selected tab name.\n * @property {React.ReactNode} [profileViewTab] - Content for Profile tab.\n * @property {React.ReactNode} [timelineViewTab] - Content for Timeline tab.\n * @property {React.ReactNode} [crmViewTab] - Content for CRM tab.\n * @property {TabProps} [profileViewTabProps] - Properties for Profile tab.\n * @property {TabProps} [timelineViewTabProps] - Properties for Timeline tab.\n * @property {TabProps} [crmViewTabProps] - Properties for CRM tab.\n */","name":"ProfileConnectorTabsProps","type":null,"properties":[{"name":"selectedTabName","type":{"names":["string"]},"description":"<p>Selected tab name.</p>","optional":true,"defaultvalue":""},{"name":"profileViewTab","type":{"names":["React.ReactNode"]},"description":"<p>Content for Profile tab.</p>","optional":true,"defaultvalue":""},{"name":"timelineViewTab","type":{"names":["React.ReactNode"]},"description":"<p>Content for Timeline tab.</p>","optional":true,"defaultvalue":""},{"name":"crmViewTab","type":{"names":["React.ReactNode"]},"description":"<p>Content for CRM tab.</p>","optional":true,"defaultvalue":""},{"name":"profileViewTabProps","type":{"names":["TabProps"]},"description":"<p>Properties for Profile tab.</p>","optional":true,"defaultvalue":""},{"name":"timelineViewTabProps","type":{"names":["TabProps"]},"description":"<p>Properties for Timeline tab.</p>","optional":true,"defaultvalue":""},{"name":"crmViewTabProps","type":{"names":["TabProps"]},"description":"<p>Properties for CRM tab.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileConnectorTabs.\n * @typedef {ProfileConnectorTabs.ProfileConnectorTabsProps} ProfileConnectorTabs.ProfileConnectorTabsChildrenProps\n */","name":"ProfileConnectorTabsChildrenProps","type":{"names":["ProfileConnectorTabs.ProfileConnectorTabsProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileHeader.\n * @typedef ProfileHeader.ProfileHeaderProps\n * @property {RankedProfile} [rankedProfile=null] - RankedProfile object with customer data, optional status and match_percentage.\n * @property {string} [profileConnectorInstanceSid=\"\"] - The SID of the profile connector instance.\n * @property {Function} [getProfileHeader] - A callback that returns a Profile JSON to be displayed in Profile Header.\n * @property {string} [bridgeLabel] - Admin-UI defined value for Unidentified Profiles.\n */","name":"ProfileHeaderProps","type":null,"properties":[{"name":"rankedProfile","type":{"names":["RankedProfile"]},"description":"<p>RankedProfile object with customer data, optional status and match_percentage.</p>","optional":true,"defaultvalue":"null"},{"name":"profileConnectorInstanceSid","type":{"names":["string"]},"description":"<p>The SID of the profile connector instance.</p>","optional":true,"defaultvalue":"\"\""},{"name":"getProfileHeader","type":{"names":["function"]},"description":"<p>A callback that returns a Profile JSON to be displayed in Profile Header.</p>","optional":true,"defaultvalue":""},{"name":"bridgeLabel","type":{"names":["string"]},"description":"<p>Admin-UI defined value for Unidentified Profiles.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileHeader.\n * @typedef {ProfileHeader.ProfileHeaderProps} ProfileHeader.ProfileHeaderChildrenProps\n */","name":"ProfileHeaderChildrenProps","type":{"names":["ProfileHeader.ProfileHeaderProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileHeaderText.\n * @typedef ProfileHeaderText.ProfileHeaderTextProps\n * @property {boolean} [weakNameTextColor] - Display the Name title in weaker text color.\n * @property {boolean} [unknownProfileBadge] - Display the badge-style Created-At subtitle for an unknown profile.\n * @deprecated\n * @altRecommendation  MappedData type has been replaced by ProfileHeaderMappedData.  Use ProfileHeaderMappedData instead.\n * @altRecommendationExample ProfileHeaderMappedData\n * @deprecatedSince 2.13.0\n * @property {MappedData} [processedProfile] - Contains title and subtitle data to be displayed.\n * @since 2.9.0\n */","name":"ProfileHeaderTextProps","type":null,"properties":[{"name":"weakNameTextColor","type":{"names":["boolean"]},"description":"<p>Display the Name title in weaker text color.</p>","optional":true,"defaultvalue":""},{"name":"unknownProfileBadge","type":{"names":["boolean"]},"description":"<p>Display the badge-style Created-At subtitle for an unknown profile.</p>","optional":true,"defaultvalue":""},{"name":"processedProfile","type":{"names":["MappedData"]},"description":"<p>Contains title and subtitle data to be displayed.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileHeaderText.\n * @typedef {ProfileHeaderText.ProfileHeaderTextProps} ProfileHeaderText.ProfileHeaderTextChildrenProps\n * @since 2.9.0\n */","name":"ProfileHeaderTextChildrenProps","type":{"names":["ProfileHeaderText.ProfileHeaderTextProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileHighlights\n * @typedef ProfileHighlights.ProfileHighlightsProps\n * @property {string} [profileHighlightsTitle] - Profile Highlights Title\n * @property {string} [profileSummary] - Profile Summary.\n * @property {string} [profileSummaryStatus] - Profile Summary Status.\n * @property {boolean} [profileSummaryError] - Profile Summary Error.\n * @property {boolean} [profileSummaryLoading] - Profile Summary Loading.\n * @since 2.9.0\n */","name":"ProfileHighlightsProps","type":null,"properties":[{"name":"profileHighlightsTitle","type":{"names":["string"]},"description":"<p>Profile Highlights Title</p>","optional":true,"defaultvalue":""},{"name":"profileSummary","type":{"names":["string"]},"description":"<p>Profile Summary.</p>","optional":true,"defaultvalue":""},{"name":"profileSummaryStatus","type":{"names":["string"]},"description":"<p>Profile Summary Status.</p>","optional":true,"defaultvalue":""},{"name":"profileSummaryError","type":{"names":["boolean"]},"description":"<p>Profile Summary Error.</p>","optional":true,"defaultvalue":""},{"name":"profileSummaryLoading","type":{"names":["boolean"]},"description":"<p>Profile Summary Loading.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ProfileLinkButton.\n * @typedef {ProfileLinkButton.ProfileLinkButtonProps} ProfileLinkButton.ProfileLinkButtonChildrenProps\n */","name":"ProfileLinkButtonChildrenProps","type":{"names":["ProfileLinkButton.ProfileLinkButtonProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SearchListItem.\n * @typedef SearchListItem.SearchListItemProps\n * @property {Profile} [profile] - Profile object with customer data.\n * @property {React.MouseEventHandler<HTMLButtonElement>} [onClick=undefined] - Action to open the profile view.\n * @property {\"keyof Profile\"} [titleKey=given_name] - Title of the profile listed for the given search, should be a key of the Profile object.\n * @property {\"keyof Profile\"} [avatarImageKey=profile_image_url] - URL of display picture of the profile listed for the given search, should be a key of Profile Object.\n */","name":"SearchListItemProps","type":null,"properties":[{"name":"profile","type":{"names":["Profile"]},"description":"<p>Profile object with customer data.</p>","optional":true,"defaultvalue":""},{"name":"onClick","type":{"names":["React.MouseEventHandler<HTMLButtonElement>"]},"description":"<p>Action to open the profile view.</p>","optional":true,"defaultvalue":""},{"name":"titleKey","type":{"names":["\"keyof Profile\""]},"description":"<p>Title of the profile listed for the given search, should be a key of the Profile object.</p>","optional":true,"defaultvalue":"given_name"},{"name":"avatarImageKey","type":{"names":["\"keyof Profile\""]},"description":"<p>URL of display picture of the profile listed for the given search, should be a key of Profile Object.</p>","optional":true,"defaultvalue":"profile_image_url"}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SearchListItem.\n * @typedef {SearchListItem.SearchListItemProps} SearchListItem.SearchListItemChildrenProps\n */","name":"SearchListItemChildrenProps","type":{"names":["SearchListItem.SearchListItemProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SearchView.\n * @typedef SearchView.SearchViewProps\n * @property {React.MouseEventHandler<HTMLButtonElement>} [onClickCancel=undefined] - Action to dismiss the search view.\n * @property {string} [uniqueName=flex_connector] - Unique name of profile connector instance associated with segment.\n * @property {string} [isReplacingProfile=false] - show if user is searching to replace a profile\n */","name":"SearchViewProps","type":null,"properties":[{"name":"onClickCancel","type":{"names":["React.MouseEventHandler<HTMLButtonElement>"]},"description":"<p>Action to dismiss the search view.</p>","optional":true,"defaultvalue":""},{"name":"uniqueName","type":{"names":["string"]},"description":"<p>Unique name of profile connector instance associated with segment.</p>","optional":true,"defaultvalue":"flex_connector"},{"name":"isReplacingProfile","type":{"names":["string"]},"description":"<p>show if user is searching to replace a profile</p>","optional":true,"defaultvalue":"false"}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SearchView.\n * @typedef {SearchView.SearchViewProps} SearchView.SearchViewChildrenProps\n */","name":"SearchViewChildrenProps","type":{"names":["SearchView.SearchViewProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Either segmentId or taskSid must be defined, or an error is thrown.\n *\n * @typedef {InsightsPlayerPlayActionPayload} InsightsPlayerPlayActionPayload\n * @memberof Actions\n * @property {string} [segmentId] Segment you want to play. Required if taskSid is not provided.\n * @property {string} [taskSid] Task you want to play. Required if segmentId is not provided.\n */","name":"InsightsPlayerPlayActionPayload","type":{"names":["InsightsPlayerPlayActionPayload"]},"properties":[{"name":"segmentId","type":{"names":["string"]},"description":"<p>Segment you want to play. Required if taskSid is not provided.</p>","optional":true,"defaultvalue":""},{"name":"taskSid","type":{"names":["string"]},"description":"<p>Task you want to play. Required if segmentId is not provided.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of LiveCommsBar.\n *\n * @typedef {object} LiveCommsBar.LiveCommsBarChildrenProps\n * @property {ITask} [monitoredTask] - Monitored task.\n * @property {Array<IWorker>} [monitoredWorkers] - Array of monitored workers.\n * @property {CallMonitoringStatus} [monitoringState] - Call monitoring status.\n * @property {ITask} [currentCallTask] - Current call task.\n * @property {boolean} [currentCallOnHold] - Whether the current call is on hold or not.\n * @property {boolean} [currentCallMuted] - Whether the current call is muted or not.\n * @property {string} [selectedView] - Represents the current active view.\n */","name":"LiveCommsBarChildrenProps","type":{"names":["object"]},"properties":[{"name":"monitoredTask","type":{"names":["ITask"]},"description":"<p>Monitored task.</p>","optional":true,"defaultvalue":""},{"name":"monitoredWorkers","type":{"names":["Array<IWorker>"]},"description":"<p>Array of monitored workers.</p>","optional":true,"defaultvalue":""},{"name":"monitoringState","type":{"names":["CallMonitoringStatus"]},"description":"<p>Call monitoring status.</p>","optional":true,"defaultvalue":""},{"name":"currentCallTask","type":{"names":["ITask"]},"description":"<p>Current call task.</p>","optional":true,"defaultvalue":""},{"name":"currentCallOnHold","type":{"names":["boolean"]},"description":"<p>Whether the current call is on hold or not.</p>","optional":true,"defaultvalue":""},{"name":"currentCallMuted","type":{"names":["boolean"]},"description":"<p>Whether the current call is muted or not.</p>","optional":true,"defaultvalue":""},{"name":"selectedView","type":{"names":["string"]},"description":"<p>Represents the current active view.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of LiveCommsBarItem.\n *\n * @typedef {LiveCommsBarItemProps} LiveCommsBarItem.LiveCommsBarItemChildrenProps\n */","name":"LiveCommsBarItemChildrenProps","type":{"names":["LiveCommsBarItemProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of LiveCommsBarItem.\n *\n * @typedef LiveCommsBarItem.LiveCommsBarItemProps\n * @property {DynamicContentStore.DynamicComponentChildren<LiveCommsBarItem.LiveCommsBarItemChildrenProps>} [children] - children\n */","name":"LiveCommsBarItemProps","type":null,"properties":[{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<LiveCommsBarItem.LiveCommsBarItemChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of LiveCommsBarItemActions.\n *\n * @typedef LiveCommsBarItemActions.LiveCommsBarItemActionsProps\n * @property {Array<LiveCommsBarItemActions.LiveCommsBarItemAction>} actions - Actions\n * @property {DynamicContentStore.DynamicComponentChildren<LiveCommsBarItemActions.LiveCommsBarItemActionsChildrenProps>} [children] - children\n */","name":"LiveCommsBarItemActionsProps","type":null,"properties":[{"name":"actions","type":{"names":["Array<LiveCommsBarItemActions.LiveCommsBarItemAction>"]},"description":"<p>Actions</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<LiveCommsBarItemActions.LiveCommsBarItemActionsChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of LiveCommsBarItemActions.\n *\n * @typedef {LiveCommsBarItemActions.LiveCommsBarItemActionsProps} LiveCommsBarItemActions.LiveCommsBarItemActionsChildrenProps\n */","name":"LiveCommsBarItemActionsChildrenProps","type":{"names":["LiveCommsBarItemActions.LiveCommsBarItemActionsProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of MainContainer.\n * @typedef MainContainer.MainContainerProps\n * @property {boolean} [keepSideNavOpen=false] - Whether the SideNav preview panel should be always visible. Default is false, which makes the preview show only after the whole app is wide enough.\n * @property {boolean} [showNotificationBar=true] - Whether notifications will be shown on the NotificationBar or not. If set to false, no notifications in NotificationBar will be shown.\n * @property {boolean} [showLiveCommsBar=true] - Whether to display an incoming call bar for views different from Agent Desktop or not.\n * @property {DynamicContentStore.DynamicComponentChildren<MainContainerChildrenProps>} [children] - children\n */","name":"MainContainerProps","type":null,"properties":[{"name":"keepSideNavOpen","type":{"names":["boolean"]},"description":"<p>Whether the SideNav preview panel should be always visible. Default is false, which makes the preview show only after the whole app is wide enough.</p>","optional":true,"defaultvalue":"false"},{"name":"showNotificationBar","type":{"names":["boolean"]},"description":"<p>Whether notifications will be shown on the NotificationBar or not. If set to false, no notifications in NotificationBar will be shown.</p>","optional":true,"defaultvalue":"true"},{"name":"showLiveCommsBar","type":{"names":["boolean"]},"description":"<p>Whether to display an incoming call bar for views different from Agent Desktop or not.</p>","optional":true,"defaultvalue":"true"},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<MainContainerChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of MainContainer.\n * @typedef {MainContainerProps} MainContainer.MainContainerChildrenProps\n * @property {string} [activeView] - Represents the current active view.\n * @property {boolean} [showOutboundDialer] - If outbound dialer should be shown\n */","name":"MainContainerChildrenProps","type":{"names":["MainContainerProps"]},"properties":[{"name":"activeView","type":{"names":["string"]},"description":"<p>Represents the current active view.</p>","optional":true,"defaultvalue":""},{"name":"showOutboundDialer","type":{"names":["boolean"]},"description":"<p>If outbound dialer should be shown</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of MainHeader.\n * @typedef MainHeader.MainHeaderProps\n * @property {string} [logoUrl=undefined] - Logo URL shown in the main header.\n * @property {string} [logoAltText=undefined] - Logo alt text shown in the main header.\n * @property {ComponentBadgeProps<MainHeaderProps>} [Badge] - Set of properties for internal Badge element.\n * @property {number | Function} [Badge.children] - Children of internal Badge component.\n * @property {boolean } [isSideNavOpen] - Whether the Sidebar is open or not.\n * @property {boolean } [isOutboundDialerOpen] - Whether the Outbound dialer is open or not.\n * @property {DynamicContentStore.DynamicComponentChildren<MainHeaderChildrenProps>} [children] - children\n */","name":"MainHeaderProps","type":null,"properties":[{"name":"logoUrl","type":{"names":["string"]},"description":"<p>Logo URL shown in the main header.</p>","optional":true,"defaultvalue":""},{"name":"logoAltText","type":{"names":["string"]},"description":"<p>Logo alt text shown in the main header.</p>","optional":true,"defaultvalue":""},{"name":"Badge","type":{"names":["ComponentBadgeProps<MainHeaderProps>"]},"description":"<p>Set of properties for internal Badge element.</p>","optional":true,"defaultvalue":""},{"name":"Badge.children","type":{"names":["number","function"]},"description":"<p>Children of internal Badge component.</p>","optional":true,"defaultvalue":""},{"name":"isSideNavOpen","type":{"names":["boolean"]},"description":"<p>Whether the Sidebar is open or not.</p>","optional":true,"defaultvalue":""},{"name":"isOutboundDialerOpen","type":{"names":["boolean"]},"description":"<p>Whether the Outbound dialer is open or not.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<MainHeaderChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of MainHeader.\n * @typedef {MainHeaderProps} MainHeader.MainHeaderChildrenProps\n * @property {boolean} [incomingTasks] - Deprecated - Whether there are any incoming tasks or not.\n * @property {boolean} [isLiveVoiceCall] - Whether there is a live voice call.\n * @property {boolean} [isLiveVoiceConnection] - Deprecated: use isLiveVoiceCall.\n * @property {Badge.BadgeProps} [Badge] - Set of properties for internal Badge element.\n */","name":"MainHeaderChildrenProps","type":{"names":["MainHeaderProps"]},"properties":[{"name":"incomingTasks","type":{"names":["boolean"]},"description":"<p>Deprecated - Whether there are any incoming tasks or not.</p>","optional":true,"defaultvalue":""},{"name":"isLiveVoiceCall","type":{"names":["boolean"]},"description":"<p>Whether there is a live voice call.</p>","optional":true,"defaultvalue":""},{"name":"isLiveVoiceConnection","type":{"names":["boolean"]},"description":"<p>Deprecated: use isLiveVoiceCall.</p>","optional":true,"defaultvalue":""},{"name":"Badge","type":{"names":["Badge.BadgeProps"]},"description":"<p>Set of properties for internal Badge element.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.ProfileCardThemeProps\n * @property {CSSProps} AvatarContainer - Styles for the container for the avatar\n */","name":"ProfileCardThemeProps","type":null,"properties":[{"name":"AvatarContainer","type":{"names":["CSSProps"]},"description":"<p>Styles for the container for the avatar</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of UserControls.\n *\n * @typedef {object} UserControls.UserControlsChildrenProps\n * @property {WorkerState} [worker] - Worker state.\n */","name":"UserControlsChildrenProps","type":{"names":["object"]},"properties":[{"name":"worker","type":{"names":["WorkerState"]},"description":"<p>Worker state.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of OutboundDialerPanel theme.\n *\n * @typedef Theme.OutboundDialerPanelThemeProps\n * @property {CSSProps} Container - Styles container in OutboundDialerPanel.\n * @property {CSSProps} Container.disabled - Styles disabled state.\n * @property {CSSProps} Header - Styles header in OutboundDialerPanel.\n * @property {CSSProps} HeaderButton - Styles header button in OutboundDialerPanel.\n */","name":"OutboundDialerPanelThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles container in OutboundDialerPanel.</p>","optional":null,"defaultvalue":""},{"name":"Container.disabled","type":{"names":["CSSProps"]},"description":"<p>Styles disabled state.</p>","optional":null,"defaultvalue":""},{"name":"Header","type":{"names":["CSSProps"]},"description":"<p>Styles header in OutboundDialerPanel.</p>","optional":null,"defaultvalue":""},{"name":"HeaderButton","type":{"names":["CSSProps"]},"description":"<p>Styles header button in OutboundDialerPanel.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of OutboundDialerPanel.\n *\n * @typedef OutboundDialerPanel.OutboundDialerPanelProps\n */","name":"OutboundDialerPanelProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of OutboundDialerPanelChildren.\n *\n * @typedef OutboundDialerPanel.OutboundDialerPanelChildrenProps\n * @property {WorkerState} [worker] - Worker state based on Worker SDK.\n * @property {boolean} [hasIncomingCallReservation] - Whether user has incoming call reservation.\n */","name":"OutboundDialerPanelChildrenProps","type":null,"properties":[{"name":"worker","type":{"names":["WorkerState"]},"description":"<p>Worker state based on Worker SDK.</p>","optional":true,"defaultvalue":""},{"name":"hasIncomingCallReservation","type":{"names":["boolean"]},"description":"<p>Whether user has incoming call reservation.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TimelineView.\n * @typedef {TimelineView.TimelineViewProps} TimelineView.TimelineViewChildrenProps\n */","name":"TimelineViewChildrenProps","type":{"names":["TimelineView.TimelineViewProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of RootContainer.\n *\n * @typedef {object} RootContainerChildrenProps\n * @property {string} [identity] - Identity of the current agent.\n * @property {string} [currentLoginState] - State of the login [UNKNOWN, LOGGING_IN, LOGGED_IN, LOGGED_OUT, ERROR].\n * @property {Config} config - Default configuration of flex.\n * @property {SingleSessionGuardState} [singleSessionGuard] - State of the single session guard.\n * @extends {ThemeProps}\n * @memberof ThemeProvider\n */","name":"RootContainerChildrenProps","type":{"names":["object"]},"properties":[{"name":"identity","type":{"names":["string"]},"description":"<p>Identity of the current agent.</p>","optional":true,"defaultvalue":""},{"name":"currentLoginState","type":{"names":["string"]},"description":"<p>State of the login [UNKNOWN, LOGGING_IN, LOGGED_IN, LOGGED_OUT, ERROR].</p>","optional":true,"defaultvalue":""},{"name":"config","type":{"names":["Config"]},"description":"<p>Default configuration of flex.</p>","optional":null,"defaultvalue":""},{"name":"singleSessionGuard","type":{"names":["SingleSessionGuardState"]},"description":"<p>State of the single session guard.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SideNav.\n *\n * @typedef SideNav.SideNavProps\n * @property {boolean} [reserveSpace] - Whether the SideNav is shown in compact mode.\n * @property {DynamicComponentChildren<SideNavChildrenProps>} [children] - children\n */","name":"SideNavProps","type":null,"properties":[{"name":"reserveSpace","type":{"names":["boolean"]},"description":"<p>Whether the SideNav is shown in compact mode.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicComponentChildren<SideNavChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of SideNav.\n *\n * @typedef {SideNavProps} SideNav.SideNavChildrenProps\n * @property {boolean} [incomingTasks] - Whether there are incoming tasks or not. If there are, the SideNav shows an indicator in the agent-desktop icon.\n * @property {boolean} [isOpen] - Whether the Sidebar is open or not.\n * @property {string} [activeView] - Represents the current active view.\n */","name":"SideNavChildrenProps","type":{"names":["SideNavProps"]},"properties":[{"name":"incomingTasks","type":{"names":["boolean"]},"description":"<p>Whether there are incoming tasks or not. If there are, the SideNav shows an indicator in the agent-desktop icon.</p>","optional":true,"defaultvalue":""},{"name":"isOpen","type":{"names":["boolean"]},"description":"<p>Whether the Sidebar is open or not.</p>","optional":true,"defaultvalue":""},{"name":"activeView","type":{"names":["string"]},"description":"<p>Represents the current active view.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskList.\n *\n * @typedef TaskList.TaskListProps\n * @property {string} [selectedTaskSid] - Sid of the selected task.\n * @property {Function} [compareFunction=defaultTaskOrderCompare] - Callback to control how tasks should be sorted in task list. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.\n * @property {AppConfig.TaskFilterCallback} [staticFilter] - Callback to test if a task belongs to the static area (upper area before filters) in the task list.\n * @property {Array<AppConfig.TaskFilter>} [filters] - Filter tasks displayed in the list.\n * @property {Function} [onFilterChange] - Callback when a filter changes.\n * @property {Function} [onTaskSelected] - Callback when a task is selected from the list.\n * @property {Map<string, ITask>} [tasks] - Tasks.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskList.TaskListProps>} [children] - children\n */","name":"TaskListProps","type":null,"properties":[{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>Sid of the selected task.</p>","optional":true,"defaultvalue":""},{"name":"compareFunction","type":{"names":["function"]},"description":"<p>Callback to control how tasks should be sorted in task list. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.</p>","optional":true,"defaultvalue":"defaultTaskOrderCompare"},{"name":"staticFilter","type":{"names":["AppConfig.TaskFilterCallback"]},"description":"<p>Callback to test if a task belongs to the static area (upper area before filters) in the task list.</p>","optional":true,"defaultvalue":""},{"name":"filters","type":{"names":["Array<AppConfig.TaskFilter>"]},"description":"<p>Filter tasks displayed in the list.</p>","optional":true,"defaultvalue":""},{"name":"onFilterChange","type":{"names":["function"]},"description":"<p>Callback when a filter changes.</p>","optional":true,"defaultvalue":""},{"name":"onTaskSelected","type":{"names":["function"]},"description":"<p>Callback when a task is selected from the list.</p>","optional":true,"defaultvalue":""},{"name":"tasks","type":{"names":["Map<string, ITask>"]},"description":"<p>Tasks.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskList.TaskListProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskListItem.\n * @typedef {TaskListItemProps | TaskContextProps} TaskListItem.TaskListItemChildrenProps\n * @property { { children: number, variant: BadgeVariants } } [Badge] Set of properties for internal Badge element customisable by TaskChannel\n */","name":"TaskListItemChildrenProps","type":{"names":["TaskListItemProps","TaskContextProps"]},"properties":[{"name":"Badge","type":{"names":["Object"]},"description":"<p>Set of properties for internal Badge element customisable by TaskChannel</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskListContainer.\n *\n * @typedef {TaskListContainer.TaskListContainerProps} TaskListContainer.TaskListContainerChildrenProps\n */","name":"TaskListContainerChildrenProps","type":{"names":["TaskListContainer.TaskListContainerProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskListContainer.\n *\n * @typedef TaskListContainer.TaskListContainerProps\n * @property {Map<string, ITask>} [tasks] - Tasks to display.\n * @property {string} [selectedTaskSid] - Sid of the selected task.\n * @property {Array<TaskFilter>} [taskFilters=TaskListContainer.defaultTaskFilters] - Filter tasks displayed in the list.\n * @property {TaskFilterCallback} [staticTaskFilter=TaskListContainer.defaultStaticTaskFilter] - Callback to test if a task belongs to the static area (upper area before filters) in the task list.\n * @property {Function} [onTaskSelected] - Callback called when a task is selected\n * @property {DynamicContentStore.DynamicComponentChildren<TaskListContainer.TaskListContainerChildrenProps>} [children] - children\n */","name":"TaskListContainerProps","type":null,"properties":[{"name":"tasks","type":{"names":["Map<string, ITask>"]},"description":"<p>Tasks to display.</p>","optional":true,"defaultvalue":""},{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>Sid of the selected task.</p>","optional":true,"defaultvalue":""},{"name":"taskFilters","type":{"names":["Array<TaskFilter>"]},"description":"<p>Filter tasks displayed in the list.</p>","optional":true,"defaultvalue":"TaskListContainer.defaultTaskFilters"},{"name":"staticTaskFilter","type":{"names":["TaskFilterCallback"]},"description":"<p>Callback to test if a task belongs to the static area (upper area before filters) in the task list.</p>","optional":true,"defaultvalue":"TaskListContainer.defaultStaticTaskFilter"},{"name":"onTaskSelected","type":{"names":["function"]},"description":"<p>Callback called when a task is selected</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskListContainer.TaskListContainerChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ViewCollection.\n *\n * @typedef ViewCollection.ViewCollectionProps\n * @property {string} [defaultLocation=/agent-desktop] - Default URL location of view\n * @property {DynamicContentStore.DynamicComponentChildren<ViewCollection.ViewCollectionChildrenProps>} [children] - children\n */","name":"ViewCollectionProps","type":null,"properties":[{"name":"defaultLocation","type":{"names":["string"]},"description":"<p>Default URL location of view</p>","optional":true,"defaultvalue":"/agent-desktop"},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<ViewCollection.ViewCollectionChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ViewCollection.\n *\n * @typedef {ViewCollection.ViewCollectionProps} ViewCollection.ViewCollectionChildrenProps\n * @property {string} defaultLocation - Router default location.\n */","name":"ViewCollectionChildrenProps","type":{"names":["ViewCollection.ViewCollectionProps"]},"properties":[{"name":"defaultLocation","type":{"names":["string"]},"description":"<p>Router default location.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Additional properties of ViewCollection.\n *\n * @typedef ViewCollection.ViewAdditionalProps\n * @property {boolean} [isViewActive] - Whether the view is active or not\n * @property {RouteComponentProps} [route] - View route\n */","name":"ViewAdditionalProps","type":null,"properties":[{"name":"isViewActive","type":{"names":["boolean"]},"description":"<p>Whether the view is active or not</p>","optional":true,"defaultvalue":""},{"name":"route","type":{"names":["RouteComponentProps"]},"description":"<p>View route</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of WorkerDirectory\n *\n * @typedef {TaskContextProps} WorkerDirectoryTabs.WorkerDirectoryTabsProps\n * @property {boolean} isWarmTransferEnabled - Whether warm transfer is enabled.\n * @property {string} [hiddenWorkerFilter] - Extra query filter applied to the query of workers in addition to typed search.\n * @property {string} [hiddenQueueFilter] - DEPRECATED: use queueFilter instead. Extra query filter applied to the query of queues in addition to typed search.\n * @property {Function} [queueFilter] - Predicate function applied for custom queue filtering in addition to typed search.\n * @property {Theme} theme Theme\n */","name":"WorkerDirectoryTabsProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"isWarmTransferEnabled","type":{"names":["boolean"]},"description":"<p>Whether warm transfer is enabled.</p>","optional":null,"defaultvalue":""},{"name":"hiddenWorkerFilter","type":{"names":["string"]},"description":"<p>Extra query filter applied to the query of workers in addition to typed search.</p>","optional":true,"defaultvalue":""},{"name":"hiddenQueueFilter","type":{"names":["string"]},"description":"<p>DEPRECATED: use queueFilter instead. Extra query filter applied to the query of queues in addition to typed search.</p>","optional":true,"defaultvalue":""},{"name":"queueFilter","type":{"names":["function"]},"description":"<p>Predicate function applied for custom queue filtering in addition to typed search.</p>","optional":true,"defaultvalue":""},{"name":"theme","type":{"names":["Theme"]},"description":"<p>Theme</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef WorkerDirectory.WorkerDirectoryProps\n * @property {DynamicContentStore.DynamicComponentChildren<WorkerDirectory.WorkerDirectoryChildrenProps>} [children] - children\n */","name":"WorkerDirectoryProps","type":null,"properties":[{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<WorkerDirectory.WorkerDirectoryChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of WorkerDirectory\n *\n * @typedef {WorkerDirectory.WorkerDirectoryProps} WorkerDirectory.WorkerDirectoryChildrenProps\n * @property {boolean} [isOpen] - Whether the worker directory is opened or not.\n * @property {ITask} [task] - Task to be transferred\n * @property {boolean} [isWarmTransferEnabled] - Whether warm transfer is enabled.\n */","name":"WorkerDirectoryChildrenProps","type":{"names":["WorkerDirectory.WorkerDirectoryProps"]},"properties":[{"name":"isOpen","type":{"names":["boolean"]},"description":"<p>Whether the worker directory is opened or not.</p>","optional":true,"defaultvalue":""},{"name":"task","type":{"names":["ITask"]},"description":"<p>Task to be transferred</p>","optional":true,"defaultvalue":""},{"name":"isWarmTransferEnabled","type":{"names":["boolean"]},"description":"<p>Whether warm transfer is enabled.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in call canvas.\n *\n * @typedef {TaskContextProps} CallCanvas.CallCanvasChildrenProps\n * @property {DialpadState} dialpadState - Represents the state of the dialpad.\n * @property {boolean} [compact] - if dialpad should be compact.\n */","name":"CallCanvasChildrenProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"dialpadState","type":{"names":["DialpadState"]},"description":"<p>Represents the state of the dialpad.</p>","optional":null,"defaultvalue":""},{"name":"compact","type":{"names":["boolean"]},"description":"<p>if dialpad should be compact.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Call canvas action.\n * @typedef {TaskCanvasChildrenProps} CallCanvasActionsProps\n */","name":"CallCanvasActionsProps","type":{"names":["TaskCanvasChildrenProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in call canvas action.\n * @typedef {TaskContextProps} CallCanvasActions.CallCanvasActionsChildrenProps\n * @property {boolean} isOpen - isOpen.\n * @property {Theme.CallCanvasThemeProps} [theme.CallCanvas] - Theme\n */","name":"CallCanvasActionsChildrenProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"isOpen","type":{"names":["boolean"]},"description":"<p>isOpen.</p>","optional":null,"defaultvalue":""},{"name":"theme.CallCanvas","type":{"names":["Theme.CallCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of call canvas dialpad.\n *\n * @typedef {TaskContextProps} CallCanvasDialpad.CallCanvasDialpadProps\n * @property {DialpadState} dialpadState - Represents the state of the dialpad.\n * @property {boolean} [compact] - If dialpad should be compact.\n */","name":"CallCanvasDialpadProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"dialpadState","type":{"names":["DialpadState"]},"description":"<p>Represents the state of the dialpad.</p>","optional":null,"defaultvalue":""},{"name":"compact","type":{"names":["boolean"]},"description":"<p>If dialpad should be compact.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in call canvas dialpad.\n *\n * @typedef {CallCanvasDialpadProps} CallCanvasDialpad.CallCanvasDialpadChildrenProps\n */","name":"CallCanvasDialpadChildrenProps","type":{"names":["CallCanvasDialpadProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of outbound call canvas theme.\n *\n * @typedef Theme.ConnectingOutboundCallCanvasThemeProps\n * @property {CSSProps} CancelCallButton - Styles cancel call button.\n */","name":"ConnectingOutboundCallCanvasThemeProps","type":null,"properties":[{"name":"CancelCallButton","type":{"names":["CSSProps"]},"description":"<p>Styles cancel call button.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of outbound call canvas.\n *\n * @typedef {TaskContextProps} ConnectingOutboundCallCanvas.ConnectingOutboundCallCanvasProps\n * @property {string} [firstLine] - First line shown in the outbound call canvas.\n * @property {string} [secondLine] - Second line shown in the outbound call canvas.\n * @property {string} [titleLine] - Title string shown in the outbound call canvas.\n */","name":"ConnectingOutboundCallCanvasProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"firstLine","type":{"names":["string"]},"description":"<p>First line shown in the outbound call canvas.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["string"]},"description":"<p>Second line shown in the outbound call canvas.</p>","optional":true,"defaultvalue":""},{"name":"titleLine","type":{"names":["string"]},"description":"<p>Title string shown in the outbound call canvas.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in outbound call canvas.\n *\n * @typedef {ConnectingOutboundCallCanvasProps} ConnectingOutboundCallCanvas.ConnectingOutboundCallCanvasChildrenProps\n * @property {ConnectingOutboundCallCanvasThemeProps} [theme.ConnectingOutboundCallCanvas] - Theme\n */","name":"ConnectingOutboundCallCanvasChildrenProps","type":{"names":["ConnectingOutboundCallCanvasProps"]},"properties":[{"name":"theme.ConnectingOutboundCallCanvas","type":{"names":["ConnectingOutboundCallCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Outbound call canvas action.\n *\n * @typedef {TaskContextSource.TaskContextProps} ConnectingOutboundCallCanvasActionsProps\n * @memberof ConnectingOutboundCallCanvasActions\n */","name":"ConnectingOutboundCallCanvasActionsProps","type":{"names":["TaskContextSource.TaskContextProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in Outbound call canvas action.\n *\n * @typedef {ConnectingOutboundCallCanvasActions.ConnectingOutboundCallCanvasActionsProps} ConnectingOutboundCallCanvasActionsChildrenProps\n * @property {Theme.ConnectingOutboundCallCanvasThemeProps} [theme.ConnectingOutboundCallCanvas] - Theme\n * @memberof ConnectingOutboundCallCanvasActions\n */","name":"ConnectingOutboundCallCanvasActionsChildrenProps","type":{"names":["ConnectingOutboundCallCanvasActions.ConnectingOutboundCallCanvasActionsProps"]},"properties":[{"name":"theme.ConnectingOutboundCallCanvas","type":{"names":["Theme.ConnectingOutboundCallCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of incoming task canvas theme.\n *\n * @typedef Theme.IncomingTaskCanvasThemeProps\n * @property {CSSProps} AcceptTaskButton - Styles accept task button.\n * @property {CSSProps} RejectTaskButton - Styles reject task button.\n */","name":"IncomingTaskCanvasThemeProps","type":null,"properties":[{"name":"AcceptTaskButton","type":{"names":["CSSProps"]},"description":"<p>Styles accept task button.</p>","optional":null,"defaultvalue":""},{"name":"RejectTaskButton","type":{"names":["CSSProps"]},"description":"<p>Styles reject task button.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of incoming task canvas.\n *\n * @typedef {TaskContextProps} IncomingTaskCanvas.IncomingTaskCanvasProps\n * @property {string} [firstLine] - First line shown in the incoming task canvas.\n * @property {string} [secondLine] - Second line shown in the incoming task canvas.\n * @property {string} [titleLine] - Title string shown in the incoming task canvas.\n */","name":"IncomingTaskCanvasProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"firstLine","type":{"names":["string"]},"description":"<p>First line shown in the incoming task canvas.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["string"]},"description":"<p>Second line shown in the incoming task canvas.</p>","optional":true,"defaultvalue":""},{"name":"titleLine","type":{"names":["string"]},"description":"<p>Title string shown in the incoming task canvas.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in incoming task canvas.\n *\n * @typedef {IncomingTaskCanvasProps} IncomingTaskCanvas.IncomingTaskCanvasChildrenProps\n * @property {IncomingTaskCanvasThemeProps} [theme.IncomingTaskCanvas] - Theme\n */","name":"IncomingTaskCanvasChildrenProps","type":{"names":["IncomingTaskCanvasProps"]},"properties":[{"name":"theme.IncomingTaskCanvas","type":{"names":["IncomingTaskCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Incoming task canvas action.\n *\n * @typedef {TaskContextProps} IncomingTaskCanvasActionsProps\n * @memberof IncomingTaskCanvasActions\n */","name":"IncomingTaskCanvasActionsProps","type":{"names":["TaskContextProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in incoming task canvas action.\n *\n * @typedef {IncomingTaskCanvasActions.IncomingTaskCanvasActionsProps} IncomingTaskCanvasActionsChildrenProps\n * @property {Theme.IncomingTaskCanvasThemeProps} [theme.IncomingTaskCanvas] - Theme\n * @memberof IncomingTaskCanvasActions\n */","name":"IncomingTaskCanvasActionsChildrenProps","type":{"names":["IncomingTaskCanvasActions.IncomingTaskCanvasActionsProps"]},"properties":[{"name":"theme.IncomingTaskCanvas","type":{"names":["Theme.IncomingTaskCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of no task canvas theme.\n *\n * @typedef Theme.NoTasksCanvasThemeProps\n * @property {CSSProps} Container - Styles container.\n * @property {CSSProps} Hint - Styles hint text container.\n */","name":"NoTasksCanvasThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles container.</p>","optional":null,"defaultvalue":""},{"name":"Hint","type":{"names":["CSSProps"]},"description":"<p>Styles hint text container.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in no task Canvas.\n *\n * @typedef NoTasksCanvas.NoTasksCanvasChildrenProps\n * @property {NoTasksCanvasThemeProps} [theme.NoTasksCanvas] - Theme\n * @property {WorkerState} [worker] - current worker.\n */","name":"NoTasksCanvasChildrenProps","type":null,"properties":[{"name":"theme.NoTasksCanvas","type":{"names":["NoTasksCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""},{"name":"worker","type":{"names":["WorkerState"]},"description":"<p>current worker.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of participant canvas.\n *\n * @typedef ParticipantCanvas.ParticipantCanvasProps\n * @property {ConferenceParticipant} participant - Represents a single participant of a conference.\n * @property {number} participantWidth - Represents width of the participant container.\n * @property {boolean} [hideActions] - Identifies if the participant actions are hidden.\n * @property {boolean} [listMode] - Identifies if the participant are rendered in list mode.\n * @property {boolean} [isCCAICall] - Identifies if the active call is a CCAI call.\n */","name":"ParticipantCanvasProps","type":null,"properties":[{"name":"participant","type":{"names":["ConferenceParticipant"]},"description":"<p>Represents a single participant of a conference.</p>","optional":null,"defaultvalue":""},{"name":"participantWidth","type":{"names":["number"]},"description":"<p>Represents width of the participant container.</p>","optional":null,"defaultvalue":""},{"name":"hideActions","type":{"names":["boolean"]},"description":"<p>Identifies if the participant actions are hidden.</p>","optional":true,"defaultvalue":""},{"name":"listMode","type":{"names":["boolean"]},"description":"<p>Identifies if the participant are rendered in list mode.</p>","optional":true,"defaultvalue":""},{"name":"isCCAICall","type":{"names":["boolean"]},"description":"<p>Identifies if the active call is a CCAI call.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in participant canvas.\n *\n * @typedef {ParticipantCanvasProps} ParticipantCanvas.ParticipantCanvasChildrenProps\n * @property {ParticipantCanvasThemeProps} [theme.ParticipantsCanvas.ParticipantCanvas] - Theme\n */","name":"ParticipantCanvasChildrenProps","type":{"names":["ParticipantCanvasProps"]},"properties":[{"name":"theme.ParticipantsCanvas.ParticipantCanvas","type":{"names":["ParticipantCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of participants canvas theme.\n *\n * @typedef Theme.ParticipantsCanvasNotificationThemeProps\n * @property {CSSProps} Container - Styles participants container.\n */","name":"ParticipantsCanvasNotificationThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles participants container.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.ParticipantsCanvasThemeProps\n * @property {ParticipantCanvasThemeProps} ParticipantCanvas - Styles for a single participant.\n * @property {ParticipantsCanvasNotificationThemeProps} Notification - Styles for notification in participants canvas.\n * @property {CSSProps} Disclosure - Styles for Disclosure Paste Component in Google CCAI flow.\n * @property {CSSProps} DisclosureContent - Styles for Disclosure Content Paste Component in Google CCAI flow.\n * @property {CSSProps} DisclosureHeading - Styles for Disclosure Header Paste Component in Google CCAI flow.\n */","name":"ParticipantsCanvasThemeProps","type":null,"properties":[{"name":"ParticipantCanvas","type":{"names":["ParticipantCanvasThemeProps"]},"description":"<p>Styles for a single participant.</p>","optional":null,"defaultvalue":""},{"name":"Notification","type":{"names":["ParticipantsCanvasNotificationThemeProps"]},"description":"<p>Styles for notification in participants canvas.</p>","optional":null,"defaultvalue":""},{"name":"Disclosure","type":{"names":["CSSProps"]},"description":"<p>Styles for Disclosure Paste Component in Google CCAI flow.</p>","optional":null,"defaultvalue":""},{"name":"DisclosureContent","type":{"names":["CSSProps"]},"description":"<p>Styles for Disclosure Content Paste Component in Google CCAI flow.</p>","optional":null,"defaultvalue":""},{"name":"DisclosureHeading","type":{"names":["CSSProps"]},"description":"<p>Styles for Disclosure Header Paste Component in Google CCAI flow.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in participants canvas.\n *\n * @typedef ParticipantsCanvas.ParticipantsCanvasProps\n * @property {boolean} [includeMyself] - Identifies if current logged in worker is included.\n * @property {boolean} [hideActions] - Identifies if the participant actions are hidden\n * @property {boolean} [isCCAICall] - Identifies if the call is a Google CCAI call or not.\n */","name":"ParticipantsCanvasProps","type":null,"properties":[{"name":"includeMyself","type":{"names":["boolean"]},"description":"<p>Identifies if current logged in worker is included.</p>","optional":true,"defaultvalue":""},{"name":"hideActions","type":{"names":["boolean"]},"description":"<p>Identifies if the participant actions are hidden</p>","optional":true,"defaultvalue":""},{"name":"isCCAICall","type":{"names":["boolean"]},"description":"<p>Identifies if the call is a Google CCAI call or not.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in participants canvas.\n *\n * @typedef {ParticipantsCanvasProps} ParticipantsCanvas.ParticipantsCanvasChildrenProps\n * @property {Array<CallCanvasParticipant>} external - external call canvas participants.\n * @property {Record<string, Participant>} participantsByCallSid - dictionary of participants with participantSid as the key.\n * @property {ParticipantsCanvasThemeProps} [theme.ParticipantsCanvas] - Theme\n */","name":"ParticipantsCanvasChildrenProps","type":{"names":["ParticipantsCanvasProps"]},"properties":[{"name":"external","type":{"names":["Array<CallCanvasParticipant>"]},"description":"<p>external call canvas participants.</p>","optional":null,"defaultvalue":""},{"name":"participantsByCallSid","type":{"names":["Record<string, Participant>"]},"description":"<p>dictionary of participants with participantSid as the key.</p>","optional":null,"defaultvalue":""},{"name":"theme.ParticipantsCanvas","type":{"names":["ParticipantsCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of task canvas theme.\n *\n * @typedef Theme.TaskCanvasThemeProps\n * @property {CSSProps} Container - Styles task canvas container.\n */","name":"TaskCanvasThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles task canvas container.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas.\n *\n * @typedef {TaskContextProps} TaskCanvas.TaskCanvasChildrenProps\n * @property {TaskCanvasThemeProps} [theme.TaskCanvas] - Theme\n */","name":"TaskCanvasChildrenProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"theme.TaskCanvas","type":{"names":["TaskCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of task canvas header theme.\n *\n * @typedef Theme.TaskCanvasHeaderThemeProps\n * @property {CSSProps} Container - Styles task canvas header container.\n * @property {ButtonThemeProps} EndTaskButton - Styles end task button.\n * @property {ButtonThemeProps} WrapupTaskButton - Styles wrap up task button.\n */","name":"TaskCanvasHeaderThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles task canvas header container.</p>","optional":null,"defaultvalue":""},{"name":"EndTaskButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles end task button.</p>","optional":null,"defaultvalue":""},{"name":"WrapupTaskButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles wrap up task button.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Task Canvas Header.\n *\n * @typedef {Partial<TaskCanvasChildrenProps>} TaskCanvasHeader.TaskCanvasHeaderProps\n * @property {React.ComponentType<{ task: ITask }>} [ActionsComponent] - Represents the actions component.\n * @property {string | React.ReactNode} [icon] - Represents the icon.\n * @property {string} [titleTemplateCode] - Represents title template code.\n * @property {any} [titleTemplateContext] - Represents context for title templete.\n * @property {string} [secondLineTemplateCode] - Represents second line template code.\n * @property {any} [secondLineTemplateContext] - Represents context for second line templete.\n * @property {string} titleTemplate  - Title template.\n * @property {string} secondLineTemplate  - Second line template.\n */","name":"TaskCanvasHeaderProps","type":{"names":["Partial<TaskCanvasChildrenProps>"]},"properties":[{"name":"ActionsComponent","type":{"names":["React.ComponentType<{task: ITask}>"]},"description":"<p>Represents the actions component.</p>","optional":true,"defaultvalue":""},{"name":"icon","type":{"names":["string","React.ReactNode"]},"description":"<p>Represents the icon.</p>","optional":true,"defaultvalue":""},{"name":"titleTemplateCode","type":{"names":["string"]},"description":"<p>Represents title template code.</p>","optional":true,"defaultvalue":""},{"name":"titleTemplateContext","type":{"names":["any"]},"description":"<p>Represents context for title templete.</p>","optional":true,"defaultvalue":""},{"name":"secondLineTemplateCode","type":{"names":["string"]},"description":"<p>Represents second line template code.</p>","optional":true,"defaultvalue":""},{"name":"secondLineTemplateContext","type":{"names":["any"]},"description":"<p>Represents context for second line templete.</p>","optional":true,"defaultvalue":""},{"name":"titleTemplate","type":{"names":["string"]},"description":"<p>Title template.</p>","optional":null,"defaultvalue":""},{"name":"secondLineTemplate","type":{"names":["string"]},"description":"<p>Second line template.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas header.\n *\n * @typedef {TaskCanvasHeaderProps} TaskCanvasHeader.TaskCanvasHeaderChildrenProps\n * @property {TaskCanvasHeaderThemeProps} [theme.TaskCanvasHeader] - Theme\n */","name":"TaskCanvasHeaderChildrenProps","type":{"names":["TaskCanvasHeaderProps"]},"properties":[{"name":"theme.TaskCanvasHeader","type":{"names":["TaskCanvasHeaderThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas tabs.\n * @typedef {TaskCanvasChildrenProps} TaskCanvasTabs.TaskCanvasTabsChildrenProps\n * @property {boolean} [hasMarkdownSupport] - Whether markdown feature is enabled or not\n * @property {string} [selectedTabName] - Selected tab name.\n */","name":"TaskCanvasTabsChildrenProps","type":{"names":["TaskCanvasChildrenProps"]},"properties":[{"name":"hasMarkdownSupport","type":{"names":["boolean"]},"description":"<p>Whether markdown feature is enabled or not</p>","optional":true,"defaultvalue":""},{"name":"selectedTabName","type":{"names":["string"]},"description":"<p>Selected tab name.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of task canvas tabs component.\n * @typedef TaskCanvasTabs.TaskCanvasTabsProps\n */","name":"TaskCanvasTabsProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of taks details panel theme.\n * @typedef Theme.TaskDetailsPanelThemeProps\n * @property {CSSProps} Container - Styles task details panel container.\n * @property {CSSProps} IconContainer - Styles icon container in task details panel.\n * @property {CSSProps} SecondLine - Styles second line container in task details panel.\n */","name":"TaskDetailsPanelThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles task details panel container.</p>","optional":null,"defaultvalue":""},{"name":"IconContainer","type":{"names":["CSSProps"]},"description":"<p>Styles icon container in task details panel.</p>","optional":null,"defaultvalue":""},{"name":"SecondLine","type":{"names":["CSSProps"]},"description":"<p>Styles second line container in task details panel.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Task Details Panel.\n * @typedef {TaskCanvasChildrenProps} TaskDetailsPanel.TaskDetailsPanelProps\n * @property {TaskDetailsPanelThemeProps} [theme.TaskDetailsPanel] - Theme\n * @property {DynamicContentStore<TaskDetailsPanelChildrenProps, TaskDetailsPanelChildrenKeys>} content - Represents dynamic content store.\n * @property {boolean} [compact=false] Whether a component should be rendered in the compact mode\n * @property {string} [titleLine] - Title string shown in the task details panel.\n * @property {string} [firstLine] - First line shown in the task details panel.\n * @property {string} [secondLine] - Second line shown in the task details panel.\n * @property {React.ComponentType<Partial<TaskCanvasChildrenProps>>} [IconComponent] - Represents the icon.\n * @property {React.ComponentType<Partial<TaskCanvasChildrenProps>>} [ActionsComponent] - Represents the actions component.\n * @property {React.ReactElement} [contentComponent] - Represents the content of the taks details panel.\n */","name":"TaskDetailsPanelProps","type":{"names":["TaskCanvasChildrenProps"]},"properties":[{"name":"theme.TaskDetailsPanel","type":{"names":["TaskDetailsPanelThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""},{"name":"content","type":{"names":["DynamicContentStore<TaskDetailsPanelChildrenProps, TaskDetailsPanelChildrenKeys>"]},"description":"<p>Represents dynamic content store.</p>","optional":null,"defaultvalue":""},{"name":"compact","type":{"names":["boolean"]},"description":"<p>Whether a component should be rendered in the compact mode</p>","optional":true,"defaultvalue":"false"},{"name":"titleLine","type":{"names":["string"]},"description":"<p>Title string shown in the task details panel.</p>","optional":true,"defaultvalue":""},{"name":"firstLine","type":{"names":["string"]},"description":"<p>First line shown in the task details panel.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["string"]},"description":"<p>Second line shown in the task details panel.</p>","optional":true,"defaultvalue":""},{"name":"IconComponent","type":{"names":["React.ComponentType<Partial.<TaskCanvasChildrenProps>>"]},"description":"<p>Represents the icon.</p>","optional":true,"defaultvalue":""},{"name":"ActionsComponent","type":{"names":["React.ComponentType<Partial.<TaskCanvasChildrenProps>>"]},"description":"<p>Represents the actions component.</p>","optional":true,"defaultvalue":""},{"name":"contentComponent","type":{"names":["React.ReactElement"]},"description":"<p>Represents the content of the taks details panel.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in participants canvas.\n * @typedef {TaskDetailsPanelProps} TaskDetailsPanel.TaskDetailsPanelChildrenProps\n * @property {TaskDetailsPanelThemeProps} [theme.TaskDetailsPanel] - Theme\n */","name":"TaskDetailsPanelChildrenProps","type":{"names":["TaskDetailsPanelProps"]},"properties":[{"name":"theme.TaskDetailsPanel","type":{"names":["TaskDetailsPanelThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of taks info panel theme\n *\n * @typedef Theme.TaskInfoPanelThemeProps\n * @property {CSSProps} Container - Styles task info panel container.\n */","name":"TaskInfoPanelThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles task info panel container.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Task info panel.\n *\n * @typedef {Partial<TaskCanvasChildrenProps>} TaskInfoPanel.TaskInfoPanelProps\n * @property {string} [templateCode] - Represents template code.\n * @extends Partial<TaskCanvasChildrenProps>, ThemeProps\n */","name":"TaskInfoPanelProps","type":{"names":["Partial<TaskCanvasChildrenProps>"]},"properties":[{"name":"templateCode","type":{"names":["string"]},"description":"<p>Represents template code.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children of task info panel.\n *\n * @typedef {TaskInfoPanelProps} TaskInfoPanel.TaskInfoPanelChildrenProps\n */","name":"TaskInfoPanelChildrenProps","type":{"names":["TaskInfoPanelProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Task Transcription panel.\n * @typedef {Partial<TaskCanvasChildrenProps>} TaskTranscriptionPanel.TaskTranscriptionPanelProps\n * @property {string} [templateCode] - Represents template code.\n * @extends Partial<TaskCanvasChildrenProps>, ThemeProps\n */","name":"TaskTranscriptionPanelProps","type":{"names":["Partial<TaskCanvasChildrenProps>"]},"properties":[{"name":"templateCode","type":{"names":["string"]},"description":"<p>Represents template code.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children of Task Transcription panel.\n * @typedef {TaskTranscriptionPanelProps} TaskTranscriptionPanel.TaskTranscriptionPanelChildrenProps\n */","name":"TaskTranscriptionPanelChildrenProps","type":{"names":["TaskTranscriptionPanelProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Task Wrapup panel.\n * @typedef {Partial<TaskCanvasChildrenProps>} TaskWrapupPanel.TaskWrapupPanelProps\n * @property {string} [templateCode] - Represents template code.\n * @extends Partial<TaskCanvasChildrenProps>, ThemeProps\n */","name":"TaskWrapupPanelProps","type":{"names":["Partial<TaskCanvasChildrenProps>"]},"properties":[{"name":"templateCode","type":{"names":["string"]},"description":"<p>Represents template code.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children of Task Wrapup panel.\n * @typedef {TaskWrapupPanelProps} TaskWrapupPanel.TaskWrapupPanelChildrenProps\n */","name":"TaskWrapupPanelChildrenProps","type":{"names":["TaskWrapupPanelProps"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Task Context interface\n * @typedef {object} TaskContextProps\n * @property {ITask} [task] - Task.\n * @property {Call} [call] - Call state of the task.\n * @property {ConferenceState} [conference] - Conference state of the task.\n * @property {TaskChannelDefinition} [channelDefinition] - Channel definition of the task.\n * @property {ConversationState.ConversationState} [conversation] - Conversation state of the task. Present if task is chat-based.\n * @memberof TaskContext\n */","name":"TaskContextProps","type":{"names":["object"]},"properties":[{"name":"task","type":{"names":["ITask"]},"description":"<p>Task.</p>","optional":true,"defaultvalue":""},{"name":"call","type":{"names":["Call"]},"description":"<p>Call state of the task.</p>","optional":true,"defaultvalue":""},{"name":"conference","type":{"names":["ConferenceState"]},"description":"<p>Conference state of the task.</p>","optional":true,"defaultvalue":""},{"name":"channelDefinition","type":{"names":["TaskChannelDefinition"]},"description":"<p>Channel definition of the task.</p>","optional":true,"defaultvalue":""},{"name":"conversation","type":{"names":["ConversationState.ConversationState"]},"description":"<p>Conversation state of the task. Present if task is chat-based.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Task Context Provider props interface\n * @typedef {object} TaskContextProviderProps\n * @property {string} taskSid - Sid of the task\n * @memberof TaskContextSource\n */","name":"TaskContextProviderProps","type":{"names":["object"]},"properties":[{"name":"taskSid","type":{"names":["string"]},"description":"<p>Sid of the task</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef QueuesStatsView.fullscreen\n * @memberof QueuesStatsView\n * @description\n * <p>\n * This property lets you enable and customize fullscreenability of QueuesStatsView.\n * <pre>\n * Flex.QueuesStatsView.fullscreen = {\n *   enabled: true\n * }\n * </pre>\n * <br />\n * @property {boolean} [enabled=false] adds a button to toggle fullscreen for the component\n * @property {Function} [renderButton=null]\n * <p>\n * render prop to add a custom button, e.g.:\n * </p>\n * <pre>\n * fullscreen.renderButton = ({\n *   isFullscreen,\n *   toggleFullscreen\n * }) =>\n *   &lt;MyCustomButton\n *     isVisible={!isFullscreen}\n *     onClick={toggleFullscreen}\n *   /&gt;\n * </pre>\n * @property {React.CSSProperties} [wrapperStyles={}] custom styles for the div wrapping the fullscreenable view\n */","name":"fullscreen","type":null,"properties":[{"name":"enabled","type":{"names":["boolean"]},"description":"<p>adds a button to toggle fullscreen for the component</p>","optional":true,"defaultvalue":"false"},{"name":"renderButton","type":{"names":["function"]},"description":"<p>\nrender prop to add a custom button, e.g.:\n</p>\n<pre>\nfullscreen.renderButton = ({\n  isFullscreen,\n  toggleFullscreen\n}) =>\n  &lt;MyCustomButton\n    isVisible={!isFullscreen}\n    onClick={toggleFullscreen}\n  /&gt;\n</pre>","optional":true,"defaultvalue":"null"},{"name":"wrapperStyles","type":{"names":["React.CSSProperties"]},"description":"<p>custom styles for the div wrapping the fullscreenable view</p>","optional":true,"defaultvalue":"{}"}]}},{"node":{"kind":"typedef","comment":"/**\n * QueuesStats.AggregatedQueuesDataTiles Props.\n * @typedef QueuesStats․AggregatedQueuesDataTilesProps\n * @memberof QueuesStats․AggregatedQueuesDataTiles\n * @property {React.ReactElement<ContentFragment>} [children=undefined] - Add\n * additional tiles using `AggregatedDataTileV2` components wrapped in `ContentFragment`.\n * @property {Function} [dataTileFilter] - Callback to filter data tiles from the component.\n * Return false to exclude a card with a given id from the view. Default card ids are 'agents-by-activity-chart-tile'\n * and 'all'. Channel tiles are identified by their task channel sid e.g. 'TC...', and can be removed accordingly.\n */","name":"QueuesStats․AggregatedQueuesDataTilesProps","type":null,"properties":[{"name":"children","type":{"names":["React.ReactElement<ContentFragment>"]},"description":"<p>Add\nadditional tiles using <code>AggregatedDataTileV2</code> components wrapped in <code>ContentFragment</code>.</p>","optional":true,"defaultvalue":""},{"name":"dataTileFilter","type":{"names":["function"]},"description":"<p>Callback to filter data tiles from the component.\nReturn false to exclude a card with a given id from the view. Default card ids are 'agents-by-activity-chart-tile'\nand 'all'. Channel tiles are identified by their task channel sid e.g. 'TC...', and can be removed accordingly.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Props passed to children of QueuesStats.AggregatedQueuesDataTiles\n * @typedef QueuesStats․AggregatedQueuesDataTilesChildrenProps\n * @memberof QueuesStats․AggregatedQueuesDataTiles\n * @property {Theme} theme theme\n */","name":"QueuesStats․AggregatedQueuesDataTilesChildrenProps","type":null,"properties":[{"name":"theme","type":{"names":["Theme"]},"description":"<p>theme</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * QueuesDataTable Props.\n * @typedef QueuesStats․QueuesDataTableProps\n * @memberof QueuesStats․QueuesDataTable\n * @property {React.ReactElement<React.ContentFragment>} [children=undefined] - Add\n * additional columns using `ColumnDefinition` components wrapped in `ContentFragment`.\n * Content renderer function passed to `ColumnDefinition` will receive QueuesStats․WorkerQueue as an argument.\n */","name":"QueuesStats․QueuesDataTableProps","type":null,"properties":[{"name":"children","type":{"names":["React.ReactElement<React.ContentFragment>"]},"description":"<p>Add\nadditional columns using <code>ColumnDefinition</code> components wrapped in <code>ContentFragment</code>.\nContent renderer function passed to <code>ColumnDefinition</code> will receive QueuesStats․WorkerQueue as an argument.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Props passed to children of QueuesStats.QueuesDataTableProps\n * @typedef QueuesStats․QueuesDataTableChildrenProps\n * @memberof QueuesStats․QueuesDataTable\n * @property {Theme} theme - Theme\n * @property {string} [defaultSortColumn=\"friendly-name\"] Default sort option, if undefined it will use friendly-name.\n * @property {WorkerQueue[]} queuesList - An array of task queues to be passed to the data table.\n */","name":"QueuesStats․QueuesDataTableChildrenProps","type":null,"properties":[{"name":"theme","type":{"names":["Theme"]},"description":"<p>Theme</p>","optional":null,"defaultvalue":""},{"name":"defaultSortColumn","type":{"names":["string"]},"description":"<p>Default sort option, if undefined it will use friendly-name.</p>","optional":true,"defaultvalue":"\"friendly-name\""},{"name":"queuesList","type":{"names":["Array<WorkerQueue>"]},"description":"<p>An array of task queues to be passed to the data table.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Task Context Provider props interface\n *\n * @typedef {object} TaskContextProviderProps\n * @property {string} taskSid - Sid of the task\n * @memberof SupervisorTaskContextSource\n */","name":"TaskContextProviderProps","type":{"names":["object"]},"properties":[{"name":"taskSid","type":{"names":["string"]},"description":"<p>Sid of the task</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Task Canvas.\n *\n * @typedef Supervisor․TaskCanvasProps\n * @memberOf Supervisor․TaskCanvas\n * @property {React.RefObject<HTMLButtonElement>} closeRef ref to handle the close button.\n */","name":"Supervisor․TaskCanvasProps","type":null,"properties":[{"name":"closeRef","type":{"names":["React.RefObject<HTMLButtonElement>"]},"description":"<p>ref to handle the close button.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of task canvas theme.\n *\n * @typedef TaskCanvasThemeProps\n * @property {CSSProps} HeaderButton - Styles header button of the panel.\n * @property {CSSProps} Container - Styles task canvas container.\n * @property {CSSProps} MonitorActiveButton - Styles active monitoring button.\n * @property {CSSProps} Button - Styles all other buttons.\n * @property {CSSProps} Header - Styles task canvas panel header.\n * @memberof Supervisor․TaskCanvas\n */","name":"TaskCanvasThemeProps","type":null,"properties":[{"name":"HeaderButton","type":{"names":["CSSProps"]},"description":"<p>Styles header button of the panel.</p>","optional":null,"defaultvalue":""},{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles task canvas container.</p>","optional":null,"defaultvalue":""},{"name":"MonitorActiveButton","type":{"names":["CSSProps"]},"description":"<p>Styles active monitoring button.</p>","optional":null,"defaultvalue":""},{"name":"Button","type":{"names":["CSSProps"]},"description":"<p>Styles all other buttons.</p>","optional":null,"defaultvalue":""},{"name":"Header","type":{"names":["CSSProps"]},"description":"<p>Styles task canvas panel header.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas.\n *\n * @typedef Supervisor․TaskCanvasChildrenProps\n * @memberOf Supervisor․TaskCanvas\n * @property { Supervisor.TaskCanvas.TaskCanvasThemeProps } [theme.Supervisor.TaskCanvas] - Theme\n */","name":"Supervisor․TaskCanvasChildrenProps","type":null,"properties":[{"name":"theme.Supervisor.TaskCanvas","type":{"names":["Supervisor.TaskCanvas.TaskCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas header.\n *\n * @typedef {TaskContextProps} TaskCanvasHeaderChildrenProps\n * @property { Supervisor.TaskCanvas.TaskCanvasThemeProps } [theme.Supervisor.TaskCanvasHeader] - Theme\n * @memberof Supervisor․TaskCanvas\n */","name":"TaskCanvasHeaderChildrenProps","type":{"names":["TaskContextProps"]},"properties":[{"name":"theme.Supervisor.TaskCanvasHeader","type":{"names":["Supervisor.TaskCanvas.TaskCanvasThemeProps"]},"description":"<p>Theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of task canvas tabs component.\n *\n * @typedef Supervisor․TaskCanvasTabsProps\n * @memberof Supervisor․TaskCanvasTabs\n */","name":"Supervisor․TaskCanvasTabsProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children in task canvas tabs.\n *\n * @typedef Supervisor․TaskCanvasTabsChildrenProps\n * @property {boolean} [hasMarkdownSupport] - Whether markdown feature is enabled or not.\n * @property {string} [selectedTabName] - Selected tab name.\n * @memberof Supervisor․TaskCanvasTabs\n */","name":"Supervisor․TaskCanvasTabsChildrenProps","type":null,"properties":[{"name":"hasMarkdownSupport","type":{"names":["boolean"]},"description":"<p>Whether markdown feature is enabled or not.</p>","optional":true,"defaultvalue":""},{"name":"selectedTabName","type":{"names":["string"]},"description":"<p>Selected tab name.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Programmable properties of Supervisor․TaskInfoPanel.\n *\n * @typedef TaskInfoPanel.TaskInfoPanelProgrammableProps\n * @property {DynamicContentStore<TaskInfoPanel.TaskInfoPanelChildrenProps>} [content] - Represents dynamic content store.\n * @property {string} [templateCode] - Represents template code.\n */","name":"TaskInfoPanelProgrammableProps","type":null,"properties":[{"name":"content","type":{"names":["DynamicContentStore<TaskInfoPanel.TaskInfoPanelChildrenProps>"]},"description":"<p>Represents dynamic content store.</p>","optional":true,"defaultvalue":""},{"name":"templateCode","type":{"names":["string"]},"description":"<p>Represents template code.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskCardProps.\n *\n * @typedef Supervisor․TaskCardProps\n * @memberof Supervisor․TaskCard\n * @property {string | React.ReactNode} [icon] - Task Card icon.\n * @property {React.ReactChild} [firstLine] - Task Card first line.\n * @property {React.ReactChild} [secondLine] - Task Card second line.\n * @property {Function} [onClick] - Callback called when task is selected.\n * @property {boolean} [highlighted] - Whether the task card is highlighted or no.\n * @property {boolean} [selected] - Whether the task card is selected or no.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskCardChildrenProps>} [children] - children\n */","name":"Supervisor․TaskCardProps","type":null,"properties":[{"name":"icon","type":{"names":["string","React.ReactNode"]},"description":"<p>Task Card icon.</p>","optional":true,"defaultvalue":""},{"name":"firstLine","type":{"names":["React.ReactChild"]},"description":"<p>Task Card first line.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["React.ReactChild"]},"description":"<p>Task Card second line.</p>","optional":true,"defaultvalue":""},{"name":"onClick","type":{"names":["function"]},"description":"<p>Callback called when task is selected.</p>","optional":true,"defaultvalue":""},{"name":"highlighted","type":{"names":["boolean"]},"description":"<p>Whether the task card is highlighted or no.</p>","optional":true,"defaultvalue":""},{"name":"selected","type":{"names":["boolean"]},"description":"<p>Whether the task card is selected or no.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskCardChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskCard.\n *\n * @typedef Supervisor.TaskCardChildrenProps\n * @memberof Supervisor․TaskCard\n */","name":"TaskCardChildrenProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskCardList.\n *\n * @typedef Supervisor․TaskCardListProps\n * @memberof Supervisor․TaskCardList\n * @property {Array<ITask>} tasks - List of tasks.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskCardList.TaskCardListChildrenProps>} [children] - children\n */","name":"Supervisor․TaskCardListProps","type":null,"properties":[{"name":"tasks","type":{"names":["Array<ITask>"]},"description":"<p>List of tasks.</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskCardList.TaskCardListChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Props passed to children of TaskCardList.\n *\n * @typedef Supervisor․TaskCardListChildrenProps\n * @memberof Supervisor․TaskCardList\n * @property {Function} [compareFunction] - A compare function that receives two tasks as arguments. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.\n * @property {Function} [filter] - Filter function used to filter tasks for this list.\n * @property {Function} [onCardSelected] - A function to call with ITask in order to select the task.\n * @property {string} [selectedTaskSid] - Sid of the selected task.\n * @property {string} [highlightedTaskSid] - Sid of the highlighted task.\n * @property {Array<ITask>} tasks - Unfiltered tasks in the list.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskCardList.TaskCardListProps>} [children] - children\n */","name":"Supervisor․TaskCardListChildrenProps","type":null,"properties":[{"name":"compareFunction","type":{"names":["function"]},"description":"<p>A compare function that receives two tasks as arguments. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.</p>","optional":true,"defaultvalue":""},{"name":"filter","type":{"names":["function"]},"description":"<p>Filter function used to filter tasks for this list.</p>","optional":true,"defaultvalue":""},{"name":"onCardSelected","type":{"names":["function"]},"description":"<p>A function to call with ITask in order to select the task.</p>","optional":true,"defaultvalue":""},{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>Sid of the selected task.</p>","optional":true,"defaultvalue":""},{"name":"highlightedTaskSid","type":{"names":["string"]},"description":"<p>Sid of the highlighted task.</p>","optional":true,"defaultvalue":""},{"name":"tasks","type":{"names":["Array<ITask>"]},"description":"<p>Unfiltered tasks in the list.</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskCardList.TaskCardListProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Programmable properties of TaskCardList.\n *\n * @typedef Supervisor․TaskCardListProgrammableProps\n * @memberof Supervisor․TaskCardList\n * @property {Function} [compareFunction] - A compare function that receives two tasks as arguments. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.\n */","name":"Supervisor․TaskCardListProgrammableProps","type":null,"properties":[{"name":"compareFunction","type":{"names":["function"]},"description":"<p>A compare function that receives two tasks as arguments. Negative number means task a should be above task b, positive number that a should be below b. 0 indicates equal priority.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskOverviewCanvas.\n *\n * @typedef Supervisor․TaskOverviewCanvasProps\n * @property {string} [firstLine] - First line shown in task overview.\n * @property {string} [secondLine] - Second line shown in task overview.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskDetailsPanel.TaskDetailsPanelProps>} [children] - children\n * @memberof Supervisor․TaskOverviewCanvas\n */","name":"Supervisor․TaskOverviewCanvasProps","type":null,"properties":[{"name":"firstLine","type":{"names":["string"]},"description":"<p>First line shown in task overview.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["string"]},"description":"<p>Second line shown in task overview.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskDetailsPanel.TaskDetailsPanelProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Supervisor․TeamFiltersPanelChildrenProps\n * @memberof Supervisor․TeamFiltersPanel\n * @property {Array<AppliedFilter>} [appliedFilters] Represents applied filters.\n * @property {Array<FilterDefinition>} [filters] - List of filters.\n * @property {boolean} isHidden - Indicates whether the panel is currently hidden.\n * @property {boolean} isLoadingWorkers - Indicates whether workers are loading.\n * @property {Array<SupervisorWorkerState>} [workers] - Represents list of workers.\n */","name":"Supervisor․TeamFiltersPanelChildrenProps","type":null,"properties":[{"name":"appliedFilters","type":{"names":["Array<AppliedFilter>"]},"description":"<p>Represents applied filters.</p>","optional":true,"defaultvalue":""},{"name":"filters","type":{"names":["Array<FilterDefinition>"]},"description":"<p>List of filters.</p>","optional":true,"defaultvalue":""},{"name":"isHidden","type":{"names":["boolean"]},"description":"<p>Indicates whether the panel is currently hidden.</p>","optional":null,"defaultvalue":""},{"name":"isLoadingWorkers","type":{"names":["boolean"]},"description":"<p>Indicates whether workers are loading.</p>","optional":null,"defaultvalue":""},{"name":"workers","type":{"names":["Array<SupervisorWorkerState>"]},"description":"<p>Represents list of workers.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Worker Canvas.\n *\n * @typedef WorkerCanvas.WorkerCanvasProps\n * @property {boolean} [showSkills=true] - Whether or not the skills section for the agent details should be shown.\n */","name":"WorkerCanvasProps","type":null,"properties":[{"name":"showSkills","type":{"names":["boolean"]},"description":"<p>Whether or not the skills section for the agent details should be shown.</p>","optional":true,"defaultvalue":"true"}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Worker Canvas.\n *\n * @typedef WorkerCanvas.WorkerCanvasChildrenProps\n * @property {IWorker} worker - Worker to display\n * @property {boolean} [showSkills=true] - Whether or not the skills section for the agent details should be shown.\n */","name":"WorkerCanvasChildrenProps","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>Worker to display</p>","optional":null,"defaultvalue":""},{"name":"showSkills","type":{"names":["boolean"]},"description":"<p>Whether or not the skills section for the agent details should be shown.</p>","optional":true,"defaultvalue":"true"}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef WorkerProfile.WorkerProfileProps\n * @property {IWorker} worker - Worker\n * @property {boolean} [editStatusPermission] - permission to edit the activity of other workers\n */","name":"WorkerProfileProps","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>Worker</p>","optional":null,"defaultvalue":""},{"name":"editStatusPermission","type":{"names":["boolean"]},"description":"<p>permission to edit the activity of other workers</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Worker Profile.\n *\n * @typedef WorkerProfile.WorkerProfileChildrenProps\n * @property {IWorker} worker - Worker\n * @property {boolean} [editStatusPermission] - permission to edit the activity of other workers\n * @memberof WorkerProfile\n */","name":"WorkerProfileChildrenProps","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>Worker</p>","optional":null,"defaultvalue":""},{"name":"editStatusPermission","type":{"names":["boolean"]},"description":"<p>permission to edit the activity of other workers</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Worker Skills.\n *\n * @typedef WorkerSkills.WorkerSkillsProps\n * @property {IWorker} worker - Worker\n * @property {Array<Configuration.SkillDefinition>} [availableSkills] - Available skills\n * @property {boolean} [editSkillsPermission] - permission to edit the skills\n */","name":"WorkerSkillsProps","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>Worker</p>","optional":null,"defaultvalue":""},{"name":"availableSkills","type":{"names":["Array<Configuration.SkillDefinition>"]},"description":"<p>Available skills</p>","optional":true,"defaultvalue":""},{"name":"editSkillsPermission","type":{"names":["boolean"]},"description":"<p>permission to edit the skills</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Programmable properties of WorkerSkills.\n *\n * @typedef WorkerSkillsProps.WorkerSkillsProgrammableProps\n * @property {Array<Configuration.SkillDefinition>} [availableSkills] - Available skills\n * @property {boolean} [editSkillsPermission] - permission to edit the skills\n */","name":"WorkerSkillsProgrammableProps","type":null,"properties":[{"name":"availableSkills","type":{"names":["Array<Configuration.SkillDefinition>"]},"description":"<p>Available skills</p>","optional":true,"defaultvalue":""},{"name":"editSkillsPermission","type":{"names":["boolean"]},"description":"<p>permission to edit the skills</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of WorkerSkills.\n *\n * @typedef {object} WorkerSkills.WorkerSkillsChildrenProps\n * @property {IWorker} [worker] Worker object\n * @property {Array<SkillDefinition>} [availableSkills] - Available skill\n * @property {boolean} [editSkillsPermission] - permission to edit the skills\n */","name":"WorkerSkillsChildrenProps","type":{"names":["object"]},"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>Worker object</p>","optional":true,"defaultvalue":""},{"name":"availableSkills","type":{"names":["Array<SkillDefinition>"]},"description":"<p>Available skill</p>","optional":true,"defaultvalue":""},{"name":"editSkillsPermission","type":{"names":["boolean"]},"description":"<p>permission to edit the skills</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Worker Data Table\n * @typedef WorkersDataTable.WorkersDataTableProps\n * @property {boolean} isLoading - Indicates whether worker data table is loading.\n * @property {Array<SupervisorWorkerState>} workers - List of workers and their associated tasks.\n * @property {Function} onTaskSelected - Function called when task selected.\n * @property {Function} onWorkerSelected - Function called when worker selected.\n * @property {Function} [sortWorkers=WorkersDataTable.defaultCompareFunction] - Compare function to use when sorting by workers.\n * @property {Function} [sortCalls] - Compare function to use when sorting by calls.\n * @property {Function} [sortTasks] - Compare function to use when sorting by tasks.\n * @property {Array<WorkersDataTable.WorkerListFilter>} [filters=WorkersDataTable.defaultFilters] - Legacy filters. Please use the filter API on the TeamsView component.\n * @property {string} [taskFilter=WorkersDataTable.taskFilter] - An expression used to filter out workers tasks.\n * @property {string} [defaultSortColumn] - Default sort column.\n */","name":"WorkersDataTableProps","type":null,"properties":[{"name":"isLoading","type":{"names":["boolean"]},"description":"<p>Indicates whether worker data table is loading.</p>","optional":null,"defaultvalue":""},{"name":"workers","type":{"names":["Array<SupervisorWorkerState>"]},"description":"<p>List of workers and their associated tasks.</p>","optional":null,"defaultvalue":""},{"name":"onTaskSelected","type":{"names":["function"]},"description":"<p>Function called when task selected.</p>","optional":null,"defaultvalue":""},{"name":"onWorkerSelected","type":{"names":["function"]},"description":"<p>Function called when worker selected.</p>","optional":null,"defaultvalue":""},{"name":"sortWorkers","type":{"names":["function"]},"description":"<p>Compare function to use when sorting by workers.</p>","optional":true,"defaultvalue":"WorkersDataTable.defaultCompareFunction"},{"name":"sortCalls","type":{"names":["function"]},"description":"<p>Compare function to use when sorting by calls.</p>","optional":true,"defaultvalue":""},{"name":"sortTasks","type":{"names":["function"]},"description":"<p>Compare function to use when sorting by tasks.</p>","optional":true,"defaultvalue":""},{"name":"filters","type":{"names":["Array<WorkersDataTable.WorkerListFilter>"]},"description":"<p>Legacy filters. Please use the filter API on the TeamsView component.</p>","optional":true,"defaultvalue":"WorkersDataTable.defaultFilters"},{"name":"taskFilter","type":{"names":["string"]},"description":"<p>An expression used to filter out workers tasks.</p>","optional":true,"defaultvalue":"WorkersDataTable.taskFilter"},{"name":"defaultSortColumn","type":{"names":["string"]},"description":"<p>Default sort column.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Programmable properties of WorkersDataTable.\n * @typedef WorkersDataTable.WorkersDataTableProgrammableProps\n */","name":"WorkersDataTableProgrammableProps","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Props passed to children of WorkersDataTable.\n * @typedef {object} WorkersDataTable.WorkersDataTableChildrenProps\n * @property {Array<SupervisorWorkerState>} [workers] - List of workers.\n * @property {ITask} [selectedTask] - Selected task in the table.\n * @property {IWorker} [selectedWorker] - Selected worker in the table.\n * @property {string} [monitoredTaskSid] - Sid of the monitored task.\n */","name":"WorkersDataTableChildrenProps","type":{"names":["object"]},"properties":[{"name":"workers","type":{"names":["Array<SupervisorWorkerState>"]},"description":"<p>List of workers.</p>","optional":true,"defaultvalue":""},{"name":"selectedTask","type":{"names":["ITask"]},"description":"<p>Selected task in the table.</p>","optional":true,"defaultvalue":""},{"name":"selectedWorker","type":{"names":["IWorker"]},"description":"<p>Selected worker in the table.</p>","optional":true,"defaultvalue":""},{"name":"monitoredTaskSid","type":{"names":["string"]},"description":"<p>Sid of the monitored task.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * ColumnDataCreationContext.\n * @typedef {object} WorkersDataTable.ColumnDataCreationContext\n * @property {Function} [onTaskSelected] - Callback called when a task is selected.\n * @property {ITask} [selectedTask] - Selected task.\n * @property {string} [monitoredTaskSid] - Sid of the monitored task.\n */","name":"ColumnDataCreationContext","type":{"names":["object"]},"properties":[{"name":"onTaskSelected","type":{"names":["function"]},"description":"<p>Callback called when a task is selected.</p>","optional":true,"defaultvalue":""},{"name":"selectedTask","type":{"names":["ITask"]},"description":"<p>Selected task.</p>","optional":true,"defaultvalue":""},{"name":"monitoredTaskSid","type":{"names":["string"]},"description":"<p>Sid of the monitored task.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Base Flex colors\n * @typedef Theme.BaseThemeColors\n * @ignore\n * @property {string} holdColor - Color of the hold button\n * @property {string} declineColor - Color of the decline button\n * @property {string} declineTextColor - Color of the decline text\n * @property {string} acceptColor - Color of the accept button\n * @property {string} acceptTextColor - Color of the accept text\n * @property {string} completeTaskColor - Color of the \"complete task\" button\n * @property {string} flexBlueColor - FlexBlue color\n * @property {string} agentAvailableColor - Color that indicates available agent status\n * @property {string} agentBusyColor - Color that indicates busy agent status\n * @property {string} agentUnavailableColor - Color that indicates unavailable agent status\n * @property {string} agentOfflineColor - Color that indicates offline agent status\n */","name":"BaseThemeColors","type":null,"properties":[{"name":"holdColor","type":{"names":["string"]},"description":"<p>Color of the hold button</p>","optional":null,"defaultvalue":""},{"name":"declineColor","type":{"names":["string"]},"description":"<p>Color of the decline button</p>","optional":null,"defaultvalue":""},{"name":"declineTextColor","type":{"names":["string"]},"description":"<p>Color of the decline text</p>","optional":null,"defaultvalue":""},{"name":"acceptColor","type":{"names":["string"]},"description":"<p>Color of the accept button</p>","optional":null,"defaultvalue":""},{"name":"acceptTextColor","type":{"names":["string"]},"description":"<p>Color of the accept text</p>","optional":null,"defaultvalue":""},{"name":"completeTaskColor","type":{"names":["string"]},"description":"<p>Color of the &quot;complete task&quot; button</p>","optional":null,"defaultvalue":""},{"name":"flexBlueColor","type":{"names":["string"]},"description":"<p>FlexBlue color</p>","optional":null,"defaultvalue":""},{"name":"agentAvailableColor","type":{"names":["string"]},"description":"<p>Color that indicates available agent status</p>","optional":null,"defaultvalue":""},{"name":"agentBusyColor","type":{"names":["string"]},"description":"<p>Color that indicates busy agent status</p>","optional":null,"defaultvalue":""},{"name":"agentUnavailableColor","type":{"names":["string"]},"description":"<p>Color that indicates unavailable agent status</p>","optional":null,"defaultvalue":""},{"name":"agentOfflineColor","type":{"names":["string"]},"description":"<p>Color that indicates offline agent status</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ThemeProps\n * @property {Theme} [theme] The theme\n * @memberof Theme\n */","name":"ThemeProps","type":null,"properties":[{"name":"theme","type":{"names":["Theme"]},"description":"<p>The theme</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Agent desktop theme props\n * @typedef Theme.AgentDesktopViewThemeProps\n * @property {CSSProps} Panel1 panel 1 styles\n * @property {CSSProps} Panel2 panel 2 styles\n * @property {CSSProps} ContentSplitter content splitter styles\n */","name":"AgentDesktopViewThemeProps","type":null,"properties":[{"name":"Panel1","type":{"names":["CSSProps"]},"description":"<p>panel 1 styles</p>","optional":null,"defaultvalue":""},{"name":"Panel2","type":{"names":["CSSProps"]},"description":"<p>panel 2 styles</p>","optional":null,"defaultvalue":""},{"name":"ContentSplitter","type":{"names":["CSSProps"]},"description":"<p>content splitter styles</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of children from AgentDesktopView\n * @typedef AgentDesktopView.AgentDesktopViewChildrenProps\n * @property {string} [selectedTaskSid] SID of the currently selected task\n * @property {Map<string, ITask>} tasks A map of the worker's tasks\n * @property {RouteComponentProps} route Routing object\n */","name":"AgentDesktopViewChildrenProps","type":null,"properties":[{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>SID of the currently selected task</p>","optional":true,"defaultvalue":""},{"name":"tasks","type":{"names":["Map<string, ITask>"]},"description":"<p>A map of the worker's tasks</p>","optional":null,"defaultvalue":""},{"name":"route","type":{"names":["RouteComponentProps"]},"description":"<p>Routing object</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * AgentDesktopView properties\n * @typedef {ViewAdditionalProps} AgentDesktopView.AgentDesktopViewProps\n * @property {string} [selectedTaskSid] SID of the currently selected task\n * @property {AgentDesktopView.SplitterProps} [splitterOptions] Options to customise panels sizes\n * @property {boolean} [showPanel2] If set to false, this flag hides the second panel of the view\n * @property {RouteComponentProps} route Routing object\n * @property {DynamicContentStore.DynamicComponentChildren<AgentDesktopView.AgentDesktopViewChildrenProps>} [children] - children\n */","name":"AgentDesktopViewProps","type":{"names":["ViewAdditionalProps"]},"properties":[{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>SID of the currently selected task</p>","optional":true,"defaultvalue":""},{"name":"splitterOptions","type":{"names":["AgentDesktopView.SplitterProps"]},"description":"<p>Options to customise panels sizes</p>","optional":true,"defaultvalue":""},{"name":"showPanel2","type":{"names":["boolean"]},"description":"<p>If set to false, this flag hides the second panel of the view</p>","optional":true,"defaultvalue":""},{"name":"route","type":{"names":["RouteComponentProps"]},"description":"<p>Routing object</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<AgentDesktopView.AgentDesktopViewChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Splitter configuration\n * @typedef AgentDesktopView.SplitterProps\n * @property {string} [initialFirstPanelSize] initial size for the first panel. e.g 320px\n * @property {string} [minimumFirstPanelSize] minimum allowed size for the first panel. e.g 320px\n * @property {string} [minimumSecondPanelSize] minimum allowed size for the second panel. e.g 320px\n */","name":"SplitterProps","type":null,"properties":[{"name":"initialFirstPanelSize","type":{"names":["string"]},"description":"<p>initial size for the first panel. e.g 320px</p>","optional":true,"defaultvalue":""},{"name":"minimumFirstPanelSize","type":{"names":["string"]},"description":"<p>minimum allowed size for the first panel. e.g 320px</p>","optional":true,"defaultvalue":""},{"name":"minimumSecondPanelSize","type":{"names":["string"]},"description":"<p>minimum allowed size for the second panel. e.g 320px</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Panel1 properties\n * @typedef {AgentDesktopViewChildrenProps} Panel1.AgentDesktopPanel1Props\n * @property {Panel1.SplitterOrientation} [splitterOrientation] Orientation of splitter component\n * @property {DynamicContentStore.DynamicComponentChildren<Panel1.AgentDesktopPanel1Props>} [children] - children\n */","name":"AgentDesktopPanel1Props","type":{"names":["AgentDesktopViewChildrenProps"]},"properties":[{"name":"splitterOrientation","type":{"names":["Panel1.SplitterOrientation"]},"description":"<p>Orientation of splitter component</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<Panel1.AgentDesktopPanel1Props>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Panel2 properties\n *\n * @typedef {AgentDesktopViewChildrenProps} Panel2.AgentDesktopPanel2Props\n * @property {Panel2.SplitterOrientation} [splitterOrientation] Orientation of splitter component\n * @property {DynamicContentStore.DynamicComponentChildren<Panel2.AgentDesktopPanel2Props>} [children] - children\n */","name":"AgentDesktopPanel2Props","type":{"names":["AgentDesktopViewChildrenProps"]},"properties":[{"name":"splitterOrientation","type":{"names":["Panel2.SplitterOrientation"]},"description":"<p>Orientation of splitter component</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<Panel2.AgentDesktopPanel2Props>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * QueuesStatsView Props\n *\n * @typedef QueuesStatsView.QueuesStatsViewProps\n * @property {ContextProvider.FlexContextType} [context] context\n * @property {React.ReactElement<React.ComponentFragment>} [children=undefined] - Children must be wrapped in `ContentFragment`\n * @property {RouteComponentProps} [route] - If you are using custom router and want to pass the route props to children\n */","name":"QueuesStatsViewProps","type":null,"properties":[{"name":"context","type":{"names":["ContextProvider.FlexContextType"]},"description":"<p>context</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["React.ReactElement<React.ComponentFragment>"]},"description":"<p>Children must be wrapped in <code>ContentFragment</code></p>","optional":true,"defaultvalue":""},{"name":"route","type":{"names":["RouteComponentProps"]},"description":"<p>If you are using custom router and want to pass the route props to children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Props passed to children of QueuesStatsView\n *\n * @typedef QueuesStatsView.QueuesStatsViewChildrensProps\n * @property {boolean} isLoading Is realtime queues stats data being fetched\n * @property {boolean} hasNoData If true, there are no queues set up\n * @property {boolean} [isViewActive=undefined] True/false if part of a {@link ViewCollection}, otherwise undefined\n * @property {RouteComponentProps} [route=undefined] Route component props if part of a {@link ViewCollection} or the route prop passed to {@link QueuesStatsView}\n * @property {Theme} theme theme\n */","name":"QueuesStatsViewChildrensProps","type":null,"properties":[{"name":"isLoading","type":{"names":["boolean"]},"description":"<p>Is realtime queues stats data being fetched</p>","optional":null,"defaultvalue":""},{"name":"hasNoData","type":{"names":["boolean"]},"description":"<p>If true, there are no queues set up</p>","optional":null,"defaultvalue":""},{"name":"isViewActive","type":{"names":["boolean"]},"description":"<p>True/false if part of a {@link ViewCollection}, otherwise undefined</p>","optional":true,"defaultvalue":""},{"name":"route","type":{"names":["RouteComponentProps"]},"description":"<p>Route component props if part of a {@link ViewCollection} or the route prop passed to {@link QueuesStatsView}</p>","optional":true,"defaultvalue":""},{"name":"theme","type":{"names":["Theme"]},"description":"<p>theme</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Function} TeamsView.FilterDefinitionFactory\n */","name":"FilterDefinitionFactory","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Teams view.\n * @typedef TeamsView.TeamsViewProps\n * @property {RouteComponentProps<TeamsView.TeamsViewRouteParams>} [route] Represents route params.\n * @property {Array<FilterDefinition | FilterDefinitionFactory>} [filters] - List of filters or filterFactories\n * @property {AppliedFilter | Array<AppliedFilter> | string} [hiddenFilter] - Hidden filter definition\n */","name":"TeamsViewProps","type":null,"properties":[{"name":"route","type":{"names":["RouteComponentProps<TeamsView.TeamsViewRouteParams>"]},"description":"<p>Represents route params.</p>","optional":true,"defaultvalue":""},{"name":"filters","type":{"names":["Array<(FilterDefinition|FilterDefinitionFactory)>"]},"description":"<p>List of filters or filterFactories</p>","optional":true,"defaultvalue":""},{"name":"hiddenFilter","type":{"names":["AppliedFilter","Array<AppliedFilter>","string"]},"description":"<p>Hidden filter definition</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of routes in teams view.\n * @typedef TeamsView.TeamsViewRouteParams\n * @property {(\"tasks\" | \"workers\")} [resources] Represents if task or worker is part of route resource.\n * @property {string} [sid] Represents the indentification of the task or worker\n */","name":"TeamsViewRouteParams","type":null,"properties":[{"name":"resources","type":{"names":["\"tasks\"","\"workers\""]},"description":"<p>Represents if task or worker is part of route resource.</p>","optional":true,"defaultvalue":""},{"name":"sid","type":{"names":["string"]},"description":"<p>Represents the indentification of the task or worker</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {TeamsViewImplProps} TeamsView.TeamsViewChildrenProps\n * @property {Array<AppliedFilter>} [appliedFilters] Represents applied filters.\n * @property {Array<FiltersList.FilterDefinition>} [filters] - List of filter definitions.\n * @property {string} [monitoredTaskSid] - Represents current monitoring task.\n * @property {SupervisorWorkerState} [stickyWorker] - Represents selected worker.\n * @property {Array<SupervisorWorkerState>} [workers] - Represents list of workers.\n * @property {boolean} isViewActive - Indicates whether the view is active.\n * @property {boolean} isLoadingWorkers - Indicates whether workers are loading.\n * @property {boolean} isSearchFilterApplied - Indicates whether search filter is applied.\n */","name":"TeamsViewChildrenProps","type":{"names":["TeamsViewImplProps"]},"properties":[{"name":"appliedFilters","type":{"names":["Array<AppliedFilter>"]},"description":"<p>Represents applied filters.</p>","optional":true,"defaultvalue":""},{"name":"filters","type":{"names":["Array<FiltersList.FilterDefinition>"]},"description":"<p>List of filter definitions.</p>","optional":true,"defaultvalue":""},{"name":"monitoredTaskSid","type":{"names":["string"]},"description":"<p>Represents current monitoring task.</p>","optional":true,"defaultvalue":""},{"name":"stickyWorker","type":{"names":["SupervisorWorkerState"]},"description":"<p>Represents selected worker.</p>","optional":true,"defaultvalue":""},{"name":"workers","type":{"names":["Array<SupervisorWorkerState>"]},"description":"<p>Represents list of workers.</p>","optional":true,"defaultvalue":""},{"name":"isViewActive","type":{"names":["boolean"]},"description":"<p>Indicates whether the view is active.</p>","optional":null,"defaultvalue":""},{"name":"isLoadingWorkers","type":{"names":["boolean"]},"description":"<p>Indicates whether workers are loading.</p>","optional":null,"defaultvalue":""},{"name":"isSearchFilterApplied","type":{"names":["boolean"]},"description":"<p>Indicates whether search filter is applied.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef CompatibilityOptions\n * @property {string} yes=\"yes\"\n * @property {string} no=\"no\"\n * @property {string} deprecated=\"deprecated\"\n * @private\n */","name":"CompatibilityOptions","type":null,"properties":[{"name":"yes","type":{"names":["string"]},"description":null,"optional":null,"defaultvalue":"\"yes\""},{"name":"no","type":{"names":["string"]},"description":null,"optional":null,"defaultvalue":"\"no\""},{"name":"deprecated","type":{"names":["string"]},"description":null,"optional":null,"defaultvalue":"\"deprecated\""}]}},{"node":{"kind":"typedef","comment":"/**\n * Flex context interface\n * @typedef {object} FlexContextType\n * @property {Manager} manager - an instance of Flex Manager class\n * @property {boolean} [legacy] - force compatibility mode in case of differing react-redux versions\n * @memberof ContextProvider\n */","name":"FlexContextType","type":{"names":["object"]},"properties":[{"name":"manager","type":{"names":["Manager"]},"description":"<p>an instance of Flex Manager class</p>","optional":null,"defaultvalue":""},{"name":"legacy","type":{"names":["boolean"]},"description":"<p>force compatibility mode in case of differing react-redux versions</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Context Provider props interface\n * @typedef {ContextProvider.FlexContextType} ContextProviderProps\n * @memberof ContextProvider\n */","name":"ContextProviderProps","type":{"names":["ContextProvider.FlexContextType"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} FormatterTypeOptions\n * @property {PredefinedFormatters} type a type of a predefined formatter\n * @memberof Log\n */","name":"FormatterTypeOptions","type":{"names":["object"]},"properties":[{"name":"type","type":{"names":["PredefinedFormatters"]},"description":"<p>a type of a predefined formatter</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef FormatterConfigurableOptions\n * @mixes Log.FormatterTypeOptions\n * @memberof Log\n */","name":"FormatterConfigurableOptions","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * A way to define a formatter for a log manager\n *\n * @typedef {CreateFormatter | FormatterConfigurableOptions} FormatterConfig\n * @memberof Log\n */","name":"FormatterConfig","type":{"names":["CreateFormatter","FormatterConfigurableOptions"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {object} ClassProxySpySpecificOptions\n * @property {Array<string>} [methods] methods of a target class to be spied on\n * @memberof Log\n */","name":"ClassProxySpySpecificOptions","type":{"names":["object"]},"properties":[{"name":"methods","type":{"names":["Array<string>"]},"description":"<p>methods of a target class to be spied on</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ClassProxySpyOptions\n * @mixes Log.SpyCommonConfigurableOptions\n * @mixes Log.ClassProxySpySpecificOptions\n * @memberof Log\n */","name":"ClassProxySpyOptions","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {object} DOMEventsSpySpecificOptions\n * @property {Array<string>} [events] events to listen to\n * @memberof Log\n */","name":"DOMEventsSpySpecificOptions","type":{"names":["object"]},"properties":[{"name":"events","type":{"names":["Array<string>"]},"description":"<p>events to listen to</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef DOMEventsSpyOptions\n * @mixes Log.SpyCommonConfigurableOptions\n * @mixes Log.DOMEventsSpySpecificOptions\n * @memberof Log\n */","name":"DOMEventsSpyOptions","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {object} EventEmitterSpySpecificOptions\n * @property {Array<string>} events events to listen to\n * @memberof Log\n */","name":"EventEmitterSpySpecificOptions","type":{"names":["object"]},"properties":[{"name":"events","type":{"names":["Array<string>"]},"description":"<p>events to listen to</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef EventEmitterSpyOptions\n * @mixes Log.SpyCommonConfigurableOptions\n * @mixes Log.EventEmitterSpySpecificOptions\n * @memberof Log\n */","name":"EventEmitterSpyOptions","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @package\n * @typedef {object} LoglevelSpySpecificOptions\n * @property {Array<string>} [methods] methods of a target class to be spied on\n * @memberof Log\n */","name":"LoglevelSpySpecificOptions","type":{"names":["object"]},"properties":[{"name":"methods","type":{"names":["Array<string>"]},"description":"<p>methods of a target class to be spied on</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef LoglevelSpyOptions\n * @mixes Log.SpyCommonConfigurableOptions\n * @mixes Log.LoglevelSpySpecificOptions\n * @memberof Log\n */","name":"LoglevelSpyOptions","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Configurable options common to all spies\n *\n * @category Log Manager\n * @typedef {object} SpyCommonConfigurableOptions\n * @property {any} [target] an entity that is being tracked by spy\n * @property {string} [targetAlias] an human-readable description of a target\n * @property {OnStartCallback} [onStart] allows to run some logic after a spy started\n * @memberof Log\n */","name":"SpyCommonConfigurableOptions","type":{"names":["object"]},"properties":[{"name":"target","type":{"names":["any"]},"description":"<p>an entity that is being tracked by spy</p>","optional":true,"defaultvalue":""},{"name":"targetAlias","type":{"names":["string"]},"description":"<p>an human-readable description of a target</p>","optional":true,"defaultvalue":""},{"name":"onStart","type":{"names":["OnStartCallback"]},"description":"<p>allows to run some logic after a spy started</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @category Log Manager\n * @typedef {object} SpyConstructorOptions\n * @property {NotifyCallback} trigger trigger callback\n * @mixes SpyCommonConfigurableOptions\n * @memberof Log\n */","name":"SpyConstructorOptions","type":{"names":["object"]},"properties":[{"name":"trigger","type":{"names":["NotifyCallback"]},"description":"<p>trigger callback</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * An entity to spy on\n *\n * @typedef {any} Target\n * @memberof Log\n */","name":"Target","type":{"names":["any"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Data unit representing an atomic information collected by a spy\n *\n * @typedef {object} LogEntry\n * @property {Target} [target] an entity that is spied on\n * @property {string} [targetAlias] verbose name for target\n * @property {string} [subject] a name of a method, a property or a topic that the collected data relates to\n * @property {Array<any>} [args] arguments passed to a subject (whenever it's function)\n * @property {any} [result] result of calling a subject (whenever it's function)\n * @property {number} [timestamp] the time at which the log entry is recorded\n * @memberof Log\n */","name":"LogEntry","type":{"names":["object"]},"properties":[{"name":"target","type":{"names":["Target"]},"description":"<p>an entity that is spied on</p>","optional":true,"defaultvalue":""},{"name":"targetAlias","type":{"names":["string"]},"description":"<p>verbose name for target</p>","optional":true,"defaultvalue":""},{"name":"subject","type":{"names":["string"]},"description":"<p>a name of a method, a property or a topic that the collected data relates to</p>","optional":true,"defaultvalue":""},{"name":"args","type":{"names":["Array<any>"]},"description":"<p>arguments passed to a subject (whenever it's function)</p>","optional":true,"defaultvalue":""},{"name":"result","type":{"names":["any"]},"description":"<p>result of calling a subject (whenever it's function)</p>","optional":true,"defaultvalue":""},{"name":"timestamp","type":{"names":["number"]},"description":"<p>the time at which the log entry is recorded</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} SpyTypeOptions\n * @property {PredefinedSpies} type a type of a predefined spy\n * @memberof Log\n */","name":"SpyTypeOptions","type":{"names":["object"]},"properties":[{"name":"type","type":{"names":["PredefinedSpies"]},"description":"<p>a type of a predefined spy</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Options for predefined spies\n *\n * @typedef {object} SpyConfigurableOptions\n * @mixes Log.SpyTypeOptions\n * @mixes Log.ClassProxySpyOptions\n * @mixes Log.DOMEventsSpyOptions\n * @mixes Log.EventEmitterSpyOptions\n * @mixes Log.LoglevelSpyOptions\n * @memberof Log\n * @example <caption>Use ClassProxy spy to track console calls</caption>\n * const myLogManager = new Flex.Log.LogManager({\n *   spies: [{\n *     type: Flex.Log.PredefinedSpies.ClassProxy,\n *     target: window.console,\n *     targetAlias: \"window.console\",\n *     methods: [\"trace\", \"info\", \"debug\", \"log\", \"warn\", \"error\"],\n *     onStart: (proxy) => {\n *       window.console = proxy;\n *     }\n *   }]\n * })\n */","name":"SpyConfigurableOptions","type":{"names":["object"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Create a custom spy\n *\n * @callback CreateSpy\n * @param {object} arg methods dedicated to help implementing a custom spy\n * @param {NotifyCallback} arg.trigger a callback to pass on the collected data\n * @returns {Spy}\n * @memberof Log\n * @example <caption>Create a custom spy to track console's log method invocations</caption>\n * class MyConsoleSpy extends Flex.Log.Spy {\n *   static originalConsoleLog = window.console.log;\n *\n *   start() {\n *        window.console.log = (...args) => {\n *           this.trigger({\n *               target: window.console,\n *               args: [...args],\n *               targetAlias: \"window.console\",\n *               subject: \"log\",\n *               timestamp: Date.now()\n *           });\n *           MyConsoleSpy.originalConsoleLog();\n *       };\n *   }\n *\n *   stop() {\n *       window.console.log = MyConsoleSpy.originalConsoleLog;\n *   }\n * }\n *\n * const myLogManager = new Flex.Log.LogManager({\n *   spies: [{\n *     ({ trigger }) => new MyConsoleSpy({ trigger })\n *   }]\n * })\n */","name":"CreateSpy","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * A way to define a spy for a log manager\n *\n * @typedef {CreateSpy | SpyConfigurableOptions} SpyConfig\n * @memberof Log\n */","name":"SpyConfig","type":{"names":["CreateSpy","SpyConfigurableOptions"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} Log.LocalStorageSpecificOptions\n * @property {string} [identifier] unique identifier\n */","name":"LocalStorageSpecificOptions","type":{"names":["object"]},"properties":[{"name":"identifier","type":{"names":["string"]},"description":"<p>unique identifier</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} Log.LocalStorageOptions\n * @mixes Log.LocalStorageSpecificOptions\n * @property {string} [identifier] unique identifier\n */","name":"LocalStorageOptions","type":{"names":["object"]},"properties":[{"name":"identifier","type":{"names":["string"]},"description":"<p>unique identifier</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} Log.MemoryStorageSpecificOptions\n * @property {string} [identifier] Unique identifier\n * @property {boolean} [extendedLogs] Set to true to get, uncut, unprocessed logs from spy\n * @property {number} [maxLineLength] If extendedLogs is enabled, customise the maxLength of the stringified logs\n */","name":"MemoryStorageSpecificOptions","type":{"names":["object"]},"properties":[{"name":"identifier","type":{"names":["string"]},"description":"<p>Unique identifier</p>","optional":true,"defaultvalue":""},{"name":"extendedLogs","type":{"names":["boolean"]},"description":"<p>Set to true to get, uncut, unprocessed logs from spy</p>","optional":true,"defaultvalue":""},{"name":"maxLineLength","type":{"names":["number"]},"description":"<p>If extendedLogs is enabled, customise the maxLength of the stringified logs</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} Log.MemoryStorageOptions\n * @mixes Log.MemoryStorageSpecificOptions\n * @property {string} [identifier] Unique identifier\n * @property {boolean} [extendedLogs] Set to true to get, uncut, unprocessed logs from spy\n * @property {number} [maxLineLength] If extendedLogs is enabled, customise the maxLength of the stringified logs\n */","name":"MemoryStorageOptions","type":{"names":["object"]},"properties":[{"name":"identifier","type":{"names":["string"]},"description":"<p>Unique identifier</p>","optional":true,"defaultvalue":""},{"name":"extendedLogs","type":{"names":["boolean"]},"description":"<p>Set to true to get, uncut, unprocessed logs from spy</p>","optional":true,"defaultvalue":""},{"name":"maxLineLength","type":{"names":["number"]},"description":"<p>If extendedLogs is enabled, customise the maxLength of the stringified logs</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} StorageTypeOptions\n * @property {PredefinedStorages} type a type of a predefined storage\n * @memberof Log\n */","name":"StorageTypeOptions","type":{"names":["object"]},"properties":[{"name":"type","type":{"names":["PredefinedStorages"]},"description":"<p>a type of a predefined storage</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Options for predefined storages\n *\n * @typedef {object} StorageConfigurableOptions\n * @mixes Log.StorageTypeOptions\n * @mixes Log.LocalStorageOptions\n * @property {PredefinedStorages} type a type of a predefined storage\n * @memberof Log\n */","name":"StorageConfigurableOptions","type":{"names":["object"]},"properties":[{"name":"type","type":{"names":["PredefinedStorages"]},"description":"<p>a type of a predefined storage</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * A way to define a storage for a log manager\n *\n * @typedef {CreateStorage | StorageConfigurableOptions} StorageConfig\n * @memberof Log\n */","name":"StorageConfig","type":{"names":["CreateStorage","StorageConfigurableOptions"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} TransportTypeOptions\n * @property {PredefinedTransports} type a type of a predefined transport\n * @memberof Log\n */","name":"TransportTypeOptions","type":{"names":["object"]},"properties":[{"name":"type","type":{"names":["PredefinedTransports"]},"description":"<p>a type of a predefined transport</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Options for predefined transports\n *\n * @typedef {object} TransportConfigurableOptions\n * @mixes Log.TransportTypeOptions\n * @memberof Log\n */","name":"TransportConfigurableOptions","type":{"names":["object"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * A way to define a transport for a log manager\n *\n * @typedef {CreateTransport | TransportConfigurableOptions} TransportConfig\n * @memberof Log\n */","name":"TransportConfig","type":{"names":["CreateTransport","TransportConfigurableOptions"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * User Info\n * @typedef {object} UserInfo\n * @property {string} identity identity\n * @property {Array<string>} roles roles\n * @property {string} token access token\n * @property {Date} tokenExpirationDate token expiration date\n * @property {Permissions} permissions all permissions user have\n * @memberof Manager\n */","name":"UserInfo","type":{"names":["object"]},"properties":[{"name":"identity","type":{"names":["string"]},"description":"<p>identity</p>","optional":null,"defaultvalue":""},{"name":"roles","type":{"names":["Array<string>"]},"description":"<p>roles</p>","optional":null,"defaultvalue":""},{"name":"token","type":{"names":["string"]},"description":"<p>access token</p>","optional":null,"defaultvalue":""},{"name":"tokenExpirationDate","type":{"names":["Date"]},"description":"<p>token expiration date</p>","optional":null,"defaultvalue":""},{"name":"permissions","type":{"names":["Permissions"]},"description":"<p>all permissions user have</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * OAuth2.0 Verifier Payload\n * @typedef {object} OAuthPayload\n * @property {string} nonce state identifier\n * @property {string} codeVerifier code verifier\n * @memberof SessionState\n */","name":"OAuthPayload","type":{"names":["object"]},"properties":[{"name":"nonce","type":{"names":["string"]},"description":"<p>state identifier</p>","optional":null,"defaultvalue":""},{"name":"codeVerifier","type":{"names":["string"]},"description":"<p>code verifier</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Flex Plugin\n *\n * @typedef {object} Plugin\n * @property {string} name name of the plugin\n * @property {PluginManager.InitCallback} init init function of the plugin. Instance of {@link Flex} and {@link Manager} will be passed as arguments.\n * @memberof PluginManager\n */","name":"Plugin","type":{"names":["object"]},"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>name of the plugin</p>","optional":null,"defaultvalue":""},{"name":"init","type":{"names":["PluginManager.InitCallback"]},"description":"<p>init function of the plugin. Instance of {@link Flex} and {@link Manager} will be passed as arguments.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Plugin constructor type. Plugins must nave new() operator defined.\n *\n * @typedef {object} PluginConstructor\n * @property {PluginManager.Plugin} new() constructor of a plugin\n * @memberof PluginManager\n */","name":"PluginConstructor","type":{"names":["object"]},"properties":[{"name":"new()","type":{"names":["PluginManager.Plugin"]},"description":"<p>constructor of a plugin</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * User Permissions\n * @typedef {object} Permissions\n * @property {boolean} teamsView permission to view teams page\n * @property {boolean} queueStatsView permission to view queues-stats page\n * @property {boolean} agentDesktopView permission to view agent-desktop page\n * @property {boolean} editSkills permission to edit other worker's skills\n * @property {boolean} editStatus permission to edit other worker's status\n * @property {boolean} monitorChat permission to monitor ongoing chat\n * @property {boolean} monitorCall permission to monitor ongoing call\n * @property {boolean} seeTaskInfo permission to see the info of ongoing task on teams view page\n * @property {boolean} selfEditStatus permission to edit own status\n * @property {boolean} readAdmin permission to view admin page\n * @property {boolean} writeAdmin permission to update settings on admin page\n */","name":"Permissions","type":{"names":["object"]},"properties":[{"name":"teamsView","type":{"names":["boolean"]},"description":"<p>permission to view teams page</p>","optional":null,"defaultvalue":""},{"name":"queueStatsView","type":{"names":["boolean"]},"description":"<p>permission to view queues-stats page</p>","optional":null,"defaultvalue":""},{"name":"agentDesktopView","type":{"names":["boolean"]},"description":"<p>permission to view agent-desktop page</p>","optional":null,"defaultvalue":""},{"name":"editSkills","type":{"names":["boolean"]},"description":"<p>permission to edit other worker's skills</p>","optional":null,"defaultvalue":""},{"name":"editStatus","type":{"names":["boolean"]},"description":"<p>permission to edit other worker's status</p>","optional":null,"defaultvalue":""},{"name":"monitorChat","type":{"names":["boolean"]},"description":"<p>permission to monitor ongoing chat</p>","optional":null,"defaultvalue":""},{"name":"monitorCall","type":{"names":["boolean"]},"description":"<p>permission to monitor ongoing call</p>","optional":null,"defaultvalue":""},{"name":"seeTaskInfo","type":{"names":["boolean"]},"description":"<p>permission to see the info of ongoing task on teams view page</p>","optional":null,"defaultvalue":""},{"name":"selfEditStatus","type":{"names":["boolean"]},"description":"<p>permission to edit own status</p>","optional":null,"defaultvalue":""},{"name":"readAdmin","type":{"names":["boolean"]},"description":"<p>permission to view admin page</p>","optional":null,"defaultvalue":""},{"name":"writeAdmin","type":{"names":["boolean"]},"description":"<p>permission to update settings on admin page</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * SSO Token Payload\n * @typedef {object} SSOTokenPayload\n * @property {string} identity identity\n * @property {string[]} roles roles\n * @property {string} token access token\n * @property {string} expiration token expiration date\n * @property {Permissions} permissions all permissions user have\n * @property {string} accountSid Flex Account SID\n * @property {string} accessTokenExpiresAt timestamp when access token expires\n * @property {string} refreshTokenExpiresAt timestamp when refresh token expires (inactivity expiry)\n * @memberof AppState\n */","name":"SSOTokenPayload","type":{"names":["object"]},"properties":[{"name":"identity","type":{"names":["string"]},"description":"<p>identity</p>","optional":null,"defaultvalue":""},{"name":"roles","type":{"names":["Array<string>"]},"description":"<p>roles</p>","optional":null,"defaultvalue":""},{"name":"token","type":{"names":["string"]},"description":"<p>access token</p>","optional":null,"defaultvalue":""},{"name":"expiration","type":{"names":["string"]},"description":"<p>token expiration date</p>","optional":null,"defaultvalue":""},{"name":"permissions","type":{"names":["Permissions"]},"description":"<p>all permissions user have</p>","optional":null,"defaultvalue":""},{"name":"accountSid","type":{"names":["string"]},"description":"<p>Flex Account SID</p>","optional":null,"defaultvalue":""},{"name":"accessTokenExpiresAt","type":{"names":["string"]},"description":"<p>timestamp when access token expires</p>","optional":null,"defaultvalue":""},{"name":"refreshTokenExpiresAt","type":{"names":["string"]},"description":"<p>timestamp when refresh token expires (inactivity expiry)</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef TaskTransfer\n * @property {\"COLD\" | \"WARM\"} mode transfer mode\n * @property {string} sid - The sid of this Transfer\n * @property {\"INITIATED\" | \"FAILED\" | \"COMPLETE\" | \"CANCELED\"} status transfer status\n * @property {string} to - The sid of the Worker or TaskQueue this Transfer is intended for\n * @property {\"QUEUE\" | \"WORKER\"} type - The transfer type\n * @property {string} workerSid - The sid of the initiating Worker\n * @property {IWorker} [worker] - The instance of the initiating Worker\n * @property {IQueue} [queue] - Target queue instance\n * @memberof ITask\n */","name":"TaskTransfer","type":null,"properties":[{"name":"mode","type":{"names":["\"COLD\"","\"WARM\""]},"description":"<p>transfer mode</p>","optional":null,"defaultvalue":""},{"name":"sid","type":{"names":["string"]},"description":"<p>The sid of this Transfer</p>","optional":null,"defaultvalue":""},{"name":"status","type":{"names":["\"INITIATED\"","\"FAILED\"","\"COMPLETE\"","\"CANCELED\""]},"description":"<p>transfer status</p>","optional":null,"defaultvalue":""},{"name":"to","type":{"names":["string"]},"description":"<p>The sid of the Worker or TaskQueue this Transfer is intended for</p>","optional":null,"defaultvalue":""},{"name":"type","type":{"names":["\"QUEUE\"","\"WORKER\""]},"description":"<p>The transfer type</p>","optional":null,"defaultvalue":""},{"name":"workerSid","type":{"names":["string"]},"description":"<p>The sid of the initiating Worker</p>","optional":null,"defaultvalue":""},{"name":"worker","type":{"names":["IWorker"]},"description":"<p>The instance of the initiating Worker</p>","optional":true,"defaultvalue":""},{"name":"queue","type":{"names":["IQueue"]},"description":"<p>Target queue instance</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Information about the session where the error occured\n *\n * @category Flex Errors\n * @ignore\n * @typedef ErrorDetails\n * @extends {FlexErrorContents}\n * @property {string} message Error message.\n * @property {string} [wrappedError] The original error message.\n * @memberof FlexError\n */","name":"ErrorDetails","type":null,"properties":[{"name":"message","type":{"names":["string"]},"description":"<p>Error message.</p>","optional":null,"defaultvalue":""},{"name":"wrappedError","type":{"names":["string"]},"description":"<p>The original error message.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Information about the session where the error occured\n *\n * @category Flex Errors\n * @ignore\n * @typedef FlexErrorJSON\n * @property {string} title Normalized title of an error.\n * @property {string} name Raw name of an error.\n * @property {string} message Error message.\n * @property {string} logLine Normalized log line of an error.\n * @property {string} stack Represents stack trace of an error\n * @property {Monitor.ErrorDetails} details Contents more details of an error.\n * @property {string | Monitor.FlexErrorJSON} wrappedError The original error.\n * @property {string} logs Logs around the error.\n * @property {SessionData} sessionData Information about the session where the error occured.\n * @memberof FlexError\n */","name":"FlexErrorJSON","type":null,"properties":[{"name":"title","type":{"names":["string"]},"description":"<p>Normalized title of an error.</p>","optional":null,"defaultvalue":""},{"name":"name","type":{"names":["string"]},"description":"<p>Raw name of an error.</p>","optional":null,"defaultvalue":""},{"name":"message","type":{"names":["string"]},"description":"<p>Error message.</p>","optional":null,"defaultvalue":""},{"name":"logLine","type":{"names":["string"]},"description":"<p>Normalized log line of an error.</p>","optional":null,"defaultvalue":""},{"name":"stack","type":{"names":["string"]},"description":"<p>Represents stack trace of an error</p>","optional":null,"defaultvalue":""},{"name":"details","type":{"names":["Monitor.ErrorDetails"]},"description":"<p>Contents more details of an error.</p>","optional":null,"defaultvalue":""},{"name":"wrappedError","type":{"names":["string","Monitor.FlexErrorJSON"]},"description":"<p>The original error.</p>","optional":null,"defaultvalue":""},{"name":"logs","type":{"names":["string"]},"description":"<p>Logs around the error.</p>","optional":null,"defaultvalue":""},{"name":"sessionData","type":{"names":["SessionData"]},"description":"<p>Information about the session where the error occured.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} ProvidersProps\n * @memberof ThemeProvider\n * @property {CustomizationProvider} [PasteThemeProvider] Paste theme provider\n * @property {ComponentWrapper<RootContainerChildrenProps>} [CustomProvider] Custom provider component\n */","name":"ProvidersProps","type":{"names":["object"]},"properties":[{"name":"PasteThemeProvider","type":{"names":["CustomizationProvider"]},"description":"<p>Paste theme provider</p>","optional":true,"defaultvalue":""},{"name":"CustomProvider","type":{"names":["ComponentWrapper<RootContainerChildrenProps>"]},"description":"<p>Custom provider component</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Theme configuration\n * @typedef DeprecatedThemeConfigProps\n * @property {PredefinedThemeName} [baseName] predefined theme name to take as base\n * @property {CoreThemeColors | BaseThemeColors} [colors] color overrides to be applied\n * @property {boolean} [light] whether theme is light or not\n * @property {DeepPartial<Theme>} [overrides] Overrides for the theme object\n * @deprecated\n * @deprecatedSince 2.0.0\n * @altRecommendation Use `ThemeConfigProps` instead\n * @altRecommendationExample\n * import { ThemeConfigProps } from \"@twilio/flex-ui\";\n * const themeConfig: ThemeConfigProps = {};\n * @ignore\n */","name":"DeprecatedThemeConfigProps","type":null,"properties":[{"name":"baseName","type":{"names":["PredefinedThemeName"]},"description":"<p>predefined theme name to take as base</p>","optional":true,"defaultvalue":""},{"name":"colors","type":{"names":["CoreThemeColors","BaseThemeColors"]},"description":"<p>color overrides to be applied</p>","optional":true,"defaultvalue":""},{"name":"light","type":{"names":["boolean"]},"description":"<p>whether theme is light or not</p>","optional":true,"defaultvalue":""},{"name":"overrides","type":{"names":["DeepPartial<Theme>"]},"description":"<p>Overrides for the theme object</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ThemeConfigProps\n * @memberof Config\n * @property {boolean} [isLight] Represents whether light or dark theme should be used\n * @property {DeepPartial<Tokens>} [tokens] Paste tokens. For more on each token information, please refer to Twilio Paste\n * @property {Theme} [componentThemeOverrides] Object containing styles of the component which is to be overridden. See Theme Interface\n */","name":"ThemeConfigProps","type":null,"properties":[{"name":"isLight","type":{"names":["boolean"]},"description":"<p>Represents whether light or dark theme should be used</p>","optional":true,"defaultvalue":""},{"name":"tokens","type":{"names":["DeepPartial<Tokens>"]},"description":"<p>Paste tokens. For more on each token information, please refer to Twilio Paste</p>","optional":true,"defaultvalue":""},{"name":"componentThemeOverrides","type":{"names":["Theme"]},"description":"<p>Object containing styles of the component which is to be overridden. See Theme Interface</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Extension of the DeviceOptions interface to be used to initialise a Device, with an additional\n * acceptOptions property to be passed as a parameter when calling Call.accept()\n * See parent interface [here](https://www.twilio.com/docs/voice/sdks/javascript/twiliodevice#deviceoptions)\n * @typedef VoiceOptions\n * @property {Call.AcceptOptions} [acceptOptions] options to be passed in call.accept(). [See](https://www.twilio.com/docs/voice/sdks/javascript/twiliocall#callacceptacceptoptions)\n * @property {MediaTrackConstraints} [audioConstraints] options to be passed in device.audio.setAudioConstraints(). [See](https://www.twilio.com/docs/voice/sdks/javascript/twiliodevice/device-audio#deviceaudiosetaudioconstraintsaudioconstraints)\n * @property {string[]} [codecPreferences] codec names to be passed in device.options.codecPreferences. These can optionally use the `Device.Codec` type values from `@twilio/voice-sdk`.\n * @property {Record<string, string>} [sounds] sounds names to be passed in device.options.sounds. These can optionally use the `Call.Sounds` type values from `@twilio/voice-sdk` for the object keys.\n * @memberof Config\n */","name":"VoiceOptions","type":null,"properties":[{"name":"acceptOptions","type":{"names":["Call.AcceptOptions"]},"description":"<p>options to be passed in call.accept(). <a href=\"https://www.twilio.com/docs/voice/sdks/javascript/twiliocall#callacceptacceptoptions\">See</a></p>","optional":true,"defaultvalue":""},{"name":"audioConstraints","type":{"names":["MediaTrackConstraints"]},"description":"<p>options to be passed in device.audio.setAudioConstraints(). <a href=\"https://www.twilio.com/docs/voice/sdks/javascript/twiliodevice/device-audio#deviceaudiosetaudioconstraintsaudioconstraints\">See</a></p>","optional":true,"defaultvalue":""},{"name":"codecPreferences","type":{"names":["Array<string>"]},"description":"<p>codec names to be passed in device.options.codecPreferences. These can optionally use the <code>Device.Codec</code> type values from <code>@twilio/voice-sdk</code>.</p>","optional":true,"defaultvalue":""},{"name":"sounds","type":{"names":["Record<string, string>"]},"description":"<p>sounds names to be passed in device.options.sounds. These can optionally use the <code>Call.Sounds</code> type values from <code>@twilio/voice-sdk</code> for the object keys.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Options for Twilio SDKs used by Flex\n * @typedef Config.SDKOptions\n * @property {WorkerOptions} [worker] options to pass to TaskRouter Worker SDK. [See](https://twilio.github.io/twilio-taskrouter.js/Worker.html#Worker__anchor)\n * @property {ConversationsOptions} [chat] options to pass to Chat SDK. [See](https://media.twiliocdn.com/sdk/js/chat/releases/3.4.0/docs/Client.html#.create__anchor)\n * @property {VoiceOptions} [voice] options to pass to Voice SDK. [See](https://www.twilio.com/docs/voice/sdks/javascript/twiliodevice#deviceoptions)\n * @property {object} [insights] options to pass to Sync SDK. [See](https://media.twiliocdn.com/sdk/js/sync/releases/0.11.1/docs/Client.html#Client__anchor)\n * @property {DeepPartial<ClientOptions>} [flex] to pass to Flex SDK.\n * @memberof Config\n */","name":"SDKOptions","type":null,"properties":[{"name":"worker","type":{"names":["WorkerOptions"]},"description":"<p>options to pass to TaskRouter Worker SDK. <a href=\"https://twilio.github.io/twilio-taskrouter.js/Worker.html#Worker__anchor\">See</a></p>","optional":true,"defaultvalue":""},{"name":"chat","type":{"names":["ConversationsOptions"]},"description":"<p>options to pass to Chat SDK. <a href=\"https://media.twiliocdn.com/sdk/js/chat/releases/3.4.0/docs/Client.html#.create__anchor\">See</a></p>","optional":true,"defaultvalue":""},{"name":"voice","type":{"names":["VoiceOptions"]},"description":"<p>options to pass to Voice SDK. <a href=\"https://www.twilio.com/docs/voice/sdks/javascript/twiliodevice#deviceoptions\">See</a></p>","optional":true,"defaultvalue":""},{"name":"insights","type":{"names":["object"]},"description":"<p>options to pass to Sync SDK. <a href=\"https://media.twiliocdn.com/sdk/js/sync/releases/0.11.1/docs/Client.html#Client__anchor\">See</a></p>","optional":true,"defaultvalue":""},{"name":"flex","type":{"names":["DeepPartial<ClientOptions>"]},"description":"<p>to pass to Flex SDK.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Predefined theme name\n * @typedef {\"GreyLight\" | \"GreyDark\" | \"FlexLight\" | \"FlexDark\"} PredefinedThemeName\n */","name":"PredefinedThemeName","type":{"names":["\"GreyLight\"","\"GreyDark\"","\"FlexLight\"","\"FlexDark\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Plugin Service interface\n * @typedef PluginService\n * @property {boolean} [enabled] Whether the plugin service is enabled or not\n * @memberof Config\n */","name":"PluginService","type":null,"properties":[{"name":"enabled","type":{"names":["boolean"]},"description":"<p>Whether the plugin service is enabled or not</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Custom plugins interface\n * @typedef {object} CustomPlugins\n * @property {number} phase plugin phase\n * @property {string} name plugin name\n * @property {string} src url where plugin can be found\n * @property {string} [version] plugin version\n */","name":"CustomPlugins","type":{"names":["object"]},"properties":[{"name":"phase","type":{"names":["number"]},"description":"<p>plugin phase</p>","optional":null,"defaultvalue":""},{"name":"name","type":{"names":["string"]},"description":"<p>plugin name</p>","optional":null,"defaultvalue":""},{"name":"src","type":{"names":["string"]},"description":"<p>url where plugin can be found</p>","optional":null,"defaultvalue":""},{"name":"version","type":{"names":["string"]},"description":"<p>plugin version</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Plugin service attributes interface\n * @typedef {object} PluginServiceAttributes\n * @property {string} [custom_plugins_url] url to the plugin JSON\n * @property {CustomPlugins} [custom_plugins] array of plugins\n */","name":"PluginServiceAttributes","type":{"names":["object"]},"properties":[{"name":"custom_plugins_url","type":{"names":["string"]},"description":"<p>url to the plugin JSON</p>","optional":true,"defaultvalue":""},{"name":"custom_plugins","type":{"names":["CustomPlugins"]},"description":"<p>array of plugins</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} LocationConfig\n * @property {string} name region name\n * @property {Array<string> | string} edge array of edge names or edge name\n * @memberof Config\n */","name":"LocationConfig","type":{"names":["object"]},"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>region name</p>","optional":null,"defaultvalue":""},{"name":"edge","type":{"names":["Array<string>","string"]},"description":"<p>array of edge names or edge name</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} OutboundConfig\n * @property {object} email Configuration object for outbound email\n * @property {string} email.defaultAddress.address_metadata.from_name The sender name\n * @property {string} email.defaultAddress.coordinates.address The senders email address\n * @property {string} email.defaultSettings.workflow_sid Sid of the workflow to use for task assignment\n * @property {string} email.defaultAddress.queue_sid Sid of the queue to use for task assignment\n * @memberof Config\n */","name":"OutboundConfig","type":{"names":["object"]},"properties":[{"name":"email","type":{"names":["object"]},"description":"<p>Configuration object for outbound email</p>","optional":null,"defaultvalue":""},{"name":"email.defaultAddress.address_metadata.from_name","type":{"names":["string"]},"description":"<p>The sender name</p>","optional":null,"defaultvalue":""},{"name":"email.defaultAddress.coordinates.address","type":{"names":["string"]},"description":"<p>The senders email address</p>","optional":null,"defaultvalue":""},{"name":"email.defaultSettings.workflow_sid","type":{"names":["string"]},"description":"<p>Sid of the workflow to use for task assignment</p>","optional":null,"defaultvalue":""},{"name":"email.defaultAddress.queue_sid","type":{"names":["string"]},"description":"<p>Sid of the queue to use for task assignment</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} EmailChannelStatus\n * @property {object} status The current provision status\n */","name":"EmailChannelStatus","type":{"names":["object"]},"properties":[{"name":"status","type":{"names":["object"]},"description":"<p>The current provision status</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} InsightsProvisionStatus\n * @property {object} enabled The current provision status\n * @property {object} timeZone The configured time zone\n */","name":"InsightsProvisionStatus","type":{"names":["object"]},"properties":[{"name":"enabled","type":{"names":["object"]},"description":"<p>The current provision status</p>","optional":null,"defaultvalue":""},{"name":"timeZone","type":{"names":["object"]},"description":"<p>The configured time zone</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} TeamsContextStatus\n * @property {boolean} team_setup_complete The team setup status\n * @since 2.10.0\n */","name":"TeamsContextStatus","type":{"names":["object"]},"properties":[{"name":"team_setup_complete","type":{"names":["boolean"]},"description":"<p>The team setup status</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} ChannelConfig\n * @property {string} addressType Channel type\n * @property {object} cbmAttachments Configuration object for cbm attachment settings\n * @property {boolean} cbmAttachments.enabled Whether attachments are enabled\n * @property {number} cbmAttachments.numberOfAttachments Maximum number of attachments allowed\n * @property {number} cbmAttachments.maxFileSize Maximum allowed file size in bytes\n * @property {number} cbmAttachments.maxTotalFileSize Limit in bytes for the cumulative size of all attachments\n * @property {Array<string>} cbmAttachments.acceptedExtensions Array of allowed file extensions\n * @memberof Config\n */","name":"ChannelConfig","type":{"names":["object"]},"properties":[{"name":"addressType","type":{"names":["string"]},"description":"<p>Channel type</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments","type":{"names":["object"]},"description":"<p>Configuration object for cbm attachment settings</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments.enabled","type":{"names":["boolean"]},"description":"<p>Whether attachments are enabled</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments.numberOfAttachments","type":{"names":["number"]},"description":"<p>Maximum number of attachments allowed</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments.maxFileSize","type":{"names":["number"]},"description":"<p>Maximum allowed file size in bytes</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments.maxTotalFileSize","type":{"names":["number"]},"description":"<p>Limit in bytes for the cumulative size of all attachments</p>","optional":null,"defaultvalue":""},{"name":"cbmAttachments.acceptedExtensions","type":{"names":["Array<string>"]},"description":"<p>Array of allowed file extensions</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Flex UI's configuration allows you to control the way the overall app loads, as well as the behavior of individual Flex Components.\n * In the configuration object, you can define the default properties of your Flex Components. You can also configure properties that are not tied to specific Components.\n * @typedef {object} Config\n * @category Overview\n * @docname Configuration\n * @menuorder 200\n * @property {string} [language] language code, not used\n * @property {\"silent\" | \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\"} [logLevel=\"error\"] level for logger\n * @property {ThemeConfigProps} [theme] theme configuration\n * @property {SDKOptions} [sdkOptions] SDK options\n * @property {SSOConfiguration} [sso] SSO configuration\n * @property {OAuthConfiguration} [oauth] OAuth2.0 configuration. Only available if account has set up SSO after using Flex UI >= 2.5.0. [See docs for more info.](https://www.twilio.com/docs/flex/admin-guide/setup/sso-configuration#enhanced-and-legacy-sso-configuration)\n * @property {PluginService} [pluginService] PluginService configuration\n * @property {object} [componentProps] Props to be set for React components. Key of the object is component name. e.g. { AgentDesktopView: { showPanel2: false } }\n * @property {object} [router] Router configuration\n * @property {\"browser\" | \"memory\"} [router.type] type of the router\n * @property {object} [router.history] history object to use for routing\n * @property {boolean} [router.isolate] whether to isolate Flex routing from other routing. Makes Flex to use memory router.\n * @property {boolean} [disableBrowserVoice] whether to disable Twilio Voice SDK instantiation\n * @property {boolean} [initialDeviceCheck] Whether to conduct an initial audio device check\n * @property {boolean} [rejectPendingReservations] whether to reject all pending reservations if user goes to an offline activity\n * @property {object} [insights] insights configuration object\n * @property {boolean} [enableClientCalling] Whether to enable client calling\n * @property {FileAttachmentConfig} [fileAttachment] File attachment configuration\n * @property {string} [holdMusicUrl] url for audio file to play when call is on hold\n * @property {string} [holdMusicMethod] holdMusicMethod\n * @property {Array<LocationConfig>} [locations] array of LocationConfig objects\n * @property {boolean} [disableTelemetry] whether to disable telemetry\n * @property {boolean} [enableReduxLogging] whether to enable redux logging\n * @property {object} [markdown] markdown configuration\n * @property {object} [notifications] Notification configuration\n * @property {OutboundConfig} [outboundSettings] Outbound configuration\n * @property {Array<ChannelConfig>} [channelConfig] array of channel configurations\n * @property {FlexUiStatusReport} [flexUiStatusReport] configuration of UI display of status report\n * @property {DebuggerIntegration} [debuggerIntegration] configuration of debugger integration\n * @property {boolean} [isEmailChannelEnabled] whether email channel is enabled\n * @property {citrixVoiceVdi} [citrixVoiceVdi] configuration of Enable Voice on Citrix VDI\n */","name":"Config","type":{"names":["object"]},"properties":[{"name":"language","type":{"names":["string"]},"description":"<p>language code, not used</p>","optional":true,"defaultvalue":""},{"name":"logLevel","type":{"names":["\"silent\"","\"error\"","\"warning\"","\"info\"","\"debug\"","\"trace\""]},"description":"<p>level for logger</p>","optional":true,"defaultvalue":"\"error\""},{"name":"theme","type":{"names":["ThemeConfigProps"]},"description":"<p>theme configuration</p>","optional":true,"defaultvalue":""},{"name":"sdkOptions","type":{"names":["SDKOptions"]},"description":"<p>SDK options</p>","optional":true,"defaultvalue":""},{"name":"sso","type":{"names":["SSOConfiguration"]},"description":"<p>SSO configuration</p>","optional":true,"defaultvalue":""},{"name":"oauth","type":{"names":["OAuthConfiguration"]},"description":"<p>OAuth2.0 configuration. Only available if account has set up SSO after using Flex UI &gt;= 2.5.0. <a href=\"https://www.twilio.com/docs/flex/admin-guide/setup/sso-configuration#enhanced-and-legacy-sso-configuration\">See docs for more info.</a></p>","optional":true,"defaultvalue":""},{"name":"pluginService","type":{"names":["PluginService"]},"description":"<p>PluginService configuration</p>","optional":true,"defaultvalue":""},{"name":"componentProps","type":{"names":["object"]},"description":"<p>Props to be set for React components. Key of the object is component name. e.g. { AgentDesktopView: { showPanel2: false } }</p>","optional":true,"defaultvalue":""},{"name":"router","type":{"names":["object"]},"description":"<p>Router configuration</p>","optional":true,"defaultvalue":""},{"name":"router.type","type":{"names":["\"browser\"","\"memory\""]},"description":"<p>type of the router</p>","optional":true,"defaultvalue":""},{"name":"router.history","type":{"names":["object"]},"description":"<p>history object to use for routing</p>","optional":true,"defaultvalue":""},{"name":"router.isolate","type":{"names":["boolean"]},"description":"<p>whether to isolate Flex routing from other routing. Makes Flex to use memory router.</p>","optional":true,"defaultvalue":""},{"name":"disableBrowserVoice","type":{"names":["boolean"]},"description":"<p>whether to disable Twilio Voice SDK instantiation</p>","optional":true,"defaultvalue":""},{"name":"initialDeviceCheck","type":{"names":["boolean"]},"description":"<p>Whether to conduct an initial audio device check</p>","optional":true,"defaultvalue":""},{"name":"rejectPendingReservations","type":{"names":["boolean"]},"description":"<p>whether to reject all pending reservations if user goes to an offline activity</p>","optional":true,"defaultvalue":""},{"name":"insights","type":{"names":["object"]},"description":"<p>insights configuration object</p>","optional":true,"defaultvalue":""},{"name":"enableClientCalling","type":{"names":["boolean"]},"description":"<p>Whether to enable client calling</p>","optional":true,"defaultvalue":""},{"name":"fileAttachment","type":{"names":["FileAttachmentConfig"]},"description":"<p>File attachment configuration</p>","optional":true,"defaultvalue":""},{"name":"holdMusicUrl","type":{"names":["string"]},"description":"<p>url for audio file to play when call is on hold</p>","optional":true,"defaultvalue":""},{"name":"holdMusicMethod","type":{"names":["string"]},"description":"<p>holdMusicMethod</p>","optional":true,"defaultvalue":""},{"name":"locations","type":{"names":["Array<LocationConfig>"]},"description":"<p>array of LocationConfig objects</p>","optional":true,"defaultvalue":""},{"name":"disableTelemetry","type":{"names":["boolean"]},"description":"<p>whether to disable telemetry</p>","optional":true,"defaultvalue":""},{"name":"enableReduxLogging","type":{"names":["boolean"]},"description":"<p>whether to enable redux logging</p>","optional":true,"defaultvalue":""},{"name":"markdown","type":{"names":["object"]},"description":"<p>markdown configuration</p>","optional":true,"defaultvalue":""},{"name":"notifications","type":{"names":["object"]},"description":"<p>Notification configuration</p>","optional":true,"defaultvalue":""},{"name":"outboundSettings","type":{"names":["OutboundConfig"]},"description":"<p>Outbound configuration</p>","optional":true,"defaultvalue":""},{"name":"channelConfig","type":{"names":["Array<ChannelConfig>"]},"description":"<p>array of channel configurations</p>","optional":true,"defaultvalue":""},{"name":"flexUiStatusReport","type":{"names":["FlexUiStatusReport"]},"description":"<p>configuration of UI display of status report</p>","optional":true,"defaultvalue":""},{"name":"debuggerIntegration","type":{"names":["DebuggerIntegration"]},"description":"<p>configuration of debugger integration</p>","optional":true,"defaultvalue":""},{"name":"isEmailChannelEnabled","type":{"names":["boolean"]},"description":"<p>whether email channel is enabled</p>","optional":true,"defaultvalue":""},{"name":"citrixVoiceVdi","type":{"names":["citrixVoiceVdi"]},"description":"<p>configuration of Enable Voice on Citrix VDI</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Skill definition\n * @typedef Config.SkillDefinition\n * @property {string} name name of the skill\n * @property {boolean} multivalue whether skill may have a numerical level\n * @property {number} [minimum] maximum value for level\n * @property {number} [maximum] minimum value for level\n * @memberof Config\n * @memberof Configuration\n */","name":"SkillDefinition","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>name of the skill</p>","optional":null,"defaultvalue":""},{"name":"multivalue","type":{"names":["boolean"]},"description":"<p>whether skill may have a numerical level</p>","optional":null,"defaultvalue":""},{"name":"minimum","type":{"names":["number"]},"description":"<p>maximum value for level</p>","optional":true,"defaultvalue":""},{"name":"maximum","type":{"names":["number"]},"description":"<p>minimum value for level</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Service configuration\n * @typedef {object} ServiceConfiguration\n * @property {string} account_sid account SID\n * @property {string} chat_service_instance_sid chat service instance SID\n * @property {string} runtime_domain Twilio Runtime Domain\n * @property {string} taskrouter_workspace_sid Task Router Workspace SID for Flex\n * @property {string} taskrouter_target_taskqueue_sid Task Router Task Queue SID\n * @property {string} taskrouter_target_workflow_sid Task Router Workflow SID\n * @property {any} outbound_call_flows Outbound call flows\n * @property {Array<SkillDefinition>} taskrouter_skills all possible skills that can be assigned\n */","name":"ServiceConfiguration","type":{"names":["object"]},"properties":[{"name":"account_sid","type":{"names":["string"]},"description":"<p>account SID</p>","optional":null,"defaultvalue":""},{"name":"chat_service_instance_sid","type":{"names":["string"]},"description":"<p>chat service instance SID</p>","optional":null,"defaultvalue":""},{"name":"runtime_domain","type":{"names":["string"]},"description":"<p>Twilio Runtime Domain</p>","optional":null,"defaultvalue":""},{"name":"taskrouter_workspace_sid","type":{"names":["string"]},"description":"<p>Task Router Workspace SID for Flex</p>","optional":null,"defaultvalue":""},{"name":"taskrouter_target_taskqueue_sid","type":{"names":["string"]},"description":"<p>Task Router Task Queue SID</p>","optional":null,"defaultvalue":""},{"name":"taskrouter_target_workflow_sid","type":{"names":["string"]},"description":"<p>Task Router Workflow SID</p>","optional":null,"defaultvalue":""},{"name":"outbound_call_flows","type":{"names":["any"]},"description":"<p>Outbound call flows</p>","optional":null,"defaultvalue":""},{"name":"taskrouter_skills","type":{"names":["Array<SkillDefinition>"]},"description":"<p>all possible skills that can be assigned</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * SSO Configuration interface\n * @typedef {object} SSOConfiguration\n * @property {string} [accountSid] account SID\n * @property {string} [idpUrl] idpUrl\n * @property {boolean} [loginPopup=false] whether to launch IdP login in a new window\n * @property {string} [loginPopupFeatures] standard window.open() features param to be applied to popup window\n * @property {Array<string>} [products] array of products\n * @property {string} [redirectUrl=window.location.href] redirect url where to return back from identity provider to log in to Flex\n * @memberof Config\n */","name":"SSOConfiguration","type":{"names":["object"]},"properties":[{"name":"accountSid","type":{"names":["string"]},"description":"<p>account SID</p>","optional":true,"defaultvalue":""},{"name":"idpUrl","type":{"names":["string"]},"description":"<p>idpUrl</p>","optional":true,"defaultvalue":""},{"name":"loginPopup","type":{"names":["boolean"]},"description":"<p>whether to launch IdP login in a new window</p>","optional":true,"defaultvalue":"false"},{"name":"loginPopupFeatures","type":{"names":["string"]},"description":"<p>standard window.open() features param to be applied to popup window</p>","optional":true,"defaultvalue":""},{"name":"products","type":{"names":["Array<string>"]},"description":"<p>array of products</p>","optional":true,"defaultvalue":""},{"name":"redirectUrl","type":{"names":["string"]},"description":"<p>redirect url where to return back from identity provider to log in to Flex</p>","optional":true,"defaultvalue":"window.location.href"}]}},{"node":{"kind":"typedef","comment":"/**\n * OAuth2.0 Configuration interface\n * @typedef {object} OAuthConfiguration\n * @property {string} clientId client ID for the account\n * @property {string} connection connection name for the account. Referred to as `sso_profile_sid` in some services.\n * @property {boolean} [loginPopup=false] whether to launch OAuth2.0 login in a new window\n * @property {string} [redirectUrl] the url to redirect to after authorization. Used when Flex is self-hosted.\n * @property {string} [accountSid] account SID\n * @memberof Config\n */","name":"OAuthConfiguration","type":{"names":["object"]},"properties":[{"name":"clientId","type":{"names":["string"]},"description":"<p>client ID for the account</p>","optional":null,"defaultvalue":""},{"name":"connection","type":{"names":["string"]},"description":"<p>connection name for the account. Referred to as <code>sso_profile_sid</code> in some services.</p>","optional":null,"defaultvalue":""},{"name":"loginPopup","type":{"names":["boolean"]},"description":"<p>whether to launch OAuth2.0 login in a new window</p>","optional":true,"defaultvalue":"false"},{"name":"redirectUrl","type":{"names":["string"]},"description":"<p>the url to redirect to after authorization. Used when Flex is self-hosted.</p>","optional":true,"defaultvalue":""},{"name":"accountSid","type":{"names":["string"]},"description":"<p>account SID</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Root Redux Flex application state\n * @typedef AppState\n * @property {Config} config configuration state\n * @property {SessionState} session session state\n * @property {ChatState} chat chat state\n * @property {WorkerState} worker worker state\n * @property {PhoneState} phone voice call state\n * @property {ViewState} view view state\n * @property {AppStatusState} appStatus app status\n * @property {ConnectionStatus} connectionStatus connection status\n * @property {InsightsState} insights insights state\n * @property {SupervisorState} supervisor supervisor state\n * @property {ConferencesState} conferences conferences state\n * @property {QueuesState} realtimeQueues realtimeQueues\n * @property {FeatureFlagsState} featureFlags featureFlags\n * @property {FlexErrorState} flexErrors flexErrors\n * @property {QualityManagementState} qualityManagement qualityManagement\n * @property {ParticipantState} participants participants state\n * @property {AgentCopilotState} agentCopilot agentCopilot state\n * @category State Management\n */","name":"AppState","type":null,"properties":[{"name":"config","type":{"names":["Config"]},"description":"<p>configuration state</p>","optional":null,"defaultvalue":""},{"name":"session","type":{"names":["SessionState"]},"description":"<p>session state</p>","optional":null,"defaultvalue":""},{"name":"chat","type":{"names":["ChatState"]},"description":"<p>chat state</p>","optional":null,"defaultvalue":""},{"name":"worker","type":{"names":["WorkerState"]},"description":"<p>worker state</p>","optional":null,"defaultvalue":""},{"name":"phone","type":{"names":["PhoneState"]},"description":"<p>voice call state</p>","optional":null,"defaultvalue":""},{"name":"view","type":{"names":["ViewState"]},"description":"<p>view state</p>","optional":null,"defaultvalue":""},{"name":"appStatus","type":{"names":["AppStatusState"]},"description":"<p>app status</p>","optional":null,"defaultvalue":""},{"name":"connectionStatus","type":{"names":["ConnectionStatus"]},"description":"<p>connection status</p>","optional":null,"defaultvalue":""},{"name":"insights","type":{"names":["InsightsState"]},"description":"<p>insights state</p>","optional":null,"defaultvalue":""},{"name":"supervisor","type":{"names":["SupervisorState"]},"description":"<p>supervisor state</p>","optional":null,"defaultvalue":""},{"name":"conferences","type":{"names":["ConferencesState"]},"description":"<p>conferences state</p>","optional":null,"defaultvalue":""},{"name":"realtimeQueues","type":{"names":["QueuesState"]},"description":"<p>realtimeQueues</p>","optional":null,"defaultvalue":""},{"name":"featureFlags","type":{"names":["FeatureFlagsState"]},"description":"<p>featureFlags</p>","optional":null,"defaultvalue":""},{"name":"flexErrors","type":{"names":["FlexErrorState"]},"description":"<p>flexErrors</p>","optional":null,"defaultvalue":""},{"name":"qualityManagement","type":{"names":["QualityManagementState"]},"description":"<p>qualityManagement</p>","optional":null,"defaultvalue":""},{"name":"participants","type":{"names":["ParticipantState"]},"description":"<p>participants state</p>","optional":null,"defaultvalue":""},{"name":"agentCopilot","type":{"names":["AgentCopilotState"]},"description":"<p>agentCopilot state</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Conference type\n * @typedef Conference\n * @property {string} sid SID of the task\n * @property {ConferenceStatus} status status of the conference\n * @property {string} conferenceSid SID of the conference\n * @property {Array<ConferenceParticipant>} participants participants in the conference, including the ones who have left\n * @property {number} liveParticipantCount count of currently live participants\n * @property {number} liveWorkerCount count of currently live workers\n * @property {Array<ConferenceParticipant>} liveWorkers active worker participants in the conference\n * @memberof ConferencesState\n */","name":"Conference","type":null,"properties":[{"name":"sid","type":{"names":["string"]},"description":"<p>SID of the task</p>","optional":null,"defaultvalue":""},{"name":"status","type":{"names":["ConferenceStatus"]},"description":"<p>status of the conference</p>","optional":null,"defaultvalue":""},{"name":"conferenceSid","type":{"names":["string"]},"description":"<p>SID of the conference</p>","optional":null,"defaultvalue":""},{"name":"participants","type":{"names":["Array<ConferenceParticipant>"]},"description":"<p>participants in the conference, including the ones who have left</p>","optional":null,"defaultvalue":""},{"name":"liveParticipantCount","type":{"names":["number"]},"description":"<p>count of currently live participants</p>","optional":null,"defaultvalue":""},{"name":"liveWorkerCount","type":{"names":["number"]},"description":"<p>count of currently live workers</p>","optional":null,"defaultvalue":""},{"name":"liveWorkers","type":{"names":["Array<ConferenceParticipant>"]},"description":"<p>active worker participants in the conference</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Conference participant\n *\n * @typedef ConferenceParticipant\n * @property {IQueue} [queue] queue associated with the participant (in case of transfer to queue)\n * @property {IWorker} [worker] worker associated with the participant\n * @property {string} callSid call SID associated with the voice connection of the participant\n * @property {boolean} isCurrentWorker is participant associated with the currently logged in user\n * @property {boolean} onHold is participant on hold\n * @property {boolean} muted is participant muted\n * @property {boolean} connecting is participant in connecting state\n * @property {ParticipantStatus} status status of the participant\n * @property {ChannelParticipantType} participantType type of the participant\n * @property {string} reservationSid reservation SID for the participant\n * @property {string} workerSid SID of the worker\n * @property {string} participantSid SID of the participant if external\n * @property {string} phoneNumber Phone number of the participant if external\n * @memberof ConferencesState\n */","name":"ConferenceParticipant","type":null,"properties":[{"name":"queue","type":{"names":["IQueue"]},"description":"<p>queue associated with the participant (in case of transfer to queue)</p>","optional":true,"defaultvalue":""},{"name":"worker","type":{"names":["IWorker"]},"description":"<p>worker associated with the participant</p>","optional":true,"defaultvalue":""},{"name":"callSid","type":{"names":["string"]},"description":"<p>call SID associated with the voice connection of the participant</p>","optional":null,"defaultvalue":""},{"name":"isCurrentWorker","type":{"names":["boolean"]},"description":"<p>is participant associated with the currently logged in user</p>","optional":null,"defaultvalue":""},{"name":"onHold","type":{"names":["boolean"]},"description":"<p>is participant on hold</p>","optional":null,"defaultvalue":""},{"name":"muted","type":{"names":["boolean"]},"description":"<p>is participant muted</p>","optional":null,"defaultvalue":""},{"name":"connecting","type":{"names":["boolean"]},"description":"<p>is participant in connecting state</p>","optional":null,"defaultvalue":""},{"name":"status","type":{"names":["ParticipantStatus"]},"description":"<p>status of the participant</p>","optional":null,"defaultvalue":""},{"name":"participantType","type":{"names":["ChannelParticipantType"]},"description":"<p>type of the participant</p>","optional":null,"defaultvalue":""},{"name":"reservationSid","type":{"names":["string"]},"description":"<p>reservation SID for the participant</p>","optional":null,"defaultvalue":""},{"name":"workerSid","type":{"names":["string"]},"description":"<p>SID of the worker</p>","optional":null,"defaultvalue":""},{"name":"participantSid","type":{"names":["string"]},"description":"<p>SID of the participant if external</p>","optional":null,"defaultvalue":""},{"name":"phoneNumber","type":{"names":["string"]},"description":"<p>Phone number of the participant if external</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Conference state\n *\n * @typedef ConferencesState.ConferenceState\n * @property {ConferencesState.Conference} source source object of the conference\n * @category State\n */","name":"ConferenceState","type":null,"properties":[{"name":"source","type":{"names":["ConferencesState.Conference"]},"description":"<p>source object of the conference</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Participant type\n *\n * @typedef {\"worker\" | \"customer\" | \"transfer\" | \"supervisor\" | \"\"} ParticipantType\n * @memberof ConferencesState\n */","name":"ParticipantType","type":{"names":["\"worker\"","\"customer\"","\"transfer\"","\"supervisor\"","\"\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Participant status\n *\n * @typedef {\"left\" | \"joined\" | \"recently_left\"} ParticipantStatus\n * @memberof ConferencesState\n */","name":"ParticipantStatus","type":{"names":["\"left\"","\"joined\"","\"recently_left\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Conference status\n *\n * @typedef {\"left\" | \"joined\" | \"recently_left\"} ConferenceStatus\n * @memberof ConferencesState\n */","name":"ConferenceStatus","type":{"names":["\"left\"","\"joined\"","\"recently_left\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} FlexErrorState\n * @property {Array<FlexError>} errors Flex errors\n * @memberof AppState\n */","name":"FlexErrorState","type":{"names":["object"]},"properties":[{"name":"errors","type":{"names":["Array<FlexError>"]},"description":"<p>Flex errors</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Insights State\n *\n * @typedef InsightsState\n * @property {object} segmentsById - Dictionary of segments with the segmentId as the key\n * @property {number} [selectedMediaLink] - selected media link\n * @property {Array<IQuestionnaire>} questionnaires - array of questionnaires\n * @property {object} assessments - Dictionary of array of assessments with the segmentId as the key\n * @property {object} comments - comments\n * @property {IAssessmentSettings} assessmentSettings - assessmentSettings\n * @property {object} findingsBySegment - findings by segment\n * @property {string | undefined} segmentId - segmentId\n * @property {object} insightsProjectDashboards - insights project dashboards\n * @property {object} insightsDashboardCategory - insights dashboard category\n * @property {object} drillableItemsByDashboard - drillable items by dashboard\n * @property {Array<string>} drillableItemsAttributes - global drillable attributes\n * @property {object} profileInfo - profile info\n * @memberof AppState\n */","name":"InsightsState","type":null,"properties":[{"name":"segmentsById","type":{"names":["object"]},"description":"<p>Dictionary of segments with the segmentId as the key</p>","optional":null,"defaultvalue":""},{"name":"selectedMediaLink","type":{"names":["number"]},"description":"<p>selected media link</p>","optional":true,"defaultvalue":""},{"name":"questionnaires","type":{"names":["Array<IQuestionnaire>"]},"description":"<p>array of questionnaires</p>","optional":null,"defaultvalue":""},{"name":"assessments","type":{"names":["object"]},"description":"<p>Dictionary of array of assessments with the segmentId as the key</p>","optional":null,"defaultvalue":""},{"name":"comments","type":{"names":["object"]},"description":"<p>comments</p>","optional":null,"defaultvalue":""},{"name":"assessmentSettings","type":{"names":["IAssessmentSettings"]},"description":"<p>assessmentSettings</p>","optional":null,"defaultvalue":""},{"name":"findingsBySegment","type":{"names":["object"]},"description":"<p>findings by segment</p>","optional":null,"defaultvalue":""},{"name":"segmentId","type":{"names":["string","undefined"]},"description":"<p>segmentId</p>","optional":null,"defaultvalue":""},{"name":"insightsProjectDashboards","type":{"names":["object"]},"description":"<p>insights project dashboards</p>","optional":null,"defaultvalue":""},{"name":"insightsDashboardCategory","type":{"names":["object"]},"description":"<p>insights dashboard category</p>","optional":null,"defaultvalue":""},{"name":"drillableItemsByDashboard","type":{"names":["object"]},"description":"<p>drillable items by dashboard</p>","optional":null,"defaultvalue":""},{"name":"drillableItemsAttributes","type":{"names":["Array<string>"]},"description":"<p>global drillable attributes</p>","optional":null,"defaultvalue":""},{"name":"profileInfo","type":{"names":["object"]},"description":"<p>profile info</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Voice connection state\n * @deprecated\n * @deprecatedSince 2.0.0\n * @altRecommendation Use `getCurrentPhoneCallState` to access source connection (call) object\n * @altRecommendationExample\n * import { Flex } from \"@twilio/flex-ui\";\n * const activeCallState = Flex.StateHelper.getCurrentPhoneCallState;\n * @altRecommendationLink https://assets.flex.twilio.com/docs/releases/flex-ui/latest/advanced/state-management/StateHelper/#getcurrentphonecallstate-call\n * @ignore\n * @typedef PhoneCallState\n * @property {Call} source Source call object. [See](https://www.twilio.com/docs/voice/sdks/javascript/twiliocall)\n * @memberof PhoneState\n */","name":"PhoneCallState","type":null,"properties":[{"name":"source","type":{"names":["Call"]},"description":"<p>Source call object. <a href=\"https://www.twilio.com/docs/voice/sdks/javascript/twiliocall\">See</a></p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ActivityStatistic\n * @memberof Queue\n * @property {string} sid Activity sid\n * @property {number} workers Total number of workers\n * @property {string} friendly_name Friendly name\n * @property {number} available_workers Number of available workers\n */","name":"ActivityStatistic","type":null,"properties":[{"name":"sid","type":{"names":["string"]},"description":"<p>Activity sid</p>","optional":null,"defaultvalue":""},{"name":"workers","type":{"names":["number"]},"description":"<p>Total number of workers</p>","optional":null,"defaultvalue":""},{"name":"friendly_name","type":{"names":["string"]},"description":"<p>Friendly name</p>","optional":null,"defaultvalue":""},{"name":"available_workers","type":{"names":["number"]},"description":"<p>Number of available workers</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef WorkerQueue\n * @memberof QueuesStats\n * @property {string} friendly_name friendly name\n * @property {string} key unique key\n * @property {number} total_available_workers total available workers\n * @property {number} total_eligible_workers total eligible workers\n * @property {Array<ActivityStatistic>} activity_statistics activity statistics\n * @property {Record<string, number>} tasks_by_priority tasks by priority\n * @property {{ reserved: number, pending: number, assigned: number, wrapping: number }} tasks_by_status tasks by status\n * @property {number} total_tasks total tasks\n * @property {string|null} longest_task_waiting_sid longest task waiting sid\n * @property {string|null} longest_task_waiting_from longest task waiting from\n */","name":"WorkerQueue","type":null,"properties":[{"name":"friendly_name","type":{"names":["string"]},"description":"<p>friendly name</p>","optional":null,"defaultvalue":""},{"name":"key","type":{"names":["string"]},"description":"<p>unique key</p>","optional":null,"defaultvalue":""},{"name":"total_available_workers","type":{"names":["number"]},"description":"<p>total available workers</p>","optional":null,"defaultvalue":""},{"name":"total_eligible_workers","type":{"names":["number"]},"description":"<p>total eligible workers</p>","optional":null,"defaultvalue":""},{"name":"activity_statistics","type":{"names":["Array<ActivityStatistic>"]},"description":"<p>activity statistics</p>","optional":null,"defaultvalue":""},{"name":"tasks_by_priority","type":{"names":["Record<string, number>"]},"description":"<p>tasks by priority</p>","optional":null,"defaultvalue":""},{"name":"tasks_by_status","type":{"names":["Object"]},"description":"<p>tasks by status</p>","optional":null,"defaultvalue":""},{"name":"total_tasks","type":{"names":["number"]},"description":"<p>total tasks</p>","optional":null,"defaultvalue":""},{"name":"longest_task_waiting_sid","type":{"names":["string","null"]},"description":"<p>longest task waiting sid</p>","optional":null,"defaultvalue":""},{"name":"longest_task_waiting_from","type":{"names":["string","null"]},"description":"<p>longest task waiting from</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * An alias for a function used as a parameter for {@link QueuesStats.setFilter}.\n * <pre>(queue: [WorkerQueue]{@link QueuesStats.WorkerQueue}) => boolean</pre>\n * @typedef QueuesFilterFunction\n * @memberof QueuesStats\n */","name":"QueuesFilterFunction","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * State of a worker\n * @typedef SupervisorWorkerState\n * @property {IWorker} worker worker instance\n * @property {Array<ITask>} tasks tasks of the worker\n * @memberof AppState\n */","name":"SupervisorWorkerState","type":null,"properties":[{"name":"worker","type":{"names":["IWorker"]},"description":"<p>worker instance</p>","optional":null,"defaultvalue":""},{"name":"tasks","type":{"names":["Array<ITask>"]},"description":"<p>tasks of the worker</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Call monitoring state\n *\n * @typedef CallMonitoring\n * @property {CallMonitoringStatus} status status of the monitor call\n * @property {ITask} [task] Monitored task\n * @property {Array<IWorker>} [workers] List of the participating the call\n * @memberof AppState\n */","name":"CallMonitoring","type":null,"properties":[{"name":"status","type":{"names":["CallMonitoringStatus"]},"description":"<p>status of the monitor call</p>","optional":null,"defaultvalue":""},{"name":"task","type":{"names":["ITask"]},"description":"<p>Monitored task</p>","optional":true,"defaultvalue":""},{"name":"workers","type":{"names":["Array<IWorker>"]},"description":"<p>List of the participating the call</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Active filter\n *\n * @typedef TeamsView.AppliedFilter\n * @property {string} name name of the field to filter against\n * @property {FilterConditions} condition condition to use for the filter\n * @property {Array<string> | string} values value or an array of values to filter\n */","name":"AppliedFilter","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>name of the field to filter against</p>","optional":null,"defaultvalue":""},{"name":"condition","type":{"names":["FilterConditions"]},"description":"<p>condition to use for the filter</p>","optional":null,"defaultvalue":""},{"name":"values","type":{"names":["Array<string>","string"]},"description":"<p>value or an array of values to filter</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Store} EnhancedStore\n * @property {Function} [addReducer] - Function used to add reducer to an already created store.\n * @memberof Store\n */","name":"EnhancedStore","type":{"names":["Store"]},"properties":[{"name":"addReducer","type":{"names":["function"]},"description":"<p>Function used to add reducer to an already created store.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * The arguments that make up the old createChatTaskChannel() signature,\n * with `name` property omitted. This type array ensures that arguments are\n * of correct types when TaskChannelConfiguration is not used in the signature.\n * @typedef ChatTaskChannelArgs\n */","name":"ChatTaskChannelArgs","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} ThemeColorsDefinition\n * @property {boolean} isLight If the definition is light themed\n * @memberof ThemeColorsDefinitionCreator\n */","name":"ThemeColorsDefinition","type":{"names":["object"]},"properties":[{"name":"isLight","type":{"names":["boolean"]},"description":"<p>If the definition is light themed</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ActionFunction\n * @callback ActionFunction\n * @param {ActionsManager.ActionPayload} payload action payload\n * @returns {Promise<any>} promise to be invoked for action\n * @memberof ActionsManager\n */","name":"ActionFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ActionCancelFunction\n * @callback ActionCancelFunction\n * @returns {void}\n * @memberof ActionsManager\n */","name":"ActionCancelFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ReplacedActionFunction\n * @callback ReplacedActionFunction\n * @param {ActionsManager.ActionPayload} payload action payload\n * @param {ActionsManager.ActionFunction} original original action invocation\n * @param {ActionsManager.ActionFunction} next next action invocation\n * @returns {Promise<any>} promise to be invoked for action\n * @memberof ActionsManager\n */","name":"ReplacedActionFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef PayloadUpdateFunction\n * @callback PayloadUpdateFunction\n * @param {ActionsManager.ActionPayload} payload action payload\n * @returns {ActionsManager.ActionPayload} updated action payload\n * @memberof ActionsManager\n */","name":"PayloadUpdateFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Action with payload\n * @typedef {object} ActionWithPayload\n * @property {ActionsManager.ActionName} action action code\n * @property {ActionsManager.ActionPayload} [payload] action payload\n * @memberof ActionsManager\n */","name":"ActionWithPayload","type":{"names":["object"]},"properties":[{"name":"action","type":{"names":["ActionsManager.ActionName"]},"description":"<p>action code</p>","optional":null,"defaultvalue":""},{"name":"payload","type":{"names":["ActionsManager.ActionPayload"]},"description":"<p>action payload</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Actions with payload\n * @typedef {object} ActionsWithPayload\n * @property {ActionsManager.ActionWithPayload} [first] first action with payload\n * @property {ActionsManager.ActionPayload} [ACTION_CODE] action payload by action code in key\n * @memberof ActionsManager\n */","name":"ActionsWithPayload","type":{"names":["object"]},"properties":[{"name":"first","type":{"names":["ActionsManager.ActionWithPayload"]},"description":"<p>first action with payload</p>","optional":true,"defaultvalue":""},{"name":"ACTION_CODE","type":{"names":["ActionsManager.ActionPayload"]},"description":"<p>action payload by action code in key</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Action payload\n * @typedef {any} ActionPayload\n * @memberof ActionsManager\n */","name":"ActionPayload","type":{"names":["any"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Action name\n * @typedef {string} ActionName\n * @memberof ActionsManager\n */","name":"ActionName","type":{"names":["string"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Predicate to match action by payload\n * @typedef MatchActionPayloadPredicate\n * @callback MatchActionPayloadPredicate\n * @param {ActionsManager.ActionPayload} payload action payload\n * @param {string} action action code\n * @returns {boolean} true if payload is matched\n * @memberof ActionsManager\n */","name":"MatchActionPayloadPredicate","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Action payload or predicate to match\n * @typedef {(ActionsManager.MatchActionPayloadPredicate | ActionsManager.ActionPayload)} MatchActionPayload\n * @memberof ActionsManager\n */","name":"MatchActionPayload","type":{"names":["ActionsManager.MatchActionPayloadPredicate","ActionsManager.ActionPayload"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Audio Player error. This is the error type that you receive when the {@link import(\"./AudioPlayerManager\").ErrorHandler ErrorHandler function} is invoked\n *\n * @readonly\n * @typedef {object} Error\n * @extends Error\n * @property {AudioErrorCode} code - Error code\n * @memberof { import(\"./AudioPlayerManager\").AudioPlayerManager }\n */","name":"Error","type":{"names":["object"]},"properties":[{"name":"code","type":{"names":["AudioErrorCode"]},"description":"<p>Error code</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Defines the type of the error callback function. Invoked when `play` method returns an error.\n *\n * @typedef {Function} ErrorHandler\n * @param {AudioPlayerManager.Error} error Audio Player error.\n * @returns {void}\n * @memberof AudioPlayerManager\n */","name":"ErrorHandler","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Media data to be played.\n *\n * @typedef {object} MediaData\n * @property {string} url - URL of the media.\n * @property {boolean} repeatable - Whether the media should repeat or not.\n * @memberof AudioPlayerManager\n */","name":"MediaData","type":{"names":["object"]},"properties":[{"name":"url","type":{"names":["string"]},"description":"<p>URL of the media.</p>","optional":null,"defaultvalue":""},{"name":"repeatable","type":{"names":["boolean"]},"description":"<p>Whether the media should repeat or not.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ContentFragmentConditionFunction\n * @callback ContentFragmentConditionFunction\n * @param {object} props props T of the Component that includes the static prop named Content of type [DynamicContentStore](DynamicContentStore)<T>\n * @returns {boolean} whether the content fragment should be either added/replaced/removed or not\n * @memberof DynamicContentStore\n */","name":"ContentFragmentConditionFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Options for removing a component\n *\n * @typedef RemoveComponentCallOptions\n * @property {ContentFragmentConditionFunction} [if] - function that returns whether the component should be removed or not.\n * @memberof DynamicContentStore\n */","name":"RemoveComponentCallOptions","type":null,"properties":[{"name":"if","type":{"names":["ContentFragmentConditionFunction"]},"description":"<p>function that returns whether the component should be removed or not.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Alignment of the fragment\n *\n * @typedef {\"start\" | \"end\"} ContentFragmentAlignment\n * @memberof DynamicContentStore\n */","name":"ContentFragmentAlignment","type":{"names":["\"start\"","\"end\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Props of content fragment\n *\n * @typedef ContentFragmentProps\n * @property {ContentFragmentAlignment} [align] - fragment alignment\n * @property {boolean} [replace] - whether the fragment should replace an existing one or not. Always set to true when calling `replace` method from [DynamicContentStore](DynamicContentStore#replace-child-options-cleanupfunction).\n * @property {number} [sortOrder] - index in which to position the fragment within the component.\n * @property {ContentFragmentConditionFunction} [if] - function that returns whether the content fragment should be added or replaced.\n * @property {boolean} [noChildProps] - whether the fragment should be rendered with props that other siblings was rendered with\n * @memberof DynamicContentStore\n */","name":"ContentFragmentProps","type":null,"properties":[{"name":"align","type":{"names":["ContentFragmentAlignment"]},"description":"<p>fragment alignment</p>","optional":true,"defaultvalue":""},{"name":"replace","type":{"names":["boolean"]},"description":"<p>whether the fragment should replace an existing one or not. Always set to true when calling <code>replace</code> method from <a href=\"DynamicContentStore#replace-child-options-cleanupfunction\">DynamicContentStore</a>.</p>","optional":true,"defaultvalue":""},{"name":"sortOrder","type":{"names":["number"]},"description":"<p>index in which to position the fragment within the component.</p>","optional":true,"defaultvalue":""},{"name":"if","type":{"names":["ContentFragmentConditionFunction"]},"description":"<p>function that returns whether the content fragment should be added or replaced.</p>","optional":true,"defaultvalue":""},{"name":"noChildProps","type":{"names":["boolean"]},"description":"<p>whether the fragment should be rendered with props that other siblings was rendered with</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef CleanupFunction\n * @callback CleanupFunction\n * @returns {void}\n * @memberof DynamicContentStore\n */","name":"CleanupFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Notification options for the browser notification handler\n *\n * @typedef {object} BrowserNotificationOptions\n * @property {string} [title] Notification heading\n * @property {string} [body] Notification content\n * @property {Function} [onClick] onclick event handler function\n * @property {Function} [onClose] onClose event handler function\n * @property {Function} [onShow] onShow event handler function\n * @property {Function} [onError] onError event handler function\n * @property {object} [options] The Notification options object from the JS Notifications API\n * @memberof NotificationManager\n */","name":"BrowserNotificationOptions","type":{"names":["object"]},"properties":[{"name":"title","type":{"names":["string"]},"description":"<p>Notification heading</p>","optional":true,"defaultvalue":""},{"name":"body","type":{"names":["string"]},"description":"<p>Notification content</p>","optional":true,"defaultvalue":""},{"name":"onClick","type":{"names":["function"]},"description":"<p>onclick event handler function</p>","optional":true,"defaultvalue":""},{"name":"onClose","type":{"names":["function"]},"description":"<p>onClose event handler function</p>","optional":true,"defaultvalue":""},{"name":"onShow","type":{"names":["function"]},"description":"<p>onShow event handler function</p>","optional":true,"defaultvalue":""},{"name":"onError","type":{"names":["function"]},"description":"<p>onError event handler function</p>","optional":true,"defaultvalue":""},{"name":"options","type":{"names":["object"]},"description":"<p>The Notification options object from the JS Notifications API</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Notification.\n * @typedef NotificationContentProps\n * @property {object} [notificationContext] - A optional context for the Notification.\n * @memberof NotificationManager\n */","name":"NotificationContentProps","type":null,"properties":[{"name":"notificationContext","type":{"names":["object"]},"description":"<p>A optional context for the Notification.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Notification options for handlers.\n * @typedef NotificationOptions\n * @property {BrowserNotificationOptions} browser - Browser notification options.\n * @property {string} [target] - Name of target component.\n * @memberof NotificationManager\n */","name":"NotificationOptions","type":null,"properties":[{"name":"browser","type":{"names":["BrowserNotificationOptions"]},"description":"<p>Browser notification options.</p>","optional":null,"defaultvalue":""},{"name":"target","type":{"names":["string"]},"description":"<p>Name of target component.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef NotificationClickFunction\n * @callback NotificationClickFunction\n * @param {any} event Click event.\n * @returns {void}\n * @memberof NotificationManager\n */","name":"NotificationClickFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef NotificationIsApplicableFunction\n * @callback NotificationIsApplicableFunction\n * @param {NotificationManager.Notification} notificationInstance Instance of notification to be shown.\n * @returns {boolean} Determines whether particular instance should be shown.\n * @memberof NotificationManager\n */","name":"NotificationIsApplicableFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Notification\n * @property {string} id - The id for the notification.\n * @property {string} instanceId - The id for the shown instance of this notification. Not assignable: generated automatically for an active notification in showNotification.\n * @property {React.ReactText | React.ReactElement<NotificationContentProps>} [content] - A content for the in-app notification. In-app notification is not shown if value is falsy.\n * @property {Array<object>} [dropdownContent] - Listed additional content that is initially collapsed.\n * @property {NotificationManager.NotificationType} [type] - The type of the notification.\n * @property {string} [backgroundColor] - Define the notification background color.\n * @property {string} [icon] - An optional icon to be rendered inside the notification message.\n * @property {number} [timeout] - It will dismiss the notification after a certain time.\n * @property {number} [recurrenceTimeout] - If set, it will re-show the notification a certain time after it is dismissed.\n * @property {boolean} [closeButton] - Show a close button.\n * @property {NotificationManager.NotificationClickFunction} [onClick] - Function called when notification message is clicked.\n * @property {object} [context] - Optional context for the notification.\n * @property {NotificationManager.NotificationIsApplicableFunction} [isApplicable] - Callback determining whether particular notification instance should be shown.\n * @property {NotificationManager.NotificationOptions} [options] - Options for the notification handlers.\n * @property {Array<React.ReactElement>} [actions] - Array of notification actions.\n * @memberof NotificationManager\n */","name":"Notification","type":null,"properties":[{"name":"id","type":{"names":["string"]},"description":"<p>The id for the notification.</p>","optional":null,"defaultvalue":""},{"name":"instanceId","type":{"names":["string"]},"description":"<p>The id for the shown instance of this notification. Not assignable: generated automatically for an active notification in showNotification.</p>","optional":null,"defaultvalue":""},{"name":"content","type":{"names":["React.ReactText","React.ReactElement<NotificationContentProps>"]},"description":"<p>A content for the in-app notification. In-app notification is not shown if value is falsy.</p>","optional":true,"defaultvalue":""},{"name":"dropdownContent","type":{"names":["Array<object>"]},"description":"<p>Listed additional content that is initially collapsed.</p>","optional":true,"defaultvalue":""},{"name":"type","type":{"names":["NotificationManager.NotificationType"]},"description":"<p>The type of the notification.</p>","optional":true,"defaultvalue":""},{"name":"backgroundColor","type":{"names":["string"]},"description":"<p>Define the notification background color.</p>","optional":true,"defaultvalue":""},{"name":"icon","type":{"names":["string"]},"description":"<p>An optional icon to be rendered inside the notification message.</p>","optional":true,"defaultvalue":""},{"name":"timeout","type":{"names":["number"]},"description":"<p>It will dismiss the notification after a certain time.</p>","optional":true,"defaultvalue":""},{"name":"recurrenceTimeout","type":{"names":["number"]},"description":"<p>If set, it will re-show the notification a certain time after it is dismissed.</p>","optional":true,"defaultvalue":""},{"name":"closeButton","type":{"names":["boolean"]},"description":"<p>Show a close button.</p>","optional":true,"defaultvalue":""},{"name":"onClick","type":{"names":["NotificationManager.NotificationClickFunction"]},"description":"<p>Function called when notification message is clicked.</p>","optional":true,"defaultvalue":""},{"name":"context","type":{"names":["object"]},"description":"<p>Optional context for the notification.</p>","optional":true,"defaultvalue":""},{"name":"isApplicable","type":{"names":["NotificationManager.NotificationIsApplicableFunction"]},"description":"<p>Callback determining whether particular notification instance should be shown.</p>","optional":true,"defaultvalue":""},{"name":"options","type":{"names":["NotificationManager.NotificationOptions"]},"description":"<p>Options for the notification handlers.</p>","optional":true,"defaultvalue":""},{"name":"actions","type":{"names":["Array<React.ReactElement>"]},"description":"<p>Array of notification actions.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Callback to cancel showing the notification.\n * @typedef NotificationCancelFunction\n * @callback NotificationCancelFunction\n * @returns {void}\n * @memberof NotificationManager\n */","name":"NotificationCancelFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef NotificationFilterFunction\n * @callback NotificationFilterFunction\n * @param {Notification} notification Notification to filter.\n * @returns {boolean} Whether notification should be handled.\n * @memberof NotificationHandler\n */","name":"NotificationFilterFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef NotificationEventListener\n * @callback NotificationEventListener\n * @param {NotificationManager.Notification} notification - The subject of the notification event. Mutate it to modify the notification properties.\n * @param {NotificationManager.NotificationCancelFunction} cancel - Cancel the event.\n * @category Notifications\n * @ignore\n * @memberof NotificationManager\n */","name":"NotificationEventListener","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Notification handler type.\n * @typedef { NotificationManager.DefaultNotificationHandlerType | string } NotificationHandlerType\n * @memberof NotificationManager\n */","name":"NotificationHandlerType","type":{"names":["NotificationManager.DefaultNotificationHandlerType","string"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Default notification handlers.\n * @typedef DefaultNotificationHandlers\n * @property {NotificationHandler} browser Browser notification handler.\n * @property {NotificationHandler} inapp In-app notification handler.\n * @property {NotificationHandler} screenreader Screen reader notification handler.\n * @memberof NotificationManager\n */","name":"DefaultNotificationHandlers","type":null,"properties":[{"name":"browser","type":{"names":["NotificationHandler"]},"description":"<p>Browser notification handler.</p>","optional":null,"defaultvalue":""},{"name":"inapp","type":{"names":["NotificationHandler"]},"description":"<p>In-app notification handler.</p>","optional":null,"defaultvalue":""},{"name":"screenreader","type":{"names":["NotificationHandler"]},"description":"<p>Screen reader notification handler.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ChatActionPayload\n * @property {string} [conversationSid] - Unique identifier of the conversation.\n * @property {ConversationState} [conversation] - Represents a remote conversation.\n * @memberof Actions\n */","name":"ChatActionPayload","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Unique identifier of the conversation.</p>","optional":true,"defaultvalue":""},{"name":"conversation","type":{"names":["ConversationState"]},"description":"<p>Represents a remote conversation.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionInputTextPayload\n * @property {string} body - Content of the message.\n * @property {number} [selectionStart] - Represents the selection start position in the message body.\n * @property {number} [selectionEnd] - Represents the selection end position in the message body.\n * @memberof Actions\n */","name":"ChatActionInputTextPayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"body","type":{"names":["string"]},"description":"<p>Content of the message.</p>","optional":null,"defaultvalue":""},{"name":"selectionStart","type":{"names":["number"]},"description":"<p>Represents the selection start position in the message body.</p>","optional":true,"defaultvalue":""},{"name":"selectionEnd","type":{"names":["number"]},"description":"<p>Represents the selection end position in the message body.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionAttachFilePayload\n * @property {File} file - Media file to be attached\n * @deprecated\n * @deprecatedSince 2.0.0\n * @altRecommendation Use `Actions.AttachFiles` instead\n * @altRecommendationExample\n * import { Actions } from \"@twilio/flex-ui\";\n * Actions.invokeAction(\"AttachFiles\", { files: [file], conversationSid: \"unique_conversation_identifier\" });\n * @altRecommendationLink https://assets.flex.twilio.com/docs/releases/flex-ui/latest/ui-actions/Actions/#AttachFiles\n * @memberof Actions\n */","name":"ChatActionAttachFilePayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"file","type":{"names":["File"]},"description":"<p>Media file to be attached</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionAttachFilePayload\n * @property {File[]} files - Media files to be attached\n * @memberof Actions\n */","name":"ChatActionAttachFilePayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"files","type":{"names":["Array<File>"]},"description":"<p>Media files to be attached</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionDownloadMediaPayload\n * @property {Media} media - Represents a downloadable media file\n * @memberof Actions\n */","name":"ChatActionDownloadMediaPayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"media","type":{"names":["Media"]},"description":"<p>Represents a downloadable media file</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionSendMessageTextPayload\n * @property {string} body - Content of the message.\n * @property {any} [messageAttributes] - Represents chat message attributes to set.\n * @property {string} subject - Subject of the message.\n * @property {File[]} attachedFiles - Media files to be attached (only if new send message behaviour is enabled)\n * @memberof Actions\n */","name":"ChatActionSendMessageTextPayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"body","type":{"names":["string"]},"description":"<p>Content of the message.</p>","optional":null,"defaultvalue":""},{"name":"messageAttributes","type":{"names":["any"]},"description":"<p>Represents chat message attributes to set.</p>","optional":true,"defaultvalue":""},{"name":"subject","type":{"names":["string"]},"description":"<p>Subject of the message.</p>","optional":null,"defaultvalue":""},{"name":"attachedFiles","type":{"names":["Array<File>"]},"description":"<p>Media files to be attached (only if new send message behaviour is enabled)</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ChatActionContentTemplateVariable\n * @property {string} name - The name of the content template variable.\n * @property {string} value - The value of the content template variable.\n * @since 2.12.0\n * @memberof Actions\n */","name":"ChatActionContentTemplateVariable","type":null,"properties":[{"name":"name","type":{"names":["string"]},"description":"<p>The name of the content template variable.</p>","optional":null,"defaultvalue":""},{"name":"value","type":{"names":["string"]},"description":"<p>The value of the content template variable.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionSendRichContentMessagePayload\n * @property {string} contentSid - The content template sid to send.\n * @property {ChatActionContentTemplateVariable[]} [contentVariables] - Optional array of variables defined for the content template. [{ name: \"variable_name\", value: \"variable_value\" }]\n * @property {any} [messageAttributes] - Represents chat message attributes to set.\n * @since 2.12.0\n * @memberof Actions\n */","name":"ChatActionSendRichContentMessagePayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"contentSid","type":{"names":["string"]},"description":"<p>The content template sid to send.</p>","optional":null,"defaultvalue":""},{"name":"contentVariables","type":{"names":["Array<ChatActionContentTemplateVariable>"]},"description":"<p>Optional array of variables defined for the content template. [{ name: &quot;variable_name&quot;, value: &quot;variable_value&quot; }]</p>","optional":true,"defaultvalue":""},{"name":"messageAttributes","type":{"names":["any"]},"description":"<p>Represents chat message attributes to set.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionSendMediaMessagePayload\n * @property {File} file - Media file to send.\n * @property {any} [messageAttributes] - Represents chat message attributes to set.\n * @memberof Actions\n */","name":"ChatActionSendMediaMessagePayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"file","type":{"names":["File"]},"description":"<p>Media file to send.</p>","optional":null,"defaultvalue":""},{"name":"messageAttributes","type":{"names":["any"]},"description":"<p>Represents chat message attributes to set.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {Actions.ChatActionPayload} ChatActionAttachFilePayload\n * @property {string} accordionId - Id of the accordion to be opened\n * @property {boolean} [open] - Set true to open the accordion, false to close it, undefined to just toggle it\n * @memberof Actions\n */","name":"ChatActionAttachFilePayload","type":{"names":["Actions.ChatActionPayload"]},"properties":[{"name":"accordionId","type":{"names":["string"]},"description":"<p>Id of the accordion to be opened</p>","optional":null,"defaultvalue":""},{"name":"open","type":{"names":["boolean"]},"description":"<p>Set true to open the accordion, false to close it, undefined to just toggle it</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.AvatarThemeProps\n * @property {CSSProps} Container container\n * @property {CSSProps} AvailabilityIcon availability icon\n */","name":"AvatarThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>container</p>","optional":null,"defaultvalue":""},{"name":"AvailabilityIcon","type":{"names":["CSSProps"]},"description":"<p>availability icon</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {} Badge.BadgeChildrenProps\n * @property {boolean} [invisible=false] - Set to true to prevent the badge from being rendered\n * @property {number} [max=9] - Maximum badge value. If the content is greater than this property, a \"+\" will be displayed.\n * @property {boolean} [showZero=false] - Set to true to hide the badge when its content is 0\n * @property {BadgeVariants} [variant=BadgeVariants.standard] - Variants of the component.\n * @property {number} children - The numeric value to be displayed in the notification\n */","name":"BadgeChildrenProps","type":null,"properties":[{"name":"invisible","type":{"names":["boolean"]},"description":"<p>Set to true to prevent the badge from being rendered</p>","optional":true,"defaultvalue":"false"},{"name":"max","type":{"names":["number"]},"description":"<p>Maximum badge value. If the content is greater than this property, a &quot;+&quot; will be displayed.</p>","optional":true,"defaultvalue":"9"},{"name":"showZero","type":{"names":["boolean"]},"description":"<p>Set to true to hide the badge when its content is 0</p>","optional":true,"defaultvalue":"false"},{"name":"variant","type":{"names":["BadgeVariants"]},"description":"<p>Variants of the component.</p>","optional":true,"defaultvalue":"BadgeVariants.standard"},{"name":"children","type":{"names":["number"]},"description":"<p>The numeric value to be displayed in the notification</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} Badge.BadgePosition\n * @property {string} [top] - Represents the top position\n * @property {string} [right] - Represents the right position\n */","name":"BadgePosition","type":{"names":["object"]},"properties":[{"name":"top","type":{"names":["string"]},"description":"<p>Represents the top position</p>","optional":true,"defaultvalue":""},{"name":"right","type":{"names":["string"]},"description":"<p>Represents the right position</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {BadgeChildrenProps} Badge.BadgeProps\n * @property {boolean} [programmable=true] - Set to false to ignore `Badge.Content` customisations\n * @property {Partial<BadgeThemeProps>} [themeOverride] - Theme override\n * @property {BadgePosition} [position] - Position of the badge\n * @extends {BadgeChildrenProps}\n */","name":"BadgeProps","type":{"names":["BadgeChildrenProps"]},"properties":[{"name":"programmable","type":{"names":["boolean"]},"description":"<p>Set to false to ignore <code>Badge.Content</code> customisations</p>","optional":true,"defaultvalue":"true"},{"name":"themeOverride","type":{"names":["Partial<BadgeThemeProps>"]},"description":"<p>Theme override</p>","optional":true,"defaultvalue":""},{"name":"position","type":{"names":["BadgePosition"]},"description":"<p>Position of the badge</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.BadgeThemeProps\n * @property {CSSProps} OuterCircle - external part of the circle that takes care of position and spacing around main inner circle\n * @property {CSSProps} InnerCircle - main part of the circle - takes care of badge size, font and colors\n */","name":"BadgeThemeProps","type":null,"properties":[{"name":"OuterCircle","type":{"names":["CSSProps"]},"description":"<p>external part of the circle that takes care of position and spacing around main inner circle</p>","optional":null,"defaultvalue":""},{"name":"InnerCircle","type":{"names":["CSSProps"]},"description":"<p>main part of the circle - takes care of badge size, font and colors</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {CSSProps} Theme.CircularProgressThemeProps\n * @property {string} staticBackgroundBorderColor color for static background border\n * @property {string} animatingBackgroundBorderColor color for animating background border\n * @property {string} animatingForegroundBorderColor color for animating foreground border\n */","name":"CircularProgressThemeProps","type":{"names":["CSSProps"]},"properties":[{"name":"staticBackgroundBorderColor","type":{"names":["string"]},"description":"<p>color for static background border</p>","optional":null,"defaultvalue":""},{"name":"animatingBackgroundBorderColor","type":{"names":["string"]},"description":"<p>color for animating background border</p>","optional":null,"defaultvalue":""},{"name":"animatingForegroundBorderColor","type":{"names":["string"]},"description":"<p>color for animating foreground border</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ColumnDefinitionProps\n * @memberof ColumnDefinition\n * @property {React.Key} key Identifies the column definition.\n * @property {Function | React.ReactNode} content Renders cell content. If it's a function,\n * it receives DataTable row data as the first argument and DataTable context as the second argument.\n * The render function should return React.ReactNode.\n * @property {React.ReactNode} header Header content.\n * @property {string} [headerColSpanKey] Specify the same key for adjacent columns if you want to merge their headers.\n * @property {string} [name] Column name is used to add custom classes to cells in the column.\n * @property {React.ReactNode} [subHeader] Subheader content.\n * @property {Function} [sortingFn] A function that defines sort order. The function should return a negative, zero, or positive value.\n * It receives data for two rows to sort as arguments.\n * @property {\"asc\" | \"desc\"} [sortDirection] sort\n * @property {React.CSSProperties} [style] style\n */","name":"ColumnDefinitionProps","type":null,"properties":[{"name":"key","type":{"names":["React.Key"]},"description":"<p>Identifies the column definition.</p>","optional":null,"defaultvalue":""},{"name":"content","type":{"names":["function","React.ReactNode"]},"description":"<p>Renders cell content. If it's a function,\nit receives DataTable row data as the first argument and DataTable context as the second argument.\nThe render function should return React.ReactNode.</p>","optional":null,"defaultvalue":""},{"name":"header","type":{"names":["React.ReactNode"]},"description":"<p>Header content.</p>","optional":null,"defaultvalue":""},{"name":"headerColSpanKey","type":{"names":["string"]},"description":"<p>Specify the same key for adjacent columns if you want to merge their headers.</p>","optional":true,"defaultvalue":""},{"name":"name","type":{"names":["string"]},"description":"<p>Column name is used to add custom classes to cells in the column.</p>","optional":true,"defaultvalue":""},{"name":"subHeader","type":{"names":["React.ReactNode"]},"description":"<p>Subheader content.</p>","optional":true,"defaultvalue":""},{"name":"sortingFn","type":{"names":["function"]},"description":"<p>A function that defines sort order. The function should return a negative, zero, or positive value.\nIt receives data for two rows to sort as arguments.</p>","optional":true,"defaultvalue":""},{"name":"sortDirection","type":{"names":["\"asc\"","\"desc\""]},"description":"<p>sort</p>","optional":true,"defaultvalue":""},{"name":"style","type":{"names":["React.CSSProperties"]},"description":"<p>style</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of ErrorMessage\n *\n * @typedef ErrorMessage.ErrorMessageProps\n * @property {string} [title=\"Error\"] - Title of the error message\n * @property {string} [description] - Description of the error message\n * @property {boolean} [hideBranding=false] - Hide Twilio Flex branding on the bottom\n * @property {Function} [primaryAction] - A handler for primary action button click\n * @property {string} [primaryActionTitle] - A title for the primary action button\n * @property {Function} [secondaryAction] - A handler for secondary action button click\n * @property {string} [secondaryActionTitle] - A title for the secondary action button\n */","name":"ErrorMessageProps","type":null,"properties":[{"name":"title","type":{"names":["string"]},"description":"<p>Title of the error message</p>","optional":true,"defaultvalue":"\"Error\""},{"name":"description","type":{"names":["string"]},"description":"<p>Description of the error message</p>","optional":true,"defaultvalue":""},{"name":"hideBranding","type":{"names":["boolean"]},"description":"<p>Hide Twilio Flex branding on the bottom</p>","optional":true,"defaultvalue":"false"},{"name":"primaryAction","type":{"names":["function"]},"description":"<p>A handler for primary action button click</p>","optional":true,"defaultvalue":""},{"name":"primaryActionTitle","type":{"names":["string"]},"description":"<p>A title for the primary action button</p>","optional":true,"defaultvalue":""},{"name":"secondaryAction","type":{"names":["function"]},"description":"<p>A handler for secondary action button click</p>","optional":true,"defaultvalue":""},{"name":"secondaryActionTitle","type":{"names":["string"]},"description":"<p>A title for the secondary action button</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.FiltersListThemeProps\n * @property {CSSProps} ApplyButton - Styles for the main \"Apply\" button\n * @property {CSSProps} ResetButton - Styles for the secondary \"Reset\" button\n * @property {CSSProps} ItemContainer - Styles for the filter item wrapper element\n * @property {CSSProps} ItemContainerExpanded - Styles for the expanded filter item wrapper element\n */","name":"FiltersListThemeProps","type":null,"properties":[{"name":"ApplyButton","type":{"names":["CSSProps"]},"description":"<p>Styles for the main &quot;Apply&quot; button</p>","optional":null,"defaultvalue":""},{"name":"ResetButton","type":{"names":["CSSProps"]},"description":"<p>Styles for the secondary &quot;Reset&quot; button</p>","optional":null,"defaultvalue":""},{"name":"ItemContainer","type":{"names":["CSSProps"]},"description":"<p>Styles for the filter item wrapper element</p>","optional":null,"defaultvalue":""},{"name":"ItemContainerExpanded","type":{"names":["CSSProps"]},"description":"<p>Styles for the expanded filter item wrapper element</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.SidePanelThemeProps\n * @property {CSSProps} Container - Main container\n * @property {CSSProps} Header - Header element\n * @property {CSSProps} HeaderButton - Close button in header element\n */","name":"SidePanelThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Main container</p>","optional":null,"defaultvalue":""},{"name":"Header","type":{"names":["CSSProps"]},"description":"<p>Header element</p>","optional":null,"defaultvalue":""},{"name":"HeaderButton","type":{"names":["CSSProps"]},"description":"<p>Close button in header element</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef SidePanel.SidePanelProps\n * @property {string} displayName - String used for className generation and in contentStore definition\n * @property {boolean} [isHidden=false] - If set to false, the main container will be set in display none\n * @property {React.ReactChild} [title] - A textual component used as panel title in default header\n * @property {Function} [handleCloseClick] - Callback function trigger on `close` button click in default header\n * @property {React.ReactElement} [HeaderComponent] - Component to replace the default SidePanel header\n * @property {SidePanelThemeProps} [themeOverride={}] - Object to override defaults styles for the instance\n * @extends SidePanel.SidePanelThemeOverrideProp\n */","name":"SidePanelProps","type":null,"properties":[{"name":"displayName","type":{"names":["string"]},"description":"<p>String used for className generation and in contentStore definition</p>","optional":null,"defaultvalue":""},{"name":"isHidden","type":{"names":["boolean"]},"description":"<p>If set to false, the main container will be set in display none</p>","optional":true,"defaultvalue":"false"},{"name":"title","type":{"names":["React.ReactChild"]},"description":"<p>A textual component used as panel title in default header</p>","optional":true,"defaultvalue":""},{"name":"handleCloseClick","type":{"names":["function"]},"description":"<p>Callback function trigger on <code>close</code> button click in default header</p>","optional":true,"defaultvalue":""},{"name":"HeaderComponent","type":{"names":["React.ReactElement"]},"description":"<p>Component to replace the default SidePanel header</p>","optional":true,"defaultvalue":""},{"name":"themeOverride","type":{"names":["SidePanelThemeProps"]},"description":"<p>Object to override defaults styles for the instance</p>","optional":true,"defaultvalue":"{}"}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.FileAttachmentDropThemeProps\n * @property {CSSProps} MainDropArea - Styles for the main attachment drop area\n * @property {CSSProps} MainDropAreaError - Additional styles for the main attachment drop area if in error state\n * @property {CSSProps} Icon - Styles for the icon\n * @property {CSSProps} Icon - Additional styles for the icon if in error state\n * @property {CSSProps} Title - Styles for the main line of text\n * @property {CSSProps} SubTitle - Styles for the secondary line of text\n */","name":"FileAttachmentDropThemeProps","type":null,"properties":[{"name":"MainDropArea","type":{"names":["CSSProps"]},"description":"<p>Styles for the main attachment drop area</p>","optional":null,"defaultvalue":""},{"name":"MainDropAreaError","type":{"names":["CSSProps"]},"description":"<p>Additional styles for the main attachment drop area if in error state</p>","optional":null,"defaultvalue":""},{"name":"Icon","type":{"names":["CSSProps"]},"description":"<p>Styles for the icon</p>","optional":null,"defaultvalue":""},{"name":"Icon","type":{"names":["CSSProps"]},"description":"<p>Additional styles for the icon if in error state</p>","optional":null,"defaultvalue":""},{"name":"Title","type":{"names":["CSSProps"]},"description":"<p>Styles for the main line of text</p>","optional":null,"defaultvalue":""},{"name":"SubTitle","type":{"names":["CSSProps"]},"description":"<p>Styles for the secondary line of text</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Props to define Inline messages\n *\n * @typedef InlineMessage.InlineMessageProps\n * @property {MessageState} message - An object which represents a single message.\n * @property {MessageStyle} [messageStyle] - Identifies how the message should be displayed.\n * @property {boolean} [isSeparator] - Whether to apply separator style\n */","name":"InlineMessageProps","type":null,"properties":[{"name":"message","type":{"names":["MessageState"]},"description":"<p>An object which represents a single message.</p>","optional":null,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessageStyle"]},"description":"<p>Identifies how the message should be displayed.</p>","optional":true,"defaultvalue":""},{"name":"isSeparator","type":{"names":["boolean"]},"description":"<p>Whether to apply separator style</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Message bubble\n *\n * @typedef MessageBubble.MessageBubbleProps\n * @property {string} conversationSid - The conversation sid.\n * @property {MessageState} message - An object which represents a single message.\n * @property {ParticipantState} [participant] - An object defining the properties of a remote client.\n * @property {MessageStyle} [messageStyle] - Identifies how the message should be displayed.\n * @property {boolean} [useFriendlyName=true] - An override to use the friendly name passed in participant.\n * @property {string} [authorName] - A custom author name to be used.\n * @property {boolean} [hasMarkdownSupport] - If set to true, the body will be parsed as markdown.\n * @property {Function} [timestampFormatter] - Function that formats timestamp.\n * @property {boolean} inFocus - Determines whether a message bubble is in focus.\n */","name":"MessageBubbleProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>The conversation sid.</p>","optional":null,"defaultvalue":""},{"name":"message","type":{"names":["MessageState"]},"description":"<p>An object which represents a single message.</p>","optional":null,"defaultvalue":""},{"name":"participant","type":{"names":["ParticipantState"]},"description":"<p>An object defining the properties of a remote client.</p>","optional":true,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessageStyle"]},"description":"<p>Identifies how the message should be displayed.</p>","optional":true,"defaultvalue":""},{"name":"useFriendlyName","type":{"names":["boolean"]},"description":"<p>An override to use the friendly name passed in participant.</p>","optional":true,"defaultvalue":"true"},{"name":"authorName","type":{"names":["string"]},"description":"<p>A custom author name to be used.</p>","optional":true,"defaultvalue":""},{"name":"hasMarkdownSupport","type":{"names":["boolean"]},"description":"<p>If set to true, the body will be parsed as markdown.</p>","optional":true,"defaultvalue":""},{"name":"timestampFormatter","type":{"names":["function"]},"description":"<p>Function that formats timestamp.</p>","optional":true,"defaultvalue":""},{"name":"inFocus","type":{"names":["boolean"]},"description":"<p>Determines whether a message bubble is in focus.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Message bubble children.\n *\n * @typedef {MessageBubbleProps} MessageBubble.MessageBubbleChildrenProps\n * @property {boolean} [isParticipantOfConversation] - Represents if user is a participant of the conversation\n */","name":"MessageBubbleChildrenProps","type":{"names":["MessageBubbleProps"]},"properties":[{"name":"isParticipantOfConversation","type":{"names":["boolean"]},"description":"<p>Represents if user is a participant of the conversation</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessageCanvasTrayThemeProps\n * @property {CSSProps} Container - Style for the message canvas tray container\n * @property {ButtonThemeProps} Button - Style for the message canvas tray's button\n */","name":"MessageCanvasTrayThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Style for the message canvas tray container</p>","optional":null,"defaultvalue":""},{"name":"Button","type":{"names":["ButtonThemeProps"]},"description":"<p>Style for the message canvas tray's button</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef MessageCanvasTray.MessageCanvasTrayProps\n * @property {boolean} [showButton=true] - Display a ‘Start new chat’ button in the tray.\n * @property {Function} [onButtonClick=undefined] - A handler for a ‘Start new chat’ button click.\n */","name":"MessageCanvasTrayProps","type":null,"properties":[{"name":"showButton","type":{"names":["boolean"]},"description":"<p>Display a ‘Start new chat’ button in the tray.</p>","optional":true,"defaultvalue":"true"},{"name":"onButtonClick","type":{"names":["function"]},"description":"<p>A handler for a ‘Start new chat’ button click.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Message Input.\n *\n * @typedef {MessageInputProps} MessageInputChildrenProps\n * @property {string} conversationSid - Unique identifier of the Conversation.\n * @property {ConversationState.ConversationState} [conversation] - Represents a remote conversation of communication.\n * @property {string} [connectionState] - Represents status of the Conversation\n */","name":"MessageInputChildrenProps","type":{"names":["MessageInputProps"]},"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Unique identifier of the Conversation.</p>","optional":null,"defaultvalue":""},{"name":"conversation","type":{"names":["ConversationState.ConversationState"]},"description":"<p>Represents a remote conversation of communication.</p>","optional":true,"defaultvalue":""},{"name":"connectionState","type":{"names":["string"]},"description":"<p>Represents status of the Conversation</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {\"Bubble\" | \"Line\" | \"Boxed\"} InputAreaStyle - Styles of the message input's input area.\n * @memberof MessageInput\n */","name":"InputAreaStyle","type":{"names":["\"Bubble\"","\"Line\"","\"Boxed\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Style properties for input element\n *\n * @typedef MessageInput.InputAreaStyleProps\n * @property {InputAreaStyle} areaStyle - Styles of the message input's input element.\n * @property {boolean} [showFocus] - Whether to show focus.\n */","name":"InputAreaStyleProps","type":null,"properties":[{"name":"areaStyle","type":{"names":["InputAreaStyle"]},"description":"<p>Styles of the message input's input element.</p>","optional":null,"defaultvalue":""},{"name":"showFocus","type":{"names":["boolean"]},"description":"<p>Whether to show focus.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Style properties for text area container\n *\n * @typedef MessageInput.TextAreaContainerStyleProps\n * @property {boolean} hasChildInFocus - Whether one of the input related child elements is in focus.\n */","name":"TextAreaContainerStyleProps","type":null,"properties":[{"name":"hasChildInFocus","type":{"names":["boolean"]},"description":"<p>Whether one of the input related child elements is in focus.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessageInputThemeProps\n * @property {CSSProps} Container - Styles for the message input's container\n * @property {ButtonThemeProps} Button - Styles for the message input's button\n * @property {CSSProps} FileBox - Styles for the file box that appears when a file gets attached to chat input\n * @property {ButtonThemeProps} RemoveFileButton - Styles for \"remove attached file\" button.\n * @property {ButtonThemeProps} AttachFileButton - Styles for \"attach file\" button.\n * @property {ButtonThemeProps} ContentTemplatesButton - Styles for \"open content templates\" button.\n */","name":"MessageInputThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles for the message input's container</p>","optional":null,"defaultvalue":""},{"name":"Button","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles for the message input's button</p>","optional":null,"defaultvalue":""},{"name":"FileBox","type":{"names":["CSSProps"]},"description":"<p>Styles for the file box that appears when a file gets attached to chat input</p>","optional":null,"defaultvalue":""},{"name":"RemoveFileButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles for &quot;remove attached file&quot; button.</p>","optional":null,"defaultvalue":""},{"name":"AttachFileButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles for &quot;attach file&quot; button.</p>","optional":null,"defaultvalue":""},{"name":"ContentTemplatesButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles for &quot;open content templates&quot; button.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Message Input.\n *\n * @typedef MessageInput.MessageInputProps\n * @property {MessageInputThemeProps} [theme.MessageInput] - theme\n * @property {InputAreaStyle} [areaStyle=Bubble] - Visual style of the text input element.\n * @property {string} [disabledReason] - A reason on why MessageInput is disabled.\n * @property {boolean} [returnKeySendsMessage=true] - Whether pressing the return key should send a message.\n * @property {number} charLimit - Identifies character limit for a single message.\n * @property {DynamicComponentChildren<MessageInput.MessageInputChildrenProps>} [children] - children\n * @property {AriaProps} [sendButtonAriaProps] - SendButton aria props\n * @property {AriaProps} [textAreaAriaProps] - TextArea aria props\n */","name":"MessageInputProps","type":null,"properties":[{"name":"theme.MessageInput","type":{"names":["MessageInputThemeProps"]},"description":"<p>theme</p>","optional":true,"defaultvalue":""},{"name":"areaStyle","type":{"names":["InputAreaStyle"]},"description":"<p>Visual style of the text input element.</p>","optional":true,"defaultvalue":"Bubble"},{"name":"disabledReason","type":{"names":["string"]},"description":"<p>A reason on why MessageInput is disabled.</p>","optional":true,"defaultvalue":""},{"name":"returnKeySendsMessage","type":{"names":["boolean"]},"description":"<p>Whether pressing the return key should send a message.</p>","optional":true,"defaultvalue":"true"},{"name":"charLimit","type":{"names":["number"]},"description":"<p>Identifies character limit for a single message.</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicComponentChildren<MessageInput.MessageInputChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""},{"name":"sendButtonAriaProps","type":{"names":["AriaProps"]},"description":"<p>SendButton aria props</p>","optional":true,"defaultvalue":""},{"name":"textAreaAriaProps","type":{"names":["AriaProps"]},"description":"<p>TextArea aria props</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of Message Input V2.\n *\n * @typedef MessageInputV2.MessageInputV2Props\n * @property {MessageInputThemeProps} [theme.MessageInput] - theme\n * @property {InputAreaStyle} [areaStyle=Bubble] - Visual style of the text input element.\n * @property {string} [disabledReason] - A reason on why MessageInput is disabled.\n * @property {boolean} [returnKeySendsMessage=true] - Whether pressing the return key should send a message.\n * @property {number} charLimit - Identifies character limit for a single message.\n * @property {DynamicComponentChildren<MessageInput.MessageInputChildrenProps>} [children] - children\n * @property {AriaProps} [sendButtonAriaProps] - SendButton aria props\n * @property {AriaProps} [textAreaAriaProps] - TextArea aria props\n * @property {boolean} [hideSendButton] - Whether the send button should be hidden\n * @property {1 | 2 | 3 | 4 | 5 | 6} [rows=1] - Set the row height of message input. Range from 1 to 6\n */","name":"MessageInputV2Props","type":null,"properties":[{"name":"theme.MessageInput","type":{"names":["MessageInputThemeProps"]},"description":"<p>theme</p>","optional":true,"defaultvalue":""},{"name":"areaStyle","type":{"names":["InputAreaStyle"]},"description":"<p>Visual style of the text input element.</p>","optional":true,"defaultvalue":"Bubble"},{"name":"disabledReason","type":{"names":["string"]},"description":"<p>A reason on why MessageInput is disabled.</p>","optional":true,"defaultvalue":""},{"name":"returnKeySendsMessage","type":{"names":["boolean"]},"description":"<p>Whether pressing the return key should send a message.</p>","optional":true,"defaultvalue":"true"},{"name":"charLimit","type":{"names":["number"]},"description":"<p>Identifies character limit for a single message.</p>","optional":null,"defaultvalue":""},{"name":"children","type":{"names":["DynamicComponentChildren<MessageInput.MessageInputChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""},{"name":"sendButtonAriaProps","type":{"names":["AriaProps"]},"description":"<p>SendButton aria props</p>","optional":true,"defaultvalue":""},{"name":"textAreaAriaProps","type":{"names":["AriaProps"]},"description":"<p>TextArea aria props</p>","optional":true,"defaultvalue":""},{"name":"hideSendButton","type":{"names":["boolean"]},"description":"<p>Whether the send button should be hidden</p>","optional":true,"defaultvalue":""},{"name":"rows","type":{"names":["1","2","3","4","5","6"]},"description":"<p>Set the row height of message input. Range from 1 to 6</p>","optional":true,"defaultvalue":"1"}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Message Actions component\n *\n * @typedef MessageInputActions.MessageInputActionsProps\n * @property {string} conversationSid - The conversation sid.\n * @property {string} attachFileButtonAriaLabel - Aria label for the attach file button.\n * @property {Function} handleFileChange - Function called when file an input file is changed.\n * @property {Function} sendMessage - Function called when the send button is clicked.\n * @property {boolean} attachFileDisabled - Determines whether attaching files is disabled.\n * @property {boolean} sendDisabled - Determines whether sending is disabled.\n * @property {string} disabledReason - Provides a reason for the send button being disabled.\n * @property {string} sendButtonArialabel - Aria label for send button.\n * @property {AriaProps} sendButtonAriaProps - Aria props for send button.\n * @property {Function} matchSendMessagePayloadPredicate - Payload for sendMessage action.\n * @property {boolean} hideSendButton - Determines whether the send button is hidden.\n */","name":"MessageInputActionsProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>The conversation sid.</p>","optional":null,"defaultvalue":""},{"name":"attachFileButtonAriaLabel","type":{"names":["string"]},"description":"<p>Aria label for the attach file button.</p>","optional":null,"defaultvalue":""},{"name":"handleFileChange","type":{"names":["function"]},"description":"<p>Function called when file an input file is changed.</p>","optional":null,"defaultvalue":""},{"name":"sendMessage","type":{"names":["function"]},"description":"<p>Function called when the send button is clicked.</p>","optional":null,"defaultvalue":""},{"name":"attachFileDisabled","type":{"names":["boolean"]},"description":"<p>Determines whether attaching files is disabled.</p>","optional":null,"defaultvalue":""},{"name":"sendDisabled","type":{"names":["boolean"]},"description":"<p>Determines whether sending is disabled.</p>","optional":null,"defaultvalue":""},{"name":"disabledReason","type":{"names":["string"]},"description":"<p>Provides a reason for the send button being disabled.</p>","optional":null,"defaultvalue":""},{"name":"sendButtonArialabel","type":{"names":["string"]},"description":"<p>Aria label for send button.</p>","optional":null,"defaultvalue":""},{"name":"sendButtonAriaProps","type":{"names":["AriaProps"]},"description":"<p>Aria props for send button.</p>","optional":null,"defaultvalue":""},{"name":"matchSendMessagePayloadPredicate","type":{"names":["function"]},"description":"<p>Payload for sendMessage action.</p>","optional":null,"defaultvalue":""},{"name":"hideSendButton","type":{"names":["boolean"]},"description":"<p>Determines whether the send button is hidden.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessageListThemeProps\n * @property {CSSProps} DateSeparatorLine - Styles for the line for date separators\n * @property {CSSProps} DateSeparatorText - Styles for the text for date separators\n * @property {CSSProps} NewMessageSeparatorLine - Styles for the new message seperator line\n * @property {CSSProps} NewMessageSeparatorText - Styles for the new message seperator text\n * @property {CSSProps} TypingIndicator - Styles for the typing indicator\n * @property {CSSProps} MessageScrollButton - Styles for the message scroll button\n */","name":"MessageListThemeProps","type":null,"properties":[{"name":"DateSeparatorLine","type":{"names":["CSSProps"]},"description":"<p>Styles for the line for date separators</p>","optional":null,"defaultvalue":""},{"name":"DateSeparatorText","type":{"names":["CSSProps"]},"description":"<p>Styles for the text for date separators</p>","optional":null,"defaultvalue":""},{"name":"NewMessageSeparatorLine","type":{"names":["CSSProps"]},"description":"<p>Styles for the new message seperator line</p>","optional":null,"defaultvalue":""},{"name":"NewMessageSeparatorText","type":{"names":["CSSProps"]},"description":"<p>Styles for the new message seperator text</p>","optional":null,"defaultvalue":""},{"name":"TypingIndicator","type":{"names":["CSSProps"]},"description":"<p>Styles for the typing indicator</p>","optional":null,"defaultvalue":""},{"name":"MessageScrollButton","type":{"names":["CSSProps"]},"description":"<p>Styles for the message scroll button</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef MessageList.MessageListProps\n * @property {string} conversationSid - Sid of the conversation.\n * @property {MemberDisplayOptions} memberDisplayOptions - Chat member display configuration.\n * @property {MessageStyle} messageStyle - Represents the style of a message.\n * @property {boolean} showTypingIndicator - It sets whether to display the TypingIndicator component or not.\n * @property {boolean} showReadStatus - It sets whether to display the MessageReadContainer component or not.\n * @property {boolean} showWelcomeMessage - It sets whether to inject a WelcomeMessage in the message list or not.\n * @property {PredefinedMessage} [predefinedMessage] - It sets whether to inject a predefined message in the message list or not.\n * @property {AriaProps} [listContainerAriaProps] - ListContainer aria props.\n * @property {boolean} [notVisible] - Determines visibility.\n * @property {string} [conversationType] - Conversation Type.\n */","name":"MessageListProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Sid of the conversation.</p>","optional":null,"defaultvalue":""},{"name":"memberDisplayOptions","type":{"names":["MemberDisplayOptions"]},"description":"<p>Chat member display configuration.</p>","optional":null,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessageStyle"]},"description":"<p>Represents the style of a message.</p>","optional":null,"defaultvalue":""},{"name":"showTypingIndicator","type":{"names":["boolean"]},"description":"<p>It sets whether to display the TypingIndicator component or not.</p>","optional":null,"defaultvalue":""},{"name":"showReadStatus","type":{"names":["boolean"]},"description":"<p>It sets whether to display the MessageReadContainer component or not.</p>","optional":null,"defaultvalue":""},{"name":"showWelcomeMessage","type":{"names":["boolean"]},"description":"<p>It sets whether to inject a WelcomeMessage in the message list or not.</p>","optional":null,"defaultvalue":""},{"name":"predefinedMessage","type":{"names":["PredefinedMessage"]},"description":"<p>It sets whether to inject a predefined message in the message list or not.</p>","optional":true,"defaultvalue":""},{"name":"listContainerAriaProps","type":{"names":["AriaProps"]},"description":"<p>ListContainer aria props.</p>","optional":true,"defaultvalue":""},{"name":"notVisible","type":{"names":["boolean"]},"description":"<p>Determines visibility.</p>","optional":true,"defaultvalue":""},{"name":"conversationType","type":{"names":["string"]},"description":"<p>Conversation Type.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef MessageList.MessageListChildrenProps\n * @property {string} conversationSid - Sid of the conversation\n * @property {ConversationState.ConversationState} conversation - ConversationState object\n * @property {boolean} [isAppActive] - It sets whether the chat is active or not\n * @property {MemberDisplayOptions} memberDisplayOptions - Chat member display configuration\n * @property {MessageStyle} messageStyle - Represents the style of a message.\n * @property {boolean} showTypingIndicator - It sets whether to display TypingIndicator component or not\n * @property {boolean} showReadStatus - It sets whether to display the MessageReadContainer component or not\n * @property {boolean} showWelcomeMessage - It sets whether to inject a WelcomeMessage in the message list or not\n * @property {PredefinedMessage} [predefinedMessage] - It sets whether to inject a predefined message in the message list or not\n * @property {AriaProps} [listContainerAriaProps] - ListContainer aria props\n */","name":"MessageListChildrenProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Sid of the conversation</p>","optional":null,"defaultvalue":""},{"name":"conversation","type":{"names":["ConversationState.ConversationState"]},"description":"<p>ConversationState object</p>","optional":null,"defaultvalue":""},{"name":"isAppActive","type":{"names":["boolean"]},"description":"<p>It sets whether the chat is active or not</p>","optional":true,"defaultvalue":""},{"name":"memberDisplayOptions","type":{"names":["MemberDisplayOptions"]},"description":"<p>Chat member display configuration</p>","optional":null,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessageStyle"]},"description":"<p>Represents the style of a message.</p>","optional":null,"defaultvalue":""},{"name":"showTypingIndicator","type":{"names":["boolean"]},"description":"<p>It sets whether to display TypingIndicator component or not</p>","optional":null,"defaultvalue":""},{"name":"showReadStatus","type":{"names":["boolean"]},"description":"<p>It sets whether to display the MessageReadContainer component or not</p>","optional":null,"defaultvalue":""},{"name":"showWelcomeMessage","type":{"names":["boolean"]},"description":"<p>It sets whether to inject a WelcomeMessage in the message list or not</p>","optional":null,"defaultvalue":""},{"name":"predefinedMessage","type":{"names":["PredefinedMessage"]},"description":"<p>It sets whether to inject a predefined message in the message list or not</p>","optional":true,"defaultvalue":""},{"name":"listContainerAriaProps","type":{"names":["AriaProps"]},"description":"<p>ListContainer aria props</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * A object properties representing a message in message list.\n *\n * @typedef MessageListItem.MessageListItemProps\n * @property {string} conversationSid - Sid of the conversation.\n * @property {MessageState} message - An object which represents a single message.\n * @property {boolean} [showReadStatus] - Should show read status.\n * @property {MessageStyle} [messageStyle] - Identifies how the message should be displayed.\n * @property {boolean} [useFriendlyName=true] - An override to use the friendly name passed in member.\n * @property {string} [authorName] - A custom author name to be used.\n * @property {string} [avatarUrl] - Url to the avatar of the author.\n * @property {boolean} [hasMarkdownSupport] - Whether Markdown feature is enabled or not\n * @property {object} [participant] - Object containing a pre-defined participant name.\n * @property {string} participant.friendlyName - Predefined participant name.\n * @property {object} [member] - Object containing a pre-defined author name.\n * @property {string} member.friendlyName - Predefined author name.\n * @property {Function} timestampFormatter - A custom formatter for the message timestamp. Takes a Date argument and returns string.\n * @property {boolean} focusable - Whether the the MessageListItem can be focused\n * @property {Function} updateFocus - A helper function to inform parent components of currently focused item\n */","name":"MessageListItemProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Sid of the conversation.</p>","optional":null,"defaultvalue":""},{"name":"message","type":{"names":["MessageState"]},"description":"<p>An object which represents a single message.</p>","optional":null,"defaultvalue":""},{"name":"showReadStatus","type":{"names":["boolean"]},"description":"<p>Should show read status.</p>","optional":true,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessageStyle"]},"description":"<p>Identifies how the message should be displayed.</p>","optional":true,"defaultvalue":""},{"name":"useFriendlyName","type":{"names":["boolean"]},"description":"<p>An override to use the friendly name passed in member.</p>","optional":true,"defaultvalue":"true"},{"name":"authorName","type":{"names":["string"]},"description":"<p>A custom author name to be used.</p>","optional":true,"defaultvalue":""},{"name":"avatarUrl","type":{"names":["string"]},"description":"<p>Url to the avatar of the author.</p>","optional":true,"defaultvalue":""},{"name":"hasMarkdownSupport","type":{"names":["boolean"]},"description":"<p>Whether Markdown feature is enabled or not</p>","optional":true,"defaultvalue":""},{"name":"participant","type":{"names":["object"]},"description":"<p>Object containing a pre-defined participant name.</p>","optional":true,"defaultvalue":""},{"name":"participant.friendlyName","type":{"names":["string"]},"description":"<p>Predefined participant name.</p>","optional":null,"defaultvalue":""},{"name":"member","type":{"names":["object"]},"description":"<p>Object containing a pre-defined author name.</p>","optional":true,"defaultvalue":""},{"name":"member.friendlyName","type":{"names":["string"]},"description":"<p>Predefined author name.</p>","optional":null,"defaultvalue":""},{"name":"timestampFormatter","type":{"names":["function"]},"description":"<p>A custom formatter for the message timestamp. Takes a Date argument and returns string.</p>","optional":null,"defaultvalue":""},{"name":"focusable","type":{"names":["boolean"]},"description":"<p>Whether the the MessageListItem can be focused</p>","optional":null,"defaultvalue":""},{"name":"updateFocus","type":{"names":["function"]},"description":"<p>A helper function to inform parent components of currently focused item</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessageThemeProps\n * @property {CSSProps} Avatar Styles for the message avatar component\n * @property {CSSProps} Bubble Styles for the message bubble component\n * @property {CSSProps} Header Styles for the header of the message\n */","name":"MessageThemeProps","type":null,"properties":[{"name":"Avatar","type":{"names":["CSSProps"]},"description":"<p>Styles for the message avatar component</p>","optional":null,"defaultvalue":""},{"name":"Bubble","type":{"names":["CSSProps"]},"description":"<p>Styles for the message bubble component</p>","optional":null,"defaultvalue":""},{"name":"Header","type":{"names":["CSSProps"]},"description":"<p>Styles for the header of the message</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessageListItemThemeProps\n * @property {MessageThemeProps} FromMe - Styles that represent how user sees their own messages\n * @property {MessageThemeProps} FromOthers - Styles that represent how user sees messages from everyone else\n * @property {MessageThemeProps} FromCCAIVirtualAgent - Styles that represent how user sees messages from a virtual agent\n * @property {CSSProps} ReadStatus - Styles for the \"read\" status text\n */","name":"MessageListItemThemeProps","type":null,"properties":[{"name":"FromMe","type":{"names":["MessageThemeProps"]},"description":"<p>Styles that represent how user sees their own messages</p>","optional":null,"defaultvalue":""},{"name":"FromOthers","type":{"names":["MessageThemeProps"]},"description":"<p>Styles that represent how user sees messages from everyone else</p>","optional":null,"defaultvalue":""},{"name":"FromCCAIVirtualAgent","type":{"names":["MessageThemeProps"]},"description":"<p>Styles that represent how user sees messages from a virtual agent</p>","optional":null,"defaultvalue":""},{"name":"ReadStatus","type":{"names":["CSSProps"]},"description":"<p>Styles for the &quot;read&quot; status text</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {\"Rounded\" | \"Squared\" | \"Minimal\" | \"Wide\"} MessageStyle - Represents the style of a message.\n * @memberof MessagingCanvas\n */","name":"MessageStyle","type":{"names":["\"Rounded\"","\"Squared\"","\"Minimal\"","\"Wide\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.MessagingCanvasThemeProps\n * @property {CSSProps} Container - Styles for the messaging canvas container\n */","name":"MessagingCanvasThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles for the messaging canvas container</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Chat member display configuration\n * @typedef {object} MemberDisplayOptions\n * @property {string} [yourDefaultName] Default string shown for local user's name\n * @property {string} [theirDefaultName] Default string shown for remote user's name\n * @property {boolean} [yourFriendlyNameOverride] Should the user's friendly name be displayed as name for this user's messages?\n * @property {boolean} [theirFriendlyNameOverride] Should the user's friendly name be displayed as name for this other user's messages?\n * @memberof MessagingCanvas\n */","name":"MemberDisplayOptions","type":{"names":["object"]},"properties":[{"name":"yourDefaultName","type":{"names":["string"]},"description":"<p>Default string shown for local user's name</p>","optional":true,"defaultvalue":""},{"name":"theirDefaultName","type":{"names":["string"]},"description":"<p>Default string shown for remote user's name</p>","optional":true,"defaultvalue":""},{"name":"yourFriendlyNameOverride","type":{"names":["boolean"]},"description":"<p>Should the user's friendly name be displayed as name for this user's messages?</p>","optional":true,"defaultvalue":""},{"name":"theirFriendlyNameOverride","type":{"names":["boolean"]},"description":"<p>Should the user's friendly name be displayed as name for this other user's messages?</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Callback to return URL to the avatar image for message sender/user.\n * @typedef AvatarCallback\n * @callback AvatarCallback\n * @return {string} URL to the avatar image\n * @param {string} identity Identity of a user\n * @memberof MessagingCanvas\n */","name":"AvatarCallback","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * An object properties representing the PredefinedMessage\n * @typedef {object} MessagingCanvas.PredefinedMessage\n * @property {string} body - content of the message\n * @property {string} authorName - name of the author\n * @property {boolean} isFromMe - whether it appears as message from the current user or not.\n */","name":"PredefinedMessage","type":{"names":["object"]},"properties":[{"name":"body","type":{"names":["string"]},"description":"<p>content of the message</p>","optional":null,"defaultvalue":""},{"name":"authorName","type":{"names":["string"]},"description":"<p>name of the author</p>","optional":null,"defaultvalue":""},{"name":"isFromMe","type":{"names":["boolean"]},"description":"<p>whether it appears as message from the current user or not.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * An object properties representing the MessagingCanvas\n * @typedef {object} MessagingCanvas.MessagingCanvasProps\n * @property {string} sid - The identifier of the Chat channel or Conversation.\n * @property {string} [inputDisabledReason] - A reason on why the input element is disabled.\n * @property {MessagingCanvas.AvatarCallback} [avatarCallback] - A handler to request for avatar.\n * @property {MessagingCanvas.MemberDisplayOptions} [memberDisplayOptions] - Chat member display configuration.\n * @property {MessagingCanvas.MessageStyle} [messageStyle] - Identifies how the message should be displayed.\n * @property {boolean} [showTypingIndicator] - Should the typing indicator be shown.\n * @property {boolean} [showReadStatus] - Should the read status be shown.\n * @property {boolean} [showTrayOnInactive] - Should MessageTray to be shown when conversation is inactive.\n * @property {boolean} [showWelcomeMessage] - Should a welcome message to be shown.\n * @property {CompiledTemplate} [welcomeMessageText] - string representing the welcome message.\n * @property {number} [charLimit] - Identifies character limit for a single message.\n * @property {MessagingCanvas.PredefinedMessage} [predefinedMessage] - Defines the predefined, introductory message to be shown to a customer.\n * @property {boolean} [hasMarkdownSupport] - If set to true, messages bodies will be parsed as markdown.\n */","name":"MessagingCanvasProps","type":{"names":["object"]},"properties":[{"name":"sid","type":{"names":["string"]},"description":"<p>The identifier of the Chat channel or Conversation.</p>","optional":null,"defaultvalue":""},{"name":"inputDisabledReason","type":{"names":["string"]},"description":"<p>A reason on why the input element is disabled.</p>","optional":true,"defaultvalue":""},{"name":"avatarCallback","type":{"names":["MessagingCanvas.AvatarCallback"]},"description":"<p>A handler to request for avatar.</p>","optional":true,"defaultvalue":""},{"name":"memberDisplayOptions","type":{"names":["MessagingCanvas.MemberDisplayOptions"]},"description":"<p>Chat member display configuration.</p>","optional":true,"defaultvalue":""},{"name":"messageStyle","type":{"names":["MessagingCanvas.MessageStyle"]},"description":"<p>Identifies how the message should be displayed.</p>","optional":true,"defaultvalue":""},{"name":"showTypingIndicator","type":{"names":["boolean"]},"description":"<p>Should the typing indicator be shown.</p>","optional":true,"defaultvalue":""},{"name":"showReadStatus","type":{"names":["boolean"]},"description":"<p>Should the read status be shown.</p>","optional":true,"defaultvalue":""},{"name":"showTrayOnInactive","type":{"names":["boolean"]},"description":"<p>Should MessageTray to be shown when conversation is inactive.</p>","optional":true,"defaultvalue":""},{"name":"showWelcomeMessage","type":{"names":["boolean"]},"description":"<p>Should a welcome message to be shown.</p>","optional":true,"defaultvalue":""},{"name":"welcomeMessageText","type":{"names":["CompiledTemplate"]},"description":"<p>string representing the welcome message.</p>","optional":true,"defaultvalue":""},{"name":"charLimit","type":{"names":["number"]},"description":"<p>Identifies character limit for a single message.</p>","optional":true,"defaultvalue":""},{"name":"predefinedMessage","type":{"names":["MessagingCanvas.PredefinedMessage"]},"description":"<p>Defines the predefined, introductory message to be shown to a customer.</p>","optional":true,"defaultvalue":""},{"name":"hasMarkdownSupport","type":{"names":["boolean"]},"description":"<p>If set to true, messages bodies will be parsed as markdown.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} MessagingCanvas.MessagingCanvasChildrenProps\n * @extends MessagingCanvas.MessagingCanvasProps\n * @property {ConversationState} [conversation] state of conversation\n * @property {number} [charLimit] character limit\n */","name":"MessagingCanvasChildrenProps","type":{"names":["object"]},"properties":[{"name":"conversation","type":{"names":["ConversationState"]},"description":"<p>state of conversation</p>","optional":true,"defaultvalue":""},{"name":"charLimit","type":{"names":["number"]},"description":"<p>character limit</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.WelcomeMessageThemeProps\n * @property {CSSProps} Container - Styles for the container for the chat welcome message\n * @property {CSSProps} Icon - Styles for the container for the chat welcome message icon\n */","name":"WelcomeMessageThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles for the container for the chat welcome message</p>","optional":null,"defaultvalue":""},{"name":"Icon","type":{"names":["CSSProps"]},"description":"<p>Styles for the container for the chat welcome message icon</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of the Message bubble\n *\n * @typedef EmailFileAttachment.EmailFileAttachmentProps\n * @property {string} conversationSid - Conversation SID\n * @property {MessageState} message - An object which represents a single message.\n * @property {boolean} disabled - Whether component is disabled or not\n * @property {Media} media - Media file to be represented\n */","name":"EmailFileAttachmentProps","type":null,"properties":[{"name":"conversationSid","type":{"names":["string"]},"description":"<p>Conversation SID</p>","optional":null,"defaultvalue":""},{"name":"message","type":{"names":["MessageState"]},"description":"<p>An object which represents a single message.</p>","optional":null,"defaultvalue":""},{"name":"disabled","type":{"names":["boolean"]},"description":"<p>Whether component is disabled or not</p>","optional":null,"defaultvalue":""},{"name":"media","type":{"names":["Media"]},"description":"<p>Media file to be represented</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.FormComponentsThemeProps\n * @property {CSSProps} Input Styles for the form input component\n * @property {CSSProps} TextArea Styles for the form textarea component\n * @property {CSSProps} Select Styles for the form select component\n */","name":"FormComponentsThemeProps","type":null,"properties":[{"name":"Input","type":{"names":["CSSProps"]},"description":"<p>Styles for the form input component</p>","optional":null,"defaultvalue":""},{"name":"TextArea","type":{"names":["CSSProps"]},"description":"<p>Styles for the form textarea component</p>","optional":null,"defaultvalue":""},{"name":"Select","type":{"names":["CSSProps"]},"description":"<p>Styles for the form select component</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Core theme colors\n * Extends {@link CoreThemeBaseplates}\n * @typedef Theme.CoreThemeColors\n * @property {string} defaultButtonColor - The default button color\n * @property {string} lightTextColor - The color for the light texts\n * @property {string} darkTextColor - The color for the dark texts\n * @property {string} buttonHoverColor - The color for the buttons hover state\n * @property {string} tabSelectedColor - The color for the selected tabs\n * @property {string} connectingColor - The color for the connecting copy\n * @property {string} disconnectedColor - The color for the disconnected copy\n * @property {string} notificationBackgroundColorInformation - The color for the information notifications background\n * @property {string} notificationBackgroundColorSuccess - The color for the success notifications background\n * @property {string} notificationBackgroundColorError - The color for the error notifications background\n * @property {string} notificationIconColorWarning - The color for the icons in the warning notifications\n * @property {string} notificationBackgroundColorWarning - The color for the warning notifications background\n * @property {string} notificationIconColorError - The color for the icons in the error notifications\n * @property {string} userAvailableColor - The color for available users\n * @property {string} userUnavailableColor - The color for unavailable users\n * @property {string} errorColor - Error color\n * @property {string} errorGlow - Error glow\n * @property {string} circularProgressColor - Color of the circular progress bar\n * @property {string} disabledColor - Color the disabled elements\n * @property {string} focusColor - Color for the focused elements\n * @property {string} focusGlow - Color of the glow for the focused elements\n */","name":"CoreThemeColors","type":null,"properties":[{"name":"defaultButtonColor","type":{"names":["string"]},"description":"<p>The default button color</p>","optional":null,"defaultvalue":""},{"name":"lightTextColor","type":{"names":["string"]},"description":"<p>The color for the light texts</p>","optional":null,"defaultvalue":""},{"name":"darkTextColor","type":{"names":["string"]},"description":"<p>The color for the dark texts</p>","optional":null,"defaultvalue":""},{"name":"buttonHoverColor","type":{"names":["string"]},"description":"<p>The color for the buttons hover state</p>","optional":null,"defaultvalue":""},{"name":"tabSelectedColor","type":{"names":["string"]},"description":"<p>The color for the selected tabs</p>","optional":null,"defaultvalue":""},{"name":"connectingColor","type":{"names":["string"]},"description":"<p>The color for the connecting copy</p>","optional":null,"defaultvalue":""},{"name":"disconnectedColor","type":{"names":["string"]},"description":"<p>The color for the disconnected copy</p>","optional":null,"defaultvalue":""},{"name":"notificationBackgroundColorInformation","type":{"names":["string"]},"description":"<p>The color for the information notifications background</p>","optional":null,"defaultvalue":""},{"name":"notificationBackgroundColorSuccess","type":{"names":["string"]},"description":"<p>The color for the success notifications background</p>","optional":null,"defaultvalue":""},{"name":"notificationBackgroundColorError","type":{"names":["string"]},"description":"<p>The color for the error notifications background</p>","optional":null,"defaultvalue":""},{"name":"notificationIconColorWarning","type":{"names":["string"]},"description":"<p>The color for the icons in the warning notifications</p>","optional":null,"defaultvalue":""},{"name":"notificationBackgroundColorWarning","type":{"names":["string"]},"description":"<p>The color for the warning notifications background</p>","optional":null,"defaultvalue":""},{"name":"notificationIconColorError","type":{"names":["string"]},"description":"<p>The color for the icons in the error notifications</p>","optional":null,"defaultvalue":""},{"name":"userAvailableColor","type":{"names":["string"]},"description":"<p>The color for available users</p>","optional":null,"defaultvalue":""},{"name":"userUnavailableColor","type":{"names":["string"]},"description":"<p>The color for unavailable users</p>","optional":null,"defaultvalue":""},{"name":"errorColor","type":{"names":["string"]},"description":"<p>Error color</p>","optional":null,"defaultvalue":""},{"name":"errorGlow","type":{"names":["string"]},"description":"<p>Error glow</p>","optional":null,"defaultvalue":""},{"name":"circularProgressColor","type":{"names":["string"]},"description":"<p>Color of the circular progress bar</p>","optional":null,"defaultvalue":""},{"name":"disabledColor","type":{"names":["string"]},"description":"<p>Color the disabled elements</p>","optional":null,"defaultvalue":""},{"name":"focusColor","type":{"names":["string"]},"description":"<p>Color for the focused elements</p>","optional":null,"defaultvalue":""},{"name":"focusGlow","type":{"names":["string"]},"description":"<p>Color of the glow for the focused elements</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * File attachment configuration\n *\n * @typedef FileAttachmentConfig\n * @property {boolean} [enabled=true] Represents if file attachments are supported.\n * @property {number} [numberOfAttachments=1] Maximum number of file attachments supported per message.\n * @property {number} [maxFileSize=10485760] Maximum file size that can be uploaded. Enter a value in bytes. Default is 10mb\n * @property {number} [maxFileSizeTotal] Maximum total file attachments size that can be uploaded per message. Enter a value in bytes.\n * @property {Array<string>} [acceptedExtensions=[\"jpg\", \"jpeg\", \"png\", \"gif\", \"txt\", \"pdf\"]] Allowed file extensions to be uploaded.\n * @property {boolean} [readOnly=false] Represents if file attachment is read only\n * @memberof Config\n */","name":"FileAttachmentConfig","type":null,"properties":[{"name":"enabled","type":{"names":["boolean"]},"description":"<p>Represents if file attachments are supported.</p>","optional":true,"defaultvalue":"true"},{"name":"numberOfAttachments","type":{"names":["number"]},"description":"<p>Maximum number of file attachments supported per message.</p>","optional":true,"defaultvalue":"1"},{"name":"maxFileSize","type":{"names":["number"]},"description":"<p>Maximum file size that can be uploaded. Enter a value in bytes. Default is 10mb</p>","optional":true,"defaultvalue":"10485760"},{"name":"maxFileSizeTotal","type":{"names":["number"]},"description":"<p>Maximum total file attachments size that can be uploaded per message. Enter a value in bytes.</p>","optional":true,"defaultvalue":""},{"name":"acceptedExtensions","type":{"names":["Array<string>"]},"description":"<p>Allowed file extensions to be uploaded.</p>","optional":true,"defaultvalue":"[\"jpg\", \"jpeg\", \"png\", \"gif\", \"txt\", \"pdf\"]"},{"name":"readOnly","type":{"names":["boolean"]},"description":"<p>Represents if file attachment is read only</p>","optional":true,"defaultvalue":"false"}]}},{"node":{"kind":"typedef","comment":"/**\n * Flex UI Core configuration options\n *\n * @typedef {object} Frame#FrameConfig\n * @property {string} [language] language code\n * @ignore\n */","name":"FrameConfig","type":{"names":["object"]},"properties":[{"name":"language","type":{"names":["string"]},"description":"<p>language code</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Object containing the status of the ChatMessageList component. Used to identify unread messages.\n *\n * @typedef {object} ChatMessageListState\n * @category State\n * @property {boolean} isScrollToBottom - Whether the ChatMessageList is currently scrolled to the bottom\n * @property {string} activeConversation - ID of the conversation currently shown in the ChatMessageList component\n * @memberof AppState\n */","name":"ChatMessageListState","type":{"names":["object"]},"properties":[{"name":"isScrollToBottom","type":{"names":["boolean"]},"description":"<p>Whether the ChatMessageList is currently scrolled to the bottom</p>","optional":null,"defaultvalue":""},{"name":"activeConversation","type":{"names":["string"]},"description":"<p>ID of the conversation currently shown in the ChatMessageList component</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @category State\n * @typedef {object} ChatSessionState\n * @property {string} connectionState=\"\" State of the connection\n * @property {boolean} isActive=true Indicates if chat session is active\n * @memberof AppState\n */","name":"ChatSessionState","type":{"names":["object"]},"properties":[{"name":"connectionState","type":{"names":["string"]},"description":"<p>State of the connection</p>","optional":null,"defaultvalue":"\"\""},{"name":"isActive","type":{"names":["boolean"]},"description":"<p>Indicates if chat session is active</p>","optional":null,"defaultvalue":"true"}]}},{"node":{"kind":"typedef","comment":"/**\n * Chat state\n *\n * @category State\n * @typedef {object} ChatState\n * @property {ConversationsState} conversations State of conversations\n * @property {ChatSessionState} session State of the user session\n * @property {ChatUserState} users State of chat users\n * @property {ConversationInputState} conversationInput Conversation text input state\n * @property {ChatMessageListState} messageList State of message list\n * @memberof AppState\n */","name":"ChatState","type":{"names":["object"]},"properties":[{"name":"conversations","type":{"names":["ConversationsState"]},"description":"<p>State of conversations</p>","optional":null,"defaultvalue":""},{"name":"session","type":{"names":["ChatSessionState"]},"description":"<p>State of the user session</p>","optional":null,"defaultvalue":""},{"name":"users","type":{"names":["ChatUserState"]},"description":"<p>State of chat users</p>","optional":null,"defaultvalue":""},{"name":"conversationInput","type":{"names":["ConversationInputState"]},"description":"<p>Conversation text input state</p>","optional":null,"defaultvalue":""},{"name":"messageList","type":{"names":["ChatMessageListState"]},"description":"<p>State of message list</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * A state of chat users value UserDescriptor from Twilio Chat SDK.\n *\n * @typedef {object} ChatState.ChatUserState\n * @property {UserDescriptor} sid User descriptor of the user by sid. See structure [here](https://media.twiliocdn.com/sdk/js/chat/releases/3.4.0/docs/UserDescriptor.html).\n * @memberof AppState\n */","name":"ChatUserState","type":{"names":["object"]},"properties":[{"name":"sid","type":{"names":["UserDescriptor"]},"description":"<p>User descriptor of the user by sid. See structure <a href=\"https://media.twiliocdn.com/sdk/js/chat/releases/3.4.0/docs/UserDescriptor.html\">here</a>.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} MessageState\n * @property {string} inputText=\"\" Text of the message\n * @property {number} selectionStart=0 Start index of the cursor selection\n * @property {number} selectionEnd=0 End index of the cursor selection\n * @property {Array<File>} [attachedFiles] Files attached to the message\n * @memberof AppState\n */","name":"MessageState","type":{"names":["object"]},"properties":[{"name":"inputText","type":{"names":["string"]},"description":"<p>Text of the message</p>","optional":null,"defaultvalue":"\"\""},{"name":"selectionStart","type":{"names":["number"]},"description":"<p>Start index of the cursor selection</p>","optional":null,"defaultvalue":"0"},{"name":"selectionEnd","type":{"names":["number"]},"description":"<p>End index of the cursor selection</p>","optional":null,"defaultvalue":"0"},{"name":"attachedFiles","type":{"names":["Array<File>"]},"description":"<p>Files attached to the message</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef {object} ChatState.ChatChannelInputState\n * @property {MessageState} sid Message state for a sid\n * @memberof AppState\n */","name":"ChatChannelInputState","type":{"names":["object"]},"properties":[{"name":"sid","type":{"names":["MessageState"]},"description":"<p>Message state for a sid</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * A state of remote client in a Conversations.\n * @typedef {object} ParticipantState\n * @property {Participant} source - Represents the remote client in a Conversation. See structure [here](http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Participant.html).\n * @property {string} friendlyName - It represents the friendly name of the remote client.\n * @property {boolean} online - It represents if the participant is online or not.\n * @memberof AppState\n */","name":"ParticipantState","type":{"names":["object"]},"properties":[{"name":"source","type":{"names":["Participant"]},"description":"<p>Represents the remote client in a Conversation. See structure <a href=\"http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Participant.html\">here</a>.</p>","optional":null,"defaultvalue":""},{"name":"friendlyName","type":{"names":["string"]},"description":"<p>It represents the friendly name of the remote client.</p>","optional":null,"defaultvalue":""},{"name":"online","type":{"names":["boolean"]},"description":"<p>It represents if the participant is online or not.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * An object which represents a state of a single message.\n * @typedef {object} ChatState.MessageState\n * @property {boolean} isFromMe - Is the message from me.\n * @property {boolean} [isFromCCAIVirtualAgent] - Is the message from virtual agent\n * @property {Message} source - Represents the message object. See structure [here](http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Message.html).\n * @property {boolean} groupWithNext - should the message be grouped with the next message.\n * @property {boolean} groupWithPrevious - should the message be grouped with the previous message.\n * @property {number} index - index of the message within the remote messages array.\n * @property {string} [authorName] - Represents the friendly name of the message author.\n * @property {boolean} [error] - If set to true, the message has failed to be delivered.\n */","name":"MessageState","type":{"names":["object"]},"properties":[{"name":"isFromMe","type":{"names":["boolean"]},"description":"<p>Is the message from me.</p>","optional":null,"defaultvalue":""},{"name":"isFromCCAIVirtualAgent","type":{"names":["boolean"]},"description":"<p>Is the message from virtual agent</p>","optional":true,"defaultvalue":""},{"name":"source","type":{"names":["Message"]},"description":"<p>Represents the message object. See structure <a href=\"http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Message.html\">here</a>.</p>","optional":null,"defaultvalue":""},{"name":"groupWithNext","type":{"names":["boolean"]},"description":"<p>should the message be grouped with the next message.</p>","optional":null,"defaultvalue":""},{"name":"groupWithPrevious","type":{"names":["boolean"]},"description":"<p>should the message be grouped with the previous message.</p>","optional":null,"defaultvalue":""},{"name":"index","type":{"names":["number"]},"description":"<p>index of the message within the remote messages array.</p>","optional":null,"defaultvalue":""},{"name":"authorName","type":{"names":["string"]},"description":"<p>Represents the friendly name of the message author.</p>","optional":true,"defaultvalue":""},{"name":"error","type":{"names":["boolean"]},"description":"<p>If set to true, the message has failed to be delivered.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * An object which represents a state of a conversation.\n * @typedef {object} ConversationState\n * @property {Paginator} [currentPaginator] Paginator class to request messages on previous or next pages. See structure [here](https://media.twiliocdn.com/sdk/js/chat/releases/3.2.4/docs/Paginator.html).\n * @property {boolean} isLoadingMessages=false Indicates if messages are currently loading\n * @property {boolean} isLoadingParticipants=false Indicates if participants are currently loading\n * @property {boolean} isLoadingConversation=false Indicates if conversation is currently loading\n * @property {number} lastReadMessageIndex=0 Index of the last read message\n * @property {Map<string, ParticipantState>} participants Participants of the chat\n * @property {Array<MessageState>} messages=Map() Messages in the conversation\n * @property {Conversation} [source] Reference to the conversation. See structure [here](http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Conversation.html).\n * @property {Array<ParticipantState>} typers Participants, who are currently typing a message\n * @property {boolean} errorWhileLoadingConversation=false Indicates if there was an error while loading a conversation\n * @memberof AppState\n */","name":"ConversationState","type":{"names":["object"]},"properties":[{"name":"currentPaginator","type":{"names":["Paginator"]},"description":"<p>Paginator class to request messages on previous or next pages. See structure <a href=\"https://media.twiliocdn.com/sdk/js/chat/releases/3.2.4/docs/Paginator.html\">here</a>.</p>","optional":true,"defaultvalue":""},{"name":"isLoadingMessages","type":{"names":["boolean"]},"description":"<p>Indicates if messages are currently loading</p>","optional":null,"defaultvalue":"false"},{"name":"isLoadingParticipants","type":{"names":["boolean"]},"description":"<p>Indicates if participants are currently loading</p>","optional":null,"defaultvalue":"false"},{"name":"isLoadingConversation","type":{"names":["boolean"]},"description":"<p>Indicates if conversation is currently loading</p>","optional":null,"defaultvalue":"false"},{"name":"lastReadMessageIndex","type":{"names":["number"]},"description":"<p>Index of the last read message</p>","optional":null,"defaultvalue":"0"},{"name":"participants","type":{"names":["Map<string, ParticipantState>"]},"description":"<p>Participants of the chat</p>","optional":null,"defaultvalue":""},{"name":"messages","type":{"names":["Array<MessageState>"]},"description":"<p>Messages in the conversation</p>","optional":null,"defaultvalue":"Map()"},{"name":"source","type":{"names":["Conversation"]},"description":"<p>Reference to the conversation. See structure <a href=\"http://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Conversation.html\">here</a>.</p>","optional":true,"defaultvalue":""},{"name":"typers","type":{"names":["Array<ParticipantState>"]},"description":"<p>Participants, who are currently typing a message</p>","optional":null,"defaultvalue":""},{"name":"errorWhileLoadingConversation","type":{"names":["boolean"]},"description":"<p>Indicates if there was an error while loading a conversation</p>","optional":null,"defaultvalue":"false"}]}},{"node":{"kind":"typedef","comment":"/**\n * Conversations state\n *\n * @category State\n * @typedef {object} ConversationsState\n * @property {ConversationState} [sid] State of conversations by sid\n * @memberof AppState\n */","name":"ConversationsState","type":{"names":["object"]},"properties":[{"name":"sid","type":{"names":["ConversationState"]},"description":"<p>State of conversations by sid</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef DeepPartial\n * @ignore\n */","name":"DeepPartial","type":null,"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.CountrySelectorThemeProps\n * @property {CSSProps} CountryList - Style for the dialer's country list component\n * @property {(CSSProps | {Selected: CSSProps})} CountryItem - Style for the dialer's country list component item\n * @property {CSSProps} Flag - Style for the dialer's country list flag component\n */","name":"CountrySelectorThemeProps","type":null,"properties":[{"name":"CountryList","type":{"names":["CSSProps"]},"description":"<p>Style for the dialer's country list component</p>","optional":null,"defaultvalue":""},{"name":"CountryItem","type":{"names":["CSSProps","Object"]},"description":"<p>Style for the dialer's country list component item</p>","optional":null,"defaultvalue":""},{"name":"Flag","type":{"names":["CSSProps"]},"description":"<p>Style for the dialer's country list flag component</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Dialer.DialerCallback\n * @callback Dialer.DialerCallback\n * @param {string} phoneNumber phone number entered\n * @returns {void}\n * @since 2.0.0\n */","name":"DialerCallback","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef  Dialer.DialerProps\n * @property {BaseDialer.DialerCallback} [onDial] - Callback when dialing action is submitted.\n * @property {boolean} [hideActions] - Identifies if the dialer actions are hidden.\n * @property {string} [defaultPhoneNumber] - Default phone number for dialer.\n * @property {BaseDialer.DialerCallback} [onPhoneNumberChange] - Callback when phone number is changed.\n * @property {boolean} [disabled] - Whether dialer is disabled.\n * @property {string} [defaultCountryAlpha2Code] - The default country alpha2 code.\n * @since 2.0.0\n */","name":"DialerProps","type":null,"properties":[{"name":"onDial","type":{"names":["BaseDialer.DialerCallback"]},"description":"<p>Callback when dialing action is submitted.</p>","optional":true,"defaultvalue":""},{"name":"hideActions","type":{"names":["boolean"]},"description":"<p>Identifies if the dialer actions are hidden.</p>","optional":true,"defaultvalue":""},{"name":"defaultPhoneNumber","type":{"names":["string"]},"description":"<p>Default phone number for dialer.</p>","optional":true,"defaultvalue":""},{"name":"onPhoneNumberChange","type":{"names":["BaseDialer.DialerCallback"]},"description":"<p>Callback when phone number is changed.</p>","optional":true,"defaultvalue":""},{"name":"disabled","type":{"names":["boolean"]},"description":"<p>Whether dialer is disabled.</p>","optional":true,"defaultvalue":""},{"name":"defaultCountryAlpha2Code","type":{"names":["string"]},"description":"<p>The default country alpha2 code.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.DialerThemeProps\n * @property {ButtonThemeProps} CallButton Style for the dialer's Call Button\n * @since 2.0.0\n */","name":"DialerThemeProps","type":null,"properties":[{"name":"CallButton","type":{"names":["ButtonThemeProps"]},"description":"<p>Style for the dialer's Call Button</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef DialpadButtonClickCallback\n * @callback DialpadButtonClickCallback\n * @param {string} value value of clicked key\n * @returns {void}\n * @memberof Dialpad\n * @since 2.0.0\n */","name":"DialpadButtonClickCallback","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef  Dialpad.DialpadProps\n * @property {DialpadButtonClickCallback} [onClick] - Callback when a dialpad button is clicked\n * @property {React.RefObject<HTMLInputElement>} inputRef - input ref\n * @since 2.0.0\n */","name":"DialpadProps","type":null,"properties":[{"name":"onClick","type":{"names":["DialpadButtonClickCallback"]},"description":"<p>Callback when a dialpad button is clicked</p>","optional":true,"defaultvalue":""},{"name":"inputRef","type":{"names":["React.RefObject<HTMLInputElement>"]},"description":"<p>input ref</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.DialpadButtonThemeProps\n * @property {(CSSProps | { disabled: CSSProps })} Container - Style for the dialpad button's container\n * @property {CSSProps} Caption - Style for the dialpad button's caption\n * @property {CSSProps} Description - Style for the dialpad button's description\n * @since 2.0.0\n */","name":"DialpadButtonThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps","Object"]},"description":"<p>Style for the dialpad button's container</p>","optional":null,"defaultvalue":""},{"name":"Caption","type":{"names":["CSSProps"]},"description":"<p>Style for the dialpad button's caption</p>","optional":null,"defaultvalue":""},{"name":"Description","type":{"names":["CSSProps"]},"description":"<p>Style for the dialpad button's description</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.DialpadThemeProps\n * @property {DialpadButtonThemeProps} Button - Style for the dialpad's buttons\n * @since 2.0.0\n */","name":"DialpadThemeProps","type":null,"properties":[{"name":"Button","type":{"names":["DialpadButtonThemeProps"]},"description":"<p>Style for the dialpad's buttons</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Properties of participant canvas theme.\n *\n * @typedef Theme.ParticipantCanvasThemeProps\n * @property {CSSProps} Container - Styles participant container.\n * @property {CSSProps} Avatar - Styles participant avatar.\n * @property {CSSProps} TranscriptAvatar - Styles participant avatar in CCAI flow.\n * @property {CSSProps} StateHover - Styles hover state on participant avatar.\n * @property {CSSProps} ConnectingAnimation - Styles participant connecting state.\n * @property {CSSProps} Button - Styles button in participant canvas.\n * @property {CSSProps} HangUpButton - Styles hang up button in participant canvas.\n * @since 2.0.0\n */","name":"ParticipantCanvasThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles participant container.</p>","optional":null,"defaultvalue":""},{"name":"Avatar","type":{"names":["CSSProps"]},"description":"<p>Styles participant avatar.</p>","optional":null,"defaultvalue":""},{"name":"TranscriptAvatar","type":{"names":["CSSProps"]},"description":"<p>Styles participant avatar in CCAI flow.</p>","optional":null,"defaultvalue":""},{"name":"StateHover","type":{"names":["CSSProps"]},"description":"<p>Styles hover state on participant avatar.</p>","optional":null,"defaultvalue":""},{"name":"ConnectingAnimation","type":{"names":["CSSProps"]},"description":"<p>Styles participant connecting state.</p>","optional":null,"defaultvalue":""},{"name":"Button","type":{"names":["CSSProps"]},"description":"<p>Styles button in participant canvas.</p>","optional":null,"defaultvalue":""},{"name":"HangUpButton","type":{"names":["CSSProps"]},"description":"<p>Styles hang up button in participant canvas.</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef Theme.TabsThemeProps\n * @property {CSSProps} Container - Styles for the tabs container\n * @property {CSSProps} LabelsContainer - Styles for the container for the tab header labels\n * @property {ButtonThemeProps} Button - Styles for the icon based tab headers\n * @property {CSSProps} Active - Styles for the active tab header container\n * @property {CSSProps} Inactive - Styles for the inactive tab header container\n * @property {CSSProps} LabelActive - Styles for the active tab label\n * @property {CSSProps} LabelInactive - Styles for the inactive tab label\n * @since 2.0.0\n */","name":"TabsThemeProps","type":null,"properties":[{"name":"Container","type":{"names":["CSSProps"]},"description":"<p>Styles for the tabs container</p>","optional":null,"defaultvalue":""},{"name":"LabelsContainer","type":{"names":["CSSProps"]},"description":"<p>Styles for the container for the tab header labels</p>","optional":null,"defaultvalue":""},{"name":"Button","type":{"names":["ButtonThemeProps"]},"description":"<p>Styles for the icon based tab headers</p>","optional":null,"defaultvalue":""},{"name":"Active","type":{"names":["CSSProps"]},"description":"<p>Styles for the active tab header container</p>","optional":null,"defaultvalue":""},{"name":"Inactive","type":{"names":["CSSProps"]},"description":"<p>Styles for the inactive tab header container</p>","optional":null,"defaultvalue":""},{"name":"LabelActive","type":{"names":["CSSProps"]},"description":"<p>Styles for the active tab label</p>","optional":null,"defaultvalue":""},{"name":"LabelInactive","type":{"names":["CSSProps"]},"description":"<p>Styles for the inactive tab label</p>","optional":null,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * The size of the task\n * @typedef {\"Small\" | \"Large\" | \"LargeSelected\"} TaskListItem.TaskListItemSize\n * @since 2.0.0\n */","name":"TaskListItemSize","type":{"names":["\"Small\"","\"Large\"","\"LargeSelected\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Properties of TaskListItem.\n * @typedef TaskListItem.TaskListItemProps\n * @property {boolean} [visible] - Whether the task list item is visible or not.\n * @property {boolean} [selected] - Whether the task list item is selected or not.\n * @property {string} [selectedTaskSid] - Sid of the selected task.\n * @property {Function} [onSelected] - Callback when the task is selected.\n * @property {string | React.ReactNode} [icon] - Task list item icon.\n * @property {string} [iconColor] - Icon color.\n * @property {Array<React.ReactElement<any>>} [actions] - Override default accept or reject actions.\n * @property {React.ReactNode} [firstLine] - First line displayed in the task list item.\n * @property {React.ReactNode} [secondLine] - Second line displayed in the task list item.\n * @property {React.ReactNode} [extraInfo] - Additional info displayed in the task list item.\n * @property {boolean} [large] - Whether the item is large or not. If true, the lower area is displayed.\n * @property {TaskListItemSize} [itemSize] - Task list item size.\n * @property {DynamicContentStore.DynamicComponentChildren<TaskListItemChildrenProps>} [children] - children\n * @since 2.0.0\n */","name":"TaskListItemProps","type":null,"properties":[{"name":"visible","type":{"names":["boolean"]},"description":"<p>Whether the task list item is visible or not.</p>","optional":true,"defaultvalue":""},{"name":"selected","type":{"names":["boolean"]},"description":"<p>Whether the task list item is selected or not.</p>","optional":true,"defaultvalue":""},{"name":"selectedTaskSid","type":{"names":["string"]},"description":"<p>Sid of the selected task.</p>","optional":true,"defaultvalue":""},{"name":"onSelected","type":{"names":["function"]},"description":"<p>Callback when the task is selected.</p>","optional":true,"defaultvalue":""},{"name":"icon","type":{"names":["string","React.ReactNode"]},"description":"<p>Task list item icon.</p>","optional":true,"defaultvalue":""},{"name":"iconColor","type":{"names":["string"]},"description":"<p>Icon color.</p>","optional":true,"defaultvalue":""},{"name":"actions","type":{"names":["Array<React.ReactElement.<any>>"]},"description":"<p>Override default accept or reject actions.</p>","optional":true,"defaultvalue":""},{"name":"firstLine","type":{"names":["React.ReactNode"]},"description":"<p>First line displayed in the task list item.</p>","optional":true,"defaultvalue":""},{"name":"secondLine","type":{"names":["React.ReactNode"]},"description":"<p>Second line displayed in the task list item.</p>","optional":true,"defaultvalue":""},{"name":"extraInfo","type":{"names":["React.ReactNode"]},"description":"<p>Additional info displayed in the task list item.</p>","optional":true,"defaultvalue":""},{"name":"large","type":{"names":["boolean"]},"description":"<p>Whether the item is large or not. If true, the lower area is displayed.</p>","optional":true,"defaultvalue":""},{"name":"itemSize","type":{"names":["TaskListItemSize"]},"description":"<p>Task list item size.</p>","optional":true,"defaultvalue":""},{"name":"children","type":{"names":["DynamicContentStore.DynamicComponentChildren<TaskListItemChildrenProps>"]},"description":"<p>children</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef TemplateProps\n * @property {string} [className] A custom class name passed to template node.\n * @property {BaseTemplate.CompiledTemplate} [source] A function to compile the template string.\n * @property {string} [code] A template code of which the value needs to be used. If template with code does not exists, then code will be rendered.\n * @memberof Template\n * @since 2.0.0\n */","name":"TemplateProps","type":null,"properties":[{"name":"className","type":{"names":["string"]},"description":"<p>A custom class name passed to template node.</p>","optional":true,"defaultvalue":""},{"name":"source","type":{"names":["BaseTemplate.CompiledTemplate"]},"description":"<p>A function to compile the template string.</p>","optional":true,"defaultvalue":""},{"name":"code","type":{"names":["string"]},"description":"<p>A template code of which the value needs to be used. If template with code does not exists, then code will be rendered.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Dynamically populated children which will receive props of type T.\n * @typedef {(React.ReactElement<T>)} DynamicContentStore.DynamicComponentChildren\n * @template T\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"DynamicComponentChildren","type":{"names":["React.ReactElement<T>"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * @typedef ContentFragmentConditionFunction\n * @callback ContentFragmentConditionFunction\n * @param {object} props props T of the Component that includes the static prop named Content of type [DynamicContentStore](DynamicContentStore)<T>\n * @returns {boolean} whether the content fragment should be either added/replaced/removed or not\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"ContentFragmentConditionFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Options for removing a component\n *\n * @typedef RemoveComponentCallOptions\n * @property {ContentFragmentConditionFunction} [if] - function that returns whether the component should be removed or not.\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"RemoveComponentCallOptions","type":null,"properties":[{"name":"if","type":{"names":["ContentFragmentConditionFunction"]},"description":"<p>function that returns whether the component should be removed or not.</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Alignment of the fragment\n *\n * @typedef {\"start\" | \"end\"} ContentFragmentAlignment\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"ContentFragmentAlignment","type":{"names":["\"start\"","\"end\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Props of content fragment\n *\n * @typedef ContentFragmentProps\n * @property {ContentFragmentAlignment} [align] - fragment alignment\n * @property {boolean} [replace] - whether the fragment should replace an existing one or not. Always set to true when calling `replace` method from [DynamicContentStore](DynamicContentStore#replace-child-options-cleanupfunction).\n * @property {number} [sortOrder] - index in which to position the fragment within the component.\n * @property {ContentFragmentConditionFunction} [if] - function that returns whether the content fragment should be added or replaced.\n * @property {boolean} [noChildProps] - whether the fragment should be rendered with props that other siblings was rendered with\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"ContentFragmentProps","type":null,"properties":[{"name":"align","type":{"names":["ContentFragmentAlignment"]},"description":"<p>fragment alignment</p>","optional":true,"defaultvalue":""},{"name":"replace","type":{"names":["boolean"]},"description":"<p>whether the fragment should replace an existing one or not. Always set to true when calling <code>replace</code> method from <a href=\"DynamicContentStore#replace-child-options-cleanupfunction\">DynamicContentStore</a>.</p>","optional":true,"defaultvalue":""},{"name":"sortOrder","type":{"names":["number"]},"description":"<p>index in which to position the fragment within the component.</p>","optional":true,"defaultvalue":""},{"name":"if","type":{"names":["ContentFragmentConditionFunction"]},"description":"<p>function that returns whether the content fragment should be added or replaced.</p>","optional":true,"defaultvalue":""},{"name":"noChildProps","type":{"names":["boolean"]},"description":"<p>whether the fragment should be rendered with props that other siblings was rendered with</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * @typedef CleanupFunction\n * @callback CleanupFunction\n * @returns {void}\n * @memberof DynamicContentStore\n * @since 2.0.0\n */","name":"CleanupFunction","type":{"names":["function"]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Core Error Content\n * @category Core Errors\n * @typedef CoreErrorContents\n * @property {CoreError.CoreErrorType} [type] Type of the error\n * @property {Error} [wrappedError] The original error\n * @property {string} [context] Error context, including theme customizations\n * @property {string} [description] Longer and more verbose description of the error than message property, possibly with variable metadata\n * @property {CoreError.CoreErrorSeverity} [severity] Severity level of the error\n * @memberof CoreError\n * @since 2.0.0\n */","name":"CoreErrorContents","type":null,"properties":[{"name":"type","type":{"names":["CoreError.CoreErrorType"]},"description":"<p>Type of the error</p>","optional":true,"defaultvalue":""},{"name":"wrappedError","type":{"names":["Error"]},"description":"<p>The original error</p>","optional":true,"defaultvalue":""},{"name":"context","type":{"names":["string"]},"description":"<p>Error context, including theme customizations</p>","optional":true,"defaultvalue":""},{"name":"description","type":{"names":["string"]},"description":"<p>Longer and more verbose description of the error than message property, possibly with variable metadata</p>","optional":true,"defaultvalue":""},{"name":"severity","type":{"names":["CoreError.CoreErrorSeverity"]},"description":"<p>Severity level of the error</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Status of the Reservation\n * @typedef {\"pending\" | \"accepted\" | \"wrapping\" | \"completed\" | \"canceled\"} TaskReservationStatus\n * @memberof ITask\n * @since 2.0.0\n */","name":"TaskReservationStatus","type":{"names":["\"pending\"","\"accepted\"","\"wrapping\"","\"completed\"","\"canceled\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Status of the Task\n * @typedef {\"reserved\" | \"assigned\" | \"wrapping\" | \"completed\" | \"canceled\"} TaskTaskStatus\n * @memberof ITask\n * @since 2.0.0\n */","name":"TaskTaskStatus","type":{"names":["\"reserved\"","\"assigned\"","\"wrapping\"","\"completed\"","\"canceled\""]},"properties":null}},{"node":{"kind":"typedef","comment":"/**\n * Worker skills\n * @typedef WorkerSkillsType\n * @property {Array<string>} [skills] skills for the user\n * @property {object} [levels] skill levels for the user. Key of the level is skill `name`\n * @property {number} [levels.name] level of a particular skill\n * @memberof IWorker\n * @since 2.0.0\n */","name":"WorkerSkillsType","type":null,"properties":[{"name":"skills","type":{"names":["Array<string>"]},"description":"<p>skills for the user</p>","optional":true,"defaultvalue":""},{"name":"levels","type":{"names":["object"]},"description":"<p>skill levels for the user. Key of the level is skill <code>name</code></p>","optional":true,"defaultvalue":""},{"name":"levels.name","type":{"names":["number"]},"description":"<p>level of a particular skill</p>","optional":true,"defaultvalue":""}]}},{"node":{"kind":"typedef","comment":"/**\n * Worker attributes\n * @typedef {object} WorkerAttributes\n * @property {WorkerSkillsType} [routing] skills used for routing\n * @property {WorkerSkillsType} [disabled_skills] all other skills that are currently not active\n * @memberof IWorker\n * @since 2.0.0\n */","name":"WorkerAttributes","type":{"names":["object"]},"properties":[{"name":"routing","type":{"names":["WorkerSkillsType"]},"description":"<p>skills used for routing</p>","optional":true,"defaultvalue":""},{"name":"disabled_skills","type":{"names":["WorkerSkillsType"]},"description":"<p>all other skills that are currently not active</p>","optional":true,"defaultvalue":""}]}}]},"membersQuery":{"edges":[{"node":{"kind":"member","description":"<p>Orientation of splitter component</p>","comment":"/**\n * Orientation of splitter component\n * @readonly\n * @enum {\"auto\"|\"vertical\"|\"horizontal\"} SplitterOrientation\n * @property {\"auto\"} auto auto\n * @property {\"vertical\"} vertical vertical\n * @property {\"horizontal\"} horizontal horizontal\n * @memberof Panel1\n */","name":"exports.SplitterOrientation","scope":"static","readonly":true,"type":{"names":["\"auto\"","\"vertical\"","\"horizontal\""]}}},{"node":{"kind":"member","description":"<p>Dynamic content store</p>","comment":"/**\n * Dynamic content store\n *\n * @static\n * @type {DynamicContentStore<Panel1.AgentDesktopPanel1Props, Panel1ChildrenKeys>}\n * @readonly\n */","name":"Content","scope":"static","readonly":true,"type":{"names":["DynamicContentStore<Panel1.AgentDesktopPanel1Props, Panel1ChildrenKeys>"]}}},{"node":{"kind":"member","description":"<p>Default properties</p>","comment":"/**\n * Default properties\n *\n * @static\n * @type {Panel1.AgentDesktopPanel1Props}\n * @readonly\n */","name":"defaultProps","scope":"static","readonly":true,"type":{"names":["Panel1.AgentDesktopPanel1Props"]}}}]}},"pageContext":{"name":"Panel1","docName":null,"props":"Panel1Props","propsChildren":"Panel1ChildrenProps"}},
    "staticQueryHashes": ["2573139180","3167116022","426031883"]}