{
    "componentChunkName": "component---src-templates-component-template-tsx",
    "path": "/programmable-components/components/WorkerDirectoryTabs/",
    "result": {"data":{"entityQuery":{"edges":[{"node":{"name":"WorkerDirectoryTabs","description":null,"classdesc":"<p>This is an inner container for WorkersDirectory that renders the workers and queues tabs. Can be used to add or remove tabs on that component.</p>","tags":[{"originalTitle":"component","title":"component","text":""},{"originalTitle":"category","title":"category","text":"Components / Programmable"},{"originalTitle":"subcategory","title":"subcategory","text":"Components"}],"component":{"displayName":"WorkerDirectoryTabs","param":"WorkerDirectoryTabs.WorkerDirectoryTabsProps","type":"react","children":[{"key":"tabs","condition":"","description":"Worker directory tabs. Displays the workers list and search bar in one tab, and the queues list and search bar in another tab.","type":"React component","align":"left"},{"key":"workers","condition":"","description":"The specific tab item for the workers list. When clicked this will switch to the tab displaying the list of workers.","type":"React component","align":""},{"key":"workers-container","condition":"","description":"Wrapper for the workers-input-container, workers-input-field, item-container and specific worker details.","type":"styled(FlexBoxColumn)","align":""},{"key":"workers-input-container","condition":"","description":"This is a wrapper for the search bar.","type":"styled(div)","align":""},{"key":"workers-input-field","condition":"","description":"The search bar displayed above the cards of workers which can be used to search for a specific worker in the list.","type":"styled(Input)","align":"start"},{"key":"WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","condition":"Will display once the details of the workers have loaded.","description":"The key of this component is dynamically generated, and will correspond to the worker sid. This item contains the worker avatar, worker name and worker status. This will have one or two transfer buttons if the worker is available. The cold transfer button is always available if the worker is available to take a call, the warm transfer button is only available if the warm transfers setting is enabled.","type":"React component","align":""},{"key":"queues","condition":"","description":"The specific tab item for the queues list. When clicked this will switch to the tab displaying the list of queues.","type":"React component","align":""},{"key":"queues-container","condition":"","description":"Wrapper for the queues-input-container, queues-input-field, item-container and specific queue details.","type":"styled(FlexBoxColumn)","align":""},{"key":"queues-input-container","condition":"","description":"This is a wrapper for the search bar.","type":"styled(div)","align":""},{"key":"queues-input-field","condition":"","description":"The search bar displayed above the cards of queues which can be used to search for a specific queue in the list.","type":"styled(Input)","align":"start"},{"key":"WQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","condition":"Will display once the details of the queues have loaded.","description":"The key of this component is dynamically generated, and will correspond to the queue sid. This item contains the queue avatar and queue name and will have one or two transfer buttons. The cold transfer button is always available, the warm transfer button is only available if this setting is enabled.","type":"QueueItem","align":""},{"key":"directory","condition":"Only displayed if the warm transfers feature is enabled.","description":"The specific tab item for the directory. When clicked this will switch to the tab displaying the directory.","type":"React component","align":""},{"key":"directory-container","condition":"","description":"This contains the external transfer dialpad.","type":"styled(FlexBoxColumn)","align":""},{"key":"item-container","condition":"","description":"Wrapper which will contain either a loading symbol (if worker-item or queue-item is still loading) or will contain each individual worker-item or queue-item.","type":"styled(FlexBox)","align":"vertical"}]},"type":null}}]},"definitionsQuery":{"edges":[{"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":""}]}}]},"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>Dynamic content store</p>","comment":"/**\n * Dynamic content store\n *\n * @static\n * @type {DynamicContentStore<WorkerDirectoryTabsProps, WorkerDirectoryTabsChildrenKeys>}\n * @readonly\n */","name":"Content","scope":"static","readonly":true,"type":{"names":["DynamicContentStore<WorkerDirectoryTabsProps, WorkerDirectoryTabsChildrenKeys>"]}}},{"node":{"kind":"member","description":"<p>Default properties</p>","comment":"/**\n * Default properties\n *\n * @static\n * @type {Partial<WorkerDirectoryTabs.WorkerDirectoryTabsProps>}\n * @readonly\n */","name":"defaultProps","scope":"static","readonly":true,"type":{"names":["Partial<WorkerDirectoryTabs.WorkerDirectoryTabsProps>"]}}}]}},"pageContext":{"name":"WorkerDirectoryTabs","docName":null,"props":"WorkerDirectoryTabsProps","propsChildren":"WorkerDirectoryTabsChildrenProps"}},
    "staticQueryHashes": ["2573139180","3167116022","426031883"]}