@webex/cc-components 1.28.0-ccwidgets.46 → 1.28.0-ccwidgets.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1735,7 +1735,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1735
1735
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1736
1736
 
1737
1737
  "use strict";
1738
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult-container {\n margin-top: 1rem;\n border-top: 1px solid var(--mds-color-theme-background-secondary-normal);\n padding-top: 1rem;\n}\n\n.call-control-consult-container.no-border {\n margin-top: 0;\n padding-top: 0;\n border-top: none;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1738
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1739
1739
 
1740
1740
  /***/ }),
1741
1741
 
@@ -1746,7 +1746,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1746
1746
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1747
1747
 
1748
1748
  "use strict";
1749
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult-container {\n margin-top: 1rem;\n border-top: 1px solid var(--mds-color-theme-background-secondary-normal);\n padding-top: 1rem;\n}\n\n.call-control-consult-container.no-border {\n margin-top: 0;\n padding-top: 0;\n border-top: none;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.cad-variables {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n margin-top: 1.3rem;\n}\n.cad-variables .queue,\n.cad-variables .phone-number,\n.cad-variables .rona {\n font-size: 1rem;\n color: var(--mds-color-theme-text-primary-normal);\n}\n.cad-variables .queue strong,\n.cad-variables .phone-number strong,\n.cad-variables .rona strong {\n font-weight: bold;\n}\n.cad-variables .queue span,\n.cad-variables .phone-number span,\n.cad-variables .rona span {\n font-weight: 250;\n}\n\n/* On-hold chip styling */\n.on-hold {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.2rem 0.6rem;\n border-radius: 2rem;\n background-color: var(--mds-color-theme-common-text-warning-hover);\n font-size: 0.875rem;\n font-weight: 500;\n}\n.on-hold .call-hold-filled-icon {\n width: 1rem;\n height: 1rem;\n color: var(--mds-color-theme-avatar-yellow);\n}\n.on-hold .on-hold-chip-text {\n color: var(--mds-color-theme-avatar-yellow);\n}\n\n.recording-indicator {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--mds-color-theme-button-cancel-normal);\n z-index: 10;\n}\n\n.dot {\n color: var(--mds-color-theme-inverted-outline-button-normal);\n font-size: 0.875rem;\n display: inline;\n filter: brightness(0.1);\n}\n\n.caller-info {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.customer-info {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.call-details {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.call-status {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n flex-wrap: nowrap;\n}\n\n.call-icon-background {\n width: 2.2rem;\n height: 2.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n margin-top: -0.25rem;\n flex-shrink: 0;\n}\n.call-icon-background .call-icon {\n color: var(--mds-color-theme-common-touchbar-background-green-normal);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControlCAD/call-control-cad.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1749
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.cad-variables {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n margin-top: 1.3rem;\n}\n.cad-variables .queue,\n.cad-variables .phone-number,\n.cad-variables .rona {\n font-size: 1rem;\n color: var(--mds-color-theme-text-primary-normal);\n}\n.cad-variables .queue strong,\n.cad-variables .phone-number strong,\n.cad-variables .rona strong {\n font-weight: bold;\n}\n.cad-variables .queue span,\n.cad-variables .phone-number span,\n.cad-variables .rona span {\n font-weight: 250;\n}\n\n/* On-hold chip styling */\n.on-hold {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.2rem 0.6rem;\n border-radius: 2rem;\n background-color: var(--mds-color-theme-common-text-warning-hover);\n font-size: 0.875rem;\n font-weight: 500;\n}\n.on-hold .call-hold-filled-icon {\n width: 1rem;\n height: 1rem;\n color: var(--mds-color-theme-avatar-yellow);\n}\n.on-hold .on-hold-chip-text {\n color: var(--mds-color-theme-avatar-yellow);\n}\n\n.recording-indicator {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--mds-color-theme-button-cancel-normal);\n z-index: 10;\n}\n\n.dot {\n color: var(--mds-color-theme-inverted-outline-button-normal);\n font-size: 0.875rem;\n display: inline;\n filter: brightness(0.1);\n}\n\n.caller-info {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.customer-info {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.call-details {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.call-status {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n flex-wrap: nowrap;\n}\n\n.call-icon-background {\n width: 2.2rem;\n height: 2.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n margin-top: -0.25rem;\n flex-shrink: 0;\n}\n.call-icon-background .call-icon {\n color: var(--mds-color-theme-common-touchbar-background-green-normal);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControlCAD/call-control-cad.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1750
1750
 
1751
1751
  /***/ }),
1752
1752
 
@@ -2043,7 +2043,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
2043
2043
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2044
2044
 
2045
2045
  "use strict";
2046
- eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importStar(__webpack_require__(/*! react */ \"react\"));\n__webpack_require__(/*! ./call-control.styles.scss */ \"./src/components/task/CallControl/call-control.styles.scss\");\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst collections_1 = __webpack_require__(/*! @react-stately/collections */ \"../../../node_modules/@react-stately/collections/dist/main.js\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\nconst consult_transfer_popover_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/consult-transfer-popover */ \"./src/components/task/CallControl/CallControlCustom/consult-transfer-popover.tsx\"));\nconst call_control_consult_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/call-control-consult */ \"./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx\"));\nfunction CallControlComponent(props) {\n const [selectedWrapupReason, setSelectedWrapupReason] = (0, react_1.useState)(null);\n const [selectedWrapupId, setSelectedWrapupId] = (0, react_1.useState)(null);\n const [showAgentMenu, setShowAgentMenu] = (0, react_1.useState)(false);\n const [agentMenuType, setAgentMenuType] = (0, react_1.useState)(null);\n const [lastTargetType, setLastTargetType] = (0, react_1.useState)('agent');\n const { currentTask, toggleHold, toggleRecording, endCall, wrapupCall, wrapupCodes, wrapupRequired, isHeld, setIsHeld, isRecording, setIsRecording, buddyAgents, loadBuddyAgents, queues, loadQueues, transferCall, consultCall, endConsultCall, consultTransfer, consultInitiated, consultCompleted, consultAccepted, consultStartTimeStamp, callControlAudio, consultAgentName, setConsultAgentName, consultAgentId, setConsultAgentId, isEndConsultEnabled, allowConsultToQueue, } = props;\n (0, react_1.useEffect)(() => {\n if (!currentTask || !currentTask.data || !currentTask.data.interaction)\n return;\n const { interaction, mediaResourceId } = currentTask.data;\n const { media, callProcessingDetails } = interaction;\n const isHold = media && media[mediaResourceId] && media[mediaResourceId].isHold;\n setIsHeld(isHold);\n if (callProcessingDetails) {\n const { isPaused } = callProcessingDetails;\n setIsRecording(!isPaused);\n }\n }, [currentTask]);\n const handletoggleHold = () => {\n toggleHold(!isHeld);\n setIsHeld(!isHeld);\n };\n const handleWrapupCall = () => {\n if (selectedWrapupReason && selectedWrapupId) {\n wrapupCall(selectedWrapupReason, selectedWrapupId);\n setSelectedWrapupReason(null);\n setSelectedWrapupId(null);\n }\n };\n const handleWrapupChange = (text, value) => {\n setSelectedWrapupReason(text);\n setSelectedWrapupId(value);\n };\n const handleTargetSelect = (id, name, type) => {\n if (agentMenuType === 'Consult') {\n try {\n consultCall(id, type);\n setConsultAgentId(id);\n setConsultAgentName(name);\n setLastTargetType(type);\n }\n catch (error) {\n throw new Error('Error during consult call', error);\n }\n }\n else if (agentMenuType === 'Transfer') {\n try {\n transferCall(id, type);\n }\n catch (error) {\n throw new Error('Error during transfer call', error);\n }\n }\n };\n const handlePopoverOpen = (menuType) => {\n if (showAgentMenu && agentMenuType === menuType) {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }\n else {\n setAgentMenuType(menuType);\n setShowAgentMenu(true);\n loadBuddyAgents();\n loadQueues();\n }\n };\n const buttons = [\n {\n id: 'hold',\n icon: isHeld ? 'play-bold' : 'pause-bold',\n onClick: () => handletoggleHold(),\n tooltip: isHeld ? 'Resume the call' : 'Hold the call',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'consult',\n icon: 'headset-bold',\n tooltip: 'Consult with another agent',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Consult',\n },\n {\n id: 'transfer',\n icon: 'next-bold',\n tooltip: 'Transfer call',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Transfer',\n },\n {\n id: 'record',\n icon: isRecording ? 'record-paused-bold' : 'record-bold',\n onClick: () => toggleRecording(),\n tooltip: isRecording ? 'Pause Recording' : 'Resume Recording',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'end',\n icon: 'cancel-regular',\n onClick: endCall,\n tooltip: 'End call',\n className: 'call-control-button-cancel',\n disabled: isHeld,\n },\n ];\n const filteredButtons = consultInitiated\n ? buttons.filter((button) => !['hold', 'consult'].includes(button.id))\n : buttons;\n if (!currentTask)\n return null;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"audio\", { ref: (audioElement) => {\n if (audioElement && callControlAudio) {\n audioElement.srcObject = callControlAudio;\n }\n }, id: \"remote-audio\", autoPlay: true }),\n react_1.default.createElement(\"div\", { className: \"call-control-container\", \"data-testid\": \"call-control-container\" },\n !consultAccepted && !wrapupRequired && (react_1.default.createElement(\"div\", { className: \"button-group\" }, filteredButtons.map((button, index) => {\n if (button.menuType) {\n return (react_1.default.createElement(react_collaboration_1.PopoverNext, { key: index, onHide: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }, color: \"primary\", delay: [0, 0], placement: \"bottom\", showArrow: true, variant: \"medium\", interactive: true, offsetDistance: 2, className: \"agent-popover\", trigger: \"click\", closeButtonPlacement: \"top-right\", closeButtonProps: {\n 'aria-label': 'Close popover',\n onPress: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n },\n outline: true,\n }, triggerComponent: react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, \"aria-label\": button.tooltip, disabled: button.disabled || consultInitiated, \"data-testid\": \"ButtonCircle\", onPress: () => handlePopoverOpen(button.menuType) },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)) }, showAgentMenu && agentMenuType === button.menuType ? (react_1.default.createElement(consult_transfer_popover_1.default, { heading: button.menuType, buttonIcon: button.icon, buddyAgents: buddyAgents, queues: queues, onAgentSelect: (agentId, agentName) => handleTargetSelect(agentId, agentName, 'agent'), onQueueSelect: (queueId, queueName) => handleTargetSelect(queueId, queueName, 'queue'), allowConsultToQueue: allowConsultToQueue })) : null));\n }\n return (react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, onPress: button.onClick, disabled: button.disabled || consultInitiated, \"aria-label\": button.tooltip },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)));\n }))),\n wrapupRequired && (react_1.default.createElement(\"div\", { className: \"wrapup-group\" },\n react_1.default.createElement(react_collaboration_1.PopoverNext, { color: \"primary\", delay: [0, 0], placement: \"bottom-start\", showArrow: true, trigger: \"click\", triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"wrapup-button\" },\n \"Wrap up\",\n react_1.default.createElement(react_2.Icon, { name: \"arrow-down-bold\" })), variant: \"medium\", interactive: true, offsetDistance: 2, className: \"wrapup-popover\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-large-bold\" }, \"Wrap-up Interaction\"),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-secondary\" }, \"Wrap-up reason\"),\n react_1.default.createElement(react_collaboration_1.SelectNext, { \"aria-label\": \"wrapup-reason\", className: \"wrapup-select\", onSelectionChange: (key) => {\n const selectedItem = wrapupCodes === null || wrapupCodes === void 0 ? void 0 : wrapupCodes.find((code) => code.id === key);\n handleWrapupChange(selectedItem.name, selectedItem.id);\n }, items: wrapupCodes, showBorder: false, placeholder: \"Select\" }, (item) => (react_1.default.createElement(collections_1.Item, { key: item.id, textValue: item.name },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-name\", tagName: 'small' }, item.name)))),\n react_1.default.createElement(react_2.Icon, { className: \"wrapup-select-arrow-icon\", name: \"arrow-down-bold\", title: \"\" }),\n react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"submit-wrapup-button\", onPress: handleWrapupCall, disabled: selectedWrapupId && selectedWrapupReason ? false : true, \"aria-label\": \"Submit wrap-up\" }, \"Submit & Wrap up\")))),\n (consultAccepted || consultInitiated) && !wrapupRequired && (react_1.default.createElement(\"div\", { className: `call-control-consult-container ${consultAccepted ? 'no-border' : ''}` },\n react_1.default.createElement(call_control_consult_1.default, { agentName: consultAgentName, startTimeStamp: consultStartTimeStamp, endConsultCall: endConsultCall, onTransfer: () => consultTransfer(consultAgentId || currentTask.data.destAgentId, lastTargetType), consultCompleted: consultCompleted, isAgentBeingConsulted: !consultAccepted, isEndConsultEnabled: isEndConsultEnabled }))))));\n}\nexports[\"default\"] = CallControlComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.tsx?");
2046
+ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importStar(__webpack_require__(/*! react */ \"react\"));\n__webpack_require__(/*! ./call-control.styles.scss */ \"./src/components/task/CallControl/call-control.styles.scss\");\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst collections_1 = __webpack_require__(/*! @react-stately/collections */ \"../../../node_modules/@react-stately/collections/dist/main.js\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\nconst consult_transfer_popover_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/consult-transfer-popover */ \"./src/components/task/CallControl/CallControlCustom/consult-transfer-popover.tsx\"));\nfunction CallControlComponent(props) {\n const [selectedWrapupReason, setSelectedWrapupReason] = (0, react_1.useState)(null);\n const [selectedWrapupId, setSelectedWrapupId] = (0, react_1.useState)(null);\n const [showAgentMenu, setShowAgentMenu] = (0, react_1.useState)(false);\n const [agentMenuType, setAgentMenuType] = (0, react_1.useState)(null);\n const { currentTask, toggleHold, toggleRecording, endCall, wrapupCall, wrapupCodes, wrapupRequired, isHeld, setIsHeld, isRecording, setIsRecording, buddyAgents, loadBuddyAgents, queues, loadQueues, transferCall, consultCall, consultInitiated, consultAccepted, callControlAudio, setConsultAgentName, setConsultAgentId, allowConsultToQueue, setLastTargetType, } = props;\n (0, react_1.useEffect)(() => {\n if (!currentTask || !currentTask.data || !currentTask.data.interaction)\n return;\n const { interaction, mediaResourceId } = currentTask.data;\n const { media, callProcessingDetails } = interaction;\n const isHold = media && media[mediaResourceId] && media[mediaResourceId].isHold;\n setIsHeld(isHold);\n if (callProcessingDetails) {\n const { isPaused } = callProcessingDetails;\n setIsRecording(!isPaused);\n }\n }, [currentTask]);\n const handletoggleHold = () => {\n toggleHold(!isHeld);\n setIsHeld(!isHeld);\n };\n const handleWrapupCall = () => {\n if (selectedWrapupReason && selectedWrapupId) {\n wrapupCall(selectedWrapupReason, selectedWrapupId);\n setSelectedWrapupReason(null);\n setSelectedWrapupId(null);\n }\n };\n const handleWrapupChange = (text, value) => {\n setSelectedWrapupReason(text);\n setSelectedWrapupId(value);\n };\n const handleTargetSelect = (id, name, type) => {\n if (agentMenuType === 'Consult') {\n try {\n consultCall(id, type);\n setConsultAgentId(id);\n setConsultAgentName(name);\n setLastTargetType(type);\n }\n catch (error) {\n throw new Error('Error during consult call', error);\n }\n }\n else if (agentMenuType === 'Transfer') {\n try {\n transferCall(id, type);\n }\n catch (error) {\n throw new Error('Error during transfer call', error);\n }\n }\n };\n const handlePopoverOpen = (menuType) => {\n if (showAgentMenu && agentMenuType === menuType) {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }\n else {\n setAgentMenuType(menuType);\n setShowAgentMenu(true);\n loadBuddyAgents();\n loadQueues();\n }\n };\n const buttons = [\n {\n id: 'hold',\n icon: isHeld ? 'play-bold' : 'pause-bold',\n onClick: () => handletoggleHold(),\n tooltip: isHeld ? 'Resume the call' : 'Hold the call',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'consult',\n icon: 'headset-bold',\n tooltip: 'Consult with another agent',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Consult',\n },\n {\n id: 'transfer',\n icon: 'next-bold',\n tooltip: 'Transfer call',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Transfer',\n },\n {\n id: 'record',\n icon: isRecording ? 'record-paused-bold' : 'record-bold',\n onClick: () => toggleRecording(),\n tooltip: isRecording ? 'Pause Recording' : 'Resume Recording',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'end',\n icon: 'cancel-regular',\n onClick: endCall,\n tooltip: 'End call',\n className: 'call-control-button-cancel',\n disabled: isHeld,\n },\n ];\n const filteredButtons = consultInitiated\n ? buttons.filter((button) => !['hold', 'consult'].includes(button.id))\n : buttons;\n if (!currentTask)\n return null;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"audio\", { ref: (audioElement) => {\n if (audioElement && callControlAudio) {\n audioElement.srcObject = callControlAudio;\n }\n }, id: \"remote-audio\", autoPlay: true }),\n react_1.default.createElement(\"div\", { className: \"call-control-container\", \"data-testid\": \"call-control-container\" },\n !consultAccepted && !wrapupRequired && (react_1.default.createElement(\"div\", { className: \"button-group\" }, filteredButtons.map((button, index) => {\n if (button.menuType) {\n return (react_1.default.createElement(react_collaboration_1.PopoverNext, { key: index, onHide: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }, color: \"primary\", delay: [0, 0], placement: \"bottom\", showArrow: true, variant: \"medium\", interactive: true, offsetDistance: 2, className: \"agent-popover\", trigger: \"click\", closeButtonPlacement: \"top-right\", closeButtonProps: {\n 'aria-label': 'Close popover',\n onPress: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n },\n outline: true,\n }, triggerComponent: react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, \"aria-label\": button.tooltip, disabled: button.disabled || consultInitiated, \"data-testid\": \"ButtonCircle\", onPress: () => handlePopoverOpen(button.menuType) },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)) }, showAgentMenu && agentMenuType === button.menuType ? (react_1.default.createElement(consult_transfer_popover_1.default, { heading: button.menuType, buttonIcon: button.icon, buddyAgents: buddyAgents, queues: queues, onAgentSelect: (agentId, agentName) => handleTargetSelect(agentId, agentName, 'agent'), onQueueSelect: (queueId, queueName) => handleTargetSelect(queueId, queueName, 'queue'), allowConsultToQueue: allowConsultToQueue })) : null));\n }\n return (react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, onPress: button.onClick, disabled: button.disabled || consultInitiated, \"aria-label\": button.tooltip },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)));\n }))),\n wrapupRequired && (react_1.default.createElement(\"div\", { className: \"wrapup-group\" },\n react_1.default.createElement(react_collaboration_1.PopoverNext, { color: \"primary\", delay: [0, 0], placement: \"bottom-start\", showArrow: true, trigger: \"click\", triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"wrapup-button\" },\n \"Wrap up\",\n react_1.default.createElement(react_2.Icon, { name: \"arrow-down-bold\" })), variant: \"medium\", interactive: true, offsetDistance: 2, className: \"wrapup-popover\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-large-bold\" }, \"Wrap-up Interaction\"),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-secondary\" }, \"Wrap-up reason\"),\n react_1.default.createElement(react_collaboration_1.SelectNext, { \"aria-label\": \"wrapup-reason\", className: \"wrapup-select\", onSelectionChange: (key) => {\n const selectedItem = wrapupCodes === null || wrapupCodes === void 0 ? void 0 : wrapupCodes.find((code) => code.id === key);\n handleWrapupChange(selectedItem.name, selectedItem.id);\n }, items: wrapupCodes, showBorder: false, placeholder: \"Select\" }, (item) => (react_1.default.createElement(collections_1.Item, { key: item.id, textValue: item.name },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-name\", tagName: 'small' }, item.name)))),\n react_1.default.createElement(react_2.Icon, { className: \"wrapup-select-arrow-icon\", name: \"arrow-down-bold\", title: \"\" }),\n react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"submit-wrapup-button\", onPress: handleWrapupCall, disabled: selectedWrapupId && selectedWrapupReason ? false : true, \"aria-label\": \"Submit wrap-up\" }, \"Submit & Wrap up\")))))));\n}\nexports[\"default\"] = CallControlComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.tsx?");
2047
2047
 
2048
2048
  /***/ }),
2049
2049
 
@@ -2054,7 +2054,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
2054
2054
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2055
2055
 
2056
2056
  "use strict";
2057
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importDefault(__webpack_require__(/*! react */ \"react\"));\nconst call_control_1 = __importDefault(__webpack_require__(/*! ../CallControl/call-control */ \"./src/components/task/CallControl/call-control.tsx\"));\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\n__webpack_require__(/*! ./call-control-cad.styles.scss */ \"./src/components/task/CallControlCAD/call-control-cad.styles.scss\");\nconst index_1 = __importDefault(__webpack_require__(/*! ../TaskTimer/index */ \"./src/components/task/TaskTimer/index.tsx\"));\nconst CallControlCADComponent = (props) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n const { currentTask, isHeld, isRecording, holdTime, wrapupRequired } = props;\n // Use the Web Worker-based hold timer\n const formatTime = (time) => {\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = time % 60;\n return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n };\n if (!currentTask)\n return null;\n return (react_1.default.createElement(\"div\", { className: \"call-control-container\" },\n react_1.default.createElement(\"div\", { className: \"caller-info\" },\n react_1.default.createElement(\"div\", { className: \"call-icon-background\" },\n react_1.default.createElement(react_2.Icon, { name: \"handset-filled\", size: 1, className: \"call-icon\" })),\n react_1.default.createElement(\"div\", { className: \"customer-info\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"customer-id\", type: \"body-large-bold\", tagName: 'small' }, ((_c = (_b = (_a = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _a === void 0 ? void 0 : _a.interaction) === null || _b === void 0 ? void 0 : _b.callAssociatedDetails) === null || _c === void 0 ? void 0 : _c.ani) || 'No Caller ID'),\n react_1.default.createElement(\"div\", { className: \"call-details\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"call-timer\", type: \"body-secondary\", tagName: 'small' },\n \"Call - \",\n react_1.default.createElement(index_1.default, { startTimeStamp: (_e = (_d = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _d === void 0 ? void 0 : _d.interaction) === null || _e === void 0 ? void 0 : _e.startTime })),\n react_1.default.createElement(\"div\", { className: \"call-status\" }, !wrapupRequired && isHeld && (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"span\", { className: \"dot\" }, \"\\u2022\"),\n react_1.default.createElement(\"div\", { className: \"on-hold\" },\n react_1.default.createElement(react_2.Icon, { name: \"call-hold-filled\", size: 1, className: \"call-hold-filled-icon\" }),\n react_1.default.createElement(\"span\", { className: \"on-hold-chip-text\" },\n \"On hold - \",\n formatTime(holdTime))))))))),\n react_1.default.createElement(\"div\", { className: \"recording-indicator\" },\n react_1.default.createElement(react_2.Icon, { name: isRecording ? 'record-active-badge-filled' : 'record-paused-badge-filled', size: 1.3 })),\n react_1.default.createElement(call_control_1.default, Object.assign({}, props)),\n react_1.default.createElement(\"div\", { className: \"cad-variables\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"queue\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"Queue:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_h = (_g = (_f = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _f === void 0 ? void 0 : _f.interaction) === null || _g === void 0 ? void 0 : _g.callAssociatedDetails) === null || _h === void 0 ? void 0 : _h.virtualTeamName) || 'No Team Name')),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"phone-number\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"Phone number:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_l = (_k = (_j = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _j === void 0 ? void 0 : _j.interaction) === null || _k === void 0 ? void 0 : _k.callAssociatedDetails) === null || _l === void 0 ? void 0 : _l.ani) || 'No Phone Number')),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"rona\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"RONA:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_p = (_o = (_m = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _m === void 0 ? void 0 : _m.interaction) === null || _o === void 0 ? void 0 : _o.callAssociatedDetails) === null || _p === void 0 ? void 0 : _p.ronaTimeout) || 'No RONA')))));\n};\nexports[\"default\"] = CallControlCADComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControlCAD/call-control-cad.tsx?");
2057
+ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importDefault(__webpack_require__(/*! react */ \"react\"));\nconst call_control_1 = __importDefault(__webpack_require__(/*! ../CallControl/call-control */ \"./src/components/task/CallControl/call-control.tsx\"));\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\n__webpack_require__(/*! ./call-control-cad.styles.scss */ \"./src/components/task/CallControlCAD/call-control-cad.styles.scss\");\nconst index_1 = __importDefault(__webpack_require__(/*! ../TaskTimer/index */ \"./src/components/task/TaskTimer/index.tsx\"));\nconst call_control_consult_1 = __importDefault(__webpack_require__(/*! ../CallControl/CallControlCustom/call-control-consult */ \"./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx\"));\nconst CallControlCADComponent = (props) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const { currentTask, isHeld, isRecording, holdTime, wrapupRequired, consultAccepted, consultInitiated, consultAgentName, consultStartTimeStamp, endConsultCall, consultAgentId, consultCompleted, consultTransfer, callControlClassName, callControlConsultClassName, startTimestamp, isEndConsultEnabled, lastTargetType, } = props;\n // Use the Web Worker-based hold timer\n const formatTime = (time) => {\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = time % 60;\n return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n };\n if (!currentTask)\n return null;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"div\", { className: `call-control-container ${callControlClassName || ''}` },\n react_1.default.createElement(\"div\", { className: \"caller-info\" },\n react_1.default.createElement(\"div\", { className: \"call-icon-background\" },\n react_1.default.createElement(react_2.Icon, { name: \"handset-filled\", size: 1, className: \"call-icon\" })),\n react_1.default.createElement(\"div\", { className: \"customer-info\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"customer-id\", type: \"body-large-bold\", tagName: 'small' }, ((_c = (_b = (_a = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _a === void 0 ? void 0 : _a.interaction) === null || _b === void 0 ? void 0 : _b.callAssociatedDetails) === null || _c === void 0 ? void 0 : _c.ani) || 'No Caller ID'),\n react_1.default.createElement(\"div\", { className: \"call-details\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"call-timer\", type: \"body-secondary\", tagName: 'small' },\n \"Call - \",\n react_1.default.createElement(index_1.default, { startTimeStamp: startTimestamp })),\n react_1.default.createElement(\"div\", { className: \"call-status\" }, !wrapupRequired && isHeld && (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"span\", { className: \"dot\" }, \"\\u2022\"),\n react_1.default.createElement(\"div\", { className: \"on-hold\" },\n react_1.default.createElement(react_2.Icon, { name: \"call-hold-filled\", size: 1, className: \"call-hold-filled-icon\" }),\n react_1.default.createElement(\"span\", { className: \"on-hold-chip-text\" },\n \"On hold - \",\n formatTime(holdTime))))))))),\n !wrapupRequired && (react_1.default.createElement(\"div\", { className: \"recording-indicator\" },\n react_1.default.createElement(react_2.Icon, { name: isRecording ? 'record-active-badge-filled' : 'record-paused-badge-filled', size: 1.3 }))),\n react_1.default.createElement(call_control_1.default, Object.assign({}, props)),\n react_1.default.createElement(\"div\", { className: \"cad-variables\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"queue\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"Queue:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_f = (_e = (_d = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _d === void 0 ? void 0 : _d.interaction) === null || _e === void 0 ? void 0 : _e.callAssociatedDetails) === null || _f === void 0 ? void 0 : _f.virtualTeamName) || 'No Team Name')),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"phone-number\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"Phone number:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_j = (_h = (_g = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _g === void 0 ? void 0 : _g.interaction) === null || _h === void 0 ? void 0 : _h.callAssociatedDetails) === null || _j === void 0 ? void 0 : _j.ani) || 'No Phone Number')),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"rona\", type: \"body-secondary\", tagName: 'small' },\n react_1.default.createElement(\"strong\", null, \"RONA:\"),\n ' ',\n react_1.default.createElement(\"span\", null, ((_m = (_l = (_k = currentTask === null || currentTask === void 0 ? void 0 : currentTask.data) === null || _k === void 0 ? void 0 : _k.interaction) === null || _l === void 0 ? void 0 : _l.callAssociatedDetails) === null || _m === void 0 ? void 0 : _m.ronaTimeout) || 'No RONA')))),\n (consultAccepted || consultInitiated) && !wrapupRequired && (react_1.default.createElement(\"div\", { className: `call-control-consult-container ${callControlConsultClassName || ''}` },\n react_1.default.createElement(call_control_consult_1.default, { agentName: consultAgentName, startTimeStamp: consultStartTimeStamp, endConsultCall: endConsultCall, onTransfer: () => consultTransfer(consultAgentId || currentTask.data.destAgentId, lastTargetType), consultCompleted: consultCompleted, isAgentBeingConsulted: !consultAccepted, isEndConsultEnabled: isEndConsultEnabled })))));\n};\nexports[\"default\"] = CallControlCADComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControlCAD/call-control-cad.tsx?");
2058
2058
 
2059
2059
  /***/ }),
2060
2060
 
@@ -225,6 +225,18 @@ export interface ControlProps {
225
225
  * Time since the task is in held state
226
226
  */
227
227
  holdTime: number;
228
+ /**
229
+ * Custom CSS ClassName for CallControlCAD component.
230
+ */
231
+ callControlClassName?: string;
232
+ /**
233
+ * Custom CSS ClassName for CallControlConsult component.
234
+ */
235
+ callControlConsultClassName?: string;
236
+ /**
237
+ * Start time of the call.
238
+ */
239
+ startTimestamp?: number;
228
240
  /**
229
241
  * List of contact queues available for consult
230
242
  */
@@ -241,8 +253,16 @@ export interface ControlProps {
241
253
  * Flag to determine if the consulting to queue is enabled for the agent
242
254
  */
243
255
  allowConsultToQueue: boolean;
256
+ /**
257
+ * Function to set the last target type
258
+ */
259
+ lastTargetType: 'queue' | 'agent';
260
+ /**
261
+ * Function to set the last target type
262
+ */
263
+ setLastTargetType: (targetType: 'queue' | 'agent') => void;
244
264
  }
245
- export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | 'wrapupCodes' | 'wrapupRequired' | 'toggleHold' | 'toggleRecording' | 'endCall' | 'wrapupCall' | 'isHeld' | 'setIsHeld' | 'isRecording' | 'setIsRecording' | 'buddyAgents' | 'loadBuddyAgents' | 'transferCall' | 'consultCall' | 'endConsultCall' | 'consultInitiated' | 'consultTransfer' | 'consultCompleted' | 'consultAccepted' | 'consultStartTimeStamp' | 'callControlAudio' | 'consultAgentName' | 'setConsultAgentName' | 'consultAgentId' | 'setConsultAgentId' | 'holdTime' | 'queues' | 'loadQueues' | 'isEndConsultEnabled' | 'allowConsultToQueue'>;
265
+ export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | 'wrapupCodes' | 'wrapupRequired' | 'toggleHold' | 'toggleRecording' | 'endCall' | 'wrapupCall' | 'isHeld' | 'setIsHeld' | 'isRecording' | 'setIsRecording' | 'buddyAgents' | 'loadBuddyAgents' | 'transferCall' | 'consultCall' | 'endConsultCall' | 'consultInitiated' | 'consultTransfer' | 'consultCompleted' | 'consultAccepted' | 'consultStartTimeStamp' | 'callControlAudio' | 'consultAgentName' | 'setConsultAgentName' | 'consultAgentId' | 'setConsultAgentId' | 'holdTime' | 'callControlClassName' | 'callControlConsultClassName' | 'startTimestamp' | 'queues' | 'loadQueues' | 'isEndConsultEnabled' | 'allowConsultToQueue' | 'lastTargetType' | 'setLastTargetType'>;
246
266
  /**
247
267
  * Interface representing the properties for OutdialCall component.
248
268
  */
package/dist/wc.js CHANGED
@@ -1735,7 +1735,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1735
1735
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1736
1736
 
1737
1737
  "use strict";
1738
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult-container {\n margin-top: 1rem;\n border-top: 1px solid var(--mds-color-theme-background-secondary-normal);\n padding-top: 1rem;\n}\n\n.call-control-consult-container.no-border {\n margin-top: 0;\n padding-top: 0;\n border-top: none;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1738
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tooltip.md-modal-container-wrapper {\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.tooltip .md-modal-container-arrow-wrapper .md-modal-arrow-svg path {\n fill: var(--mds-color-theme-inverted-background-normal) !important;\n}\n\n.call-control-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.call-control-container .md-select-dropdown-input {\n flex-grow: 1;\n display: flex;\n border: 0.0625rem;\n align-self: flex-start;\n}\n\n.button-group {\n display: flex;\n gap: 0.5rem; /* Reduced gap between buttons/tooltips */\n margin-top: 1rem;\n}\n\n.wrapup-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* Reduced gap between select and button */\n margin-top: 1rem;\n}\n\n.wrapup-name {\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.wrapup-select {\n flex-grow: 1;\n padding: 0.5rem;\n margin-top: 0.5rem;\n margin-bottom: 0.75rem;\n border: 0.0625rem solid #ccc;\n border-radius: 0.25rem;\n align-self: flex-start;\n}\n\n.wrapup-select-arrow-icon {\n position: absolute;\n right: 1.5rem; /* Adjusted to leave space for the arrow icon */\n top: 55%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n z-index: 1;\n}\n\n.submit-wrapup-button {\n align-self: flex-end;\n}\n\n.wrapup-header {\n margin-bottom: 0.7rem;\n align-self: flex-start;\n}\n\n.md-select-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n border: 0;\n}\n\n[id*=tippy] {\n border: 0.0625rem solid var(--mds-color-theme-outline-input-normal);\n background-color: var(--mds-color-theme-background-glass-overlay-normal);\n border-radius: 0.5rem;\n}\n\n.md-button-circle-wrapper.call-control-button {\n width: 1rem;\n height: 1rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 1px solid var(--mds-color-theme-outline-button-normal);\n}\n.md-button-circle-wrapper.call-control-button:hover, .md-button-circle-wrapper.call-control-button.hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.md-button-circle-wrapper.call-control-button-cancel {\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n min-height: 2rem;\n padding: 0.5rem;\n color: var(--mds-color-theme-inverted-text-primary-normal);\n background-color: var(--mds-color-theme-button-cancel-normal);\n border: 0.0625rem solid var(--mds-color-theme-background-secondary-normal);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.md-button-circle-wrapper.call-control-button-cancel:hover, .md-button-circle-wrapper.call-control-button-cancel.hover {\n background-color: var(--mds-color-theme-button-cancel-hover);\n}\n\n.call-control-button-icon {\n --mdc-icon-fill-color: var(--mds--color-theme-button-secondary-normal);\n}\n\n.md-button-circle-wrapper.call-control-consult-button-cancel {\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-button-cancel-normal);\n}\n.md-button-circle-wrapper.call-control-consult-button-cancel:hover {\n background-color: var(--mds-color-theme-button-secondary-hover);\n}\n\n.call-control-consult-button-cancel-icon {\n --mdc-icon-fill-color: var(--mds-color-theme-button-cancel-normal);\n}\n\n.wrapup-button {\n display: inline-flex;\n justify-content: center;\n width: 8rem;\n background-color: var(--mds-color-theme-button-secondary-normal);\n border: 0.0625rem solid var(--mds-color-theme-outline-button-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n.wrapup-button:hover, .wrapup-button.hover {\n background-color: var(--mds-color-theme-button-secondary-normal);\n color: var(--mds-color-theme-text-primary-normal);\n}\n\n.agent-popover .agent-popover-content {\n display: flex;\n flex-direction: column;\n padding: 1rem 0.5rem 0.5rem 1rem;\n width: 30rem;\n height: 25rem;\n gap: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-popover-title {\n margin: 0 0 0 0;\n margin-bottom: 1rem;\n text-align: left;\n}\n.agent-popover .agent-popover-content .agent-agent-item {\n padding: 0.5rem;\n cursor: pointer;\n border-radius: 0.25rem;\n}\n.agent-popover .agent-popover-content .agent-agent-item:hover {\n background-color: var(--mds-color-theme-background-secondary-hover);\n}\n.agent-popover .agent-tablist {\n margin-bottom: 1rem;\n}\n.agent-popover .agent-tablist .agent-tab {\n margin: 0 !important;\n}\n.agent-popover .agent-agent-list {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.agent-popover button.md-button-circle-wrapper.md-popover-close-button.md-button-simple-wrapper {\n display: none;\n}\n\n.call-control-list-item .hover-button {\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n}\n\n.call-control-list-item:hover .hover-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n.custom-text {\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.call-control-consult .consult-sub-text {\n margin-top: 0.25rem !important;\n}\n\n.consult-header {\n display: flex;\n align-content: center;\n gap: 0.5rem;\n}\n\n.consult-agent-name {\n line-height: 0;\n margin-top: -8px;\n}\n\n.consult-buttons-container {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n}\n\n.task-avatar {\n --mdc-avatar-default-background-color: var(--mds-color-theme-avatar-pressed);\n --mdc-avatar-default-foreground-color: var(--mds-color-theme-indicator-stable);\n margin-right: 0.25rem;\n}\n\n.md-button-circle-wrapper.call-control-button[disabled],\n.md-button-circle-wrapper.call-control-button.shallowDisabled,\n.md-button-circle-wrapper.call-control-button:disabled {\n outline-color: var(--mds-color-theme-button-primary-disabled);\n border-color: var(--mds-color-theme-button-primary-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.styles.scss?../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js");
1739
1739
 
1740
1740
  /***/ }),
1741
1741
 
@@ -1970,17 +1970,6 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
1970
1970
 
1971
1971
  /***/ }),
1972
1972
 
1973
- /***/ "./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx":
1974
- /*!************************************************************************************!*\
1975
- !*** ./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx ***!
1976
- \************************************************************************************/
1977
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1978
-
1979
- "use strict";
1980
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importDefault(__webpack_require__(/*! react */ \"react\"));\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\nconst TaskTimer_1 = __importDefault(__webpack_require__(/*! ../../TaskTimer */ \"./src/components/task/TaskTimer/index.tsx\"));\nconst CallControlConsultComponent = ({ agentName, startTimeStamp, onTransfer, endConsultCall, consultCompleted, isAgentBeingConsulted, isEndConsultEnabled, }) => {\n const timerKey = `timer-${startTimeStamp}`;\n const handleTransfer = () => {\n try {\n if (onTransfer) {\n onTransfer();\n }\n }\n catch (error) {\n throw new Error('Error transferring call:', error);\n }\n };\n const handleEndConsult = () => {\n try {\n endConsultCall();\n }\n catch (error) {\n throw new Error('Error ending consult call:', error);\n }\n };\n const buttons = [\n {\n key: 'transfer',\n icon: 'next-bold',\n tooltip: 'Transfer Consult',\n onClick: handleTransfer,\n className: 'call-control-button',\n disabled: !consultCompleted,\n shouldShow: isAgentBeingConsulted && !!onTransfer,\n },\n {\n key: 'cancel',\n icon: 'headset-muted-bold',\n tooltip: 'End Consult',\n onClick: handleEndConsult,\n className: 'call-control-consult-button-cancel',\n shouldShow: isEndConsultEnabled || isAgentBeingConsulted,\n },\n ];\n // Filter buttons that should be shown, then map them\n const visibleButtons = buttons.filter((button) => button.shouldShow);\n return (react_1.default.createElement(\"div\", { className: \"call-control-consult\" },\n react_1.default.createElement(\"div\", { className: \"consult-header\" },\n react_1.default.createElement(react_2.Avatar, { iconName: \"handset-filled\", className: \"task-avatar\", size: 32 }),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(react_collaboration_1.Text, { tagName: \"p\", type: \"body-large-bold\", className: \"consult-agent-name\" }, agentName),\n react_1.default.createElement(react_collaboration_1.Text, { tagName: \"p\", type: \"body-secondary\", className: \"consult-sub-text\" },\n consultCompleted ? 'Consulting' : 'Consult requested',\n \"\\u00A0\\u2022\\u00A0\",\n react_1.default.createElement(TaskTimer_1.default, { key: timerKey, startTimeStamp: startTimeStamp })))),\n react_1.default.createElement(\"div\", { className: \"consult-buttons consult-buttons-container\" }, visibleButtons.map((button) => (react_1.default.createElement(react_collaboration_1.TooltipNext, { key: button.key, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, onPress: button.onClick, disabled: button.disabled, \"data-testid\": `${button.key}-consult-btn` },\n react_1.default.createElement(react_2.Icon, { className: `${button.className}-icon`, name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)))))));\n};\nexports[\"default\"] = CallControlConsultComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx?");
1981
-
1982
- /***/ }),
1983
-
1984
1973
  /***/ "./src/components/task/CallControl/CallControlCustom/consult-transfer-list-item.tsx":
1985
1974
  /*!******************************************************************************************!*\
1986
1975
  !*** ./src/components/task/CallControl/CallControlCustom/consult-transfer-list-item.tsx ***!
@@ -2010,7 +1999,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
2010
1999
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2011
2000
 
2012
2001
  "use strict";
2013
- eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importStar(__webpack_require__(/*! react */ \"react\"));\n__webpack_require__(/*! ./call-control.styles.scss */ \"./src/components/task/CallControl/call-control.styles.scss\");\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst collections_1 = __webpack_require__(/*! @react-stately/collections */ \"../../../node_modules/@react-stately/collections/dist/main.js\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\nconst consult_transfer_popover_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/consult-transfer-popover */ \"./src/components/task/CallControl/CallControlCustom/consult-transfer-popover.tsx\"));\nconst call_control_consult_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/call-control-consult */ \"./src/components/task/CallControl/CallControlCustom/call-control-consult.tsx\"));\nfunction CallControlComponent(props) {\n const [selectedWrapupReason, setSelectedWrapupReason] = (0, react_1.useState)(null);\n const [selectedWrapupId, setSelectedWrapupId] = (0, react_1.useState)(null);\n const [showAgentMenu, setShowAgentMenu] = (0, react_1.useState)(false);\n const [agentMenuType, setAgentMenuType] = (0, react_1.useState)(null);\n const [lastTargetType, setLastTargetType] = (0, react_1.useState)('agent');\n const { currentTask, toggleHold, toggleRecording, endCall, wrapupCall, wrapupCodes, wrapupRequired, isHeld, setIsHeld, isRecording, setIsRecording, buddyAgents, loadBuddyAgents, queues, loadQueues, transferCall, consultCall, endConsultCall, consultTransfer, consultInitiated, consultCompleted, consultAccepted, consultStartTimeStamp, callControlAudio, consultAgentName, setConsultAgentName, consultAgentId, setConsultAgentId, isEndConsultEnabled, allowConsultToQueue, } = props;\n (0, react_1.useEffect)(() => {\n if (!currentTask || !currentTask.data || !currentTask.data.interaction)\n return;\n const { interaction, mediaResourceId } = currentTask.data;\n const { media, callProcessingDetails } = interaction;\n const isHold = media && media[mediaResourceId] && media[mediaResourceId].isHold;\n setIsHeld(isHold);\n if (callProcessingDetails) {\n const { isPaused } = callProcessingDetails;\n setIsRecording(!isPaused);\n }\n }, [currentTask]);\n const handletoggleHold = () => {\n toggleHold(!isHeld);\n setIsHeld(!isHeld);\n };\n const handleWrapupCall = () => {\n if (selectedWrapupReason && selectedWrapupId) {\n wrapupCall(selectedWrapupReason, selectedWrapupId);\n setSelectedWrapupReason(null);\n setSelectedWrapupId(null);\n }\n };\n const handleWrapupChange = (text, value) => {\n setSelectedWrapupReason(text);\n setSelectedWrapupId(value);\n };\n const handleTargetSelect = (id, name, type) => {\n if (agentMenuType === 'Consult') {\n try {\n consultCall(id, type);\n setConsultAgentId(id);\n setConsultAgentName(name);\n setLastTargetType(type);\n }\n catch (error) {\n throw new Error('Error during consult call', error);\n }\n }\n else if (agentMenuType === 'Transfer') {\n try {\n transferCall(id, type);\n }\n catch (error) {\n throw new Error('Error during transfer call', error);\n }\n }\n };\n const handlePopoverOpen = (menuType) => {\n if (showAgentMenu && agentMenuType === menuType) {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }\n else {\n setAgentMenuType(menuType);\n setShowAgentMenu(true);\n loadBuddyAgents();\n loadQueues();\n }\n };\n const buttons = [\n {\n id: 'hold',\n icon: isHeld ? 'play-bold' : 'pause-bold',\n onClick: () => handletoggleHold(),\n tooltip: isHeld ? 'Resume the call' : 'Hold the call',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'consult',\n icon: 'headset-bold',\n tooltip: 'Consult with another agent',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Consult',\n },\n {\n id: 'transfer',\n icon: 'next-bold',\n tooltip: 'Transfer call',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Transfer',\n },\n {\n id: 'record',\n icon: isRecording ? 'record-paused-bold' : 'record-bold',\n onClick: () => toggleRecording(),\n tooltip: isRecording ? 'Pause Recording' : 'Resume Recording',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'end',\n icon: 'cancel-regular',\n onClick: endCall,\n tooltip: 'End call',\n className: 'call-control-button-cancel',\n disabled: isHeld,\n },\n ];\n const filteredButtons = consultInitiated\n ? buttons.filter((button) => !['hold', 'consult'].includes(button.id))\n : buttons;\n if (!currentTask)\n return null;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"audio\", { ref: (audioElement) => {\n if (audioElement && callControlAudio) {\n audioElement.srcObject = callControlAudio;\n }\n }, id: \"remote-audio\", autoPlay: true }),\n react_1.default.createElement(\"div\", { className: \"call-control-container\", \"data-testid\": \"call-control-container\" },\n !consultAccepted && !wrapupRequired && (react_1.default.createElement(\"div\", { className: \"button-group\" }, filteredButtons.map((button, index) => {\n if (button.menuType) {\n return (react_1.default.createElement(react_collaboration_1.PopoverNext, { key: index, onHide: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }, color: \"primary\", delay: [0, 0], placement: \"bottom\", showArrow: true, variant: \"medium\", interactive: true, offsetDistance: 2, className: \"agent-popover\", trigger: \"click\", closeButtonPlacement: \"top-right\", closeButtonProps: {\n 'aria-label': 'Close popover',\n onPress: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n },\n outline: true,\n }, triggerComponent: react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, \"aria-label\": button.tooltip, disabled: button.disabled || consultInitiated, \"data-testid\": \"ButtonCircle\", onPress: () => handlePopoverOpen(button.menuType) },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)) }, showAgentMenu && agentMenuType === button.menuType ? (react_1.default.createElement(consult_transfer_popover_1.default, { heading: button.menuType, buttonIcon: button.icon, buddyAgents: buddyAgents, queues: queues, onAgentSelect: (agentId, agentName) => handleTargetSelect(agentId, agentName, 'agent'), onQueueSelect: (queueId, queueName) => handleTargetSelect(queueId, queueName, 'queue'), allowConsultToQueue: allowConsultToQueue })) : null));\n }\n return (react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, onPress: button.onClick, disabled: button.disabled || consultInitiated, \"aria-label\": button.tooltip },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)));\n }))),\n wrapupRequired && (react_1.default.createElement(\"div\", { className: \"wrapup-group\" },\n react_1.default.createElement(react_collaboration_1.PopoverNext, { color: \"primary\", delay: [0, 0], placement: \"bottom-start\", showArrow: true, trigger: \"click\", triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"wrapup-button\" },\n \"Wrap up\",\n react_1.default.createElement(react_2.Icon, { name: \"arrow-down-bold\" })), variant: \"medium\", interactive: true, offsetDistance: 2, className: \"wrapup-popover\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-large-bold\" }, \"Wrap-up Interaction\"),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-secondary\" }, \"Wrap-up reason\"),\n react_1.default.createElement(react_collaboration_1.SelectNext, { \"aria-label\": \"wrapup-reason\", className: \"wrapup-select\", onSelectionChange: (key) => {\n const selectedItem = wrapupCodes === null || wrapupCodes === void 0 ? void 0 : wrapupCodes.find((code) => code.id === key);\n handleWrapupChange(selectedItem.name, selectedItem.id);\n }, items: wrapupCodes, showBorder: false, placeholder: \"Select\" }, (item) => (react_1.default.createElement(collections_1.Item, { key: item.id, textValue: item.name },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-name\", tagName: 'small' }, item.name)))),\n react_1.default.createElement(react_2.Icon, { className: \"wrapup-select-arrow-icon\", name: \"arrow-down-bold\", title: \"\" }),\n react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"submit-wrapup-button\", onPress: handleWrapupCall, disabled: selectedWrapupId && selectedWrapupReason ? false : true, \"aria-label\": \"Submit wrap-up\" }, \"Submit & Wrap up\")))),\n (consultAccepted || consultInitiated) && !wrapupRequired && (react_1.default.createElement(\"div\", { className: `call-control-consult-container ${consultAccepted ? 'no-border' : ''}` },\n react_1.default.createElement(call_control_consult_1.default, { agentName: consultAgentName, startTimeStamp: consultStartTimeStamp, endConsultCall: endConsultCall, onTransfer: () => consultTransfer(consultAgentId || currentTask.data.destAgentId, lastTargetType), consultCompleted: consultCompleted, isAgentBeingConsulted: !consultAccepted, isEndConsultEnabled: isEndConsultEnabled }))))));\n}\nexports[\"default\"] = CallControlComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.tsx?");
2002
+ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst react_1 = __importStar(__webpack_require__(/*! react */ \"react\"));\n__webpack_require__(/*! ./call-control.styles.scss */ \"./src/components/task/CallControl/call-control.styles.scss\");\nconst react_collaboration_1 = __webpack_require__(/*! @momentum-ui/react-collaboration */ \"@momentum-ui/react-collaboration\");\nconst collections_1 = __webpack_require__(/*! @react-stately/collections */ \"../../../node_modules/@react-stately/collections/dist/main.js\");\nconst react_2 = __webpack_require__(/*! @momentum-design/components/dist/react */ \"../../../node_modules/@momentum-design/components/dist/react/index.js\");\nconst consult_transfer_popover_1 = __importDefault(__webpack_require__(/*! ./CallControlCustom/consult-transfer-popover */ \"./src/components/task/CallControl/CallControlCustom/consult-transfer-popover.tsx\"));\nfunction CallControlComponent(props) {\n const [selectedWrapupReason, setSelectedWrapupReason] = (0, react_1.useState)(null);\n const [selectedWrapupId, setSelectedWrapupId] = (0, react_1.useState)(null);\n const [showAgentMenu, setShowAgentMenu] = (0, react_1.useState)(false);\n const [agentMenuType, setAgentMenuType] = (0, react_1.useState)(null);\n const { currentTask, toggleHold, toggleRecording, endCall, wrapupCall, wrapupCodes, wrapupRequired, isHeld, setIsHeld, isRecording, setIsRecording, buddyAgents, loadBuddyAgents, queues, loadQueues, transferCall, consultCall, consultInitiated, consultAccepted, callControlAudio, setConsultAgentName, setConsultAgentId, allowConsultToQueue, setLastTargetType, } = props;\n (0, react_1.useEffect)(() => {\n if (!currentTask || !currentTask.data || !currentTask.data.interaction)\n return;\n const { interaction, mediaResourceId } = currentTask.data;\n const { media, callProcessingDetails } = interaction;\n const isHold = media && media[mediaResourceId] && media[mediaResourceId].isHold;\n setIsHeld(isHold);\n if (callProcessingDetails) {\n const { isPaused } = callProcessingDetails;\n setIsRecording(!isPaused);\n }\n }, [currentTask]);\n const handletoggleHold = () => {\n toggleHold(!isHeld);\n setIsHeld(!isHeld);\n };\n const handleWrapupCall = () => {\n if (selectedWrapupReason && selectedWrapupId) {\n wrapupCall(selectedWrapupReason, selectedWrapupId);\n setSelectedWrapupReason(null);\n setSelectedWrapupId(null);\n }\n };\n const handleWrapupChange = (text, value) => {\n setSelectedWrapupReason(text);\n setSelectedWrapupId(value);\n };\n const handleTargetSelect = (id, name, type) => {\n if (agentMenuType === 'Consult') {\n try {\n consultCall(id, type);\n setConsultAgentId(id);\n setConsultAgentName(name);\n setLastTargetType(type);\n }\n catch (error) {\n throw new Error('Error during consult call', error);\n }\n }\n else if (agentMenuType === 'Transfer') {\n try {\n transferCall(id, type);\n }\n catch (error) {\n throw new Error('Error during transfer call', error);\n }\n }\n };\n const handlePopoverOpen = (menuType) => {\n if (showAgentMenu && agentMenuType === menuType) {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }\n else {\n setAgentMenuType(menuType);\n setShowAgentMenu(true);\n loadBuddyAgents();\n loadQueues();\n }\n };\n const buttons = [\n {\n id: 'hold',\n icon: isHeld ? 'play-bold' : 'pause-bold',\n onClick: () => handletoggleHold(),\n tooltip: isHeld ? 'Resume the call' : 'Hold the call',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'consult',\n icon: 'headset-bold',\n tooltip: 'Consult with another agent',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Consult',\n },\n {\n id: 'transfer',\n icon: 'next-bold',\n tooltip: 'Transfer call',\n className: 'call-control-button',\n disabled: false,\n menuType: 'Transfer',\n },\n {\n id: 'record',\n icon: isRecording ? 'record-paused-bold' : 'record-bold',\n onClick: () => toggleRecording(),\n tooltip: isRecording ? 'Pause Recording' : 'Resume Recording',\n className: 'call-control-button',\n disabled: false,\n },\n {\n id: 'end',\n icon: 'cancel-regular',\n onClick: endCall,\n tooltip: 'End call',\n className: 'call-control-button-cancel',\n disabled: isHeld,\n },\n ];\n const filteredButtons = consultInitiated\n ? buttons.filter((button) => !['hold', 'consult'].includes(button.id))\n : buttons;\n if (!currentTask)\n return null;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(\"audio\", { ref: (audioElement) => {\n if (audioElement && callControlAudio) {\n audioElement.srcObject = callControlAudio;\n }\n }, id: \"remote-audio\", autoPlay: true }),\n react_1.default.createElement(\"div\", { className: \"call-control-container\", \"data-testid\": \"call-control-container\" },\n !consultAccepted && !wrapupRequired && (react_1.default.createElement(\"div\", { className: \"button-group\" }, filteredButtons.map((button, index) => {\n if (button.menuType) {\n return (react_1.default.createElement(react_collaboration_1.PopoverNext, { key: index, onHide: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n }, color: \"primary\", delay: [0, 0], placement: \"bottom\", showArrow: true, variant: \"medium\", interactive: true, offsetDistance: 2, className: \"agent-popover\", trigger: \"click\", closeButtonPlacement: \"top-right\", closeButtonProps: {\n 'aria-label': 'Close popover',\n onPress: () => {\n setShowAgentMenu(false);\n setAgentMenuType(null);\n },\n outline: true,\n }, triggerComponent: react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, \"aria-label\": button.tooltip, disabled: button.disabled || consultInitiated, \"data-testid\": \"ButtonCircle\", onPress: () => handlePopoverOpen(button.menuType) },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)) }, showAgentMenu && agentMenuType === button.menuType ? (react_1.default.createElement(consult_transfer_popover_1.default, { heading: button.menuType, buttonIcon: button.icon, buddyAgents: buddyAgents, queues: queues, onAgentSelect: (agentId, agentName) => handleTargetSelect(agentId, agentName, 'agent'), onQueueSelect: (queueId, queueName) => handleTargetSelect(queueId, queueName, 'queue'), allowConsultToQueue: allowConsultToQueue })) : null));\n }\n return (react_1.default.createElement(react_collaboration_1.TooltipNext, { key: index, triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonCircle, { className: button.className, onPress: button.onClick, disabled: button.disabled || consultInitiated, \"aria-label\": button.tooltip },\n react_1.default.createElement(react_2.Icon, { className: button.className + '-icon', name: button.icon })), color: \"primary\", delay: [0, 0], placement: \"bottom-start\", type: \"description\", variant: \"small\", className: \"tooltip\" },\n react_1.default.createElement(\"p\", null, button.tooltip)));\n }))),\n wrapupRequired && (react_1.default.createElement(\"div\", { className: \"wrapup-group\" },\n react_1.default.createElement(react_collaboration_1.PopoverNext, { color: \"primary\", delay: [0, 0], placement: \"bottom-start\", showArrow: true, trigger: \"click\", triggerComponent: react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"wrapup-button\" },\n \"Wrap up\",\n react_1.default.createElement(react_2.Icon, { name: \"arrow-down-bold\" })), variant: \"medium\", interactive: true, offsetDistance: 2, className: \"wrapup-popover\" },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-large-bold\" }, \"Wrap-up Interaction\"),\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-header\", tagName: 'small', type: \"body-secondary\" }, \"Wrap-up reason\"),\n react_1.default.createElement(react_collaboration_1.SelectNext, { \"aria-label\": \"wrapup-reason\", className: \"wrapup-select\", onSelectionChange: (key) => {\n const selectedItem = wrapupCodes === null || wrapupCodes === void 0 ? void 0 : wrapupCodes.find((code) => code.id === key);\n handleWrapupChange(selectedItem.name, selectedItem.id);\n }, items: wrapupCodes, showBorder: false, placeholder: \"Select\" }, (item) => (react_1.default.createElement(collections_1.Item, { key: item.id, textValue: item.name },\n react_1.default.createElement(react_collaboration_1.Text, { className: \"wrapup-name\", tagName: 'small' }, item.name)))),\n react_1.default.createElement(react_2.Icon, { className: \"wrapup-select-arrow-icon\", name: \"arrow-down-bold\", title: \"\" }),\n react_1.default.createElement(react_collaboration_1.ButtonPill, { className: \"submit-wrapup-button\", onPress: handleWrapupCall, disabled: selectedWrapupId && selectedWrapupReason ? false : true, \"aria-label\": \"Submit wrap-up\" }, \"Submit & Wrap up\")))))));\n}\nexports[\"default\"] = CallControlComponent;\n\n\n//# sourceURL=webpack://@webex/cc-components/./src/components/task/CallControl/call-control.tsx?");
2014
2003
 
2015
2004
  /***/ }),
2016
2005
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webex/cc-components",
3
3
  "description": "Webex Contact Center UI Components Library for your custom contact center solutions",
4
- "version": "1.28.0-ccwidgets.46",
4
+ "version": "1.28.0-ccwidgets.47",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@r2wc/react-to-web-component": "2.0.3",
28
- "@webex/cc-store": "1.28.0-ccwidgets.46"
28
+ "@webex/cc-store": "1.28.0-ccwidgets.47"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@babel/core": "7.25.2",