UNPKG

@lifeintelligencegroup/ngx-lig-ari

Version:

Life Intelligence Group Artificial Intelligence

102 lines 37.5 kB
import { Component, Input, EventEmitter, Output, ViewChild, Inject, } from '@angular/core'; import { IonInput } from '@ionic/angular'; import { AriConfigService } from '../../model/ari-bot.mode'; import * as i0 from "@angular/core"; import * as i1 from "@ionic/angular"; import * as i2 from "../../services/ari-speech.service"; import * as i3 from "@ionic-native/speech-recognition/ngx"; import * as i4 from "../ari-svg-icon/ari-svg-icon.component"; import * as i5 from "@angular/forms"; import * as i6 from "@angular/common"; export class AriChatToolbarComponent { constructor(plt, ariSpeechService, speechRecognition, config) { this.plt = plt; this.ariSpeechService = ariSpeechService; this.speechRecognition = speechRecognition; this.config = config; this.sendEvent = new EventEmitter(); this.startListeningEvent = new EventEmitter(); this.buttonColor = '#1D57A4'; if (config.settings) { this.buttonColor = config.settings.theme; } } ngOnInit() { if (this.plt.is('cordova') || this.plt.is('capacitor')) { this.plt.ready().then(() => { this.speechRecognition .hasPermission() .then((hasPermission) => { console.log('Line 54: Permission:', hasPermission); if (!hasPermission) { this.speechRecognition.requestPermission().then(() => { this.speechRecognition.isRecognitionAvailable().then((available) => { console.log('Line 60: Permission:', available); this.isSpeechSupported = available; }, () => { this.isSpeechSupported = false; }); }, () => { this.isSpeechSupported = false; }); } else { this.speechRecognition.isRecognitionAvailable().then((available) => { console.log('Line 75: Permission:', available); this.isSpeechSupported = available; }, () => { return false; }); } }); }); } else { if (!this.ariSpeechService.isWebSpeechRecognitionSupported()) { this.isSpeechSupported = false; } else { this.isSpeechSupported = true; } } } sendMessage(ev) { if (this.showLoading) { return; } this.sendEvent.emit(ev); } setFocus() { this.userInput.setFocus(); } startListening(ev) { if (this.showLoading) { return; } // this.ariService.activatedByVoice = false; this.startListeningEvent.emit({ ev, activatedByVoice: false }); } } AriChatToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriChatToolbarComponent, deps: [{ token: i1.Platform }, { token: i2.AriSpeechService }, { token: i3.SpeechRecognition }, { token: AriConfigService }], target: i0.ɵɵFactoryTarget.Component }); AriChatToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: AriChatToolbarComponent, selector: "lig-ari-chat-toolbar", inputs: { form: "form", showLoading: "showLoading", activatedByVoice: "activatedByVoice" }, outputs: { sendEvent: "sendEvent", startListeningEvent: "startListeningEvent" }, viewQueries: [{ propertyName: "userInput", first: true, predicate: IonInput, descendants: true }], ngImport: i0, template: "<ion-toolbar color=\"white\" class=\"chat-toolbar\">\n <ion-buttons slot=\"start\">\n <div class=\"ion-padding-start\"></div>\n <!-- <ion-button\n expand=\"block\"\n fill=\"clear\"\n color=\"primary\"\n class=\"msg-btn\"\n [disabled]=\"showLoading\"\n >\n <lig-ari-icon [name]=\"ariIcon['icon-attach']\"></lig-ari-icon>\n </ion-button> -->\n </ion-buttons>\n <form [formGroup]=\"form\" (ngSubmit)=\"sendMessage($event)\">\n <ion-input type=\"text\" class=\"chat-input\" formControlName=\"userInput\" placeholder=\"Type your message here...\"\n (ionFocus)=\"setFocus()\" (keyup.enter)=\"sendMessage($event)\" #userInput></ion-input>\n </form>\n <ion-buttons slot=\"end\">\n <ion-button expand=\"block\" fill=\"clear\" color=\"primary\" class=\"msg-btn\" (click)=\"startListening($event)\"\n [disabled]=\"showLoading\" *ngIf=\"isSpeechSupported\">\n <lig-ari-icon *ngIf=\"activatedByVoice\" [type]=\"'default'\" [name]=\"'mic'\"></lig-ari-icon>\n <lig-ari-icon *ngIf=\"!activatedByVoice\" [name]=\"'mic-outline'\"></lig-ari-icon>\n </ion-button>\n <ion-button expand=\"block\" class=\"send-msg-btn\" [ngStyle]=\"{ 'background-color': buttonColor }\"\n (click)=\"sendMessage($event)\" [disabled]=\"showLoading\">\n <lig-ari-icon [name]=\"'icon_send'\"></lig-ari-icon>\n </ion-button>\n </ion-buttons>\n</ion-toolbar>", styles: [":root{--ion-color-white: #ffffff;--ion-color-white-rgb: 255, 255, 255;--ion-color-white-contrast: #000000;--ion-color-white-contrast-rgb: 0, 104, 217;--ion-color-white-shade: #e0e0e0;--ion-color-white-tint: #ffffff;--ion-color-blue: #1d57a4;--ion-color-blue-rgb: 0, 102, 216;--ion-color-blue-contrast: #ffffff;--ion-color-blue-contrast-rgb: 255, 255, 255;--ion-color-blue-shade: #1d57a4;--ion-color-blue-tint: #1d57a4;--ion-color-lightgray: #f2f6fc;--ion-color-lightgray-rgb: 242, 246, 252;--ion-color-lightgray-contrast: #1d57a4;--ion-color-lightgray-contrast-rgb: 0, 0, 0;--ion-color-lightgray-shade: #d5d8de;--ion-color-lightgray-tint: #f3f7fc;--ion-color-ts-red: #ff6060;--ion-color-ts-red-rgb: 255, 96, 96;--ion-color-ts-red-contrast: #ffffff;--ion-color-ts-red-contrast-rgb: 0, 0, 0;--ion-color-ts-red-shade: #e05454;--ion-color-ts-red-tint: #ff7070;--ion-color-ts-blue: #1d57a4;--ion-color-ts-blue-rgb: 2, 153, 255;--ion-color-ts-blue-contrast: #ffffff;--ion-color-ts-blue-contrast-rgb: 255, 255, 255;--ion-color-ts-blue-shade: #1d57a4;--ion-color-ts-blue-tint: #1d57a4;--ion-color-ts-amber: #ffcc66;--ion-color-ts-amber-rgb: 255, 204, 102;--ion-color-ts-amber-contrast: #000000;--ion-color-ts-amber-contrast-rgb: 0, 0, 0;--ion-color-ts-amber-shade: #e0b45a;--ion-color-ts-amber-tint: #ffd175;--ion-color-ts-green: #99cb67;--ion-color-ts-green-rgb: 153, 203, 103;--ion-color-ts-green-contrast: #ffffff;--ion-color-ts-green-contrast-rgb: 0, 0, 0;--ion-color-ts-green-shade: #87b35b;--ion-color-ts-green-tint: #a3d076;--ion-color-ts-grey: #a3a3a3;--ion-color-ts-grey-rgb: 163, 163, 163;--ion-color-ts-grey-contrast: #000000;--ion-color-ts-grey-contrast-rgb: 0, 0, 0;--ion-color-ts-grey-shade: #8f8f8f;--ion-color-ts-grey-tint: #acacac;--ion-color-light-grey: #e1e7f0;--ion-color-light-grey-rgb: 225, 231, 240;--ion-color-light-grey-contrast: #000000;--ion-color-light-grey-contrast-rgb: 0, 0, 0;--ion-color-light-grey-shade: #c6cbd3;--ion-color-light-grey-tint: #e4e9f2;--ion-color-0058ff: #0058ff;--ion-color-0058ff-rgb: 0, 88, 255;--ion-color-0058ff-contrast: #ffffff;--ion-color-0058ff-contrast-rgb: 255, 255, 255;--ion-color-0058ff-shade: #004de0;--ion-color-0058ff-tint: #1a69ff;--ion-color-0099ff: #0099ff;--ion-color-0099ff-rgb: 0, 153, 255;--ion-color-0099ff-contrast: #ffffff;--ion-color-0099ff-contrast-rgb: 255, 255, 255;--ion-color-0099ff-shade: #0087e0;--ion-color-0099ff-tint: #1aa3ff;--bodyfont-default: #151515;--icons-colors: #d3dcdb;--bodyfont-light: #6e7e81;--bodyfont-emptyviews: #343434;--bodyfont-secondary: #2f2f2f;--background-default: #f7f7f7;--background-teal: #d3dcdb;--background-lightgrey: #f4f4f4;--background-white: #ffffff;--background-offwhite: #fafafa;--background-tasks: #ebebeb;--background-emptyview: #f2f2f2;--taskspur-blue: #1d57a4;--taskspur-teal: #309da6;--taskspur-red: #f64d4b;--taskspur-amber: #fac441;--taskspur-darkblue: #184b90;--taskspur-darkteal: #309da6;--taskspur-darkred: #e3413f;--taskspur-darkamber: #e6b53b;--theme-font: \"Helvetica\", sans-serif;--background-tertiary-shadow: 0px 1px 0px #0000000d;--background-card-shadow: 0px 3px 6px #00000014;--background-overlaypanel-shadow: 0px 4px 16px #00000029}.ion-color-white{--ion-color-base: var(--ion-color-white) !important;--ion-color-base-rgb: var(--ion-color-white-rgb) !important;--ion-color-contrast: var(--ion-color-white-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-white-contrast-rgb) !important;--ion-color-shade: var(--ion-color-white-shade) !important;--ion-color-tint: var(--ion-color-white-tint) !important;--ion-toolbar-background: var(--ion-color-white) !important}.ion-color-blue{--ion-color-base: var(--ion-color-blue) !important;--ion-color-base-rgb: var(--ion-color-blue-rgb) !important;--ion-color-contrast: var(--ion-color-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-blue-shade) !important;--ion-color-tint: var(--ion-color-blue-tint) !important;--ion-toolbar-background: var(--ion-color-blue) !important}.ion-color-lightgray{--ion-color-base: var(--ion-color-lightgray) !important;--ion-color-base-rgb: var(--ion-color-lightgray-rgb) !important;--ion-color-contrast: var(--ion-color-lightgray-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-lightgray-contrast-rgb) !important;--ion-color-shade: var(--ion-color-lightgray-shade) !important;--ion-color-tint: var(--ion-color-lightgray-tint) !important;--ion-toolbar-background: var(--ion-color-lightgray) !important}.ion-color-ts-red{--ion-color-base: var(--ion-color-ts-red) !important;--ion-color-base-rgb: var(--ion-color-ts-red-rgb) !important;--ion-color-contrast: var(--ion-color-ts-red-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-red-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-red-shade) !important;--ion-color-tint: var(--ion-color-ts-red-tint) !important;--ion-toolbar-background: var(--ion-color-ts-red) !important}.ion-color-ts-blue{--ion-color-base: var(--ion-color-ts-blue) !important;--ion-color-base-rgb: var(--ion-color-ts-blue-rgb) !important;--ion-color-contrast: var(--ion-color-ts-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-blue-shade) !important;--ion-color-tint: var(--ion-color-ts-blue-tint) !important;--ion-toolbar-background: var(--ion-color-ts-blue) !important}.ion-color-ts-amber{--ion-color-base: var(--ion-color-ts-amber) !important;--ion-color-base-rgb: var(--ion-color-ts-amber-rgb) !important;--ion-color-contrast: var(--ion-color-ts-amber-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-amber-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-amber-shade) !important;--ion-color-tint: var(--ion-color-ts-amber-tint) !important;--ion-toolbar-background: var(--ion-color-ts-amber) !important}.ion-color-ts-green{--ion-color-base: var(--ion-color-ts-green) !important;--ion-color-base-rgb: var(--ion-color-ts-green-rgb) !important;--ion-color-contrast: var(--ion-color-ts-green-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-green-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-green-shade) !important;--ion-color-tint: var(--ion-color-ts-green-tint) !important;--ion-toolbar-background: var(--ion-color-ts-green) !important}.ion-color-ts-grey{--ion-color-base: var(--ion-color-ts-grey) !important;--ion-color-base-rgb: var(--ion-color-ts-grey-rgb) !important;--ion-color-contrast: var(--ion-color-ts-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-grey-shade) !important;--ion-color-tint: var(--ion-color-ts-grey-tint) !important;--ion-toolbar-background: var(--ion-color-ts-grey) !important}.ion-color-light-grey{--ion-color-base: var(--ion-color-light-grey) !important;--ion-color-base-rgb: var(--ion-color-light-grey-rgb) !important;--ion-color-contrast: var(--ion-color-light-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-light-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-light-grey-shade) !important;--ion-color-tint: var(--ion-color-light-grey-tint) !important;--ion-toolbar-background: var(--ion-color-light-grey) !important}.ion-color-0058FF{--ion-color-base: var(--ion-color-0058FF) !important;--ion-color-base-rgb: var(--ion-color-0058FF-rgb) !important;--ion-color-contrast: var(--ion-color-0058FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0058FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0058FF-shade) !important;--ion-color-tint: var(--ion-color-0058FF-tint) !important;--ion-toolbar-background: var(--ion-color-0058FF) !important}.ion-color-0099FF{--ion-color-base: var(--ion-color-0099FF) !important;--ion-color-base-rgb: var(--ion-color-0099FF-rgb) !important;--ion-color-contrast: var(--ion-color-0099FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0099FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0099FF-shade) !important;--ion-color-tint: var(--ion-color-0099FF-tint) !important;--ion-toolbar-background: var(--ion-color-0099FF) !important}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#373737}::-webkit-scrollbar-thumb:hover{background:#37373780}:host .chat-toolbar{--background: $color-white;background:#fff;border-top:1px solid #0000000F;--box-shadow: 0px -3px 8px #0000000F;height:60px}:host .chat-toolbar ion-button lig-ari-icon{font-size:28px;color:#d3dcdb!important}:host .chat-toolbar .send-msg-btn{position:relative;height:60px;width:60px;top:0px;right:-7px}:host .chat-toolbar .send-msg-btn lig-ari-icon{font-size:20px;color:#fff!important}:host .chat-toolbar .chat-input{width:100%;border:none;height:45px;font-size:15px;line-height:32px;letter-spacing:-.3px;font-family:Helvetica,sans-serif;color:#151515;--border-color: none}:host .chat-toolbar .chat-input:disabled{background:#fff}.plt-mobile :host .chat-toolbar .send-msg-btn{top:-3px}\n"], components: [{ type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i4.AriSvgIconComponent, selector: "lig-ari-icon", inputs: ["src", "type", "name", "size"] }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriChatToolbarComponent, decorators: [{ type: Component, args: [{ selector: 'lig-ari-chat-toolbar', template: "<ion-toolbar color=\"white\" class=\"chat-toolbar\">\n <ion-buttons slot=\"start\">\n <div class=\"ion-padding-start\"></div>\n <!-- <ion-button\n expand=\"block\"\n fill=\"clear\"\n color=\"primary\"\n class=\"msg-btn\"\n [disabled]=\"showLoading\"\n >\n <lig-ari-icon [name]=\"ariIcon['icon-attach']\"></lig-ari-icon>\n </ion-button> -->\n </ion-buttons>\n <form [formGroup]=\"form\" (ngSubmit)=\"sendMessage($event)\">\n <ion-input type=\"text\" class=\"chat-input\" formControlName=\"userInput\" placeholder=\"Type your message here...\"\n (ionFocus)=\"setFocus()\" (keyup.enter)=\"sendMessage($event)\" #userInput></ion-input>\n </form>\n <ion-buttons slot=\"end\">\n <ion-button expand=\"block\" fill=\"clear\" color=\"primary\" class=\"msg-btn\" (click)=\"startListening($event)\"\n [disabled]=\"showLoading\" *ngIf=\"isSpeechSupported\">\n <lig-ari-icon *ngIf=\"activatedByVoice\" [type]=\"'default'\" [name]=\"'mic'\"></lig-ari-icon>\n <lig-ari-icon *ngIf=\"!activatedByVoice\" [name]=\"'mic-outline'\"></lig-ari-icon>\n </ion-button>\n <ion-button expand=\"block\" class=\"send-msg-btn\" [ngStyle]=\"{ 'background-color': buttonColor }\"\n (click)=\"sendMessage($event)\" [disabled]=\"showLoading\">\n <lig-ari-icon [name]=\"'icon_send'\"></lig-ari-icon>\n </ion-button>\n </ion-buttons>\n</ion-toolbar>", styles: [":root{--ion-color-white: #ffffff;--ion-color-white-rgb: 255, 255, 255;--ion-color-white-contrast: #000000;--ion-color-white-contrast-rgb: 0, 104, 217;--ion-color-white-shade: #e0e0e0;--ion-color-white-tint: #ffffff;--ion-color-blue: #1d57a4;--ion-color-blue-rgb: 0, 102, 216;--ion-color-blue-contrast: #ffffff;--ion-color-blue-contrast-rgb: 255, 255, 255;--ion-color-blue-shade: #1d57a4;--ion-color-blue-tint: #1d57a4;--ion-color-lightgray: #f2f6fc;--ion-color-lightgray-rgb: 242, 246, 252;--ion-color-lightgray-contrast: #1d57a4;--ion-color-lightgray-contrast-rgb: 0, 0, 0;--ion-color-lightgray-shade: #d5d8de;--ion-color-lightgray-tint: #f3f7fc;--ion-color-ts-red: #ff6060;--ion-color-ts-red-rgb: 255, 96, 96;--ion-color-ts-red-contrast: #ffffff;--ion-color-ts-red-contrast-rgb: 0, 0, 0;--ion-color-ts-red-shade: #e05454;--ion-color-ts-red-tint: #ff7070;--ion-color-ts-blue: #1d57a4;--ion-color-ts-blue-rgb: 2, 153, 255;--ion-color-ts-blue-contrast: #ffffff;--ion-color-ts-blue-contrast-rgb: 255, 255, 255;--ion-color-ts-blue-shade: #1d57a4;--ion-color-ts-blue-tint: #1d57a4;--ion-color-ts-amber: #ffcc66;--ion-color-ts-amber-rgb: 255, 204, 102;--ion-color-ts-amber-contrast: #000000;--ion-color-ts-amber-contrast-rgb: 0, 0, 0;--ion-color-ts-amber-shade: #e0b45a;--ion-color-ts-amber-tint: #ffd175;--ion-color-ts-green: #99cb67;--ion-color-ts-green-rgb: 153, 203, 103;--ion-color-ts-green-contrast: #ffffff;--ion-color-ts-green-contrast-rgb: 0, 0, 0;--ion-color-ts-green-shade: #87b35b;--ion-color-ts-green-tint: #a3d076;--ion-color-ts-grey: #a3a3a3;--ion-color-ts-grey-rgb: 163, 163, 163;--ion-color-ts-grey-contrast: #000000;--ion-color-ts-grey-contrast-rgb: 0, 0, 0;--ion-color-ts-grey-shade: #8f8f8f;--ion-color-ts-grey-tint: #acacac;--ion-color-light-grey: #e1e7f0;--ion-color-light-grey-rgb: 225, 231, 240;--ion-color-light-grey-contrast: #000000;--ion-color-light-grey-contrast-rgb: 0, 0, 0;--ion-color-light-grey-shade: #c6cbd3;--ion-color-light-grey-tint: #e4e9f2;--ion-color-0058ff: #0058ff;--ion-color-0058ff-rgb: 0, 88, 255;--ion-color-0058ff-contrast: #ffffff;--ion-color-0058ff-contrast-rgb: 255, 255, 255;--ion-color-0058ff-shade: #004de0;--ion-color-0058ff-tint: #1a69ff;--ion-color-0099ff: #0099ff;--ion-color-0099ff-rgb: 0, 153, 255;--ion-color-0099ff-contrast: #ffffff;--ion-color-0099ff-contrast-rgb: 255, 255, 255;--ion-color-0099ff-shade: #0087e0;--ion-color-0099ff-tint: #1aa3ff;--bodyfont-default: #151515;--icons-colors: #d3dcdb;--bodyfont-light: #6e7e81;--bodyfont-emptyviews: #343434;--bodyfont-secondary: #2f2f2f;--background-default: #f7f7f7;--background-teal: #d3dcdb;--background-lightgrey: #f4f4f4;--background-white: #ffffff;--background-offwhite: #fafafa;--background-tasks: #ebebeb;--background-emptyview: #f2f2f2;--taskspur-blue: #1d57a4;--taskspur-teal: #309da6;--taskspur-red: #f64d4b;--taskspur-amber: #fac441;--taskspur-darkblue: #184b90;--taskspur-darkteal: #309da6;--taskspur-darkred: #e3413f;--taskspur-darkamber: #e6b53b;--theme-font: \"Helvetica\", sans-serif;--background-tertiary-shadow: 0px 1px 0px #0000000d;--background-card-shadow: 0px 3px 6px #00000014;--background-overlaypanel-shadow: 0px 4px 16px #00000029}.ion-color-white{--ion-color-base: var(--ion-color-white) !important;--ion-color-base-rgb: var(--ion-color-white-rgb) !important;--ion-color-contrast: var(--ion-color-white-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-white-contrast-rgb) !important;--ion-color-shade: var(--ion-color-white-shade) !important;--ion-color-tint: var(--ion-color-white-tint) !important;--ion-toolbar-background: var(--ion-color-white) !important}.ion-color-blue{--ion-color-base: var(--ion-color-blue) !important;--ion-color-base-rgb: var(--ion-color-blue-rgb) !important;--ion-color-contrast: var(--ion-color-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-blue-shade) !important;--ion-color-tint: var(--ion-color-blue-tint) !important;--ion-toolbar-background: var(--ion-color-blue) !important}.ion-color-lightgray{--ion-color-base: var(--ion-color-lightgray) !important;--ion-color-base-rgb: var(--ion-color-lightgray-rgb) !important;--ion-color-contrast: var(--ion-color-lightgray-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-lightgray-contrast-rgb) !important;--ion-color-shade: var(--ion-color-lightgray-shade) !important;--ion-color-tint: var(--ion-color-lightgray-tint) !important;--ion-toolbar-background: var(--ion-color-lightgray) !important}.ion-color-ts-red{--ion-color-base: var(--ion-color-ts-red) !important;--ion-color-base-rgb: var(--ion-color-ts-red-rgb) !important;--ion-color-contrast: var(--ion-color-ts-red-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-red-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-red-shade) !important;--ion-color-tint: var(--ion-color-ts-red-tint) !important;--ion-toolbar-background: var(--ion-color-ts-red) !important}.ion-color-ts-blue{--ion-color-base: var(--ion-color-ts-blue) !important;--ion-color-base-rgb: var(--ion-color-ts-blue-rgb) !important;--ion-color-contrast: var(--ion-color-ts-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-blue-shade) !important;--ion-color-tint: var(--ion-color-ts-blue-tint) !important;--ion-toolbar-background: var(--ion-color-ts-blue) !important}.ion-color-ts-amber{--ion-color-base: var(--ion-color-ts-amber) !important;--ion-color-base-rgb: var(--ion-color-ts-amber-rgb) !important;--ion-color-contrast: var(--ion-color-ts-amber-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-amber-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-amber-shade) !important;--ion-color-tint: var(--ion-color-ts-amber-tint) !important;--ion-toolbar-background: var(--ion-color-ts-amber) !important}.ion-color-ts-green{--ion-color-base: var(--ion-color-ts-green) !important;--ion-color-base-rgb: var(--ion-color-ts-green-rgb) !important;--ion-color-contrast: var(--ion-color-ts-green-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-green-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-green-shade) !important;--ion-color-tint: var(--ion-color-ts-green-tint) !important;--ion-toolbar-background: var(--ion-color-ts-green) !important}.ion-color-ts-grey{--ion-color-base: var(--ion-color-ts-grey) !important;--ion-color-base-rgb: var(--ion-color-ts-grey-rgb) !important;--ion-color-contrast: var(--ion-color-ts-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-grey-shade) !important;--ion-color-tint: var(--ion-color-ts-grey-tint) !important;--ion-toolbar-background: var(--ion-color-ts-grey) !important}.ion-color-light-grey{--ion-color-base: var(--ion-color-light-grey) !important;--ion-color-base-rgb: var(--ion-color-light-grey-rgb) !important;--ion-color-contrast: var(--ion-color-light-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-light-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-light-grey-shade) !important;--ion-color-tint: var(--ion-color-light-grey-tint) !important;--ion-toolbar-background: var(--ion-color-light-grey) !important}.ion-color-0058FF{--ion-color-base: var(--ion-color-0058FF) !important;--ion-color-base-rgb: var(--ion-color-0058FF-rgb) !important;--ion-color-contrast: var(--ion-color-0058FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0058FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0058FF-shade) !important;--ion-color-tint: var(--ion-color-0058FF-tint) !important;--ion-toolbar-background: var(--ion-color-0058FF) !important}.ion-color-0099FF{--ion-color-base: var(--ion-color-0099FF) !important;--ion-color-base-rgb: var(--ion-color-0099FF-rgb) !important;--ion-color-contrast: var(--ion-color-0099FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0099FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0099FF-shade) !important;--ion-color-tint: var(--ion-color-0099FF-tint) !important;--ion-toolbar-background: var(--ion-color-0099FF) !important}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#373737}::-webkit-scrollbar-thumb:hover{background:#37373780}:host .chat-toolbar{--background: $color-white;background:#fff;border-top:1px solid #0000000F;--box-shadow: 0px -3px 8px #0000000F;height:60px}:host .chat-toolbar ion-button lig-ari-icon{font-size:28px;color:#d3dcdb!important}:host .chat-toolbar .send-msg-btn{position:relative;height:60px;width:60px;top:0px;right:-7px}:host .chat-toolbar .send-msg-btn lig-ari-icon{font-size:20px;color:#fff!important}:host .chat-toolbar .chat-input{width:100%;border:none;height:45px;font-size:15px;line-height:32px;letter-spacing:-.3px;font-family:Helvetica,sans-serif;color:#151515;--border-color: none}:host .chat-toolbar .chat-input:disabled{background:#fff}.plt-mobile :host .chat-toolbar .send-msg-btn{top:-3px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.AriSpeechService }, { type: i3.SpeechRecognition }, { type: undefined, decorators: [{ type: Inject, args: [AriConfigService] }] }]; }, propDecorators: { form: [{ type: Input }], showLoading: [{ type: Input }], activatedByVoice: [{ type: Input }], sendEvent: [{ type: Output }], startListeningEvent: [{ type: Output }], userInput: [{ type: ViewChild, args: [IonInput] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpLWNoYXQtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlnLWFyaS9zcmMvbGliL2NvbXBvbmVudHMvYXJpLWNoYXQtdG9vbGJhci9hcmktY2hhdC10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWctYXJpL3NyYy9saWIvY29tcG9uZW50cy9hcmktY2hhdC10b29sYmFyL2FyaS1jaGF0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRCxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFPdkUsTUFBTSxPQUFPLHVCQUF1QjtJQVlsQyxZQUNVLEdBQWEsRUFDYixnQkFBa0MsRUFDbEMsaUJBQXFDLEVBQ1gsTUFBaUI7UUFIM0MsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUNiLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFvQjtRQUNYLFdBQU0sR0FBTixNQUFNLENBQVc7UUFYM0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUt4RCxnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQU90QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUMxQztJQUNILENBQUM7SUFF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QUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFJYyxTQUFTO3NCQUE3QixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQbGF0Zm9ybSwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBTcGVlY2hSZWNvZ25pdGlvbiBhcyBUU3BlZWNoUmVjb2duaXRpb24gfSBmcm9tICdAaW9uaWMtbmF0aXZlL3NwZWVjaC1yZWNvZ25pdGlvbi9uZ3gnO1xuXG5pbXBvcnQgeyBBcmlTcGVlY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXJpLXNwZWVjaC5zZXJ2aWNlJztcbmltcG9ydCB7IEFyaUNvbmZpZywgQXJpQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGVsL2FyaS1ib3QubW9kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpZy1hcmktY2hhdC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyaS1jaGF0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcmktY2hhdC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFyaUNoYXRUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzaG93TG9hZGluZzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWN0aXZhdGVkQnlWb2ljZTogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgc2VuZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzdGFydExpc3RlbmluZ0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaXNTcGVlY2hTdXBwb3J0ZWQ6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZChJb25JbnB1dCkgdXNlcklucHV0OiBJb25JbnB1dDtcbiAgYnV0dG9uQ29sb3IgPSAnIzFENTdBNCc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx0OiBQbGF0Zm9ybSxcbiAgICBwcml2YXRlIGFyaVNwZWVjaFNlcnZpY2U6IEFyaVNwZWVjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcGVlY2hSZWNvZ25pdGlvbjogVFNwZWVjaFJlY29nbml0aW9uLFxuICAgIEBJbmplY3QoQXJpQ29uZmlnU2VydmljZSkgcHJpdmF0ZSBjb25maWc6IEFyaUNvbmZpZ1xuICApIHtcbiAgICBpZiAoY29uZmlnLnNldHRpbmdzKSB7XG4gICAgICB0aGlzLmJ1dHRvbkNvbG9yID0gY29uZmlnLnNldHRpbmdzLnRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnBsdC5pcygnY29yZG92YScpIHx8IHRoaXMucGx0LmlzKCdjYXBhY2l0b3InKSkge1xuICAgICAgdGhpcy5wbHQucmVhZHkoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblxuICAgICAgICAgIC5oYXNQZXJtaXNzaW9uKClcbiAgICAgICAgICAudGhlbigoaGFzUGVybWlzc2lvbjogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0xpbmUgNTQ6IFBlcm1pc3Npb246JywgaGFzUGVybWlzc2lvbik7XG4gICAgICAgICAgICBpZiAoIWhhc1Blcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvbi5pc1JlY29nbml0aW9uQXZhaWxhYmxlKCkudGhlbihcbiAgICAgICAgICAgICAgICAgICAgKGF2YWlsYWJsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdMaW5lIDYwOiBQZXJtaXNzaW9uOicsIGF2YWlsYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NwZWVjaFN1cHBvcnRlZCA9IGF2YWlsYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTcGVlY2hTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNTcGVlY2hTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNwZWVjaFJlY29nbml0aW9uLmlzUmVjb2duaXRpb25BdmFpbGFibGUoKS50aGVuKFxuICAgICAgICAgICAgICAgIChhdmFpbGFibGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdMaW5lIDc1OiBQZXJtaXNzaW9uOicsIGF2YWlsYWJsZSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzU3BlZWNoU3VwcG9ydGVkID0gYXZhaWxhYmxlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuYXJpU3BlZWNoU2VydmljZS5pc1dlYlNwZWVjaFJlY29nbml0aW9uU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgdGhpcy5pc1NwZWVjaFN1cHBvcnRlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc1NwZWVjaFN1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VuZE1lc3NhZ2UoZXY6IGFueSkge1xuICAgIGlmICh0aGlzLnNob3dMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZW5kRXZlbnQuZW1pdChldik7XG4gIH1cblxuICBzZXRGb2N1cygpIHtcbiAgICB0aGlzLnVzZXJJbnB1dC5zZXRGb2N1cygpO1xuICB9XG5cbiAgc3RhcnRMaXN0ZW5pbmcoZXY6IGFueSkge1xuICAgIGlmICh0aGlzLnNob3dMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIHRoaXMuYXJpU2VydmljZS5hY3RpdmF0ZWRCeVZvaWNlID0gZmFsc2U7XG4gICAgdGhpcy5zdGFydExpc3RlbmluZ0V2ZW50LmVtaXQoeyBldiwgYWN0aXZhdGVkQnlWb2ljZTogZmFsc2UgfSk7XG4gIH1cbn1cbiIsIjxpb24tdG9vbGJhciBjb2xvcj1cIndoaXRlXCIgY2xhc3M9XCJjaGF0LXRvb2xiYXJcIj5cbiAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy1zdGFydFwiPjwvZGl2PlxuICAgIDwhLS0gPGlvbi1idXR0b25cbiAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgY2xhc3M9XCJtc2ctYnRuXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzaG93TG9hZGluZ1wiXG4gICAgPlxuICAgICAgPGxpZy1hcmktaWNvbiBbbmFtZV09XCJhcmlJY29uWydpY29uLWF0dGFjaCddXCI+PC9saWctYXJpLWljb24+XG4gICAgPC9pb24tYnV0dG9uPiAtLT5cbiAgPC9pb24tYnV0dG9ucz5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNlbmRNZXNzYWdlKCRldmVudClcIj5cbiAgICA8aW9uLWlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJjaGF0LWlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlcklucHV0XCIgcGxhY2Vob2xkZXI9XCJUeXBlIHlvdXIgbWVzc2FnZSBoZXJlLi4uXCJcbiAgICAgIChpb25Gb2N1cyk9XCJzZXRGb2N1cygpXCIgKGtleXVwLmVudGVyKT1cInNlbmRNZXNzYWdlKCRldmVudClcIiAjdXNlcklucHV0PjwvaW9uLWlucHV0PlxuICA8L2Zvcm0+XG4gIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm1zZy1idG5cIiAoY2xpY2spPVwic3RhcnRMaXN0ZW5pbmcoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwic2hvd0xvYWRpbmdcIiAqbmdJZj1cImlzU3BlZWNoU3VwcG9ydGVkXCI+XG4gICAgICA8bGlnLWFyaS1pY29uICpuZ0lmPVwiYWN0aXZhdGVkQnlWb2ljZVwiIFt0eXBlXT1cIidkZWZhdWx0J1wiIFtuYW1lXT1cIidtaWMnXCI+PC9saWctYXJpLWljb24+XG4gICAgICA8bGlnLWFyaS1pY29uICpuZ0lmPVwiIWFjdGl2YXRlZEJ5Vm9pY2VcIiBbbmFtZV09XCInbWljLW91dGxpbmUnXCI+PC9saWctYXJpLWljb24+XG4gICAgPC9pb24tYnV0dG9uPlxuICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY2xhc3M9XCJzZW5kLW1zZy1idG5cIiBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogYnV0dG9uQ29sb3IgfVwiXG4gICAgICAoY2xpY2spPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJzaG93TG9hZGluZ1wiPlxuICAgICAgPGxpZy1hcmktaWNvbiBbbmFtZV09XCInaWNvbl9zZW5kJ1wiPjwvbGlnLWFyaS1pY29uPlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgPC9pb24tYnV0dG9ucz5cbjwvaW9uLXRvb2xiYXI+Il19