@aslaluroba/help-center 4.0.13 → 4.0.14

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.
@@ -108,10 +108,10 @@ class ActionHandlerService {
108
108
  clearHandlers() {
109
109
  this.actionHandlers.clear();
110
110
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionHandlerService, providedIn: 'root' });
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionHandlerService, providedIn: 'root' });
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionHandlerService, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionHandlerService, decorators: [{
115
115
  type: Injectable,
116
116
  args: [{
117
117
  providedIn: 'root',
@@ -464,10 +464,10 @@ class ApiService {
464
464
  }
465
465
  return response;
466
466
  }
467
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
468
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ApiService, providedIn: 'root' });
467
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
468
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ApiService, providedIn: 'root' });
469
469
  }
470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ApiService, decorators: [{
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ApiService, decorators: [{
471
471
  type: Injectable,
472
472
  args: [{
473
473
  providedIn: 'root',
@@ -905,10 +905,10 @@ class ChatSessionService {
905
905
  isConnectionActive() {
906
906
  return ClientAblyService.isConnectionActive();
907
907
  }
908
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
909
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatSessionService, providedIn: 'root' });
908
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
909
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatSessionService, providedIn: 'root' });
910
910
  }
911
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatSessionService, decorators: [{
911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatSessionService, decorators: [{
912
912
  type: Injectable,
913
913
  args: [{
914
914
  providedIn: 'root',
@@ -1050,10 +1050,10 @@ class TranslationService {
1050
1050
  getCurrentLang() {
1051
1051
  return this._currentLang.value;
1052
1052
  }
1053
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1054
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TranslationService, providedIn: 'root' });
1053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1054
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TranslationService, providedIn: 'root' });
1055
1055
  }
1056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TranslationService, decorators: [{
1056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TranslationService, decorators: [{
1057
1057
  type: Injectable,
1058
1058
  args: [{
1059
1059
  providedIn: 'root',
@@ -1092,10 +1092,10 @@ class LanguageService {
1092
1092
  getCurrentLang() {
1093
1093
  return this.translationService.getCurrentLang();
1094
1094
  }
1095
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1096
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LanguageService, providedIn: 'root' });
1095
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1096
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LanguageService, providedIn: 'root' });
1097
1097
  }
1098
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LanguageService, decorators: [{
1098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LanguageService, decorators: [{
1099
1099
  type: Injectable,
1100
1100
  args: [{
1101
1101
  providedIn: 'root',
@@ -1212,10 +1212,10 @@ class FileUploadService {
1212
1212
  });
1213
1213
  }));
1214
1214
  }
1215
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1216
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FileUploadService, providedIn: 'root' });
1215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1216
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadService, providedIn: 'root' });
1217
1217
  }
1218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FileUploadService, decorators: [{
1218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadService, decorators: [{
1219
1219
  type: Injectable,
1220
1220
  args: [{
1221
1221
  providedIn: 'root',
@@ -1225,7 +1225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1225
1225
  class ThemeService {
1226
1226
  primaryColor = '#ad49e1';
1227
1227
  logoUrl = '';
1228
- isDarkMode = signal(false, ...(ngDevMode ? [{ debugName: "isDarkMode" }] : []));
1228
+ isDarkMode = signal(false, ...(ngDevMode ? [{ debugName: "isDarkMode" }] : /* istanbul ignore next */ []));
1229
1229
  mediaQuery;
1230
1230
  mediaQueryListener;
1231
1231
  constructor() {
@@ -1357,10 +1357,10 @@ class ThemeService {
1357
1357
  this.setPrimaryColor(primaryColor);
1358
1358
  this.setLogoUrl(logoUrl);
1359
1359
  }
1360
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1361
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemeService, providedIn: 'root' });
1360
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1361
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, providedIn: 'root' });
1362
1362
  }
1363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemeService, decorators: [{
1363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, decorators: [{
1364
1364
  type: Injectable,
1365
1365
  args: [{
1366
1366
  providedIn: 'root',
@@ -1368,17 +1368,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1368
1368
  }], ctorParameters: () => [] });
1369
1369
 
1370
1370
  class ArrowAnimationComponent {
1371
- showArrowAnimation = input(false, ...(ngDevMode ? [{ debugName: "showArrowAnimation" }] : []));
1372
- isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : []));
1373
- messageLabel = input(null, ...(ngDevMode ? [{ debugName: "messageLabel" }] : []));
1371
+ showArrowAnimation = input(false, ...(ngDevMode ? [{ debugName: "showArrowAnimation" }] : /* istanbul ignore next */ []));
1372
+ isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : /* istanbul ignore next */ []));
1373
+ messageLabel = input(null, ...(ngDevMode ? [{ debugName: "messageLabel" }] : /* istanbul ignore next */ []));
1374
1374
  closeArrowAnimation = output();
1375
1375
  handleCloseArrowAnimation() {
1376
1376
  this.closeArrowAnimation.emit();
1377
1377
  }
1378
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ArrowAnimationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1379
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ArrowAnimationComponent, isStandalone: true, selector: "app-arrow-animation", inputs: { showArrowAnimation: { classPropertyName: "showArrowAnimation", publicName: "showArrowAnimation", isSignal: true, isRequired: false, transformFunction: null }, isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null }, messageLabel: { classPropertyName: "messageLabel", publicName: "messageLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeArrowAnimation: "closeArrowAnimation" }, ngImport: i0, template: "@if (showArrowAnimation() && !isPopupOpen()) {\n<div class=\"babylai:fixed babylai:bottom-20 babylai:right-6 babylai:z-9997 animate-float\">\n <div class=\"babylai:relative babylai:bg-primary babylai:rounded-full babylai:mb-4 babylai:shadow-lg babylai:px-4 babylai:py-3 babylai:max-w-xs\">\n <p class=\"babylai:text-xs babylai:mb-0 babylai:text-white babylai:max-w-40\">\n {{ messageLabel() || \"Need assistance Or You want to try the Product? Click here\" }}\n </p>\n <button \n class=\"babylai:absolute babylai:-top-2 babylai:right-0 babylai:w-5 babylai:h-5 babylai:cursor-pointer babylai:p-1.5 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:hover:bg-secondary babylai:text-card-foreground babylai:transition-colors babylai:bg-card babylai:shadow-lg babylai:border babylai:border-black-white-200\" \n (click)=\"handleCloseArrowAnimation()\"\n type=\"button\"\n [attr.aria-label]=\"'Close'\"\n >\n <svg class=\"babylai:w-3 babylai:h-3\" viewBox=\"0 0 12 12\">\n <path\n d=\"M1 1L11 11M1 11L11 1\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </svg>\n </button>\n <div class=\"babylai:absolute babylai:bottom-[-8px] babylai:right-6 babylai:w-0 babylai:h-0 babylai:border-l-8 babylai:border-r-8 babylai:border-t-8 babylai:border-l-transparent babylai:border-r-transparent babylai:border-t-primary\"></div>\n </div>\n</div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1378
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ArrowAnimationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1379
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ArrowAnimationComponent, isStandalone: true, selector: "app-arrow-animation", inputs: { showArrowAnimation: { classPropertyName: "showArrowAnimation", publicName: "showArrowAnimation", isSignal: true, isRequired: false, transformFunction: null }, isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null }, messageLabel: { classPropertyName: "messageLabel", publicName: "messageLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeArrowAnimation: "closeArrowAnimation" }, ngImport: i0, template: "@if (showArrowAnimation() && !isPopupOpen()) {\n<div class=\"babylai:fixed babylai:bottom-20 babylai:right-6 babylai:z-9997 animate-float\">\n <div class=\"babylai:relative babylai:bg-primary babylai:rounded-full babylai:mb-4 babylai:shadow-lg babylai:px-4 babylai:py-3 babylai:max-w-xs\">\n <p class=\"babylai:text-xs babylai:mb-0 babylai:text-white babylai:max-w-40\">\n {{ messageLabel() || \"Need assistance Or You want to try the Product? Click here\" }}\n </p>\n <button \n class=\"babylai:absolute babylai:-top-2 babylai:right-0 babylai:w-5 babylai:h-5 babylai:cursor-pointer babylai:p-1.5 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:hover:bg-secondary babylai:text-card-foreground babylai:transition-colors babylai:bg-card babylai:shadow-lg babylai:border babylai:border-black-white-200\" \n (click)=\"handleCloseArrowAnimation()\"\n type=\"button\"\n [attr.aria-label]=\"'Close'\"\n >\n <svg class=\"babylai:w-3 babylai:h-3\" viewBox=\"0 0 12 12\">\n <path\n d=\"M1 1L11 11M1 11L11 1\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </svg>\n </button>\n <div class=\"babylai:absolute babylai:bottom-[-8px] babylai:right-6 babylai:w-0 babylai:h-0 babylai:border-l-8 babylai:border-r-8 babylai:border-t-8 babylai:border-l-transparent babylai:border-r-transparent babylai:border-t-primary\"></div>\n </div>\n</div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1380
1380
  }
1381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ArrowAnimationComponent, decorators: [{
1381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ArrowAnimationComponent, decorators: [{
1382
1382
  type: Component,
1383
1383
  args: [{ selector: 'app-arrow-animation', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showArrowAnimation() && !isPopupOpen()) {\n<div class=\"babylai:fixed babylai:bottom-20 babylai:right-6 babylai:z-9997 animate-float\">\n <div class=\"babylai:relative babylai:bg-primary babylai:rounded-full babylai:mb-4 babylai:shadow-lg babylai:px-4 babylai:py-3 babylai:max-w-xs\">\n <p class=\"babylai:text-xs babylai:mb-0 babylai:text-white babylai:max-w-40\">\n {{ messageLabel() || \"Need assistance Or You want to try the Product? Click here\" }}\n </p>\n <button \n class=\"babylai:absolute babylai:-top-2 babylai:right-0 babylai:w-5 babylai:h-5 babylai:cursor-pointer babylai:p-1.5 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:hover:bg-secondary babylai:text-card-foreground babylai:transition-colors babylai:bg-card babylai:shadow-lg babylai:border babylai:border-black-white-200\" \n (click)=\"handleCloseArrowAnimation()\"\n type=\"button\"\n [attr.aria-label]=\"'Close'\"\n >\n <svg class=\"babylai:w-3 babylai:h-3\" viewBox=\"0 0 12 12\">\n <path\n d=\"M1 1L11 11M1 11L11 1\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </svg>\n </button>\n <div class=\"babylai:absolute babylai:bottom-[-8px] babylai:right-6 babylai:w-0 babylai:h-0 babylai:border-l-8 babylai:border-r-8 babylai:border-t-8 babylai:border-l-transparent babylai:border-r-transparent babylai:border-t-primary\"></div>\n </div>\n</div>\n}\n" }]
1384
1384
  }], propDecorators: { showArrowAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "showArrowAnimation", required: false }] }], isPopupOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPopupOpen", required: false }] }], messageLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageLabel", required: false }] }], closeArrowAnimation: [{ type: i0.Output, args: ["closeArrowAnimation"] }] } });
@@ -1405,10 +1405,10 @@ class TranslatePipe {
1405
1405
  transform(key) {
1406
1406
  return this.translationService.translate(key);
1407
1407
  }
1408
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TranslatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1409
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: TranslatePipe, isStandalone: true, name: "translate" });
1408
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TranslatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1409
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: TranslatePipe, isStandalone: true, name: "translate" });
1410
1410
  }
1411
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TranslatePipe, decorators: [{
1411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TranslatePipe, decorators: [{
1412
1412
  type: Pipe,
1413
1413
  args: [{
1414
1414
  name: 'translate',
@@ -1417,12 +1417,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1417
1417
  }] });
1418
1418
 
1419
1419
  class ButtonComponent {
1420
- variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : []));
1421
- type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
1422
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1423
- fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : []));
1424
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : []));
1425
- size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
1420
+ variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : /* istanbul ignore next */ []));
1421
+ type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
1422
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
1423
+ fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : /* istanbul ignore next */ []));
1424
+ className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
1425
+ size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1426
1426
  onClick = output();
1427
1427
  getButtonClasses = computed(() => {
1428
1428
  const classes = [
@@ -1461,40 +1461,40 @@ class ButtonComponent {
1461
1461
  classes.push(this.className());
1462
1462
  }
1463
1463
  return classes.join(' ');
1464
- }, ...(ngDevMode ? [{ debugName: "getButtonClasses" }] : []));
1465
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n [class]=\"getButtonClasses()\"\n (click)=\"onClick.emit($event)\"\n dir=\"auto\"\n>\n <ng-content></ng-content>\n</button>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1464
+ }, ...(ngDevMode ? [{ debugName: "getButtonClasses" }] : /* istanbul ignore next */ []));
1465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n [class]=\"getButtonClasses()\"\n (click)=\"onClick.emit($event)\"\n dir=\"auto\"\n>\n <ng-content></ng-content>\n</button>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1467
1467
  }
1468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ButtonComponent, decorators: [{
1468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
1469
1469
  type: Component,
1470
1470
  args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n [class]=\"getButtonClasses()\"\n (click)=\"onClick.emit($event)\"\n dir=\"auto\"\n>\n <ng-content></ng-content>\n</button>\n\n" }]
1471
1471
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }] } });
1472
1472
 
1473
1473
  class IconComponent {
1474
1474
  // Icon name from Solar icon set (e.g., 'solar:home-bold', 'solar:chat-round-bold')
1475
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
1475
+ name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
1476
1476
  // Size of the icon (can be a number or string like '24px', '1em', etc.)
1477
- size = input('1.2em', ...(ngDevMode ? [{ debugName: "size" }] : []));
1477
+ size = input('1.2em', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1478
1478
  // Color of the icon (CSS color value)
1479
- color = input('currentColor', ...(ngDevMode ? [{ debugName: "color" }] : []));
1479
+ color = input('currentColor', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
1480
1480
  // Additional CSS classes
1481
- className = input('babylai:flex', ...(ngDevMode ? [{ debugName: "className" }] : []));
1481
+ className = input('babylai:flex', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
1482
1482
  // Whether the icon should be inline
1483
- inline = input(false, ...(ngDevMode ? [{ debugName: "inline" }] : []));
1483
+ inline = input(false, ...(ngDevMode ? [{ debugName: "inline" }] : /* istanbul ignore next */ []));
1484
1484
  // Flip the icon horizontally
1485
- flip = input(undefined, ...(ngDevMode ? [{ debugName: "flip" }] : []));
1485
+ flip = input(undefined, ...(ngDevMode ? [{ debugName: "flip" }] : /* istanbul ignore next */ []));
1486
1486
  // Rotate the icon (degrees or '90deg', '180deg', etc.)
1487
- rotate = input(undefined, ...(ngDevMode ? [{ debugName: "rotate" }] : []));
1488
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1489
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "flip", isSignal: true, isRequired: false, transformFunction: null }, rotate: { classPropertyName: "rotate", publicName: "rotate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<iconify-icon\n [icon]=\"name()\"\n [style.width]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.height]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.font-size]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.color]=\"color()\"\n [class]=\"className()\"\n [attr.inline]=\"inline() ? '' : null\"\n [attr.flip]=\"flip() || null\"\n [attr.rotate]=\"rotate() ? (typeof rotate() === 'number' ? rotate() + 'deg' : rotate()) : null\"\n></iconify-icon>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
1487
+ rotate = input(undefined, ...(ngDevMode ? [{ debugName: "rotate" }] : /* istanbul ignore next */ []));
1488
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1489
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "flip", isSignal: true, isRequired: false, transformFunction: null }, rotate: { classPropertyName: "rotate", publicName: "rotate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<iconify-icon\n [icon]=\"name()\"\n [style.width]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.height]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.font-size]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.color]=\"color()\"\n [class]=\"className()\"\n [attr.inline]=\"inline() ? '' : null\"\n [attr.flip]=\"flip() || null\"\n [attr.rotate]=\"rotate() ? (typeof rotate() === 'number' ? rotate() + 'deg' : rotate()) : null\"\n></iconify-icon>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
1490
1490
  }
1491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IconComponent, decorators: [{
1491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IconComponent, decorators: [{
1492
1492
  type: Component,
1493
1493
  args: [{ selector: 'app-icon', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<iconify-icon\n [icon]=\"name()\"\n [style.width]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.height]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.font-size]=\"typeof size() === 'number' ? size() + 'px' : size()\"\n [style.color]=\"color()\"\n [class]=\"className()\"\n [attr.inline]=\"inline() ? '' : null\"\n [attr.flip]=\"flip() || null\"\n [attr.rotate]=\"rotate() ? (typeof rotate() === 'number' ? rotate() + 'deg' : rotate()) : null\"\n></iconify-icon>\n" }]
1494
1494
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], flip: [{ type: i0.Input, args: [{ isSignal: true, alias: "flip", required: false }] }], rotate: [{ type: i0.Input, args: [{ isSignal: true, alias: "rotate", required: false }] }] } });
1495
1495
 
1496
1496
  class ChatActionButtonsComponent {
1497
- selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : []));
1497
+ selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
1498
1498
  closeChat = output();
1499
1499
  continueChat = output();
1500
1500
  handleCloseChat() {
@@ -1506,22 +1506,22 @@ class ChatActionButtonsComponent {
1506
1506
  handleContinueChat() {
1507
1507
  this.continueChat.emit();
1508
1508
  }
1509
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatActionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1510
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ChatActionButtonsComponent, isStandalone: true, selector: "app-chat-action-buttons", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeChat: "closeChat", continueChat: "continueChat" }, ngImport: i0, template: "<section class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:px-4 babylai:py-6 babylai:absolute babylai:left-0 babylai:right-0 babylai:bottom-11 babylai:z-20 babylai:bg-linear-to-t babylai:from-card babylai:to-transparent babylai:from-[28.32%] babylai:to-[112.59%]\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n (onClick)=\"handleCloseChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"CloseChat\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n (onClick)=\"handleContinueChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"Continue\" | translate }}\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" size=\"24px\" />\n </app-button>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1509
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatActionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1510
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ChatActionButtonsComponent, isStandalone: true, selector: "app-chat-action-buttons", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeChat: "closeChat", continueChat: "continueChat" }, ngImport: i0, template: "<section class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:px-4 babylai:py-6 babylai:absolute babylai:left-0 babylai:right-0 babylai:bottom-11 babylai:z-20 babylai:bg-linear-to-t babylai:from-card babylai:to-transparent babylai:from-[28.32%] babylai:to-[112.59%]\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n (onClick)=\"handleCloseChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"CloseChat\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n (onClick)=\"handleContinueChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"Continue\" | translate }}\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" size=\"24px\" />\n </app-button>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1511
1511
  }
1512
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatActionButtonsComponent, decorators: [{
1512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatActionButtonsComponent, decorators: [{
1513
1513
  type: Component,
1514
1514
  args: [{ selector: 'app-chat-action-buttons', standalone: true, imports: [CommonModule, TranslatePipe, ButtonComponent, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:px-4 babylai:py-6 babylai:absolute babylai:left-0 babylai:right-0 babylai:bottom-11 babylai:z-20 babylai:bg-linear-to-t babylai:from-card babylai:to-transparent babylai:from-[28.32%] babylai:to-[112.59%]\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n (onClick)=\"handleCloseChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"CloseChat\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n (onClick)=\"handleContinueChat()\"\n class=\"babylai:w-full\"\n >\n {{ \"Continue\" | translate }}\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" size=\"24px\" />\n </app-button>\n</section>\n" }]
1515
1515
  }], propDecorators: { selectedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOption", required: false }] }], closeChat: [{ type: i0.Output, args: ["closeChat"] }], continueChat: [{ type: i0.Output, args: ["continueChat"] }] } });
1516
1516
 
1517
1517
  class ChatAvatarComponent {
1518
- senderType = input(1, ...(ngDevMode ? [{ debugName: "senderType" }] : []));
1519
- needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
1520
- isHidden = input(false, ...(ngDevMode ? [{ debugName: "isHidden" }] : []));
1521
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1522
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatAvatarComponent, isStandalone: true, selector: "app-chat-avatar", inputs: { senderType: { classPropertyName: "senderType", publicName: "senderType", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n [class.babylai:invisible]=\"isHidden()\"\n role=\"img\"\n [attr.aria-label]=\"\n senderType() === 3\n ? 'Assistant avatar'\n : needsAgent() || senderType() === 2\n ? 'Agent avatar'\n : 'User avatar'\n \"\n>\n @if (senderType() === 3) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-primary babylai:text-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 13 13\"\n fill=\"currentColor\"\n >\n <path\n d=\"M0 3.32671C0 1.48942 1.48942 0 3.32672 0H8.87124C10.7085 0 12.198 1.48942 12.198 3.32672V8.87124C12.198 10.7085 10.7085 12.198 8.87124 12.198H0V3.32671Z\"\n fill=\"white\"\n />\n <path\n d=\"M3.84993 4.07931C3.85024 4.07821 3.85039 4.07767 3.85047 4.07741C3.89874 3.90812 4.13867 3.90812 4.18695 4.07741C4.18702 4.07767 4.18718 4.07821 4.18749 4.07931C4.1883 4.0822 4.18871 4.08365 4.1891 4.085C4.41343 4.87717 5.03256 5.49631 5.82473 5.72064C5.82608 5.72102 5.82753 5.72143 5.83042 5.72224C5.83152 5.72255 5.83207 5.72271 5.83232 5.72278C6.00162 5.77106 6.00162 6.01099 5.83232 6.05927C5.83207 6.05934 5.83152 6.05949 5.83042 6.0598C5.82753 6.06062 5.82608 6.06103 5.82473 6.06141C5.03256 6.28574 4.41343 6.90488 4.1891 7.69704C4.18871 7.6984 4.1883 7.69984 4.18749 7.70273C4.18718 7.70383 4.18702 7.70438 4.18695 7.70463C4.13867 7.87393 3.89874 7.87393 3.85047 7.70463C3.85039 7.70438 3.85024 7.70383 3.84993 7.70273C3.84911 7.69984 3.84871 7.6984 3.84832 7.69704C3.62399 6.90488 3.00486 6.28574 2.21269 6.06141C2.21133 6.06103 2.20989 6.06062 2.207 6.0598C2.2059 6.05949 2.20535 6.05934 2.2051 6.05927C2.0358 6.01099 2.0358 5.77106 2.2051 5.72278C2.20535 5.72271 2.2059 5.72255 2.207 5.72224C2.20989 5.72143 2.21133 5.72102 2.21269 5.72064C3.00486 5.49631 3.62399 4.87717 3.84832 4.085C3.84871 4.08365 3.84911 4.0822 3.84993 4.07931Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.84056 5.85655C9.84056 6.6795 9.18894 7.34664 8.38513 7.34664C7.58131 7.34664 6.92969 6.6795 6.92969 5.85655C6.92969 5.03359 7.58131 4.36646 8.38513 4.36646C9.18894 4.36646 9.84056 5.03359 9.84056 5.85655Z\"\n fill=\"currentColor\"\n />\n </svg>\n </span>\n } @else if (needsAgent() || senderType() === 2) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-black-white-50 babylai:text-primary\"\n >\n <app-icon name=\"solar:user-bold\" class=\"babylai:flex\" />\n </span>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1518
+ senderType = input(1, ...(ngDevMode ? [{ debugName: "senderType" }] : /* istanbul ignore next */ []));
1519
+ needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
1520
+ isHidden = input(false, ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
1521
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1522
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChatAvatarComponent, isStandalone: true, selector: "app-chat-avatar", inputs: { senderType: { classPropertyName: "senderType", publicName: "senderType", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n [class.babylai:invisible]=\"isHidden()\"\n role=\"img\"\n [attr.aria-label]=\"\n senderType() === 3\n ? 'Assistant avatar'\n : needsAgent() || senderType() === 2\n ? 'Agent avatar'\n : 'User avatar'\n \"\n>\n @if (senderType() === 3) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-primary babylai:text-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 13 13\"\n fill=\"currentColor\"\n >\n <path\n d=\"M0 3.32671C0 1.48942 1.48942 0 3.32672 0H8.87124C10.7085 0 12.198 1.48942 12.198 3.32672V8.87124C12.198 10.7085 10.7085 12.198 8.87124 12.198H0V3.32671Z\"\n fill=\"white\"\n />\n <path\n d=\"M3.84993 4.07931C3.85024 4.07821 3.85039 4.07767 3.85047 4.07741C3.89874 3.90812 4.13867 3.90812 4.18695 4.07741C4.18702 4.07767 4.18718 4.07821 4.18749 4.07931C4.1883 4.0822 4.18871 4.08365 4.1891 4.085C4.41343 4.87717 5.03256 5.49631 5.82473 5.72064C5.82608 5.72102 5.82753 5.72143 5.83042 5.72224C5.83152 5.72255 5.83207 5.72271 5.83232 5.72278C6.00162 5.77106 6.00162 6.01099 5.83232 6.05927C5.83207 6.05934 5.83152 6.05949 5.83042 6.0598C5.82753 6.06062 5.82608 6.06103 5.82473 6.06141C5.03256 6.28574 4.41343 6.90488 4.1891 7.69704C4.18871 7.6984 4.1883 7.69984 4.18749 7.70273C4.18718 7.70383 4.18702 7.70438 4.18695 7.70463C4.13867 7.87393 3.89874 7.87393 3.85047 7.70463C3.85039 7.70438 3.85024 7.70383 3.84993 7.70273C3.84911 7.69984 3.84871 7.6984 3.84832 7.69704C3.62399 6.90488 3.00486 6.28574 2.21269 6.06141C2.21133 6.06103 2.20989 6.06062 2.207 6.0598C2.2059 6.05949 2.20535 6.05934 2.2051 6.05927C2.0358 6.01099 2.0358 5.77106 2.2051 5.72278C2.20535 5.72271 2.2059 5.72255 2.207 5.72224C2.20989 5.72143 2.21133 5.72102 2.21269 5.72064C3.00486 5.49631 3.62399 4.87717 3.84832 4.085C3.84871 4.08365 3.84911 4.0822 3.84993 4.07931Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.84056 5.85655C9.84056 6.6795 9.18894 7.34664 8.38513 7.34664C7.58131 7.34664 6.92969 6.6795 6.92969 5.85655C6.92969 5.03359 7.58131 4.36646 8.38513 4.36646C9.18894 4.36646 9.84056 5.03359 9.84056 5.85655Z\"\n fill=\"currentColor\"\n />\n </svg>\n </span>\n } @else if (needsAgent() || senderType() === 2) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-black-white-50 babylai:text-primary\"\n >\n <app-icon name=\"solar:user-bold\" class=\"babylai:flex\" />\n </span>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1523
1523
  }
1524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatAvatarComponent, decorators: [{
1524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatAvatarComponent, decorators: [{
1525
1525
  type: Component,
1526
1526
  args: [{ selector: 'app-chat-avatar', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class.babylai:invisible]=\"isHidden()\"\n role=\"img\"\n [attr.aria-label]=\"\n senderType() === 3\n ? 'Assistant avatar'\n : needsAgent() || senderType() === 2\n ? 'Agent avatar'\n : 'User avatar'\n \"\n>\n @if (senderType() === 3) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-primary babylai:text-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 13 13\"\n fill=\"currentColor\"\n >\n <path\n d=\"M0 3.32671C0 1.48942 1.48942 0 3.32672 0H8.87124C10.7085 0 12.198 1.48942 12.198 3.32672V8.87124C12.198 10.7085 10.7085 12.198 8.87124 12.198H0V3.32671Z\"\n fill=\"white\"\n />\n <path\n d=\"M3.84993 4.07931C3.85024 4.07821 3.85039 4.07767 3.85047 4.07741C3.89874 3.90812 4.13867 3.90812 4.18695 4.07741C4.18702 4.07767 4.18718 4.07821 4.18749 4.07931C4.1883 4.0822 4.18871 4.08365 4.1891 4.085C4.41343 4.87717 5.03256 5.49631 5.82473 5.72064C5.82608 5.72102 5.82753 5.72143 5.83042 5.72224C5.83152 5.72255 5.83207 5.72271 5.83232 5.72278C6.00162 5.77106 6.00162 6.01099 5.83232 6.05927C5.83207 6.05934 5.83152 6.05949 5.83042 6.0598C5.82753 6.06062 5.82608 6.06103 5.82473 6.06141C5.03256 6.28574 4.41343 6.90488 4.1891 7.69704C4.18871 7.6984 4.1883 7.69984 4.18749 7.70273C4.18718 7.70383 4.18702 7.70438 4.18695 7.70463C4.13867 7.87393 3.89874 7.87393 3.85047 7.70463C3.85039 7.70438 3.85024 7.70383 3.84993 7.70273C3.84911 7.69984 3.84871 7.6984 3.84832 7.69704C3.62399 6.90488 3.00486 6.28574 2.21269 6.06141C2.21133 6.06103 2.20989 6.06062 2.207 6.0598C2.2059 6.05949 2.20535 6.05934 2.2051 6.05927C2.0358 6.01099 2.0358 5.77106 2.2051 5.72278C2.20535 5.72271 2.2059 5.72255 2.207 5.72224C2.20989 5.72143 2.21133 5.72102 2.21269 5.72064C3.00486 5.49631 3.62399 4.87717 3.84832 4.085C3.84871 4.08365 3.84911 4.0822 3.84993 4.07931Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.84056 5.85655C9.84056 6.6795 9.18894 7.34664 8.38513 7.34664C7.58131 7.34664 6.92969 6.6795 6.92969 5.85655C6.92969 5.03359 7.58131 4.36646 8.38513 4.36646C9.18894 4.36646 9.84056 5.03359 9.84056 5.85655Z\"\n fill=\"currentColor\"\n />\n </svg>\n </span>\n } @else if (needsAgent() || senderType() === 2) {\n <span\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-8 babylai:h-8 babylai:rounded-full babylai:p-2 babylai:bg-black-white-50 babylai:text-primary\"\n >\n <app-icon name=\"solar:user-bold\" class=\"babylai:flex\" />\n </span>\n }\n</div>\n" }]
1527
1527
  }], propDecorators: { senderType: [{ type: i0.Input, args: [{ isSignal: true, alias: "senderType", required: false }] }], needsAgent: [{ type: i0.Input, args: [{ isSignal: true, alias: "needsAgent", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }] } });
@@ -1532,9 +1532,9 @@ class ImageAttachmentComponent {
1532
1532
  className = '';
1533
1533
  imageClick = new EventEmitter();
1534
1534
  fileUploadService = inject(FileUploadService);
1535
- imageUrl = signal(null, ...(ngDevMode ? [{ debugName: "imageUrl" }] : []));
1536
- isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
1537
- hasError = signal(false, ...(ngDevMode ? [{ debugName: "hasError" }] : []));
1535
+ imageUrl = signal(null, ...(ngDevMode ? [{ debugName: "imageUrl" }] : /* istanbul ignore next */ []));
1536
+ isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
1537
+ hasError = signal(false, ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
1538
1538
  ngOnInit() {
1539
1539
  if (this.fileId) {
1540
1540
  const isDirectUrl = this.fileId.startsWith('http://') || this.fileId.startsWith('https://');
@@ -1581,10 +1581,10 @@ class ImageAttachmentComponent {
1581
1581
  this.imageClick.emit();
1582
1582
  }
1583
1583
  }
1584
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ImageAttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1585
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ImageAttachmentComponent, isStandalone: true, selector: "app-image-attachment", inputs: { fileId: "fileId", enablePreview: "enablePreview", className: "className" }, outputs: { imageClick: "imageClick" }, ngImport: i0, template: "<div\n class=\"babylai:inline-flex babylai:items-center babylai:justify-center babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:overflow-hidden babylai:shrink-0\"\n [style.background-color]=\"'var(--muted)'\"\n [class]=\"className\"\n (click)=\"handleClick()\"\n [class.babylai:cursor-pointer]=\"enablePreview && imageUrl()\"\n [class.babylai:transition-opacity]=\"enablePreview && imageUrl()\"\n [class.babylai:duration-200]=\"enablePreview && imageUrl()\"\n>\n @if (isLoading()) {\n <div class=\"babylai:text-sm\" [style.color]=\"'var(--muted-foreground)'\">...</div>\n } @else if (hasError()) {\n <div class=\"babylai:text-sm babylai:font-semibold\" [style.color]=\"'var(--destructive)'\">!</div>\n } @else if (imageUrl()) {\n <img\n [src]=\"imageUrl()!\"\n [alt]=\"'Image attachment'\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:block\"\n [class.babylai:opacity-80]=\"enablePreview\"\n loading=\"lazy\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1584
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageAttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1585
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ImageAttachmentComponent, isStandalone: true, selector: "app-image-attachment", inputs: { fileId: "fileId", enablePreview: "enablePreview", className: "className" }, outputs: { imageClick: "imageClick" }, ngImport: i0, template: "<div\n class=\"babylai:inline-flex babylai:items-center babylai:justify-center babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:overflow-hidden babylai:shrink-0\"\n [style.background-color]=\"'var(--muted)'\"\n [class]=\"className\"\n (click)=\"handleClick()\"\n [class.babylai:cursor-pointer]=\"enablePreview && imageUrl()\"\n [class.babylai:transition-opacity]=\"enablePreview && imageUrl()\"\n [class.babylai:duration-200]=\"enablePreview && imageUrl()\"\n>\n @if (isLoading()) {\n <div class=\"babylai:text-sm\" [style.color]=\"'var(--muted-foreground)'\">...</div>\n } @else if (hasError()) {\n <div class=\"babylai:text-sm babylai:font-semibold\" [style.color]=\"'var(--destructive)'\">!</div>\n } @else if (imageUrl()) {\n <img\n [src]=\"imageUrl()!\"\n [alt]=\"'Image attachment'\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:block\"\n [class.babylai:opacity-80]=\"enablePreview\"\n loading=\"lazy\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1586
1586
  }
1587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ImageAttachmentComponent, decorators: [{
1587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImageAttachmentComponent, decorators: [{
1588
1588
  type: Component,
1589
1589
  args: [{ selector: 'app-image-attachment', standalone: true, imports: [CommonModule], template: "<div\n class=\"babylai:inline-flex babylai:items-center babylai:justify-center babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:overflow-hidden babylai:shrink-0\"\n [style.background-color]=\"'var(--muted)'\"\n [class]=\"className\"\n (click)=\"handleClick()\"\n [class.babylai:cursor-pointer]=\"enablePreview && imageUrl()\"\n [class.babylai:transition-opacity]=\"enablePreview && imageUrl()\"\n [class.babylai:duration-200]=\"enablePreview && imageUrl()\"\n>\n @if (isLoading()) {\n <div class=\"babylai:text-sm\" [style.color]=\"'var(--muted-foreground)'\">...</div>\n } @else if (hasError()) {\n <div class=\"babylai:text-sm babylai:font-semibold\" [style.color]=\"'var(--destructive)'\">!</div>\n } @else if (imageUrl()) {\n <img\n [src]=\"imageUrl()!\"\n [alt]=\"'Image attachment'\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:block\"\n [class.babylai:opacity-80]=\"enablePreview\"\n loading=\"lazy\"\n />\n }\n</div>\n\n" }]
1590
1590
  }], propDecorators: { fileId: [{
@@ -1598,21 +1598,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1598
1598
  }] } });
1599
1599
 
1600
1600
  class ImagePreviewDialogComponent {
1601
- imageUrls = input([], ...(ngDevMode ? [{ debugName: "imageUrls" }] : []));
1602
- initialIndex = input(0, ...(ngDevMode ? [{ debugName: "initialIndex" }] : []));
1603
- isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
1601
+ imageUrls = input([], ...(ngDevMode ? [{ debugName: "imageUrls" }] : /* istanbul ignore next */ []));
1602
+ initialIndex = input(0, ...(ngDevMode ? [{ debugName: "initialIndex" }] : /* istanbul ignore next */ []));
1603
+ isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
1604
1604
  close = output();
1605
- currentIndex = signal(0, ...(ngDevMode ? [{ debugName: "currentIndex" }] : []));
1605
+ currentIndex = signal(0, ...(ngDevMode ? [{ debugName: "currentIndex" }] : /* istanbul ignore next */ []));
1606
1606
  currentImageUrl = computed(() => {
1607
1607
  const index = this.currentIndex();
1608
1608
  return this.imageUrls()[index] || null;
1609
- }, ...(ngDevMode ? [{ debugName: "currentImageUrl" }] : []));
1609
+ }, ...(ngDevMode ? [{ debugName: "currentImageUrl" }] : /* istanbul ignore next */ []));
1610
1610
  imageCounter = computed(() => {
1611
1611
  return `${this.currentIndex() + 1} / ${this.imageUrls().length}`;
1612
- }, ...(ngDevMode ? [{ debugName: "imageCounter" }] : []));
1613
- hasMultipleImages = computed(() => this.imageUrls().length > 1, ...(ngDevMode ? [{ debugName: "hasMultipleImages" }] : []));
1614
- canGoPrevious = computed(() => this.currentIndex() > 0, ...(ngDevMode ? [{ debugName: "canGoPrevious" }] : []));
1615
- canGoNext = computed(() => this.currentIndex() < this.imageUrls().length - 1, ...(ngDevMode ? [{ debugName: "canGoNext" }] : []));
1612
+ }, ...(ngDevMode ? [{ debugName: "imageCounter" }] : /* istanbul ignore next */ []));
1613
+ hasMultipleImages = computed(() => this.imageUrls().length > 1, ...(ngDevMode ? [{ debugName: "hasMultipleImages" }] : /* istanbul ignore next */ []));
1614
+ canGoPrevious = computed(() => this.currentIndex() > 0, ...(ngDevMode ? [{ debugName: "canGoPrevious" }] : /* istanbul ignore next */ []));
1615
+ canGoNext = computed(() => this.currentIndex() < this.imageUrls().length - 1, ...(ngDevMode ? [{ debugName: "canGoNext" }] : /* istanbul ignore next */ []));
1616
1616
  ngOnInit() {
1617
1617
  this.currentIndex.set(this.initialIndex());
1618
1618
  }
@@ -1660,10 +1660,10 @@ class ImagePreviewDialogComponent {
1660
1660
  this.currentIndex.update((index) => index + 1);
1661
1661
  }
1662
1662
  }
1663
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ImagePreviewDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1664
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ImagePreviewDialogComponent, isStandalone: true, selector: "app-image-preview-dialog", inputs: { imageUrls: { classPropertyName: "imageUrls", publicName: "imageUrls", isSignal: true, isRequired: false, transformFunction: null }, initialIndex: { classPropertyName: "initialIndex", publicName: "initialIndex", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "@if (isOpen()) {\n <div\n class=\"image-preview-dialog__backdrop babylai:fixed babylai:inset-0 babylai:bg-black/90 babylai:flex babylai:items-center babylai:justify-center babylai:z-9999 babylai:p-4\"\n (click)=\"handleBackdropClick($event)\"\n >\n <div class=\"image-preview-dialog__container babylai:relative babylai:w-full babylai:h-full babylai:flex babylai:items-center babylai:justify-center babylai:max-w-[90vw] babylai:max-h-[90vh] babylai:z-1\">\n <button\n class=\"image-preview-dialog__close babylai:absolute babylai:top-4 babylai:right-4 babylai:z-10001 babylai:w-10 babylai:h-10 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:hover:bg-white/20 babylai:hover:scale-110\"\n (click)=\"handleClose()\"\n type=\"button\"\n aria-label=\"Close preview\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 6L6 18M6 6L18 18\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n\n @if (hasMultipleImages()) {\n <button\n class=\"babylai:absolute babylai:top-1/2 babylai:-translate-y-1/2 babylai:z-10001 babylai:w-12 babylai:h-12 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:left-4\"\n [class.babylai:opacity-30]=\"!canGoPrevious()\"\n [class.babylai:cursor-not-allowed]=\"!canGoPrevious()\"\n (click)=\"handlePrevious()\"\n type=\"button\"\n aria-label=\"Previous image\"\n [disabled]=\"!canGoPrevious()\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n\n <button\n class=\"babylai:absolute babylai:top-1/2 babylai:-translate-y-1/2 babylai:z-10001 babylai:w-12 babylai:h-12 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:right-4\"\n [class.babylai:opacity-30]=\"!canGoNext()\"\n [class.babylai:cursor-not-allowed]=\"!canGoNext()\"\n (click)=\"handleNext()\"\n type=\"button\"\n aria-label=\"Next image\"\n [disabled]=\"!canGoNext()\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n }\n\n <div class=\"babylai:relative babylai:w-full babylai:h-full babylai:flex babylai:items-center babylai:justify-center babylai:overflow-hidden babylai:z-1\">\n @if (currentImageUrl()) {\n <img\n [src]=\"currentImageUrl()!\"\n [alt]=\"'Image preview'\"\n class=\"babylai:max-w-full babylai:max-h-full babylai:object-contain babylai:rounded-md babylai:pointer-events-none\"\n />\n }\n </div>\n\n @if (hasMultipleImages()) {\n <div class=\"babylai:absolute babylai:bottom-4 babylai:left-1/2 babylai:-translate-x-1/2 babylai:py-2 babylai:px-4 babylai:bg-black/60 babylai:text-white babylai:rounded-full babylai:text-sm babylai:font-medium babylai:z-10001 babylai:pointer-events-none\">\n {{ imageCounter() }}\n </div>\n }\n </div>\n </div>\n}\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1663
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImagePreviewDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1664
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ImagePreviewDialogComponent, isStandalone: true, selector: "app-image-preview-dialog", inputs: { imageUrls: { classPropertyName: "imageUrls", publicName: "imageUrls", isSignal: true, isRequired: false, transformFunction: null }, initialIndex: { classPropertyName: "initialIndex", publicName: "initialIndex", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "@if (isOpen()) {\n <div\n class=\"image-preview-dialog__backdrop babylai:fixed babylai:inset-0 babylai:bg-black/90 babylai:flex babylai:items-center babylai:justify-center babylai:z-9999 babylai:p-4\"\n (click)=\"handleBackdropClick($event)\"\n >\n <div class=\"image-preview-dialog__container babylai:relative babylai:w-full babylai:h-full babylai:flex babylai:items-center babylai:justify-center babylai:max-w-[90vw] babylai:max-h-[90vh] babylai:z-1\">\n <button\n class=\"image-preview-dialog__close babylai:absolute babylai:top-4 babylai:right-4 babylai:z-10001 babylai:w-10 babylai:h-10 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:hover:bg-white/20 babylai:hover:scale-110\"\n (click)=\"handleClose()\"\n type=\"button\"\n aria-label=\"Close preview\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 6L6 18M6 6L18 18\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n\n @if (hasMultipleImages()) {\n <button\n class=\"babylai:absolute babylai:top-1/2 babylai:-translate-y-1/2 babylai:z-10001 babylai:w-12 babylai:h-12 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:left-4\"\n [class.babylai:opacity-30]=\"!canGoPrevious()\"\n [class.babylai:cursor-not-allowed]=\"!canGoPrevious()\"\n (click)=\"handlePrevious()\"\n type=\"button\"\n aria-label=\"Previous image\"\n [disabled]=\"!canGoPrevious()\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n\n <button\n class=\"babylai:absolute babylai:top-1/2 babylai:-translate-y-1/2 babylai:z-10001 babylai:w-12 babylai:h-12 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full babylai:bg-white/10 babylai:border babylai:border-white/20 babylai:text-white babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:pointer-events-auto babylai:right-4\"\n [class.babylai:opacity-30]=\"!canGoNext()\"\n [class.babylai:cursor-not-allowed]=\"!canGoNext()\"\n (click)=\"handleNext()\"\n type=\"button\"\n aria-label=\"Next image\"\n [disabled]=\"!canGoNext()\"\n >\n <svg\n class=\"babylai:w-6 babylai:h-6 babylai:pointer-events-none\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n }\n\n <div class=\"babylai:relative babylai:w-full babylai:h-full babylai:flex babylai:items-center babylai:justify-center babylai:overflow-hidden babylai:z-1\">\n @if (currentImageUrl()) {\n <img\n [src]=\"currentImageUrl()!\"\n [alt]=\"'Image preview'\"\n class=\"babylai:max-w-full babylai:max-h-full babylai:object-contain babylai:rounded-md babylai:pointer-events-none\"\n />\n }\n </div>\n\n @if (hasMultipleImages()) {\n <div class=\"babylai:absolute babylai:bottom-4 babylai:left-1/2 babylai:-translate-x-1/2 babylai:py-2 babylai:px-4 babylai:bg-black/60 babylai:text-white babylai:rounded-full babylai:text-sm babylai:font-medium babylai:z-10001 babylai:pointer-events-none\">\n {{ imageCounter() }}\n </div>\n }\n </div>\n </div>\n}\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1665
1665
  }
1666
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ImagePreviewDialogComponent, decorators: [{
1666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ImagePreviewDialogComponent, decorators: [{
1667
1667
  type: Component,
1668
1668
  args: [{ selector: 'app-image-preview-dialog', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1669
1669
  '(document:keydown)': 'handleKeydown($event)',
@@ -1678,13 +1678,13 @@ marked.setOptions({
1678
1678
  // Note: We don't use marked's sanitize option as we handle sanitization with Angular's DomSanitizer
1679
1679
  });
1680
1680
  class MarkdownRendererComponent {
1681
- content = input('', ...(ngDevMode ? [{ debugName: "content" }] : []));
1682
- inline = input(false, ...(ngDevMode ? [{ debugName: "inline" }] : []));
1683
- cssClass = input('babylai:m-0 babylai:leading-snug babylai:text-sm babylai:font-sans babylai:wrap-break-word babylai:text-start', ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
1684
- dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : []));
1681
+ content = input('', ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
1682
+ inline = input(false, ...(ngDevMode ? [{ debugName: "inline" }] : /* istanbul ignore next */ []));
1683
+ cssClass = input('babylai:m-0 babylai:leading-snug babylai:text-sm babylai:font-sans babylai:wrap-break-word babylai:text-start', ...(ngDevMode ? [{ debugName: "cssClass" }] : /* istanbul ignore next */ []));
1684
+ dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : /* istanbul ignore next */ []));
1685
1685
  markdownContainer;
1686
1686
  sanitizer = inject(DomSanitizer);
1687
- sanitizedContent = signal('', ...(ngDevMode ? [{ debugName: "sanitizedContent" }] : []));
1687
+ sanitizedContent = signal('', ...(ngDevMode ? [{ debugName: "sanitizedContent" }] : /* istanbul ignore next */ []));
1688
1688
  contentEffectRef;
1689
1689
  constructor() {
1690
1690
  // Effect to re-render content when input changes
@@ -1698,7 +1698,7 @@ class MarkdownRendererComponent {
1698
1698
  else {
1699
1699
  this.sanitizedContent.set('');
1700
1700
  }
1701
- }, ...(ngDevMode ? [{ debugName: "contentEffectRef" }] : []));
1701
+ }, ...(ngDevMode ? [{ debugName: "contentEffectRef" }] : /* istanbul ignore next */ []));
1702
1702
  }
1703
1703
  ngOnInit() {
1704
1704
  this.renderContent();
@@ -1723,13 +1723,7 @@ class MarkdownRendererComponent {
1723
1723
  }
1724
1724
  try {
1725
1725
  // Dynamically import Prism.js and its commonly used components
1726
- await Promise.all([
1727
- import('prismjs'),
1728
- import('prismjs/components/prism-typescript'),
1729
- import('prismjs/components/prism-javascript'),
1730
- import('prismjs/components/prism-css'),
1731
- import('prismjs/components/prism-json'),
1732
- ]);
1726
+ await Promise.all([import('prismjs')]);
1733
1727
  // Re-highlight after loading
1734
1728
  this.highlightCode();
1735
1729
  }
@@ -1788,10 +1782,10 @@ class MarkdownRendererComponent {
1788
1782
  this.contentEffectRef = undefined;
1789
1783
  }
1790
1784
  }
1791
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MarkdownRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1792
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: MarkdownRendererComponent, isStandalone: true, selector: "app-markdown-renderer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "markdownContainer", first: true, predicate: ["markdownContainer"], descendants: true }], ngImport: i0, template: "<div \n #markdownContainer\n [class]=\"cssClass()\"\n [dir]=\"dir()\"\n [innerHTML]=\"sanitizedContent()\"\n></div>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1785
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MarkdownRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1786
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: MarkdownRendererComponent, isStandalone: true, selector: "app-markdown-renderer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "markdownContainer", first: true, predicate: ["markdownContainer"], descendants: true }], ngImport: i0, template: "<div \n #markdownContainer\n [class]=\"cssClass()\"\n [dir]=\"dir()\"\n [innerHTML]=\"sanitizedContent()\"\n></div>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1793
1787
  }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MarkdownRendererComponent, decorators: [{
1788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MarkdownRendererComponent, decorators: [{
1795
1789
  type: Component,
1796
1790
  args: [{ selector: 'app-markdown-renderer', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div \n #markdownContainer\n [class]=\"cssClass()\"\n [dir]=\"dir()\"\n [innerHTML]=\"sanitizedContent()\"\n></div>\n\n" }]
1797
1791
  }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], cssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cssClass", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], markdownContainer: [{
@@ -1800,18 +1794,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1800
1794
  }] } });
1801
1795
 
1802
1796
  class ChatMessageComponent {
1803
- message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
1804
- needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
1805
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
1806
- isHidden = input(false, ...(ngDevMode ? [{ debugName: "isHidden" }] : []));
1797
+ message = input.required(...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
1798
+ needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
1799
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
1800
+ isHidden = input(false, ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
1807
1801
  fileUploadService = inject(FileUploadService);
1808
- previewImageUrls = signal([], ...(ngDevMode ? [{ debugName: "previewImageUrls" }] : []));
1809
- previewImageIndex = signal(-1, ...(ngDevMode ? [{ debugName: "previewImageIndex" }] : []));
1810
- isPreviewOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPreviewOpen" }] : []));
1802
+ previewImageUrls = signal([], ...(ngDevMode ? [{ debugName: "previewImageUrls" }] : /* istanbul ignore next */ []));
1803
+ previewImageIndex = signal(-1, ...(ngDevMode ? [{ debugName: "previewImageIndex" }] : /* istanbul ignore next */ []));
1804
+ isPreviewOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPreviewOpen" }] : /* istanbul ignore next */ []));
1811
1805
  hasAttachments = computed(() => {
1812
1806
  const currentMessage = this.message();
1813
1807
  return !!currentMessage.attachmentIds?.length;
1814
- }, ...(ngDevMode ? [{ debugName: "hasAttachments" }] : []));
1808
+ }, ...(ngDevMode ? [{ debugName: "hasAttachments" }] : /* istanbul ignore next */ []));
1815
1809
  cleanMessageContent(content) {
1816
1810
  return content.replace(/```/g, '\\`\\`\\`');
1817
1811
  }
@@ -1846,10 +1840,10 @@ class ChatMessageComponent {
1846
1840
  this.previewImageUrls.set([]);
1847
1841
  this.previewImageIndex.set(-1);
1848
1842
  }
1849
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1850
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatMessageComponent, isStandalone: true, selector: "app-chat-message", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"babylai:flex babylai:items-start babylai:gap-3\"\n [class.babylai:flex-row-reverse]=\"message().senderType === 1\"\n>\n @if (message().senderType !== 1) {\n <app-chat-avatar\n [senderType]=\"message().senderType\"\n [needsAgent]=\"needsAgent()\"\n [isHidden]=\"isHidden()\"\n />\n }\n\n <div\n class=\"babylai:rounded-2xl babylai:p-4 babylai:flex babylai:flex-col babylai:gap-2\"\n [dir]=\"\n (currentLang() === 'ar') !== (message().senderType === 1) ? 'rtl' : 'ltr'\n \"\n [class]=\"\n message().senderType === 1\n ? 'babylai:bg-primary-500 babylai:text-black-white-50 babylai:max-w-[220px]'\n : 'babylai:bg-card'\n \"\n >\n @if (hasAttachments()) {\n <div class=\"babylai:flex babylai:flex-wrap babylai:gap-2\">\n @for (\n fileId of message().attachmentIds!;\n track fileId;\n let i = $index\n ) {\n <app-image-attachment\n [fileId]=\"fileId\"\n [enablePreview]=\"true\"\n (imageClick)=\"handleImageClick(i)\"\n class=\"babylai:flex babylai:flex-col\"\n />\n }\n </div>\n }\n <app-markdown-renderer\n [content]=\"cleanMessageContent(message().messageContent)\"\n [inline]=\"false\"\n [dir]=\"'auto'\"\n >\n </app-markdown-renderer>\n </div>\n</div>\n\n<app-image-preview-dialog\n [imageUrls]=\"previewImageUrls()\"\n [initialIndex]=\"previewImageIndex()\"\n [isOpen]=\"isPreviewOpen()\"\n (close)=\"closePreview()\"\n/>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MarkdownRendererComponent, selector: "app-markdown-renderer", inputs: ["content", "inline", "cssClass", "dir"] }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }, { kind: "component", type: ImageAttachmentComponent, selector: "app-image-attachment", inputs: ["fileId", "enablePreview", "className"], outputs: ["imageClick"] }, { kind: "component", type: ImagePreviewDialogComponent, selector: "app-image-preview-dialog", inputs: ["imageUrls", "initialIndex", "isOpen"], outputs: ["close"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1844
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChatMessageComponent, isStandalone: true, selector: "app-chat-message", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"babylai:flex babylai:items-start babylai:gap-3\"\n [class.babylai:flex-row-reverse]=\"message().senderType === 1\"\n>\n @if (message().senderType !== 1) {\n <app-chat-avatar\n [senderType]=\"message().senderType\"\n [needsAgent]=\"needsAgent()\"\n [isHidden]=\"isHidden()\"\n />\n }\n\n <div\n class=\"babylai:rounded-2xl babylai:p-4 babylai:flex babylai:flex-col babylai:gap-2\"\n [dir]=\"\n (currentLang() === 'ar') !== (message().senderType === 1) ? 'rtl' : 'ltr'\n \"\n [class]=\"\n message().senderType === 1\n ? 'babylai:bg-primary-500 babylai:text-black-white-50 babylai:max-w-[220px]'\n : 'babylai:bg-card'\n \"\n >\n @if (hasAttachments()) {\n <div class=\"babylai:flex babylai:flex-wrap babylai:gap-2\">\n @for (\n fileId of message().attachmentIds!;\n track fileId;\n let i = $index\n ) {\n <app-image-attachment\n [fileId]=\"fileId\"\n [enablePreview]=\"true\"\n (imageClick)=\"handleImageClick(i)\"\n class=\"babylai:flex babylai:flex-col\"\n />\n }\n </div>\n }\n <app-markdown-renderer\n [content]=\"cleanMessageContent(message().messageContent)\"\n [inline]=\"false\"\n [dir]=\"'auto'\"\n >\n </app-markdown-renderer>\n </div>\n</div>\n\n<app-image-preview-dialog\n [imageUrls]=\"previewImageUrls()\"\n [initialIndex]=\"previewImageIndex()\"\n [isOpen]=\"isPreviewOpen()\"\n (close)=\"closePreview()\"\n/>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MarkdownRendererComponent, selector: "app-markdown-renderer", inputs: ["content", "inline", "cssClass", "dir"] }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }, { kind: "component", type: ImageAttachmentComponent, selector: "app-image-attachment", inputs: ["fileId", "enablePreview", "className"], outputs: ["imageClick"] }, { kind: "component", type: ImagePreviewDialogComponent, selector: "app-image-preview-dialog", inputs: ["imageUrls", "initialIndex", "isOpen"], outputs: ["close"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1851
1845
  }
1852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatMessageComponent, decorators: [{
1846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatMessageComponent, decorators: [{
1853
1847
  type: Component,
1854
1848
  args: [{ selector: 'app-chat-message', standalone: true, imports: [
1855
1849
  CommonModule,
@@ -1861,31 +1855,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1861
1855
  }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], needsAgent: [{ type: i0.Input, args: [{ isSignal: true, alias: "needsAgent", required: false }] }], currentLang: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentLang", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }] } });
1862
1856
 
1863
1857
  class ChatSeparatorComponent {
1864
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1865
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: ChatSeparatorComponent, isStandalone: true, selector: "app-chat-separator", ngImport: i0, template: "<div class=\"chat__separator babylai:w-full babylai:text-black-white-300\">\n <svg\n class=\"babylai:w-full\"\n height=\"14\"\n viewBox=\"0 0 327 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line x1=\"132.5\" y1=\"7.5\" y2=\"7.5\" stroke=\"currentColor\" />\n <path\n d=\"M162.891 0.464864C162.892 0.460907 162.893 0.458928 162.893 0.458012C163.067 -0.152671 163.933 -0.152671 164.107 0.458012C164.107 0.458928 164.108 0.460907 164.109 0.464864C164.112 0.475291 164.113 0.480505 164.115 0.4854C164.924 3.34287 167.157 5.57619 170.015 6.38539C170.019 6.38678 170.025 6.38825 170.035 6.39119C170.039 6.3923 170.041 6.39286 170.042 6.39312C170.653 6.56727 170.653 7.43274 170.042 7.60688C170.041 7.60714 170.039 7.6077 170.035 7.60881C170.025 7.61175 170.019 7.61322 170.015 7.61461C167.157 8.42381 164.924 10.6571 164.115 13.5146C164.113 13.5195 164.112 13.5247 164.109 13.5351C164.108 13.5391 164.107 13.5411 164.107 13.542C163.933 14.1527 163.067 14.1527 162.893 13.542C162.893 13.5411 162.892 13.5391 162.891 13.5351C162.888 13.5247 162.887 13.5195 162.885 13.5146C162.076 10.6571 159.843 8.42381 156.985 7.61461C156.981 7.61322 156.975 7.61175 156.965 7.60881C156.961 7.6077 156.959 7.60714 156.958 7.60688C156.347 7.43274 156.347 6.56727 156.958 6.39312C156.959 6.39286 156.961 6.3923 156.965 6.39119C156.975 6.38825 156.981 6.38678 156.985 6.38539C159.843 5.57619 162.076 3.34287 162.885 0.4854C162.887 0.480505 162.888 0.475291 162.891 0.464864Z\"\n fill=\"currentColor\"\n />\n <line x1=\"327\" y1=\"7.5\" x2=\"194.5\" y2=\"7.5\" stroke=\"currentColor\" />\n </svg>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1858
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1859
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ChatSeparatorComponent, isStandalone: true, selector: "app-chat-separator", ngImport: i0, template: "<div class=\"chat__separator babylai:w-full babylai:text-black-white-300\">\n <svg\n class=\"babylai:w-full\"\n height=\"14\"\n viewBox=\"0 0 327 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line x1=\"132.5\" y1=\"7.5\" y2=\"7.5\" stroke=\"currentColor\" />\n <path\n d=\"M162.891 0.464864C162.892 0.460907 162.893 0.458928 162.893 0.458012C163.067 -0.152671 163.933 -0.152671 164.107 0.458012C164.107 0.458928 164.108 0.460907 164.109 0.464864C164.112 0.475291 164.113 0.480505 164.115 0.4854C164.924 3.34287 167.157 5.57619 170.015 6.38539C170.019 6.38678 170.025 6.38825 170.035 6.39119C170.039 6.3923 170.041 6.39286 170.042 6.39312C170.653 6.56727 170.653 7.43274 170.042 7.60688C170.041 7.60714 170.039 7.6077 170.035 7.60881C170.025 7.61175 170.019 7.61322 170.015 7.61461C167.157 8.42381 164.924 10.6571 164.115 13.5146C164.113 13.5195 164.112 13.5247 164.109 13.5351C164.108 13.5391 164.107 13.5411 164.107 13.542C163.933 14.1527 163.067 14.1527 162.893 13.542C162.893 13.5411 162.892 13.5391 162.891 13.5351C162.888 13.5247 162.887 13.5195 162.885 13.5146C162.076 10.6571 159.843 8.42381 156.985 7.61461C156.981 7.61322 156.975 7.61175 156.965 7.60881C156.961 7.6077 156.959 7.60714 156.958 7.60688C156.347 7.43274 156.347 6.56727 156.958 6.39312C156.959 6.39286 156.961 6.3923 156.965 6.39119C156.975 6.38825 156.981 6.38678 156.985 6.38539C159.843 5.57619 162.076 3.34287 162.885 0.4854C162.887 0.480505 162.888 0.475291 162.891 0.464864Z\"\n fill=\"currentColor\"\n />\n <line x1=\"327\" y1=\"7.5\" x2=\"194.5\" y2=\"7.5\" stroke=\"currentColor\" />\n </svg>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1866
1860
  }
1867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatSeparatorComponent, decorators: [{
1861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatSeparatorComponent, decorators: [{
1868
1862
  type: Component,
1869
1863
  args: [{ selector: 'app-chat-separator', standalone: true, imports: [CommonModule], template: "<div class=\"chat__separator babylai:w-full babylai:text-black-white-300\">\n <svg\n class=\"babylai:w-full\"\n height=\"14\"\n viewBox=\"0 0 327 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line x1=\"132.5\" y1=\"7.5\" y2=\"7.5\" stroke=\"currentColor\" />\n <path\n d=\"M162.891 0.464864C162.892 0.460907 162.893 0.458928 162.893 0.458012C163.067 -0.152671 163.933 -0.152671 164.107 0.458012C164.107 0.458928 164.108 0.460907 164.109 0.464864C164.112 0.475291 164.113 0.480505 164.115 0.4854C164.924 3.34287 167.157 5.57619 170.015 6.38539C170.019 6.38678 170.025 6.38825 170.035 6.39119C170.039 6.3923 170.041 6.39286 170.042 6.39312C170.653 6.56727 170.653 7.43274 170.042 7.60688C170.041 7.60714 170.039 7.6077 170.035 7.60881C170.025 7.61175 170.019 7.61322 170.015 7.61461C167.157 8.42381 164.924 10.6571 164.115 13.5146C164.113 13.5195 164.112 13.5247 164.109 13.5351C164.108 13.5391 164.107 13.5411 164.107 13.542C163.933 14.1527 163.067 14.1527 162.893 13.542C162.893 13.5411 162.892 13.5391 162.891 13.5351C162.888 13.5247 162.887 13.5195 162.885 13.5146C162.076 10.6571 159.843 8.42381 156.985 7.61461C156.981 7.61322 156.975 7.61175 156.965 7.60881C156.961 7.6077 156.959 7.60714 156.958 7.60688C156.347 7.43274 156.347 6.56727 156.958 6.39312C156.959 6.39286 156.961 6.3923 156.965 6.39119C156.975 6.38825 156.981 6.38678 156.985 6.38539C159.843 5.57619 162.076 3.34287 162.885 0.4854C162.887 0.480505 162.888 0.475291 162.891 0.464864Z\"\n fill=\"currentColor\"\n />\n <line x1=\"327\" y1=\"7.5\" x2=\"194.5\" y2=\"7.5\" stroke=\"currentColor\" />\n </svg>\n</div>\n" }]
1870
1864
  }] });
1871
1865
 
1872
1866
  class ChatTypingIndicatorComponent {
1873
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatTypingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1874
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: ChatTypingIndicatorComponent, isStandalone: true, selector: "app-chat-typing-indicator", ngImport: i0, template: "<div class=\"babylai:mb-4 babylai:flex\">\n <div class=\"babylai:shrink-0 babylai:me-3\">\n <div\n class=\"babylai:w-8 babylai:h-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:bg-primary\"\n >\n <app-chat-avatar\n [senderType]=\"3\"\n [needsAgent]=\"false\"\n [isHidden]=\"false\"\n />\n </div>\n </div>\n <div\n class=\"babylai:max-w-[80%] babylai:rounded-2xl babylai:p-4 babylai:bg-card\"\n >\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:m-0 babylai:flex babylai:gap-0.5 babylai:items-center\"\n aria-hidden=\"true\"\n >\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }] });
1867
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatTypingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1868
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ChatTypingIndicatorComponent, isStandalone: true, selector: "app-chat-typing-indicator", ngImport: i0, template: "<div class=\"babylai:mb-4 babylai:flex\">\n <div class=\"babylai:shrink-0 babylai:me-3\">\n <div\n class=\"babylai:w-8 babylai:h-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:bg-primary\"\n >\n <app-chat-avatar\n [senderType]=\"3\"\n [needsAgent]=\"false\"\n [isHidden]=\"false\"\n />\n </div>\n </div>\n <div\n class=\"babylai:max-w-[80%] babylai:rounded-2xl babylai:p-4 babylai:bg-card\"\n >\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:m-0 babylai:flex babylai:gap-0.5 babylai:items-center\"\n aria-hidden=\"true\"\n >\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }] });
1875
1869
  }
1876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatTypingIndicatorComponent, decorators: [{
1870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatTypingIndicatorComponent, decorators: [{
1877
1871
  type: Component,
1878
1872
  args: [{ selector: 'app-chat-typing-indicator', standalone: true, imports: [CommonModule, ChatAvatarComponent], template: "<div class=\"babylai:mb-4 babylai:flex\">\n <div class=\"babylai:shrink-0 babylai:me-3\">\n <div\n class=\"babylai:w-8 babylai:h-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:bg-primary\"\n >\n <app-chat-avatar\n [senderType]=\"3\"\n [needsAgent]=\"false\"\n [isHidden]=\"false\"\n />\n </div>\n </div>\n <div\n class=\"babylai:max-w-[80%] babylai:rounded-2xl babylai:p-4 babylai:bg-card\"\n >\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:m-0 babylai:flex babylai:gap-0.5 babylai:items-center\"\n aria-hidden=\"true\"\n >\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n <span\n class=\"babylai-typing-dot babylai:inline-block babylai:w-1.5 babylai:h-1.5 babylai:rounded-full babylai:bg-current\"\n >\n </span>\n </p>\n </div>\n</div>\n" }]
1879
1873
  }] });
1880
1874
 
1881
1875
  class ReviewMessageComponent {
1882
- isSubmitting = input(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
1883
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
1884
- rating = signal(0, ...(ngDevMode ? [{ debugName: "rating" }] : []));
1885
- comment = signal('', ...(ngDevMode ? [{ debugName: "comment" }] : []));
1876
+ isSubmitting = input(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : /* istanbul ignore next */ []));
1877
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
1878
+ rating = signal(0, ...(ngDevMode ? [{ debugName: "rating" }] : /* istanbul ignore next */ []));
1879
+ comment = signal('', ...(ngDevMode ? [{ debugName: "comment" }] : /* istanbul ignore next */ []));
1886
1880
  // Validation errors
1887
- ratingError = signal('', ...(ngDevMode ? [{ debugName: "ratingError" }] : []));
1888
- commentError = signal('', ...(ngDevMode ? [{ debugName: "commentError" }] : []));
1881
+ ratingError = signal('', ...(ngDevMode ? [{ debugName: "ratingError" }] : /* istanbul ignore next */ []));
1882
+ commentError = signal('', ...(ngDevMode ? [{ debugName: "commentError" }] : /* istanbul ignore next */ []));
1889
1883
  ratingChange = output();
1890
1884
  commentChange = output();
1891
1885
  submitReview = output();
@@ -1961,10 +1955,10 @@ class ReviewMessageComponent {
1961
1955
  getCommentMinLength() {
1962
1956
  return 10;
1963
1957
  }
1964
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1965
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewMessageComponent, isStandalone: true, selector: "app-review-message", inputs: { isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange", commentChange: "commentChange", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<div class=\"babylai:flex babylai:flex-col babylai:gap-2.5\">\n <h2 class=\"babylai:font-normal babylai:text-card-foreground\">\n {{ \"ReviewDialogTitle\" | translate }}\n </h2>\n <p class=\"babylai:text-sm babylai:text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n <div class=\"\">\n <label class=\"babylai:sr-only\" aria-label=\"review message stars label\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div\n class=\"babylai:inline-flex babylai:bg-muted babylai:rounded-3xl babylai:p-3 babylai:gap-2\"\n aria-labelledby=\"review message stars\"\n >\n @for (star of getStarsArray(); track star) {\n <button\n class=\"babylai:hover:text-[#F49E00] babylai:border-0 babylai:bg-transparent babylai:p-0\"\n [class.babylai:text-black-white-200]=\"!isStarFilled(star)\"\n [class.babylai:dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.babylai:text-[#F49E00]]=\"isStarFilled(star)\"\n [disabled]=\"isSubmitting()\"\n (click)=\"onRatingClick(star)\"\n [attr.aria-label]=\"'Rate ' + (star + 1) + ' out of 5 stars'\"\n [attr.aria-pressed]=\"isStarFilled(star)\"\n role=\"button\"\n type=\"button\"\n (keydown.enter)=\"onRatingClick(star)\"\n (keydown.space)=\"$event.preventDefault(); onRatingClick(star)\"\n >\n <app-icon name=\"solar:star-bold\" class=\"babylai:flex\" size=\"28px\" />\n </button>\n }\n </div>\n @if (ratingError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ ratingError() }}\n </div>\n }\n </div>\n\n @if (rating() > 0) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2.5\">\n <label class=\"babylai:text-card-foreground\">\n {{ \"ReviewDialogCommentLabel\" | translate }}\n </label>\n <textarea\n class=\"babylai:resize-none babylai:w-full babylai:bg-secondary babylai:border babylai:rounded-xl babylai:text-card-foreground babylai:text-sm babylai:p-3 babylai:resize-vertical babylai:min-h-20 babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed babylai:disabled:bg-secondary babylai:border-black-white-200\"\n [class.babylai:border-destructive]=\"commentError()\"\n [ngModel]=\"comment()\"\n (ngModelChange)=\"comment.set($event); onCommentChange()\"\n [placeholder]=\"'ReviewDialogCommentPlaceholder' | translate\"\n [maxlength]=\"getCommentMaxLength()\"\n [disabled]=\"isSubmitting()\"\n rows=\"4\"\n ></textarea>\n <div class=\"babylai:flex babylai:flex-col\">\n <div\n class=\"babylai:text-card-foreground babylai:text-sm babylai:whitespace-nowrap babylai:opacity-70\"\n >\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ commentError() }}\n </div>\n }\n </div>\n </div>\n\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n >\n @if (isSubmitting()) {\n Submitting...\n } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1958
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReviewMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1959
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ReviewMessageComponent, isStandalone: true, selector: "app-review-message", inputs: { isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange", commentChange: "commentChange", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<div class=\"babylai:flex babylai:flex-col babylai:gap-2.5\">\n <h2 class=\"babylai:font-normal babylai:text-card-foreground\">\n {{ \"ReviewDialogTitle\" | translate }}\n </h2>\n <p class=\"babylai:text-sm babylai:text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n <div class=\"\">\n <label class=\"babylai:sr-only\" aria-label=\"review message stars label\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div\n class=\"babylai:inline-flex babylai:bg-muted babylai:rounded-3xl babylai:p-3 babylai:gap-2\"\n aria-labelledby=\"review message stars\"\n >\n @for (star of getStarsArray(); track star) {\n <button\n class=\"babylai:hover:text-[#F49E00] babylai:border-0 babylai:bg-transparent babylai:p-0\"\n [class.babylai:text-black-white-200]=\"!isStarFilled(star)\"\n [class.babylai:dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.babylai:text-[#F49E00]]=\"isStarFilled(star)\"\n [disabled]=\"isSubmitting()\"\n (click)=\"onRatingClick(star)\"\n [attr.aria-label]=\"'Rate ' + (star + 1) + ' out of 5 stars'\"\n [attr.aria-pressed]=\"isStarFilled(star)\"\n role=\"button\"\n type=\"button\"\n (keydown.enter)=\"onRatingClick(star)\"\n (keydown.space)=\"$event.preventDefault(); onRatingClick(star)\"\n >\n <app-icon name=\"solar:star-bold\" class=\"babylai:flex\" size=\"28px\" />\n </button>\n }\n </div>\n @if (ratingError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ ratingError() }}\n </div>\n }\n </div>\n\n @if (rating() > 0) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2.5\">\n <label class=\"babylai:text-card-foreground\">\n {{ \"ReviewDialogCommentLabel\" | translate }}\n </label>\n <textarea\n class=\"babylai:resize-none babylai:w-full babylai:bg-secondary babylai:border babylai:rounded-xl babylai:text-card-foreground babylai:text-sm babylai:p-3 babylai:resize-vertical babylai:min-h-20 babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed babylai:disabled:bg-secondary babylai:border-black-white-200\"\n [class.babylai:border-destructive]=\"commentError()\"\n [ngModel]=\"comment()\"\n (ngModelChange)=\"comment.set($event); onCommentChange()\"\n [placeholder]=\"'ReviewDialogCommentPlaceholder' | translate\"\n [maxlength]=\"getCommentMaxLength()\"\n [disabled]=\"isSubmitting()\"\n rows=\"4\"\n ></textarea>\n <div class=\"babylai:flex babylai:flex-col\">\n <div\n class=\"babylai:text-card-foreground babylai:text-sm babylai:whitespace-nowrap babylai:opacity-70\"\n >\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ commentError() }}\n </div>\n }\n </div>\n </div>\n\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n >\n @if (isSubmitting()) {\n Submitting...\n } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1966
1960
  }
1967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewMessageComponent, decorators: [{
1961
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReviewMessageComponent, decorators: [{
1968
1962
  type: Component,
1969
1963
  args: [{ selector: 'app-review-message', standalone: true, imports: [
1970
1964
  CommonModule,
@@ -1977,19 +1971,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1977
1971
 
1978
1972
  class ChatComponent {
1979
1973
  // Using input() signals - automatically trigger change detection on updates
1980
- messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
1981
- needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
1982
- assistantStatus = input('', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : []));
1983
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
1984
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
1985
- isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : []));
1974
+ messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
1975
+ needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
1976
+ assistantStatus = input('', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : /* istanbul ignore next */ []));
1977
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
1978
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
1979
+ isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : /* istanbul ignore next */ []));
1986
1980
  chatMessagesContainer;
1987
1981
  reviewSubmit = output();
1988
1982
  reviewSkip = output();
1989
1983
  // Computed signal for first agent message index
1990
1984
  firstAgentMessageIndex = computed(() => {
1991
1985
  return this.messages().findIndex((message) => message.senderType === 2);
1992
- }, ...(ngDevMode ? [{ debugName: "firstAgentMessageIndex" }] : []));
1986
+ }, ...(ngDevMode ? [{ debugName: "firstAgentMessageIndex" }] : /* istanbul ignore next */ []));
1993
1987
  previousMessagesLength = 0;
1994
1988
  scrollTimeouts = [];
1995
1989
  messagesEffectRef;
@@ -2005,7 +1999,7 @@ class ChatComponent {
2005
1999
  const timeoutId = setTimeout(() => this.scrollToBottom(), 0);
2006
2000
  this.scrollTimeouts.push(timeoutId);
2007
2001
  }
2008
- }, ...(ngDevMode ? [{ debugName: "messagesEffectRef" }] : []));
2002
+ }, ...(ngDevMode ? [{ debugName: "messagesEffectRef" }] : /* istanbul ignore next */ []));
2009
2003
  }
2010
2004
  ngOnInit() {
2011
2005
  this.previousMessagesLength = this.messages().length;
@@ -2040,10 +2034,10 @@ class ChatComponent {
2040
2034
  handleReviewSkip() {
2041
2035
  this.reviewSkip.emit();
2042
2036
  }
2043
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2044
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatComponent, isStandalone: true, selector: "app-chat", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip" }, viewQueries: [{ propertyName: "chatMessagesContainer", first: true, predicate: ["chatMessagesContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"babylai:flex-1 babylai:flex babylai:flex-col babylai:gap-4\"\n #chatMessagesContainer\n>\n @for (message of messages(); track message.id; let i = $index) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2\">\n @if (i === firstAgentMessageIndex() && message.senderType === 2 && !message.isReviewMessage) {\n <app-chat-separator class=\"babylai:py-4\" />\n }\n @if (message.isReviewMessage) {\n <app-chat-separator class=\"babylai:py-4\" />\n <div class=\"babylai:flex babylai:items-start babylai:gap-3\">\n <app-chat-avatar\n [senderType]=\"message.senderType\"\n [needsAgent]=\"needsAgent()\"\n [isHidden]=\"false\"\n />\n <div\n class=\"babylai:relative babylai:rounded-2xl babylai:p-5! babylai:text-sm babylai:bg-card babylai:max-w-[80%]\"\n >\n <app-review-message\n [isSubmitting]=\"isSubmittingReview()\"\n [currentLang]=\"currentLang()\"\n (submitReview)=\"handleReviewSubmit($event)\"\n (skip)=\"handleReviewSkip()\"\n />\n </div>\n </div>\n } @else {\n <app-chat-message\n [message]=\"message\"\n [needsAgent]=\"needsAgent()\"\n [currentLang]=\"currentLang()\"\n [isHidden]=\"\n i > 0 && messages()[i - 1].senderType === message.senderType\n \"\n />\n }\n </div>\n }\n @if (assistantStatus() === \"typing\" && firstAgentMessageIndex() === -1) {\n <app-chat-typing-indicator />\n }\n @if (loading()) {\n <div\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:h-full\"\n >\n loading status here\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatMessageComponent, selector: "app-chat-message", inputs: ["message", "needsAgent", "currentLang", "isHidden"] }, { kind: "component", type: ChatSeparatorComponent, selector: "app-chat-separator" }, { kind: "component", type: ChatTypingIndicatorComponent, selector: "app-chat-typing-indicator" }, { kind: "component", type: ReviewMessageComponent, selector: "app-review-message", inputs: ["isSubmitting", "currentLang"], outputs: ["ratingChange", "commentChange", "submitReview", "skip"] }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2037
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2038
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChatComponent, isStandalone: true, selector: "app-chat", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip" }, viewQueries: [{ propertyName: "chatMessagesContainer", first: true, predicate: ["chatMessagesContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"babylai:flex-1 babylai:flex babylai:flex-col babylai:gap-4\"\n #chatMessagesContainer\n>\n @for (message of messages(); track message.id; let i = $index) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2\">\n @if (i === firstAgentMessageIndex() && message.senderType === 2 && !message.isReviewMessage) {\n <app-chat-separator class=\"babylai:py-4\" />\n }\n @if (message.isReviewMessage) {\n <app-chat-separator class=\"babylai:py-4\" />\n <div class=\"babylai:flex babylai:items-start babylai:gap-3\">\n <app-chat-avatar\n [senderType]=\"message.senderType\"\n [needsAgent]=\"needsAgent()\"\n [isHidden]=\"false\"\n />\n <div\n class=\"babylai:relative babylai:rounded-2xl babylai:p-5! babylai:text-sm babylai:bg-card babylai:max-w-[80%]\"\n >\n <app-review-message\n [isSubmitting]=\"isSubmittingReview()\"\n [currentLang]=\"currentLang()\"\n (submitReview)=\"handleReviewSubmit($event)\"\n (skip)=\"handleReviewSkip()\"\n />\n </div>\n </div>\n } @else {\n <app-chat-message\n [message]=\"message\"\n [needsAgent]=\"needsAgent()\"\n [currentLang]=\"currentLang()\"\n [isHidden]=\"\n i > 0 && messages()[i - 1].senderType === message.senderType\n \"\n />\n }\n </div>\n }\n @if (assistantStatus() === \"typing\" && firstAgentMessageIndex() === -1) {\n <app-chat-typing-indicator />\n }\n @if (loading()) {\n <div\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:h-full\"\n >\n loading status here\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatMessageComponent, selector: "app-chat-message", inputs: ["message", "needsAgent", "currentLang", "isHidden"] }, { kind: "component", type: ChatSeparatorComponent, selector: "app-chat-separator" }, { kind: "component", type: ChatTypingIndicatorComponent, selector: "app-chat-typing-indicator" }, { kind: "component", type: ReviewMessageComponent, selector: "app-review-message", inputs: ["isSubmitting", "currentLang"], outputs: ["ratingChange", "commentChange", "submitReview", "skip"] }, { kind: "component", type: ChatAvatarComponent, selector: "app-chat-avatar", inputs: ["senderType", "needsAgent", "isHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2045
2039
  }
2046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatComponent, decorators: [{
2040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatComponent, decorators: [{
2047
2041
  type: Component,
2048
2042
  args: [{ selector: 'app-chat', standalone: true, imports: [
2049
2043
  CommonModule,
@@ -2064,47 +2058,47 @@ class BackButtonComponent {
2064
2058
  currentLang = toSignal(this.translationService.currentLang, {
2065
2059
  initialValue: 'en',
2066
2060
  });
2067
- isArabic = computed(() => this.currentLang() === 'ar', ...(ngDevMode ? [{ debugName: "isArabic" }] : []));
2068
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2069
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: BackButtonComponent, isStandalone: true, selector: "app-back-button", outputs: { onBack: "onBack" }, ngImport: i0, template: "<button\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n (click)=\"onBack.emit()\"\n [attr.aria-label]=\"'Back' | translate\"\n type=\"button\"\n>\n <app-icon\n name=\"solar:alt-arrow-left-linear\"\n class=\"babylai:flex\"\n [style.transform]=\"isArabic() ? 'rotate(180deg)' : 'none'\"\n />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2061
+ isArabic = computed(() => this.currentLang() === 'ar', ...(ngDevMode ? [{ debugName: "isArabic" }] : /* istanbul ignore next */ []));
2062
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2063
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: BackButtonComponent, isStandalone: true, selector: "app-back-button", outputs: { onBack: "onBack" }, ngImport: i0, template: "<button\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n (click)=\"onBack.emit()\"\n [attr.aria-label]=\"'Back' | translate\"\n type=\"button\"\n>\n <app-icon\n name=\"solar:alt-arrow-left-linear\"\n class=\"babylai:flex\"\n [style.transform]=\"isArabic() ? 'rotate(180deg)' : 'none'\"\n />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2070
2064
  }
2071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BackButtonComponent, decorators: [{
2065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BackButtonComponent, decorators: [{
2072
2066
  type: Component,
2073
2067
  args: [{ selector: 'app-back-button', standalone: true, imports: [CommonModule, TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n (click)=\"onBack.emit()\"\n [attr.aria-label]=\"'Back' | translate\"\n type=\"button\"\n>\n <app-icon\n name=\"solar:alt-arrow-left-linear\"\n class=\"babylai:flex\"\n [style.transform]=\"isArabic() ? 'rotate(180deg)' : 'none'\"\n />\n</button>\n" }]
2074
2068
  }], propDecorators: { onBack: [{ type: i0.Output, args: ["onBack"] }] } });
2075
2069
 
2076
2070
  class CloseButtonComponent {
2077
2071
  onClose = output();
2078
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2079
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: CloseButtonComponent, isStandalone: true, selector: "app-close-button", outputs: { onClose: "onClose" }, ngImport: i0, template: "<button\n (click)=\"onClose.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Close'\"\n type=\"button\"\n>\n <app-icon name=\"material-symbols:close-small-outline-rounded\" class=\"babylai:flex\" />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2072
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2073
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: CloseButtonComponent, isStandalone: true, selector: "app-close-button", outputs: { onClose: "onClose" }, ngImport: i0, template: "<button\n (click)=\"onClose.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Close'\"\n type=\"button\"\n>\n <app-icon name=\"material-symbols:close-small-outline-rounded\" class=\"babylai:flex\" />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2080
2074
  }
2081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CloseButtonComponent, decorators: [{
2075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CloseButtonComponent, decorators: [{
2082
2076
  type: Component,
2083
2077
  args: [{ selector: 'app-close-button', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n (click)=\"onClose.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Close'\"\n type=\"button\"\n>\n <app-icon name=\"material-symbols:close-small-outline-rounded\" class=\"babylai:flex\" />\n</button>\n" }]
2084
2078
  }], propDecorators: { onClose: [{ type: i0.Output, args: ["onClose"] }] } });
2085
2079
 
2086
2080
  class MinimizeButtonComponent {
2087
2081
  onMinimize = output();
2088
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MinimizeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2089
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MinimizeButtonComponent, isStandalone: true, selector: "app-minimize-button", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<button\n (click)=\"onMinimize.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Minimize'\"\n type=\"button\"\n>\n <app-icon name=\"fa7-solid:subtract\" class=\"babylai:flex\" />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2082
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MinimizeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2083
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: MinimizeButtonComponent, isStandalone: true, selector: "app-minimize-button", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<button\n (click)=\"onMinimize.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Minimize'\"\n type=\"button\"\n>\n <app-icon name=\"fa7-solid:subtract\" class=\"babylai:flex\" />\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2090
2084
  }
2091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MinimizeButtonComponent, decorators: [{
2085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MinimizeButtonComponent, decorators: [{
2092
2086
  type: Component,
2093
2087
  args: [{ selector: 'app-minimize-button', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n (click)=\"onMinimize.emit()\"\n class=\"babylai:bg-card babylai:text-card-foreground babylai:h-6 babylai:w-8 babylai:rounded-full babylai:flex babylai:items-center babylai:justify-center babylai:font-bold babylai:text-base babylai:cursor-pointer babylai:border-0\"\n [attr.aria-label]=\"'Minimize'\"\n type=\"button\"\n>\n <app-icon name=\"fa7-solid:subtract\" class=\"babylai:flex\" />\n</button>\n" }]
2094
2088
  }], propDecorators: { onMinimize: [{ type: i0.Output, args: ["onMinimize"] }] } });
2095
2089
 
2096
2090
  class ChatHeaderComponent {
2097
- showBackButton = input(false, ...(ngDevMode ? [{ debugName: "showBackButton" }] : []));
2098
- language = input('en', ...(ngDevMode ? [{ debugName: "language" }] : []));
2099
- selectedOptionTitle = input(null, ...(ngDevMode ? [{ debugName: "selectedOptionTitle" }] : []));
2091
+ showBackButton = input(false, ...(ngDevMode ? [{ debugName: "showBackButton" }] : /* istanbul ignore next */ []));
2092
+ language = input('en', ...(ngDevMode ? [{ debugName: "language" }] : /* istanbul ignore next */ []));
2093
+ selectedOptionTitle = input(null, ...(ngDevMode ? [{ debugName: "selectedOptionTitle" }] : /* istanbul ignore next */ []));
2100
2094
  onBack = output();
2101
2095
  onClose = output();
2102
2096
  onMinimize = output();
2103
- isRtl = computed(() => this.language() === 'ar', ...(ngDevMode ? [{ debugName: "isRtl" }] : []));
2104
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2105
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ChatHeaderComponent, isStandalone: true, selector: "app-chat-header", inputs: { showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, selectedOptionTitle: { classPropertyName: "selectedOptionTitle", publicName: "selectedOptionTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBack: "onBack", onClose: "onClose", onMinimize: "onMinimize" }, ngImport: i0, template: "<header\n class=\"bg-header babylai:flex babylai:items-center babylai:justify-between babylai:p-6 babylai:gap-4 babylai:border-b babylai:border-black-white-200\">\n <div class=\"babylai:flex babylai:items-center babylai:gap-2\">\n <app-back-button (onBack)=\"onBack.emit()\" />\n\n <app-close-button (onClose)=\"onClose.emit()\" />\n </div>\n\n <h1 class=\"babylai:text-lg! babylai:font-semibold! babylai:text-card-foreground\">\n {{ selectedOptionTitle() }}\n </h1>\n\n <app-minimize-button (onMinimize)=\"onMinimize.emit()\"></app-minimize-button>\n</header>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: BackButtonComponent, selector: "app-back-button", outputs: ["onBack"] }, { kind: "component", type: CloseButtonComponent, selector: "app-close-button", outputs: ["onClose"] }, { kind: "component", type: MinimizeButtonComponent, selector: "app-minimize-button", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2097
+ isRtl = computed(() => this.language() === 'ar', ...(ngDevMode ? [{ debugName: "isRtl" }] : /* istanbul ignore next */ []));
2098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2099
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ChatHeaderComponent, isStandalone: true, selector: "app-chat-header", inputs: { showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, selectedOptionTitle: { classPropertyName: "selectedOptionTitle", publicName: "selectedOptionTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBack: "onBack", onClose: "onClose", onMinimize: "onMinimize" }, ngImport: i0, template: "<header\n class=\"bg-header babylai:flex babylai:items-center babylai:justify-between babylai:p-6 babylai:gap-4 babylai:border-b babylai:border-black-white-200\">\n <div class=\"babylai:flex babylai:items-center babylai:gap-2\">\n <app-back-button (onBack)=\"onBack.emit()\" />\n\n <app-close-button (onClose)=\"onClose.emit()\" />\n </div>\n\n <h1 class=\"babylai:text-lg! babylai:font-semibold! babylai:text-card-foreground\">\n {{ selectedOptionTitle() }}\n </h1>\n\n <app-minimize-button (onMinimize)=\"onMinimize.emit()\"></app-minimize-button>\n</header>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: BackButtonComponent, selector: "app-back-button", outputs: ["onBack"] }, { kind: "component", type: CloseButtonComponent, selector: "app-close-button", outputs: ["onClose"] }, { kind: "component", type: MinimizeButtonComponent, selector: "app-minimize-button", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2106
2100
  }
2107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatHeaderComponent, decorators: [{
2101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatHeaderComponent, decorators: [{
2108
2102
  type: Component,
2109
2103
  args: [{ selector: 'app-chat-header', standalone: true, imports: [
2110
2104
  CommonModule,
@@ -2116,17 +2110,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2116
2110
 
2117
2111
  class HeaderComponent {
2118
2112
  onMinimize = output();
2119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: HeaderComponent, isStandalone: true, selector: "app-header", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div class=\"bg-header babylai:flex babylai:items-center babylai:justify-end babylai:p-6 babylai:border-b babylai:border-black-white-200\">\n <app-minimize-button (onMinimize)=\"onMinimize.emit()\"></app-minimize-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MinimizeButtonComponent, selector: "app-minimize-button", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: HeaderComponent, isStandalone: true, selector: "app-header", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div class=\"bg-header babylai:flex babylai:items-center babylai:justify-end babylai:p-6 babylai:border-b babylai:border-black-white-200\">\n <app-minimize-button (onMinimize)=\"onMinimize.emit()\"></app-minimize-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MinimizeButtonComponent, selector: "app-minimize-button", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2121
2115
  }
2122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HeaderComponent, decorators: [{
2116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HeaderComponent, decorators: [{
2123
2117
  type: Component,
2124
2118
  args: [{ selector: 'app-header', standalone: true, imports: [CommonModule, MinimizeButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bg-header babylai:flex babylai:items-center babylai:justify-end babylai:p-6 babylai:border-b babylai:border-black-white-200\">\n <app-minimize-button (onMinimize)=\"onMinimize.emit()\"></app-minimize-button>\n</div>\n" }]
2125
2119
  }], propDecorators: { onMinimize: [{ type: i0.Output, args: ["onMinimize"] }] } });
2126
2120
 
2127
2121
  class CardComponent {
2128
- variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
2129
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2122
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
2123
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2130
2124
  hostClasses = computed(() => {
2131
2125
  const classes = ['babylai:z-1', 'babylai:w-full', 'babylai:box-border'];
2132
2126
  // Add variant-specific classes
@@ -2141,11 +2135,11 @@ class CardComponent {
2141
2135
  classes.push(classValue);
2142
2136
  }
2143
2137
  return classes.join(' ');
2144
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardComponent, isStandalone: true, selector: "app-card", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2138
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardComponent, isStandalone: true, selector: "app-card", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2147
2141
  }
2148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardComponent, decorators: [{
2142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardComponent, decorators: [{
2149
2143
  type: Component,
2150
2144
  args: [{ selector: 'app-card', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2151
2145
  '[class]': 'hostClasses()',
@@ -2153,7 +2147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2153
2147
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2154
2148
 
2155
2149
  class CardHeaderComponent {
2156
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2150
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2157
2151
  hostClasses = computed(() => {
2158
2152
  const classes = [
2159
2153
  'babylai:flex',
@@ -2168,11 +2162,11 @@ class CardHeaderComponent {
2168
2162
  classes.push(classValue);
2169
2163
  }
2170
2164
  return classes.join(' ');
2171
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardHeaderComponent, isStandalone: true, selector: "app-card-header", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2165
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2167
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardHeaderComponent, isStandalone: true, selector: "app-card-header", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2174
2168
  }
2175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardHeaderComponent, decorators: [{
2169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardHeaderComponent, decorators: [{
2176
2170
  type: Component,
2177
2171
  args: [{ selector: 'app-card-header', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2178
2172
  '[class]': 'hostClasses()',
@@ -2180,7 +2174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2180
2174
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2181
2175
 
2182
2176
  class CardTitleComponent {
2183
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2177
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2184
2178
  hostClasses = computed(() => {
2185
2179
  const classes = [
2186
2180
  'babylai:font-semibold',
@@ -2194,11 +2188,11 @@ class CardTitleComponent {
2194
2188
  classes.push(classValue);
2195
2189
  }
2196
2190
  return classes.join(' ');
2197
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2199
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardTitleComponent, isStandalone: true, selector: "app-card-title", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2191
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2193
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardTitleComponent, isStandalone: true, selector: "app-card-title", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2200
2194
  }
2201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardTitleComponent, decorators: [{
2195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardTitleComponent, decorators: [{
2202
2196
  type: Component,
2203
2197
  args: [{ selector: 'app-card-title', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2204
2198
  '[class]': 'hostClasses()',
@@ -2206,7 +2200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2206
2200
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2207
2201
 
2208
2202
  class CardDescriptionComponent {
2209
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2203
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2210
2204
  hostClasses = computed(() => {
2211
2205
  const classes = [
2212
2206
  'babylai:text-sm',
@@ -2218,11 +2212,11 @@ class CardDescriptionComponent {
2218
2212
  classes.push(classValue);
2219
2213
  }
2220
2214
  return classes.join(' ');
2221
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardDescriptionComponent, isStandalone: true, selector: "app-card-description", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2215
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardDescriptionComponent, isStandalone: true, selector: "app-card-description", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2224
2218
  }
2225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardDescriptionComponent, decorators: [{
2219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardDescriptionComponent, decorators: [{
2226
2220
  type: Component,
2227
2221
  args: [{ selector: 'app-card-description', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2228
2222
  '[class]': 'hostClasses()',
@@ -2230,7 +2224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2230
2224
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2231
2225
 
2232
2226
  class CardContentComponent {
2233
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2227
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2234
2228
  hostClasses = computed(() => {
2235
2229
  const classes = [
2236
2230
  'babylai:p-0',
@@ -2244,11 +2238,11 @@ class CardContentComponent {
2244
2238
  classes.push(classValue);
2245
2239
  }
2246
2240
  return classes.join(' ');
2247
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2248
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2249
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardContentComponent, isStandalone: true, selector: "app-card-content", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2241
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardContentComponent, isStandalone: true, selector: "app-card-content", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2250
2244
  }
2251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardContentComponent, decorators: [{
2245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardContentComponent, decorators: [{
2252
2246
  type: Component,
2253
2247
  args: [{ selector: 'app-card-content', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2254
2248
  '[class]': 'hostClasses()',
@@ -2256,7 +2250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2256
2250
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2257
2251
 
2258
2252
  class CardFooterComponent {
2259
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
2253
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
2260
2254
  hostClasses = computed(() => {
2261
2255
  const classes = [
2262
2256
  'babylai:flex',
@@ -2271,11 +2265,11 @@ class CardFooterComponent {
2271
2265
  classes.push(classValue);
2272
2266
  }
2273
2267
  return classes.join(' ');
2274
- }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
2275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2276
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: CardFooterComponent, isStandalone: true, selector: "app-card-footer", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2268
+ }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
2269
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: CardFooterComponent, isStandalone: true, selector: "app-card-footer", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2277
2271
  }
2278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CardFooterComponent, decorators: [{
2272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CardFooterComponent, decorators: [{
2279
2273
  type: Component,
2280
2274
  args: [{ selector: 'app-card-footer', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2281
2275
  '[class]': 'hostClasses()',
@@ -2283,10 +2277,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2283
2277
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
2284
2278
 
2285
2279
  class FooterComponent {
2286
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2287
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: "<footer class=\"babylai:flex babylai:items-center babylai:justify-center babylai:p-3 babylai:border-t babylai:border-border\">\n <a\n href=\"https://babylai.net\"\n target=\"_blank\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:gap-2 babylai:text-sm babylai:text-card-foreground babylai:no-underline babylai:transition-opacity babylai:duration-200 babylai:hover:opacity-80\"\n >\n <span>\n {{ \"PoweredByBabylAI\" | translate }}\n </span>\n <span>|</span>\n <svg viewBox=\"0 0 54 19\" fill=\"none\" class=\"babylai:w-15\">\n <path\n d=\"M0 4.97873C0 2.22905 2.22908 0 4.97879 0H13.2768C16.0265 0 18.2556 2.22905 18.2556 4.97873V13.2766C18.2556 16.0263 16.0265 18.2554 13.2768 18.2554H0V4.97873Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M5.76107 6.10571C5.76153 6.10407 5.76177 6.10325 5.76187 6.10287C5.83413 5.8495 6.19321 5.8495 6.26546 6.10287C6.26557 6.10325 6.2658 6.10407 6.26627 6.10571C6.26749 6.11004 6.26809 6.1122 6.26867 6.11423C6.60441 7.29978 7.53101 8.22637 8.71657 8.5621C8.7186 8.56268 8.72076 8.56329 8.72509 8.56451C8.72673 8.56497 8.72755 8.5652 8.72793 8.56531C8.98131 8.63756 8.98131 8.99664 8.72793 9.06889C8.72755 9.069 8.72673 9.06923 8.72509 9.0697C8.72076 9.07092 8.7186 9.07153 8.71657 9.0721C7.53101 9.40783 6.60441 10.3344 6.26867 11.52C6.26809 11.522 6.26749 11.5242 6.26627 11.5285C6.2658 11.5301 6.26557 11.531 6.26546 11.5313C6.19321 11.7847 5.83413 11.7847 5.76187 11.5313C5.76177 11.531 5.76153 11.5301 5.76107 11.5285C5.75985 11.5242 5.75924 11.522 5.75867 11.52C5.42293 10.3344 4.49633 9.40783 3.31077 9.0721C3.30874 9.07153 3.30657 9.07092 3.30225 9.0697C3.3006 9.06923 3.29978 9.069 3.2994 9.06889C3.04603 8.99664 3.04603 8.63756 3.2994 8.56531C3.29978 8.5652 3.3006 8.56497 3.30225 8.56451C3.30657 8.56329 3.30874 8.56268 3.31077 8.5621C4.49633 8.22637 5.42293 7.29978 5.75867 6.11423C5.75924 6.1122 5.75985 6.11004 5.76107 6.10571Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.7275 8.76473C14.7275 9.99635 13.7523 10.9948 12.5493 10.9948C11.3463 10.9948 10.3711 9.99635 10.3711 8.76473C10.3711 7.5331 11.3463 6.53467 12.5493 6.53467C13.7523 6.53467 14.7275 7.5331 14.7275 8.76473Z\"\n fill=\"white\"\n />\n <path\n d=\"M51.6133 13.0924V5.27515H53.1931V13.0924H51.6133Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M44.5938 13.0924L46.5857 5.27515H49.3446L51.325 13.0924H49.7452L49.3102 11.513H46.5742L46.1621 13.0924H44.5938ZM46.8261 10.2425H49.0813L48.1998 6.55705H47.719L46.8261 10.2425Z\"\n fill=\"#606060\"\n />\n <path d=\"M42.5703 13.092V5H44.0929V13.092H42.5703Z\" fill=\"#919191\" />\n <path\n d=\"M38.6905 15.5069L39.4231 13.0919H38.1982L36.8359 7.34619H38.4272L39.446 11.7985H39.7437L40.7625 7.34619H42.2965L40.3161 15.5069H38.6905Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M34.008 13.2179C33.8172 13.2179 33.5845 13.2103 33.3097 13.195C33.035 13.1797 32.7526 13.1569 32.4626 13.1263C32.1802 13.0958 31.9284 13.0691 31.707 13.0462V5H33.241V7.52946C33.3555 7.48368 33.4967 7.4379 33.6646 7.39212C33.8325 7.34633 34.008 7.30818 34.1912 7.27766C34.382 7.23951 34.5575 7.22043 34.7178 7.22043C35.252 7.22043 35.6756 7.33107 35.9885 7.55235C36.309 7.766 36.538 8.08648 36.6754 8.51378C36.8127 8.94108 36.8814 9.47902 36.8814 10.1276C36.8814 10.8906 36.7937 11.5011 36.6181 11.9589C36.4502 12.4091 36.1564 12.7334 35.7366 12.9318C35.3169 13.1225 34.7407 13.2179 34.008 13.2179ZM34.0195 11.936C34.3934 11.936 34.672 11.8711 34.8552 11.7414C35.0383 11.6041 35.1604 11.4019 35.2215 11.1348C35.2902 10.8677 35.3245 10.5396 35.3245 10.1505C35.3245 9.75371 35.294 9.43705 35.2329 9.20051C35.1719 8.95634 35.0689 8.78084 34.9238 8.67402C34.7865 8.55956 34.5919 8.50233 34.34 8.50233C34.2179 8.50233 34.0882 8.51759 33.9508 8.54812C33.8134 8.57101 33.6799 8.60153 33.5501 8.63968C33.428 8.6702 33.325 8.70072 33.241 8.73124V11.8902C33.3555 11.8978 33.4891 11.9093 33.6417 11.9245C33.7943 11.9322 33.9203 11.936 34.0195 11.936Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M27.8012 13.2177C27.2059 13.2177 26.7556 13.0689 26.4504 12.7713C26.1527 12.4661 26.0039 12.0083 26.0039 11.3978C26.0039 10.9705 26.0802 10.6386 26.2329 10.4021C26.3855 10.1579 26.6106 9.9824 26.9083 9.87558C27.2136 9.76112 27.5837 9.69245 28.0187 9.66956L29.4153 9.54366V9.20029C29.4153 8.9256 29.3467 8.73484 29.2093 8.62802C29.0719 8.51356 28.8697 8.45633 28.6025 8.45633C28.3889 8.45633 28.1408 8.46396 27.8584 8.47922C27.5837 8.49448 27.309 8.51356 27.0342 8.53645C26.7671 8.55934 26.5343 8.58223 26.3359 8.60512L26.2901 7.52924C26.4885 7.48346 26.7251 7.43768 26.9999 7.3919C27.2822 7.33849 27.5761 7.29652 27.8813 7.266C28.1866 7.23548 28.469 7.22021 28.7285 7.22021C29.2169 7.22021 29.6252 7.28126 29.9534 7.40334C30.2816 7.52543 30.5296 7.72763 30.6975 8.00996C30.8654 8.28465 30.9493 8.65854 30.9493 9.13162V11.7526C30.9646 11.8595 31.0218 11.9434 31.1211 12.0044C31.2203 12.0579 31.3347 12.096 31.4645 12.1189L31.4301 13.1719C31.308 13.1719 31.1859 13.1719 31.0638 13.1719C30.9493 13.1795 30.8387 13.1795 30.7318 13.1719C30.625 13.1719 30.5296 13.1643 30.4456 13.149C30.2701 13.1261 30.1175 13.0803 29.9877 13.0117C29.8656 12.943 29.7664 12.8705 29.6901 12.7942C29.568 12.8476 29.4039 12.9086 29.1978 12.9773C28.9918 13.046 28.7666 13.1032 28.5224 13.149C28.2858 13.1948 28.0454 13.2177 27.8012 13.2177ZM28.1675 12.0846C28.3125 12.0846 28.4652 12.0693 28.6254 12.0388C28.7857 12.0083 28.9345 11.9739 29.0719 11.9358C29.2169 11.89 29.3314 11.848 29.4153 11.8099V10.4936L28.2477 10.5966C27.9958 10.6195 27.8127 10.6958 27.6982 10.8256C27.5913 10.9476 27.5379 11.1231 27.5379 11.3521C27.5379 11.581 27.5875 11.7603 27.6867 11.89C27.7936 12.0197 27.9538 12.0846 28.1675 12.0846Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M19.9531 13.0924V5.27515H23.0669C23.5859 5.27515 24.0323 5.34 24.4063 5.46972C24.7803 5.59944 25.0703 5.80927 25.2763 6.09923C25.49 6.38155 25.5969 6.76307 25.5969 7.24378C25.5969 7.57188 25.5625 7.85039 25.4938 8.0793C25.4328 8.30058 25.3336 8.49134 25.1962 8.65158C25.0665 8.80419 24.8947 8.94535 24.681 9.07506C24.91 9.159 25.1084 9.27345 25.2763 9.41843C25.4519 9.55578 25.5854 9.74272 25.677 9.97926C25.7686 10.2082 25.8144 10.5134 25.8144 10.8949C25.8144 11.3146 25.7495 11.6656 25.6198 11.9479C25.49 12.2302 25.303 12.4553 25.0588 12.6232C24.8222 12.791 24.5437 12.9131 24.2231 12.9894C23.9026 13.0581 23.5515 13.0924 23.1699 13.0924H19.9531ZM21.5329 11.925H23.0555C23.3226 11.925 23.5439 11.8945 23.7194 11.8334C23.9026 11.7648 24.04 11.6465 24.1316 11.4786C24.2308 11.3108 24.2804 11.078 24.2804 10.7804C24.2804 10.5515 24.2422 10.3646 24.1659 10.2196C24.0896 10.0746 23.9904 9.96782 23.8683 9.89914C23.7461 9.82284 23.6088 9.76943 23.4561 9.7389C23.3111 9.70838 23.1661 9.69312 23.0211 9.69312H21.5329V11.925ZM21.5329 8.57146H23.0097C23.2692 8.57146 23.479 8.53331 23.6393 8.457C23.7996 8.37307 23.9179 8.25099 23.9942 8.09075C24.0705 7.92288 24.1087 7.71304 24.1087 7.46124C24.1087 7.10262 24.0133 6.84318 23.8225 6.68295C23.6393 6.52271 23.3493 6.44259 22.9524 6.44259H21.5329V8.57146Z\"\n fill=\"#919191\"\n />\n </svg>\n </a>\n</footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: "<footer class=\"babylai:flex babylai:items-center babylai:justify-center babylai:p-3 babylai:border-t babylai:border-border\">\n <a\n href=\"https://babylai.net\"\n target=\"_blank\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:gap-2 babylai:text-sm babylai:text-card-foreground babylai:no-underline babylai:transition-opacity babylai:duration-200 babylai:hover:opacity-80\"\n >\n <span>\n {{ \"PoweredByBabylAI\" | translate }}\n </span>\n <span>|</span>\n <svg viewBox=\"0 0 54 19\" fill=\"none\" class=\"babylai:w-15\">\n <path\n d=\"M0 4.97873C0 2.22905 2.22908 0 4.97879 0H13.2768C16.0265 0 18.2556 2.22905 18.2556 4.97873V13.2766C18.2556 16.0263 16.0265 18.2554 13.2768 18.2554H0V4.97873Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M5.76107 6.10571C5.76153 6.10407 5.76177 6.10325 5.76187 6.10287C5.83413 5.8495 6.19321 5.8495 6.26546 6.10287C6.26557 6.10325 6.2658 6.10407 6.26627 6.10571C6.26749 6.11004 6.26809 6.1122 6.26867 6.11423C6.60441 7.29978 7.53101 8.22637 8.71657 8.5621C8.7186 8.56268 8.72076 8.56329 8.72509 8.56451C8.72673 8.56497 8.72755 8.5652 8.72793 8.56531C8.98131 8.63756 8.98131 8.99664 8.72793 9.06889C8.72755 9.069 8.72673 9.06923 8.72509 9.0697C8.72076 9.07092 8.7186 9.07153 8.71657 9.0721C7.53101 9.40783 6.60441 10.3344 6.26867 11.52C6.26809 11.522 6.26749 11.5242 6.26627 11.5285C6.2658 11.5301 6.26557 11.531 6.26546 11.5313C6.19321 11.7847 5.83413 11.7847 5.76187 11.5313C5.76177 11.531 5.76153 11.5301 5.76107 11.5285C5.75985 11.5242 5.75924 11.522 5.75867 11.52C5.42293 10.3344 4.49633 9.40783 3.31077 9.0721C3.30874 9.07153 3.30657 9.07092 3.30225 9.0697C3.3006 9.06923 3.29978 9.069 3.2994 9.06889C3.04603 8.99664 3.04603 8.63756 3.2994 8.56531C3.29978 8.5652 3.3006 8.56497 3.30225 8.56451C3.30657 8.56329 3.30874 8.56268 3.31077 8.5621C4.49633 8.22637 5.42293 7.29978 5.75867 6.11423C5.75924 6.1122 5.75985 6.11004 5.76107 6.10571Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.7275 8.76473C14.7275 9.99635 13.7523 10.9948 12.5493 10.9948C11.3463 10.9948 10.3711 9.99635 10.3711 8.76473C10.3711 7.5331 11.3463 6.53467 12.5493 6.53467C13.7523 6.53467 14.7275 7.5331 14.7275 8.76473Z\"\n fill=\"white\"\n />\n <path\n d=\"M51.6133 13.0924V5.27515H53.1931V13.0924H51.6133Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M44.5938 13.0924L46.5857 5.27515H49.3446L51.325 13.0924H49.7452L49.3102 11.513H46.5742L46.1621 13.0924H44.5938ZM46.8261 10.2425H49.0813L48.1998 6.55705H47.719L46.8261 10.2425Z\"\n fill=\"#606060\"\n />\n <path d=\"M42.5703 13.092V5H44.0929V13.092H42.5703Z\" fill=\"#919191\" />\n <path\n d=\"M38.6905 15.5069L39.4231 13.0919H38.1982L36.8359 7.34619H38.4272L39.446 11.7985H39.7437L40.7625 7.34619H42.2965L40.3161 15.5069H38.6905Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M34.008 13.2179C33.8172 13.2179 33.5845 13.2103 33.3097 13.195C33.035 13.1797 32.7526 13.1569 32.4626 13.1263C32.1802 13.0958 31.9284 13.0691 31.707 13.0462V5H33.241V7.52946C33.3555 7.48368 33.4967 7.4379 33.6646 7.39212C33.8325 7.34633 34.008 7.30818 34.1912 7.27766C34.382 7.23951 34.5575 7.22043 34.7178 7.22043C35.252 7.22043 35.6756 7.33107 35.9885 7.55235C36.309 7.766 36.538 8.08648 36.6754 8.51378C36.8127 8.94108 36.8814 9.47902 36.8814 10.1276C36.8814 10.8906 36.7937 11.5011 36.6181 11.9589C36.4502 12.4091 36.1564 12.7334 35.7366 12.9318C35.3169 13.1225 34.7407 13.2179 34.008 13.2179ZM34.0195 11.936C34.3934 11.936 34.672 11.8711 34.8552 11.7414C35.0383 11.6041 35.1604 11.4019 35.2215 11.1348C35.2902 10.8677 35.3245 10.5396 35.3245 10.1505C35.3245 9.75371 35.294 9.43705 35.2329 9.20051C35.1719 8.95634 35.0689 8.78084 34.9238 8.67402C34.7865 8.55956 34.5919 8.50233 34.34 8.50233C34.2179 8.50233 34.0882 8.51759 33.9508 8.54812C33.8134 8.57101 33.6799 8.60153 33.5501 8.63968C33.428 8.6702 33.325 8.70072 33.241 8.73124V11.8902C33.3555 11.8978 33.4891 11.9093 33.6417 11.9245C33.7943 11.9322 33.9203 11.936 34.0195 11.936Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M27.8012 13.2177C27.2059 13.2177 26.7556 13.0689 26.4504 12.7713C26.1527 12.4661 26.0039 12.0083 26.0039 11.3978C26.0039 10.9705 26.0802 10.6386 26.2329 10.4021C26.3855 10.1579 26.6106 9.9824 26.9083 9.87558C27.2136 9.76112 27.5837 9.69245 28.0187 9.66956L29.4153 9.54366V9.20029C29.4153 8.9256 29.3467 8.73484 29.2093 8.62802C29.0719 8.51356 28.8697 8.45633 28.6025 8.45633C28.3889 8.45633 28.1408 8.46396 27.8584 8.47922C27.5837 8.49448 27.309 8.51356 27.0342 8.53645C26.7671 8.55934 26.5343 8.58223 26.3359 8.60512L26.2901 7.52924C26.4885 7.48346 26.7251 7.43768 26.9999 7.3919C27.2822 7.33849 27.5761 7.29652 27.8813 7.266C28.1866 7.23548 28.469 7.22021 28.7285 7.22021C29.2169 7.22021 29.6252 7.28126 29.9534 7.40334C30.2816 7.52543 30.5296 7.72763 30.6975 8.00996C30.8654 8.28465 30.9493 8.65854 30.9493 9.13162V11.7526C30.9646 11.8595 31.0218 11.9434 31.1211 12.0044C31.2203 12.0579 31.3347 12.096 31.4645 12.1189L31.4301 13.1719C31.308 13.1719 31.1859 13.1719 31.0638 13.1719C30.9493 13.1795 30.8387 13.1795 30.7318 13.1719C30.625 13.1719 30.5296 13.1643 30.4456 13.149C30.2701 13.1261 30.1175 13.0803 29.9877 13.0117C29.8656 12.943 29.7664 12.8705 29.6901 12.7942C29.568 12.8476 29.4039 12.9086 29.1978 12.9773C28.9918 13.046 28.7666 13.1032 28.5224 13.149C28.2858 13.1948 28.0454 13.2177 27.8012 13.2177ZM28.1675 12.0846C28.3125 12.0846 28.4652 12.0693 28.6254 12.0388C28.7857 12.0083 28.9345 11.9739 29.0719 11.9358C29.2169 11.89 29.3314 11.848 29.4153 11.8099V10.4936L28.2477 10.5966C27.9958 10.6195 27.8127 10.6958 27.6982 10.8256C27.5913 10.9476 27.5379 11.1231 27.5379 11.3521C27.5379 11.581 27.5875 11.7603 27.6867 11.89C27.7936 12.0197 27.9538 12.0846 28.1675 12.0846Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M19.9531 13.0924V5.27515H23.0669C23.5859 5.27515 24.0323 5.34 24.4063 5.46972C24.7803 5.59944 25.0703 5.80927 25.2763 6.09923C25.49 6.38155 25.5969 6.76307 25.5969 7.24378C25.5969 7.57188 25.5625 7.85039 25.4938 8.0793C25.4328 8.30058 25.3336 8.49134 25.1962 8.65158C25.0665 8.80419 24.8947 8.94535 24.681 9.07506C24.91 9.159 25.1084 9.27345 25.2763 9.41843C25.4519 9.55578 25.5854 9.74272 25.677 9.97926C25.7686 10.2082 25.8144 10.5134 25.8144 10.8949C25.8144 11.3146 25.7495 11.6656 25.6198 11.9479C25.49 12.2302 25.303 12.4553 25.0588 12.6232C24.8222 12.791 24.5437 12.9131 24.2231 12.9894C23.9026 13.0581 23.5515 13.0924 23.1699 13.0924H19.9531ZM21.5329 11.925H23.0555C23.3226 11.925 23.5439 11.8945 23.7194 11.8334C23.9026 11.7648 24.04 11.6465 24.1316 11.4786C24.2308 11.3108 24.2804 11.078 24.2804 10.7804C24.2804 10.5515 24.2422 10.3646 24.1659 10.2196C24.0896 10.0746 23.9904 9.96782 23.8683 9.89914C23.7461 9.82284 23.6088 9.76943 23.4561 9.7389C23.3111 9.70838 23.1661 9.69312 23.0211 9.69312H21.5329V11.925ZM21.5329 8.57146H23.0097C23.2692 8.57146 23.479 8.53331 23.6393 8.457C23.7996 8.37307 23.9179 8.25099 23.9942 8.09075C24.0705 7.92288 24.1087 7.71304 24.1087 7.46124C24.1087 7.10262 24.0133 6.84318 23.8225 6.68295C23.6393 6.52271 23.3493 6.44259 22.9524 6.44259H21.5329V8.57146Z\"\n fill=\"#919191\"\n />\n </svg>\n </a>\n</footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2288
2282
  }
2289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FooterComponent, decorators: [{
2283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FooterComponent, decorators: [{
2290
2284
  type: Component,
2291
2285
  args: [{ selector: 'app-footer', standalone: true, imports: [CommonModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<footer class=\"babylai:flex babylai:items-center babylai:justify-center babylai:p-3 babylai:border-t babylai:border-border\">\n <a\n href=\"https://babylai.net\"\n target=\"_blank\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:gap-2 babylai:text-sm babylai:text-card-foreground babylai:no-underline babylai:transition-opacity babylai:duration-200 babylai:hover:opacity-80\"\n >\n <span>\n {{ \"PoweredByBabylAI\" | translate }}\n </span>\n <span>|</span>\n <svg viewBox=\"0 0 54 19\" fill=\"none\" class=\"babylai:w-15\">\n <path\n d=\"M0 4.97873C0 2.22905 2.22908 0 4.97879 0H13.2768C16.0265 0 18.2556 2.22905 18.2556 4.97873V13.2766C18.2556 16.0263 16.0265 18.2554 13.2768 18.2554H0V4.97873Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M5.76107 6.10571C5.76153 6.10407 5.76177 6.10325 5.76187 6.10287C5.83413 5.8495 6.19321 5.8495 6.26546 6.10287C6.26557 6.10325 6.2658 6.10407 6.26627 6.10571C6.26749 6.11004 6.26809 6.1122 6.26867 6.11423C6.60441 7.29978 7.53101 8.22637 8.71657 8.5621C8.7186 8.56268 8.72076 8.56329 8.72509 8.56451C8.72673 8.56497 8.72755 8.5652 8.72793 8.56531C8.98131 8.63756 8.98131 8.99664 8.72793 9.06889C8.72755 9.069 8.72673 9.06923 8.72509 9.0697C8.72076 9.07092 8.7186 9.07153 8.71657 9.0721C7.53101 9.40783 6.60441 10.3344 6.26867 11.52C6.26809 11.522 6.26749 11.5242 6.26627 11.5285C6.2658 11.5301 6.26557 11.531 6.26546 11.5313C6.19321 11.7847 5.83413 11.7847 5.76187 11.5313C5.76177 11.531 5.76153 11.5301 5.76107 11.5285C5.75985 11.5242 5.75924 11.522 5.75867 11.52C5.42293 10.3344 4.49633 9.40783 3.31077 9.0721C3.30874 9.07153 3.30657 9.07092 3.30225 9.0697C3.3006 9.06923 3.29978 9.069 3.2994 9.06889C3.04603 8.99664 3.04603 8.63756 3.2994 8.56531C3.29978 8.5652 3.3006 8.56497 3.30225 8.56451C3.30657 8.56329 3.30874 8.56268 3.31077 8.5621C4.49633 8.22637 5.42293 7.29978 5.75867 6.11423C5.75924 6.1122 5.75985 6.11004 5.76107 6.10571Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.7275 8.76473C14.7275 9.99635 13.7523 10.9948 12.5493 10.9948C11.3463 10.9948 10.3711 9.99635 10.3711 8.76473C10.3711 7.5331 11.3463 6.53467 12.5493 6.53467C13.7523 6.53467 14.7275 7.5331 14.7275 8.76473Z\"\n fill=\"white\"\n />\n <path\n d=\"M51.6133 13.0924V5.27515H53.1931V13.0924H51.6133Z\"\n fill=\"#606060\"\n />\n <path\n d=\"M44.5938 13.0924L46.5857 5.27515H49.3446L51.325 13.0924H49.7452L49.3102 11.513H46.5742L46.1621 13.0924H44.5938ZM46.8261 10.2425H49.0813L48.1998 6.55705H47.719L46.8261 10.2425Z\"\n fill=\"#606060\"\n />\n <path d=\"M42.5703 13.092V5H44.0929V13.092H42.5703Z\" fill=\"#919191\" />\n <path\n d=\"M38.6905 15.5069L39.4231 13.0919H38.1982L36.8359 7.34619H38.4272L39.446 11.7985H39.7437L40.7625 7.34619H42.2965L40.3161 15.5069H38.6905Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M34.008 13.2179C33.8172 13.2179 33.5845 13.2103 33.3097 13.195C33.035 13.1797 32.7526 13.1569 32.4626 13.1263C32.1802 13.0958 31.9284 13.0691 31.707 13.0462V5H33.241V7.52946C33.3555 7.48368 33.4967 7.4379 33.6646 7.39212C33.8325 7.34633 34.008 7.30818 34.1912 7.27766C34.382 7.23951 34.5575 7.22043 34.7178 7.22043C35.252 7.22043 35.6756 7.33107 35.9885 7.55235C36.309 7.766 36.538 8.08648 36.6754 8.51378C36.8127 8.94108 36.8814 9.47902 36.8814 10.1276C36.8814 10.8906 36.7937 11.5011 36.6181 11.9589C36.4502 12.4091 36.1564 12.7334 35.7366 12.9318C35.3169 13.1225 34.7407 13.2179 34.008 13.2179ZM34.0195 11.936C34.3934 11.936 34.672 11.8711 34.8552 11.7414C35.0383 11.6041 35.1604 11.4019 35.2215 11.1348C35.2902 10.8677 35.3245 10.5396 35.3245 10.1505C35.3245 9.75371 35.294 9.43705 35.2329 9.20051C35.1719 8.95634 35.0689 8.78084 34.9238 8.67402C34.7865 8.55956 34.5919 8.50233 34.34 8.50233C34.2179 8.50233 34.0882 8.51759 33.9508 8.54812C33.8134 8.57101 33.6799 8.60153 33.5501 8.63968C33.428 8.6702 33.325 8.70072 33.241 8.73124V11.8902C33.3555 11.8978 33.4891 11.9093 33.6417 11.9245C33.7943 11.9322 33.9203 11.936 34.0195 11.936Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M27.8012 13.2177C27.2059 13.2177 26.7556 13.0689 26.4504 12.7713C26.1527 12.4661 26.0039 12.0083 26.0039 11.3978C26.0039 10.9705 26.0802 10.6386 26.2329 10.4021C26.3855 10.1579 26.6106 9.9824 26.9083 9.87558C27.2136 9.76112 27.5837 9.69245 28.0187 9.66956L29.4153 9.54366V9.20029C29.4153 8.9256 29.3467 8.73484 29.2093 8.62802C29.0719 8.51356 28.8697 8.45633 28.6025 8.45633C28.3889 8.45633 28.1408 8.46396 27.8584 8.47922C27.5837 8.49448 27.309 8.51356 27.0342 8.53645C26.7671 8.55934 26.5343 8.58223 26.3359 8.60512L26.2901 7.52924C26.4885 7.48346 26.7251 7.43768 26.9999 7.3919C27.2822 7.33849 27.5761 7.29652 27.8813 7.266C28.1866 7.23548 28.469 7.22021 28.7285 7.22021C29.2169 7.22021 29.6252 7.28126 29.9534 7.40334C30.2816 7.52543 30.5296 7.72763 30.6975 8.00996C30.8654 8.28465 30.9493 8.65854 30.9493 9.13162V11.7526C30.9646 11.8595 31.0218 11.9434 31.1211 12.0044C31.2203 12.0579 31.3347 12.096 31.4645 12.1189L31.4301 13.1719C31.308 13.1719 31.1859 13.1719 31.0638 13.1719C30.9493 13.1795 30.8387 13.1795 30.7318 13.1719C30.625 13.1719 30.5296 13.1643 30.4456 13.149C30.2701 13.1261 30.1175 13.0803 29.9877 13.0117C29.8656 12.943 29.7664 12.8705 29.6901 12.7942C29.568 12.8476 29.4039 12.9086 29.1978 12.9773C28.9918 13.046 28.7666 13.1032 28.5224 13.149C28.2858 13.1948 28.0454 13.2177 27.8012 13.2177ZM28.1675 12.0846C28.3125 12.0846 28.4652 12.0693 28.6254 12.0388C28.7857 12.0083 28.9345 11.9739 29.0719 11.9358C29.2169 11.89 29.3314 11.848 29.4153 11.8099V10.4936L28.2477 10.5966C27.9958 10.6195 27.8127 10.6958 27.6982 10.8256C27.5913 10.9476 27.5379 11.1231 27.5379 11.3521C27.5379 11.581 27.5875 11.7603 27.6867 11.89C27.7936 12.0197 27.9538 12.0846 28.1675 12.0846Z\"\n fill=\"#919191\"\n />\n <path\n d=\"M19.9531 13.0924V5.27515H23.0669C23.5859 5.27515 24.0323 5.34 24.4063 5.46972C24.7803 5.59944 25.0703 5.80927 25.2763 6.09923C25.49 6.38155 25.5969 6.76307 25.5969 7.24378C25.5969 7.57188 25.5625 7.85039 25.4938 8.0793C25.4328 8.30058 25.3336 8.49134 25.1962 8.65158C25.0665 8.80419 24.8947 8.94535 24.681 9.07506C24.91 9.159 25.1084 9.27345 25.2763 9.41843C25.4519 9.55578 25.5854 9.74272 25.677 9.97926C25.7686 10.2082 25.8144 10.5134 25.8144 10.8949C25.8144 11.3146 25.7495 11.6656 25.6198 11.9479C25.49 12.2302 25.303 12.4553 25.0588 12.6232C24.8222 12.791 24.5437 12.9131 24.2231 12.9894C23.9026 13.0581 23.5515 13.0924 23.1699 13.0924H19.9531ZM21.5329 11.925H23.0555C23.3226 11.925 23.5439 11.8945 23.7194 11.8334C23.9026 11.7648 24.04 11.6465 24.1316 11.4786C24.2308 11.3108 24.2804 11.078 24.2804 10.7804C24.2804 10.5515 24.2422 10.3646 24.1659 10.2196C24.0896 10.0746 23.9904 9.96782 23.8683 9.89914C23.7461 9.82284 23.6088 9.76943 23.4561 9.7389C23.3111 9.70838 23.1661 9.69312 23.0211 9.69312H21.5329V11.925ZM21.5329 8.57146H23.0097C23.2692 8.57146 23.479 8.53331 23.6393 8.457C23.7996 8.37307 23.9179 8.25099 23.9942 8.09075C24.0705 7.92288 24.1087 7.71304 24.1087 7.46124C24.1087 7.10262 24.0133 6.84318 23.8225 6.68295C23.6393 6.52271 23.3493 6.44259 22.9524 6.44259H21.5329V8.57146Z\"\n fill=\"#919191\"\n />\n </svg>\n </a>\n</footer>\n" }]
2292
2286
  }] });
@@ -2305,20 +2299,20 @@ class LoadingComponent {
2305
2299
  loadingLogoUrlToken = inject(HELP_CENTER_LOADING_LOGO_URL);
2306
2300
  loadingLogoUrl = () => this.loadingLogoUrlToken;
2307
2301
  onMinimize = output();
2308
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2309
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LoadingComponent, isStandalone: true, selector: "app-loading", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28\">\n <img [src]=\"loadingLogoUrl()\" alt=\"Animated Logo\" class=\"babylai:w-20 babylai:h-20\" />\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2302
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2303
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: LoadingComponent, isStandalone: true, selector: "app-loading", outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28\">\n <img [src]=\"loadingLogoUrl()\" alt=\"Animated Logo\" class=\"babylai:w-20 babylai:h-20\" />\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2310
2304
  }
2311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LoadingComponent, decorators: [{
2305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LoadingComponent, decorators: [{
2312
2306
  type: Component,
2313
2307
  args: [{ selector: 'app-loading', standalone: true, imports: [CommonModule, HeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28\">\n <img [src]=\"loadingLogoUrl()\" alt=\"Animated Logo\" class=\"babylai:w-20 babylai:h-20\" />\n </div>\n </div>\n</div>\n" }]
2314
2308
  }], propDecorators: { onMinimize: [{ type: i0.Output, args: ["onMinimize"] }] } });
2315
2309
 
2316
2310
  class BaseDialogComponent {
2317
- isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
2318
- isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
2319
- closeOnEscape = input(true, ...(ngDevMode ? [{ debugName: "closeOnEscape" }] : []));
2320
- closeOnOverlayClick = input(true, ...(ngDevMode ? [{ debugName: "closeOnOverlayClick" }] : []));
2321
- ariaLabel = input('Dialog', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
2311
+ isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
2312
+ isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
2313
+ closeOnEscape = input(true, ...(ngDevMode ? [{ debugName: "closeOnEscape" }] : /* istanbul ignore next */ []));
2314
+ closeOnOverlayClick = input(true, ...(ngDevMode ? [{ debugName: "closeOnOverlayClick" }] : /* istanbul ignore next */ []));
2315
+ ariaLabel = input('Dialog', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
2322
2316
  close = output();
2323
2317
  dialogContainer;
2324
2318
  previousActiveElement = null;
@@ -2341,7 +2335,7 @@ class BaseDialogComponent {
2341
2335
  else {
2342
2336
  this.releaseFocus();
2343
2337
  }
2344
- }, ...(ngDevMode ? [{ debugName: "focusEffectRef" }] : []));
2338
+ }, ...(ngDevMode ? [{ debugName: "focusEffectRef" }] : /* istanbul ignore next */ []));
2345
2339
  }
2346
2340
  ngOnInit() {
2347
2341
  // Set up Escape key listener for closing dialog
@@ -2459,10 +2453,10 @@ class BaseDialogComponent {
2459
2453
  const selector = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
2460
2454
  return Array.from(container.querySelectorAll(selector)).filter((el) => !el.hasAttribute('disabled') && !el.hasAttribute('aria-hidden'));
2461
2455
  }
2462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BaseDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2463
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: BaseDialogComponent, isStandalone: true, selector: "app-base-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnOverlayClick: { classPropertyName: "closeOnOverlayClick", publicName: "closeOnOverlayClick", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true }], ngImport: i0, template: "@if (isOpen()) {\n<div \n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-end babylai:justify-center babylai:border-radius-2xl babylai:z-50 babylai:bg-card-foreground/50\" \n (click)=\"onOverlayClick()\" \n role=\"dialog\" \n aria-modal=\"true\" \n [attr.aria-label]=\"ariaLabel()\"\n>\n <div class=\"babylai:bg-card babylai:rounded-t-2xl babylai:w-full\" #dialogContainer tabindex=\"-1\" (click)=\"onDialogClick($event)\">\n <ng-content></ng-content>\n @if (isLoading()) {\n <div class=\"babylai:bg-black/30 babylai:flex babylai:items-center babylai:justify-center babylai:absolute babylai:inset-0\">\n <app-loading variant=\"primary\"></app-loading>\n </div>\n }\n </div>\n</div>\n}\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LoadingComponent, selector: "app-loading", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2457
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: BaseDialogComponent, isStandalone: true, selector: "app-base-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnOverlayClick: { classPropertyName: "closeOnOverlayClick", publicName: "closeOnOverlayClick", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true }], ngImport: i0, template: "@if (isOpen()) {\n<div \n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-end babylai:justify-center babylai:border-radius-2xl babylai:z-50 babylai:bg-card-foreground/50\" \n (click)=\"onOverlayClick()\" \n role=\"dialog\" \n aria-modal=\"true\" \n [attr.aria-label]=\"ariaLabel()\"\n>\n <div class=\"babylai:bg-card babylai:rounded-t-2xl babylai:w-full\" #dialogContainer tabindex=\"-1\" (click)=\"onDialogClick($event)\">\n <ng-content></ng-content>\n @if (isLoading()) {\n <div class=\"babylai:bg-black/30 babylai:flex babylai:items-center babylai:justify-center babylai:absolute babylai:inset-0\">\n <app-loading variant=\"primary\"></app-loading>\n </div>\n }\n </div>\n</div>\n}\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LoadingComponent, selector: "app-loading", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2464
2458
  }
2465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BaseDialogComponent, decorators: [{
2459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseDialogComponent, decorators: [{
2466
2460
  type: Component,
2467
2461
  args: [{ selector: 'app-base-dialog', standalone: true, imports: [CommonModule, LoadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isOpen()) {\n<div \n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-end babylai:justify-center babylai:border-radius-2xl babylai:z-50 babylai:bg-card-foreground/50\" \n (click)=\"onOverlayClick()\" \n role=\"dialog\" \n aria-modal=\"true\" \n [attr.aria-label]=\"ariaLabel()\"\n>\n <div class=\"babylai:bg-card babylai:rounded-t-2xl babylai:w-full\" #dialogContainer tabindex=\"-1\" (click)=\"onDialogClick($event)\">\n <ng-content></ng-content>\n @if (isLoading()) {\n <div class=\"babylai:bg-black/30 babylai:flex babylai:items-center babylai:justify-center babylai:absolute babylai:inset-0\">\n <app-loading variant=\"primary\"></app-loading>\n </div>\n }\n </div>\n</div>\n}\n\n" }]
2468
2462
  }], ctorParameters: () => [], propDecorators: { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], closeOnOverlayClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOverlayClick", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], dialogContainer: [{
@@ -2471,22 +2465,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2471
2465
  }] } });
2472
2466
 
2473
2467
  class ConfirmationDialogComponent {
2474
- title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
2475
- body = input('', ...(ngDevMode ? [{ debugName: "body" }] : []));
2476
- confirmText = input('Confirm', ...(ngDevMode ? [{ debugName: "confirmText" }] : []));
2477
- cancelText = input('Cancel', ...(ngDevMode ? [{ debugName: "cancelText" }] : []));
2478
- isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
2468
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
2469
+ body = input('', ...(ngDevMode ? [{ debugName: "body" }] : /* istanbul ignore next */ []));
2470
+ confirmText = input('Confirm', ...(ngDevMode ? [{ debugName: "confirmText" }] : /* istanbul ignore next */ []));
2471
+ cancelText = input('Cancel', ...(ngDevMode ? [{ debugName: "cancelText" }] : /* istanbul ignore next */ []));
2472
+ isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
2479
2473
  onConfirm = output();
2480
2474
  onCancel = output();
2481
2475
  onClose = output();
2482
- disableActions = computed(() => this.isLoading(), ...(ngDevMode ? [{ debugName: "disableActions" }] : []));
2476
+ disableActions = computed(() => this.isLoading(), ...(ngDevMode ? [{ debugName: "disableActions" }] : /* istanbul ignore next */ []));
2483
2477
  onCloseClick() {
2484
2478
  this.onClose.emit();
2485
2479
  }
2486
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2487
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onConfirm: "onConfirm", onCancel: "onCancel", onClose: "onClose" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"true\"\n [isLoading]=\"isLoading()\"\n [ariaLabel]=\"title()\"\n (close)=\"onCloseClick()\"\n>\n <div\n class=\"babylai:flex babylai:flex-col babylai:p-6 babylai:pb-5 babylai:w-full\"\n >\n <button\n class=\"babylai:border-0 babylai:p-0 babylai:flex babylai:bg-transparent babylai:cursor-pointer babylai:mb-6 babylai:ms-auto babylai:text-card-foreground\"\n (click)=\"onCloseClick()\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n size=\"28px\"\n />\n </button>\n <section\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-b babylai:border-black-white-200 babylai:pb-6 babylai:mb-6\"\n >\n <div\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-20 babylai:h-20 babylai:rounded-full babylai:p-3 babylai:bg-primary/15 babylai:text-primary\"\n >\n <app-icon\n name=\"solar:chat-round-unread-bold-duotone\"\n class=\"babylai:flex\"\n size=\"56px\"\n />\n </div>\n </section>\n <h3\n class=\"babylai:text-2xl! babylai:text-center babylai:font-bold! babylai:mb-2! babylai:text-card-foreground\"\n >\n {{ title() }}\n </h3>\n <p\n class=\"babylai:text-sm babylai:text-center babylai:text-muted-foreground\"\n >\n {{ body() }}\n </p>\n </div>\n <div\n class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:mb-5 babylai:px-6\"\n >\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onCancel.emit()\"\n class=\"babylai:w-full\"\n >\n {{ cancelText() }}\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" />\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onConfirm.emit()\"\n class=\"babylai:w-full\"\n >\n {{ confirmText() }}\n </app-button>\n </div>\n <app-footer />\n</app-base-dialog>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: BaseDialogComponent, selector: "app-base-dialog", inputs: ["isOpen", "isLoading", "closeOnEscape", "closeOnOverlayClick", "ariaLabel"], outputs: ["close"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2480
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2481
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onConfirm: "onConfirm", onCancel: "onCancel", onClose: "onClose" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"true\"\n [isLoading]=\"isLoading()\"\n [ariaLabel]=\"title()\"\n (close)=\"onCloseClick()\"\n>\n <div\n class=\"babylai:flex babylai:flex-col babylai:p-6 babylai:pb-5 babylai:w-full\"\n >\n <button\n class=\"babylai:border-0 babylai:p-0 babylai:flex babylai:bg-transparent babylai:cursor-pointer babylai:mb-6 babylai:ms-auto babylai:text-card-foreground\"\n (click)=\"onCloseClick()\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n size=\"28px\"\n />\n </button>\n <section\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-b babylai:border-black-white-200 babylai:pb-6 babylai:mb-6\"\n >\n <div\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:w-20 babylai:h-20 babylai:rounded-full babylai:p-3 babylai:bg-primary/15 babylai:text-primary\"\n >\n <app-icon\n name=\"solar:chat-round-unread-bold-duotone\"\n class=\"babylai:flex\"\n size=\"56px\"\n />\n </div>\n </section>\n <h3\n class=\"babylai:text-2xl! babylai:text-center babylai:font-bold! babylai:mb-2! babylai:text-card-foreground\"\n >\n {{ title() }}\n </h3>\n <p\n class=\"babylai:text-sm babylai:text-center babylai:text-muted-foreground\"\n >\n {{ body() }}\n </p>\n </div>\n <div\n class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:mb-5 babylai:px-6\"\n >\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onCancel.emit()\"\n class=\"babylai:w-full\"\n >\n {{ cancelText() }}\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" />\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onConfirm.emit()\"\n class=\"babylai:w-full\"\n >\n {{ confirmText() }}\n </app-button>\n </div>\n <app-footer />\n</app-base-dialog>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: BaseDialogComponent, selector: "app-base-dialog", inputs: ["isOpen", "isLoading", "closeOnEscape", "closeOnOverlayClick", "ariaLabel"], outputs: ["close"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2488
2482
  }
2489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
2483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
2490
2484
  type: Component,
2491
2485
  args: [{ selector: 'app-confirmation-dialog', standalone: true, imports: [
2492
2486
  CommonModule,
@@ -2498,17 +2492,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2498
2492
  }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], body: [{ type: i0.Input, args: [{ isSignal: true, alias: "body", required: false }] }], confirmText: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirmText", required: false }] }], cancelText: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelText", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], onConfirm: [{ type: i0.Output, args: ["onConfirm"] }], onCancel: [{ type: i0.Output, args: ["onCancel"] }], onClose: [{ type: i0.Output, args: ["onClose"] }] } });
2499
2493
 
2500
2494
  class ReviewDialogComponent {
2501
- isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
2502
- isSubmitting = input(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
2503
- showCommentField = input(true, ...(ngDevMode ? [{ debugName: "showCommentField" }] : []));
2495
+ isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
2496
+ isSubmitting = input(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : /* istanbul ignore next */ []));
2497
+ showCommentField = input(true, ...(ngDevMode ? [{ debugName: "showCommentField" }] : /* istanbul ignore next */ []));
2504
2498
  close = output();
2505
2499
  submitReview = output();
2506
2500
  skip = output();
2507
- rating = signal(0, ...(ngDevMode ? [{ debugName: "rating" }] : []));
2508
- comment = signal('', ...(ngDevMode ? [{ debugName: "comment" }] : []));
2501
+ rating = signal(0, ...(ngDevMode ? [{ debugName: "rating" }] : /* istanbul ignore next */ []));
2502
+ comment = signal('', ...(ngDevMode ? [{ debugName: "comment" }] : /* istanbul ignore next */ []));
2509
2503
  // Validation errors
2510
- ratingError = signal('', ...(ngDevMode ? [{ debugName: "ratingError" }] : []));
2511
- commentError = signal('', ...(ngDevMode ? [{ debugName: "commentError" }] : []));
2504
+ ratingError = signal('', ...(ngDevMode ? [{ debugName: "ratingError" }] : /* istanbul ignore next */ []));
2505
+ commentError = signal('', ...(ngDevMode ? [{ debugName: "commentError" }] : /* istanbul ignore next */ []));
2512
2506
  onRatingClick(starIndex) {
2513
2507
  this.rating.set(starIndex + 1);
2514
2508
  this.clearRatingError();
@@ -2588,10 +2582,10 @@ class ReviewDialogComponent {
2588
2582
  getCommentMinLength() {
2589
2583
  return 10;
2590
2584
  }
2591
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2592
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewDialogComponent, isStandalone: true, selector: "app-review-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, showCommentField: { classPropertyName: "showCommentField", publicName: "showCommentField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"isOpen()\"\n [ariaLabel]=\"'ReviewDialogTitle' | translate\"\n (close)=\"onDialogClose()\"\n>\n <div\n class=\"babylai:flex babylai:flex-col babylai:p-6 babylai:pb-5 babylai:w-full\"\n >\n <button\n class=\"babylai:border-0 babylai:p-0 babylai:flex babylai:bg-transparent babylai:cursor-pointer babylai:mb-6 babylai:ms-auto babylai:text-card-foreground\"\n (click)=\"onClose()\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n size=\"28px\"\n />\n </button>\n <section\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-b babylai:border-black-white-200 babylai:pb-6 babylai:mb-6\"\n >\n <!-- Rating Section -->\n <div>\n <label class=\"babylai:sr-only\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div class=\"babylai:inline-flex babylai:gap-2\">\n @for (star of getStarsArray(); track star) {\n <button\n class=\"babylai:hover:text-[#F49E00] babylai:border-0 babylai:bg-transparent babylai:p-0\"\n [class.babylai:text-black-white-200]=\"!isStarFilled(star)\"\n [class.babylai:dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.babylai:text-[#F49E00]]=\"isStarFilled(star)\"\n [disabled]=\"isSubmitting()\"\n (click)=\"onRatingClick(star)\"\n [attr.aria-label]=\"'Rate ' + (star + 1) + ' out of 5 stars'\"\n [attr.aria-pressed]=\"isStarFilled(star)\"\n role=\"button\"\n type=\"button\"\n (keydown.enter)=\"onRatingClick(star)\"\n (keydown.space)=\"$event.preventDefault(); onRatingClick(star)\"\n >\n <app-icon\n name=\"solar:star-bold\"\n class=\"babylai:flex\"\n size=\"53px\"\n />\n </button>\n }\n </div>\n @if (ratingError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ ratingError() }}\n </div>\n }\n </div>\n </section>\n <h3\n class=\"babylai:text-2xl! babylai:text-center babylai:font-bold! babylai:mb-2! babylai:text-card-foreground\"\n >\n {{ \"ReviewDialogTitle\" | translate }}\n </h3>\n <p\n class=\"babylai:text-xs babylai:text-center babylai:text-muted-foreground babylai:mb-4 babylai:leading-snug\"\n >\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n @if (rating() > 0) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-6 babylai:mt-6\">\n <p\n class=\"babylai:text-sm babylai:text-card-foreground babylai:leading-snug\"\n >\n {{ \"ReviewDialogCommentLabel\" | translate }}\n </p>\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2\">\n <textarea\n class=\"babylai:resize-none babylai:w-full babylai:bg-secondary babylai:border babylai:rounded-xl babylai:text-card-foreground babylai:text-sm babylai:p-3 babylai:resize-vertical babylai:min-h-20 babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed babylai:disabled:bg-secondary babylai:border-black-white-200\"\n [class.babylai:border-destructive]=\"commentError()\"\n [ngModel]=\"comment()\"\n (ngModelChange)=\"comment.set($event); onCommentChange()\"\n [placeholder]=\"'ReviewDialogCommentPlaceholder' | translate\"\n [maxlength]=\"getCommentMaxLength()\"\n [disabled]=\"isSubmitting()\"\n rows=\"4\"\n ></textarea>\n <div class=\"babylai:flex babylai:flex-col\">\n <div\n class=\"babylai:text-card-foreground babylai:text-sm babylai:whitespace-nowrap babylai:opacity-70\"\n >\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ commentError() }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Actions -->\n <div\n class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:mb-5 babylai:px-6\"\n >\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSkip()\"\n class=\"babylai:w-full\"\n >\n {{ \"ReviewDialogSkipButton\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n class=\"babylai:w-full babylai:inline-flex babylai:items-center babylai:justify-center babylai:gap-2\"\n >\n @if (isSubmitting()) {\n <app-icon\n name=\"line-md:loading-twotone-loop\"\n class=\"babylai:flex babylai:shrink-0\"\n size=\"20px\"\n />\n Submitting...\n } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n </div>\n <app-footer />\n</app-base-dialog>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: BaseDialogComponent, selector: "app-base-dialog", inputs: ["isOpen", "isLoading", "closeOnEscape", "closeOnOverlayClick", "ariaLabel"], outputs: ["close"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2585
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReviewDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2586
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ReviewDialogComponent, isStandalone: true, selector: "app-review-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, showCommentField: { classPropertyName: "showCommentField", publicName: "showCommentField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"isOpen()\"\n [ariaLabel]=\"'ReviewDialogTitle' | translate\"\n (close)=\"onDialogClose()\"\n>\n <div\n class=\"babylai:flex babylai:flex-col babylai:p-6 babylai:pb-5 babylai:w-full\"\n >\n <button\n class=\"babylai:border-0 babylai:p-0 babylai:flex babylai:bg-transparent babylai:cursor-pointer babylai:mb-6 babylai:ms-auto babylai:text-card-foreground\"\n (click)=\"onClose()\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n size=\"28px\"\n />\n </button>\n <section\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-b babylai:border-black-white-200 babylai:pb-6 babylai:mb-6\"\n >\n <!-- Rating Section -->\n <div>\n <label class=\"babylai:sr-only\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div class=\"babylai:inline-flex babylai:gap-2\">\n @for (star of getStarsArray(); track star) {\n <button\n class=\"babylai:hover:text-[#F49E00] babylai:border-0 babylai:bg-transparent babylai:p-0\"\n [class.babylai:text-black-white-200]=\"!isStarFilled(star)\"\n [class.babylai:dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.babylai:text-[#F49E00]]=\"isStarFilled(star)\"\n [disabled]=\"isSubmitting()\"\n (click)=\"onRatingClick(star)\"\n [attr.aria-label]=\"'Rate ' + (star + 1) + ' out of 5 stars'\"\n [attr.aria-pressed]=\"isStarFilled(star)\"\n role=\"button\"\n type=\"button\"\n (keydown.enter)=\"onRatingClick(star)\"\n (keydown.space)=\"$event.preventDefault(); onRatingClick(star)\"\n >\n <app-icon\n name=\"solar:star-bold\"\n class=\"babylai:flex\"\n size=\"53px\"\n />\n </button>\n }\n </div>\n @if (ratingError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ ratingError() }}\n </div>\n }\n </div>\n </section>\n <h3\n class=\"babylai:text-2xl! babylai:text-center babylai:font-bold! babylai:mb-2! babylai:text-card-foreground\"\n >\n {{ \"ReviewDialogTitle\" | translate }}\n </h3>\n <p\n class=\"babylai:text-xs babylai:text-center babylai:text-muted-foreground babylai:mb-4 babylai:leading-snug\"\n >\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n @if (rating() > 0) {\n <div class=\"babylai:flex babylai:flex-col babylai:gap-6 babylai:mt-6\">\n <p\n class=\"babylai:text-sm babylai:text-card-foreground babylai:leading-snug\"\n >\n {{ \"ReviewDialogCommentLabel\" | translate }}\n </p>\n <div class=\"babylai:flex babylai:flex-col babylai:gap-2\">\n <textarea\n class=\"babylai:resize-none babylai:w-full babylai:bg-secondary babylai:border babylai:rounded-xl babylai:text-card-foreground babylai:text-sm babylai:p-3 babylai:resize-vertical babylai:min-h-20 babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed babylai:disabled:bg-secondary babylai:border-black-white-200\"\n [class.babylai:border-destructive]=\"commentError()\"\n [ngModel]=\"comment()\"\n (ngModelChange)=\"comment.set($event); onCommentChange()\"\n [placeholder]=\"'ReviewDialogCommentPlaceholder' | translate\"\n [maxlength]=\"getCommentMaxLength()\"\n [disabled]=\"isSubmitting()\"\n rows=\"4\"\n ></textarea>\n <div class=\"babylai:flex babylai:flex-col\">\n <div\n class=\"babylai:text-card-foreground babylai:text-sm babylai:whitespace-nowrap babylai:opacity-70\"\n >\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div\n class=\"babylai:text-destructive babylai:text-sm babylai:mt-1 babylai:flex babylai:items-center babylai:gap-1\"\n >\n {{ commentError() }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Actions -->\n <div\n class=\"babylai:flex babylai:justify-between babylai:gap-3 babylai:mb-5 babylai:px-6\"\n >\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSkip()\"\n class=\"babylai:w-full\"\n >\n {{ \"ReviewDialogSkipButton\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n class=\"babylai:w-full babylai:inline-flex babylai:items-center babylai:justify-center babylai:gap-2\"\n >\n @if (isSubmitting()) {\n <app-icon\n name=\"line-md:loading-twotone-loop\"\n class=\"babylai:flex babylai:shrink-0\"\n size=\"20px\"\n />\n Submitting...\n } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n </div>\n <app-footer />\n</app-base-dialog>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: BaseDialogComponent, selector: "app-base-dialog", inputs: ["isOpen", "isLoading", "closeOnEscape", "closeOnOverlayClick", "ariaLabel"], outputs: ["close"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2593
2587
  }
2594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewDialogComponent, decorators: [{
2588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReviewDialogComponent, decorators: [{
2595
2589
  type: Component,
2596
2590
  args: [{ selector: 'app-review-dialog', standalone: true, imports: [
2597
2591
  CommonModule,
@@ -2608,9 +2602,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2608
2602
 
2609
2603
  class ChatInputComponent {
2610
2604
  // Using input() signals - automatically trigger change detection on updates
2611
- isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : []));
2612
- assistantStatus = input('', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : []));
2613
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
2605
+ isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : /* istanbul ignore next */ []));
2606
+ assistantStatus = input('', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : /* istanbul ignore next */ []));
2607
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
2614
2608
  set sessionId(value) {
2615
2609
  this._sessionId = value;
2616
2610
  // When sessionId becomes available, upload any pending files
@@ -2630,20 +2624,20 @@ class ChatInputComponent {
2630
2624
  fileInput;
2631
2625
  fileUploadService = inject(FileUploadService);
2632
2626
  // Local state as signal
2633
- messageContent = signal('', ...(ngDevMode ? [{ debugName: "messageContent" }] : []));
2634
- selectedFiles = signal([], ...(ngDevMode ? [{ debugName: "selectedFiles" }] : []));
2635
- previewImageUrl = signal(null, ...(ngDevMode ? [{ debugName: "previewImageUrl" }] : []));
2636
- previewImageIndex = signal(-1, ...(ngDevMode ? [{ debugName: "previewImageIndex" }] : []));
2637
- isUploading = computed(() => this.selectedFiles().some((f) => f.uploading), ...(ngDevMode ? [{ debugName: "isUploading" }] : []));
2627
+ messageContent = signal('', ...(ngDevMode ? [{ debugName: "messageContent" }] : /* istanbul ignore next */ []));
2628
+ selectedFiles = signal([], ...(ngDevMode ? [{ debugName: "selectedFiles" }] : /* istanbul ignore next */ []));
2629
+ previewImageUrl = signal(null, ...(ngDevMode ? [{ debugName: "previewImageUrl" }] : /* istanbul ignore next */ []));
2630
+ previewImageIndex = signal(-1, ...(ngDevMode ? [{ debugName: "previewImageIndex" }] : /* istanbul ignore next */ []));
2631
+ isUploading = computed(() => this.selectedFiles().some((f) => f.uploading), ...(ngDevMode ? [{ debugName: "isUploading" }] : /* istanbul ignore next */ []));
2638
2632
  hasUploadErrors = computed(() => {
2639
2633
  const files = this.selectedFiles();
2640
2634
  // Only return true if there are files AND all of them have errors
2641
2635
  // If no files are selected, there are no errors
2642
2636
  return (files.length > 0 &&
2643
2637
  files.every((f) => f.error !== null && f.uploadedId === null));
2644
- }, ...(ngDevMode ? [{ debugName: "hasUploadErrors" }] : []));
2638
+ }, ...(ngDevMode ? [{ debugName: "hasUploadErrors" }] : /* istanbul ignore next */ []));
2645
2639
  /** True when any file is still uploading or pending (no uploadedId yet) */
2646
- hasPendingOrUploadingFiles = computed(() => this.selectedFiles().some((f) => f.uploading || (!f.uploadedId && !f.error)), ...(ngDevMode ? [{ debugName: "hasPendingOrUploadingFiles" }] : []));
2640
+ hasPendingOrUploadingFiles = computed(() => this.selectedFiles().some((f) => f.uploading || (!f.uploadedId && !f.error)), ...(ngDevMode ? [{ debugName: "hasPendingOrUploadingFiles" }] : /* istanbul ignore next */ []));
2647
2641
  canSend = computed(() => {
2648
2642
  const hasText = this.messageContent().trim().length > 0;
2649
2643
  const hasUploadedFiles = this.selectedFiles().some((f) => !!f.uploadedId);
@@ -2654,7 +2648,7 @@ class ChatInputComponent {
2654
2648
  !this.hasPendingOrUploadingFiles() &&
2655
2649
  notTyping &&
2656
2650
  notClosed);
2657
- }, ...(ngDevMode ? [{ debugName: "canSend" }] : []));
2651
+ }, ...(ngDevMode ? [{ debugName: "canSend" }] : /* istanbul ignore next */ []));
2658
2652
  ngOnInit() {
2659
2653
  // Component initialization
2660
2654
  }
@@ -2817,10 +2811,10 @@ class ChatInputComponent {
2817
2811
  textarea.style.height = textarea.scrollHeight + 'px';
2818
2812
  }
2819
2813
  }
2820
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2821
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatInputComponent, isStandalone: true, selector: "app-chat-input", inputs: { isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sendMessage: "sendMessage", requestSessionForAttachments: "requestSessionForAttachments" }, viewQueries: [{ propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"babylai:relative babylai:w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"babylai:scrollbar-thin babylai:flex babylai:gap-2 babylai:mb-2 babylai:overflow-x-auto babylai:bg-card babylai:rounded-2xl babylai:p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"babylai:relative babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:shrink-0 babylai:border babylai:border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:transition-opacity babylai:duration-200\"\n [class.babylai:opacity-50]=\"file.uploading\"\n [class.babylai:opacity-100]=\"!file.uploading\"\n [class.babylai:hover:opacity-80]=\"!file.uploading\"\n [class.babylai:cursor-pointer]=\"!file.uploading\"\n [class.babylai:pointer-events-none]=\"file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-md babylai:bg-black/50\"\n aria-hidden=\"true\"\n >\n <app-icon\n name=\"line-md:loading-twotone-loop\"\n class=\"babylai:flex babylai:text-white babylai:text-2xl\"\n />\n </div>\n }\n @if (file.error) {\n <div\n class=\"babylai:absolute babylai:top-0.5 babylai:right-0.5 babylai:w-4 babylai:h-4 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full text-white babylai:text-xs babylai:font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"babylai:border-0 babylai:p-0 babylai:absolute babylai:-top-2 babylai:-right-2 babylai:bg-destructive babylai:text-white babylai:rounded-full babylai:w-5 babylai:h-5 babylai:flex babylai:items-center babylai:justify-center babylai:cursor-pointer\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n />\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"babylai:relative babylai:w-full\"\n >\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-2 babylai:relative babylai:rounded-full babylai:bg-card babylai:py-3 babylai:px-4\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"babylai:hidden\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div class=\"babylai:border-e babylai:border-border babylai:pe-2\">\n <button\n type=\"button\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-0 babylai:rounded-full babylai:w-8 babylai:h-8 babylai:cursor-pointer babylai:bg-secondary babylai:text-muted-foreground babylai:hover:text-primary-500 babylai:transition-colors babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <app-icon name=\"solar:paperclip-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n\n <input\n type=\"text\"\n [ngModel]=\"messageContent()\"\n (ngModelChange)=\"messageContent.set($event)\"\n name=\"messageContent\"\n [placeholder]=\"'ChatPlaceholder' | translate\"\n [disabled]=\"isChatClosed()\"\n [attr.aria-label]=\"'Chat input field'\"\n [attr.aria-disabled]=\"isChatClosed()\"\n role=\"textbox\"\n class=\"babylai:flex-1 babylai:py-2 babylai:px-2 babylai:bg-transparent babylai:outline-none babylai:text-sm babylai:border-none babylai:text-card-foreground babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n dir=\"auto\"\n #messageInput\n (keydown.enter)=\"handleSendMessage()\"\n (keydown.escape)=\"messageContent.set('')\"\n />\n\n <button\n type=\"submit\"\n [disabled]=\"!canSend()\"\n [attr.aria-label]=\"'Send message'\"\n class=\"babylai:border-0 babylai:rounded-full babylai:bg-primary-500 babylai:hover:bg-primary-600 babylai:w-8 babylai:h-8 babylai:p-0 babylai:flex babylai:items-center babylai:justify-center babylai:disabled:opacity-50 babylai:text-white babylai:cursor-pointer babylai:disabled:cursor-not-allowed\"\n >\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2814
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2815
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ChatInputComponent, isStandalone: true, selector: "app-chat-input", inputs: { isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sendMessage: "sendMessage", requestSessionForAttachments: "requestSessionForAttachments" }, viewQueries: [{ propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"babylai:relative babylai:w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"babylai:scrollbar-thin babylai:flex babylai:gap-2 babylai:mb-2 babylai:overflow-x-auto babylai:bg-card babylai:rounded-2xl babylai:p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"babylai:relative babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:shrink-0 babylai:border babylai:border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:transition-opacity babylai:duration-200\"\n [class.babylai:opacity-50]=\"file.uploading\"\n [class.babylai:opacity-100]=\"!file.uploading\"\n [class.babylai:hover:opacity-80]=\"!file.uploading\"\n [class.babylai:cursor-pointer]=\"!file.uploading\"\n [class.babylai:pointer-events-none]=\"file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-md babylai:bg-black/50\"\n aria-hidden=\"true\"\n >\n <app-icon\n name=\"line-md:loading-twotone-loop\"\n class=\"babylai:flex babylai:text-white babylai:text-2xl\"\n />\n </div>\n }\n @if (file.error) {\n <div\n class=\"babylai:absolute babylai:top-0.5 babylai:right-0.5 babylai:w-4 babylai:h-4 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full text-white babylai:text-xs babylai:font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"babylai:border-0 babylai:p-0 babylai:absolute babylai:-top-2 babylai:-right-2 babylai:bg-destructive babylai:text-white babylai:rounded-full babylai:w-5 babylai:h-5 babylai:flex babylai:items-center babylai:justify-center babylai:cursor-pointer\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n />\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"babylai:relative babylai:w-full\"\n >\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-2 babylai:relative babylai:rounded-full babylai:bg-card babylai:py-3 babylai:px-4\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"babylai:hidden\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div class=\"babylai:border-e babylai:border-border babylai:pe-2\">\n <button\n type=\"button\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-0 babylai:rounded-full babylai:w-8 babylai:h-8 babylai:cursor-pointer babylai:bg-secondary babylai:text-muted-foreground babylai:hover:text-primary-500 babylai:transition-colors babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <app-icon name=\"solar:paperclip-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n\n <input\n type=\"text\"\n [ngModel]=\"messageContent()\"\n (ngModelChange)=\"messageContent.set($event)\"\n name=\"messageContent\"\n [placeholder]=\"'ChatPlaceholder' | translate\"\n [disabled]=\"isChatClosed()\"\n [attr.aria-label]=\"'Chat input field'\"\n [attr.aria-disabled]=\"isChatClosed()\"\n role=\"textbox\"\n class=\"babylai:flex-1 babylai:py-2 babylai:px-2 babylai:bg-transparent babylai:outline-none babylai:text-sm babylai:border-none babylai:text-card-foreground babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n dir=\"auto\"\n #messageInput\n (keydown.enter)=\"handleSendMessage()\"\n (keydown.escape)=\"messageContent.set('')\"\n />\n\n <button\n type=\"submit\"\n [disabled]=\"!canSend()\"\n [attr.aria-label]=\"'Send message'\"\n class=\"babylai:border-0 babylai:rounded-full babylai:bg-primary-500 babylai:hover:bg-primary-600 babylai:w-8 babylai:h-8 babylai:p-0 babylai:flex babylai:items-center babylai:justify-center babylai:disabled:opacity-50 babylai:text-white babylai:cursor-pointer babylai:disabled:cursor-not-allowed\"\n >\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2822
2816
  }
2823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatInputComponent, decorators: [{
2817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatInputComponent, decorators: [{
2824
2818
  type: Component,
2825
2819
  args: [{ selector: 'app-chat-input', standalone: true, imports: [CommonModule, FormsModule, TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"babylai:relative babylai:w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"babylai:scrollbar-thin babylai:flex babylai:gap-2 babylai:mb-2 babylai:overflow-x-auto babylai:bg-card babylai:rounded-2xl babylai:p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"babylai:relative babylai:w-[50px] babylai:h-[50px] babylai:rounded-md babylai:shrink-0 babylai:border babylai:border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"babylai:w-full babylai:h-full babylai:object-cover babylai:transition-opacity babylai:duration-200\"\n [class.babylai:opacity-50]=\"file.uploading\"\n [class.babylai:opacity-100]=\"!file.uploading\"\n [class.babylai:hover:opacity-80]=\"!file.uploading\"\n [class.babylai:cursor-pointer]=\"!file.uploading\"\n [class.babylai:pointer-events-none]=\"file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"babylai:absolute babylai:inset-0 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-md babylai:bg-black/50\"\n aria-hidden=\"true\"\n >\n <app-icon\n name=\"line-md:loading-twotone-loop\"\n class=\"babylai:flex babylai:text-white babylai:text-2xl\"\n />\n </div>\n }\n @if (file.error) {\n <div\n class=\"babylai:absolute babylai:top-0.5 babylai:right-0.5 babylai:w-4 babylai:h-4 babylai:flex babylai:items-center babylai:justify-center babylai:rounded-full text-white babylai:text-xs babylai:font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"babylai:border-0 babylai:p-0 babylai:absolute babylai:-top-2 babylai:-right-2 babylai:bg-destructive babylai:text-white babylai:rounded-full babylai:w-5 babylai:h-5 babylai:flex babylai:items-center babylai:justify-center babylai:cursor-pointer\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"babylai:flex\"\n />\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"babylai:relative babylai:w-full\"\n >\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-2 babylai:relative babylai:rounded-full babylai:bg-card babylai:py-3 babylai:px-4\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"babylai:hidden\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div class=\"babylai:border-e babylai:border-border babylai:pe-2\">\n <button\n type=\"button\"\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:border-0 babylai:rounded-full babylai:w-8 babylai:h-8 babylai:cursor-pointer babylai:bg-secondary babylai:text-muted-foreground babylai:hover:text-primary-500 babylai:transition-colors babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <app-icon name=\"solar:paperclip-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n\n <input\n type=\"text\"\n [ngModel]=\"messageContent()\"\n (ngModelChange)=\"messageContent.set($event)\"\n name=\"messageContent\"\n [placeholder]=\"'ChatPlaceholder' | translate\"\n [disabled]=\"isChatClosed()\"\n [attr.aria-label]=\"'Chat input field'\"\n [attr.aria-disabled]=\"isChatClosed()\"\n role=\"textbox\"\n class=\"babylai:flex-1 babylai:py-2 babylai:px-2 babylai:bg-transparent babylai:outline-none babylai:text-sm babylai:border-none babylai:text-card-foreground babylai:disabled:opacity-50 babylai:disabled:cursor-not-allowed\"\n dir=\"auto\"\n #messageInput\n (keydown.enter)=\"handleSendMessage()\"\n (keydown.escape)=\"messageContent.set('')\"\n />\n\n <button\n type=\"submit\"\n [disabled]=\"!canSend()\"\n [attr.aria-label]=\"'Send message'\"\n class=\"babylai:border-0 babylai:rounded-full babylai:bg-primary-500 babylai:hover:bg-primary-600 babylai:w-8 babylai:h-8 babylai:p-0 babylai:flex babylai:items-center babylai:justify-center babylai:disabled:opacity-50 babylai:text-white babylai:cursor-pointer babylai:disabled:cursor-not-allowed\"\n >\n <app-icon name=\"solar:plain-2-bold-duotone\" class=\"babylai:flex\" />\n </button>\n </div>\n </form>\n</div>\n" }]
2826
2820
  }], propDecorators: { isChatClosed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChatClosed", required: false }] }], assistantStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "assistantStatus", required: false }] }], currentLang: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentLang", required: false }] }], sessionId: [{
@@ -2838,18 +2832,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2838
2832
  }] } });
2839
2833
 
2840
2834
  class ChatScreenComponent {
2841
- showChat = input(false, ...(ngDevMode ? [{ debugName: "showChat" }] : []));
2842
- messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
2843
- needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
2844
- assistantStatus = input('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : []));
2845
- isAblyConnected = input(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : []));
2846
- isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : []));
2847
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
2848
- chatIsLoading = input(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : []));
2849
- sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : []));
2850
- selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : []));
2851
- selectedNestedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : []));
2852
- isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : []));
2835
+ showChat = input(false, ...(ngDevMode ? [{ debugName: "showChat" }] : /* istanbul ignore next */ []));
2836
+ messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
2837
+ needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
2838
+ assistantStatus = input('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : /* istanbul ignore next */ []));
2839
+ isAblyConnected = input(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : /* istanbul ignore next */ []));
2840
+ isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : /* istanbul ignore next */ []));
2841
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
2842
+ chatIsLoading = input(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : /* istanbul ignore next */ []));
2843
+ sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : /* istanbul ignore next */ []));
2844
+ selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
2845
+ selectedNestedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : /* istanbul ignore next */ []));
2846
+ isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : /* istanbul ignore next */ []));
2853
2847
  endChat = output();
2854
2848
  back = output();
2855
2849
  onMinimize = output();
@@ -2875,10 +2869,10 @@ class ChatScreenComponent {
2875
2869
  handleReviewSkip() {
2876
2870
  this.reviewSkip.emit();
2877
2871
  }
2878
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2879
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ChatScreenComponent, isStandalone: true, selector: "app-chat-screen", inputs: { showChat: { classPropertyName: "showChat", publicName: "showChat", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, isAblyConnected: { classPropertyName: "isAblyConnected", publicName: "isAblyConnected", isSignal: true, isRequired: false, transformFunction: null }, isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, chatIsLoading: { classPropertyName: "chatIsLoading", publicName: "chatIsLoading", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, selectedNestedOption: { classPropertyName: "selectedNestedOption", publicName: "selectedNestedOption", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { endChat: "endChat", back: "back", onMinimize: "onMinimize", sendMessage: "sendMessage", requestSessionForAttachments: "requestSessionForAttachments", reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip" }, ngImport: i0, template: "<app-chat-header\n [showBackButton]=\"showChat()\"\n [selectedOptionTitle]=\"\n selectedNestedOption()?.title || selectedOption()?.title || null\n \"\n (onClose)=\"handleEndChat()\"\n (onBack)=\"handleBack()\"\n (onMinimize)=\"handleMinimize()\"\n [language]=\"currentLang()\"\n></app-chat-header>\n\n<app-chat\n class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:overflow-y-auto babylai:p-4\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [currentLang]=\"currentLang()\"\n [loading]=\"chatIsLoading()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n></app-chat>\n\n<app-chat-input\n [isChatClosed]=\"isChatClosed()\"\n [assistantStatus]=\"assistantStatus()\"\n [currentLang]=\"currentLang()\"\n [sessionId]=\"sessionId()\"\n (sendMessage)=\"handleSendMessage($event)\"\n (requestSessionForAttachments)=\"requestSessionForAttachments.emit()\"\n class=\"babylai:px-4 babylai:mb-2\"\n/>\n\n<app-footer />\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatHeaderComponent, selector: "app-chat-header", inputs: ["showBackButton", "language", "selectedOptionTitle"], outputs: ["onBack", "onClose", "onMinimize"] }, { kind: "component", type: ChatComponent, selector: "app-chat", inputs: ["messages", "needsAgent", "assistantStatus", "currentLang", "loading", "isSubmittingReview"], outputs: ["reviewSubmit", "reviewSkip"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "component", type: ChatInputComponent, selector: "app-chat-input", inputs: ["isChatClosed", "assistantStatus", "currentLang", "sessionId"], outputs: ["sendMessage", "requestSessionForAttachments"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2872
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2873
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ChatScreenComponent, isStandalone: true, selector: "app-chat-screen", inputs: { showChat: { classPropertyName: "showChat", publicName: "showChat", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, isAblyConnected: { classPropertyName: "isAblyConnected", publicName: "isAblyConnected", isSignal: true, isRequired: false, transformFunction: null }, isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, chatIsLoading: { classPropertyName: "chatIsLoading", publicName: "chatIsLoading", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, selectedNestedOption: { classPropertyName: "selectedNestedOption", publicName: "selectedNestedOption", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { endChat: "endChat", back: "back", onMinimize: "onMinimize", sendMessage: "sendMessage", requestSessionForAttachments: "requestSessionForAttachments", reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip" }, ngImport: i0, template: "<app-chat-header\n [showBackButton]=\"showChat()\"\n [selectedOptionTitle]=\"\n selectedNestedOption()?.title || selectedOption()?.title || null\n \"\n (onClose)=\"handleEndChat()\"\n (onBack)=\"handleBack()\"\n (onMinimize)=\"handleMinimize()\"\n [language]=\"currentLang()\"\n></app-chat-header>\n\n<app-chat\n class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:overflow-y-auto babylai:p-4\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [currentLang]=\"currentLang()\"\n [loading]=\"chatIsLoading()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n></app-chat>\n\n<app-chat-input\n [isChatClosed]=\"isChatClosed()\"\n [assistantStatus]=\"assistantStatus()\"\n [currentLang]=\"currentLang()\"\n [sessionId]=\"sessionId()\"\n (sendMessage)=\"handleSendMessage($event)\"\n (requestSessionForAttachments)=\"requestSessionForAttachments.emit()\"\n class=\"babylai:px-4 babylai:mb-2\"\n/>\n\n<app-footer />\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChatHeaderComponent, selector: "app-chat-header", inputs: ["showBackButton", "language", "selectedOptionTitle"], outputs: ["onBack", "onClose", "onMinimize"] }, { kind: "component", type: ChatComponent, selector: "app-chat", inputs: ["messages", "needsAgent", "assistantStatus", "currentLang", "loading", "isSubmittingReview"], outputs: ["reviewSubmit", "reviewSkip"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "component", type: ChatInputComponent, selector: "app-chat-input", inputs: ["isChatClosed", "assistantStatus", "currentLang", "sessionId"], outputs: ["sendMessage", "requestSessionForAttachments"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2880
2874
  }
2881
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatScreenComponent, decorators: [{
2875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ChatScreenComponent, decorators: [{
2882
2876
  type: Component,
2883
2877
  args: [{ selector: 'app-chat-screen', standalone: true, imports: [
2884
2878
  CommonModule,
@@ -2890,78 +2884,78 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2890
2884
  }], propDecorators: { showChat: [{ type: i0.Input, args: [{ isSignal: true, alias: "showChat", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], needsAgent: [{ type: i0.Input, args: [{ isSignal: true, alias: "needsAgent", required: false }] }], assistantStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "assistantStatus", required: false }] }], isAblyConnected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAblyConnected", required: false }] }], isChatClosed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChatClosed", required: false }] }], currentLang: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentLang", required: false }] }], chatIsLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "chatIsLoading", required: false }] }], sessionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "sessionId", required: false }] }], selectedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOption", required: false }] }], selectedNestedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedNestedOption", required: false }] }], isSubmittingReview: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSubmittingReview", required: false }] }], endChat: [{ type: i0.Output, args: ["endChat"] }], back: [{ type: i0.Output, args: ["back"] }], onMinimize: [{ type: i0.Output, args: ["onMinimize"] }], sendMessage: [{ type: i0.Output, args: ["sendMessage"] }], requestSessionForAttachments: [{ type: i0.Output, args: ["requestSessionForAttachments"] }], reviewSubmit: [{ type: i0.Output, args: ["reviewSubmit"] }], reviewSkip: [{ type: i0.Output, args: ["reviewSkip"] }] } });
2891
2885
 
2892
2886
  class CompanyCardComponent {
2893
- title = input('BabylAI', ...(ngDevMode ? [{ debugName: "title" }] : []));
2894
- description = input('Smart solutions for customer service', ...(ngDevMode ? [{ debugName: "description" }] : []));
2895
- iconUrl = input('', ...(ngDevMode ? [{ debugName: "iconUrl" }] : []));
2887
+ title = input('BabylAI', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
2888
+ description = input('Smart solutions for customer service', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
2889
+ iconUrl = input('', ...(ngDevMode ? [{ debugName: "iconUrl" }] : /* istanbul ignore next */ []));
2896
2890
  hasIconUrl = computed(() => {
2897
2891
  const url = this.iconUrl();
2898
2892
  return !!url && url.trim().length > 0;
2899
- }, ...(ngDevMode ? [{ debugName: "hasIconUrl" }] : []));
2900
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CompanyCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2901
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: CompanyCardComponent, isStandalone: true, selector: "app-company-card", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section class=\"babylai:border-b babylai:border-black-white-200\">\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-3 babylai:p-6 babylai:mb-6 babylai:rounded-3xl babylai:border babylai:border-black-white-200 babylai:bg-card\"\n >\n <!-- Left Icon -->\n @if (hasIconUrl()) {\n <div\n class=\"babylai:shrink-0 babylai:w-12 babylai:h-12 babylai:rounded-md babylai:overflow-hidden\"\n >\n <img\n [src]=\"iconUrl()!\"\n [alt]=\"title() + ' logo'\"\n class=\"babylai:w-full babylai:h-full babylai:object-contain\"\n />\n </div>\n }\n\n <!-- Center Content -->\n <div class=\"babylai:flex-1 babylai:min-w-0 babylai:text-start\">\n <h3\n class=\"babylai:text-lg babylai:font-semibold babylai:mb-1 babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ title() }}\n </h3>\n <p class=\"babylai:text-sm babylai:text-muted-foreground\" dir=\"auto\">\n {{ description() }}\n </p>\n </div>\n </div>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2893
+ }, ...(ngDevMode ? [{ debugName: "hasIconUrl" }] : /* istanbul ignore next */ []));
2894
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CompanyCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2895
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CompanyCardComponent, isStandalone: true, selector: "app-company-card", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section class=\"babylai:border-b babylai:border-black-white-200\">\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-3 babylai:p-6 babylai:mb-6 babylai:rounded-3xl babylai:border babylai:border-black-white-200 babylai:bg-card\"\n >\n <!-- Left Icon -->\n @if (hasIconUrl()) {\n <div\n class=\"babylai:shrink-0 babylai:w-12 babylai:h-12 babylai:rounded-md babylai:overflow-hidden\"\n >\n <img\n [src]=\"iconUrl()!\"\n [alt]=\"title() + ' logo'\"\n class=\"babylai:w-full babylai:h-full babylai:object-contain\"\n />\n </div>\n }\n\n <!-- Center Content -->\n <div class=\"babylai:flex-1 babylai:min-w-0 babylai:text-start\">\n <h3\n class=\"babylai:text-lg babylai:font-semibold babylai:mb-1 babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ title() }}\n </h3>\n <p class=\"babylai:text-sm babylai:text-muted-foreground\" dir=\"auto\">\n {{ description() }}\n </p>\n </div>\n </div>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2902
2896
  }
2903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: CompanyCardComponent, decorators: [{
2897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CompanyCardComponent, decorators: [{
2904
2898
  type: Component,
2905
2899
  args: [{ selector: 'app-company-card', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylai:border-b babylai:border-black-white-200\">\n <div\n class=\"babylai:flex babylai:items-center babylai:gap-3 babylai:p-6 babylai:mb-6 babylai:rounded-3xl babylai:border babylai:border-black-white-200 babylai:bg-card\"\n >\n <!-- Left Icon -->\n @if (hasIconUrl()) {\n <div\n class=\"babylai:shrink-0 babylai:w-12 babylai:h-12 babylai:rounded-md babylai:overflow-hidden\"\n >\n <img\n [src]=\"iconUrl()!\"\n [alt]=\"title() + ' logo'\"\n class=\"babylai:w-full babylai:h-full babylai:object-contain\"\n />\n </div>\n }\n\n <!-- Center Content -->\n <div class=\"babylai:flex-1 babylai:min-w-0 babylai:text-start\">\n <h3\n class=\"babylai:text-lg babylai:font-semibold babylai:mb-1 babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ title() }}\n </h3>\n <p class=\"babylai:text-sm babylai:text-muted-foreground\" dir=\"auto\">\n {{ description() }}\n </p>\n </div>\n </div>\n</section>\n" }]
2906
2900
  }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], iconUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconUrl", required: false }] }] } });
2907
2901
 
2908
2902
  class HelpButtonComponent {
2909
- isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : []));
2903
+ isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : /* istanbul ignore next */ []));
2910
2904
  togglePopup = output();
2911
2905
  handleTogglePopup() {
2912
2906
  this.togglePopup.emit();
2913
2907
  }
2914
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2915
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: HelpButtonComponent, isStandalone: true, selector: "app-help-button", inputs: { isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { togglePopup: "togglePopup" }, ngImport: i0, template: "<button\n class=\"babylai:fixed babylai:z-50 babylai:bottom-4 babylai:right-4 babylai:p-4 babylai:rounded-full babylai:bg-primary-500 babylai:flex babylai:items-center babylai:justify-center babylai:border-[0.5px] babylai:border-black-white-50\"\n (click)=\"handleTogglePopup()\"\n type=\"button\"\n [attr.aria-label]=\"'Toggle help center'\"\n [attr.aria-expanded]=\"isPopupOpen()\"\n [attr.aria-haspopup]=\"true\"\n (keydown.enter)=\"handleTogglePopup()\"\n (keydown.space)=\"$event.preventDefault(); handleTogglePopup()\"\n>\n <svg\n class=\"babylai:w-8 babylai:h-8 babylai:text-primary-500\"\n viewBox=\"0 0 55 53\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.53125 19.1353C8.53125 12.2804 14.0883 6.72339 20.9432 6.72339H41.6298C48.4847 6.72339 54.0418 12.2804 54.0418 19.1353V52.2339H20.9432C14.0883 52.2339 8.53125 46.6769 8.53125 39.8219V19.1353Z\"\n fill=\"#E5E5E5\"\n />\n <path\n d=\"M0 12.412C0 5.55702 5.55702 0 12.412 0H33.0985C39.9535 0 45.5105 5.55702 45.5105 12.412V33.0985C45.5105 39.9535 39.9535 45.5105 33.0985 45.5105H0V12.412Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.3684 15.2203C14.3696 15.2162 14.3701 15.2142 14.3704 15.2132C14.5505 14.5816 15.4457 14.5816 15.6258 15.2132C15.6261 15.2142 15.6267 15.2162 15.6278 15.2203C15.6309 15.2311 15.6324 15.2365 15.6338 15.2416C16.4708 18.1971 18.7808 20.5071 21.7364 21.3441C21.7414 21.3455 21.7468 21.3471 21.7576 21.3501C21.7617 21.3512 21.7637 21.3518 21.7647 21.3521C22.3963 21.5322 22.3963 22.4274 21.7647 22.6075C21.7637 22.6078 21.7617 22.6084 21.7576 22.6095C21.7468 22.6126 21.7414 22.6141 21.7364 22.6155C18.7808 23.4525 16.4708 25.7625 15.6338 28.7181C15.6324 28.7231 15.6309 28.7285 15.6278 28.7393C15.6267 28.7434 15.6261 28.7454 15.6258 28.7464C15.4457 29.378 14.5505 29.378 14.3704 28.7464C14.3701 28.7454 14.3696 28.7434 14.3684 28.7393C14.3654 28.7285 14.3638 28.7231 14.3624 28.7181C13.5254 25.7625 11.2154 23.4525 8.25988 22.6155C8.25481 22.6141 8.24942 22.6126 8.23864 22.6095C8.23454 22.6084 8.2325 22.6078 8.23155 22.6075C7.5999 22.4274 7.5999 21.5322 8.23155 21.3521C8.2325 21.3518 8.23454 21.3512 8.23864 21.3501C8.24942 21.3471 8.25481 21.3455 8.25988 21.3441C11.2154 20.5071 13.5254 18.1971 14.3624 15.2416C14.3638 15.2365 14.3654 15.2311 14.3684 15.2203Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M36.7198 21.8503C36.7198 24.9207 34.2886 27.4098 31.2896 27.4098C28.2906 27.4098 25.8594 24.9207 25.8594 21.8503C25.8594 18.7799 28.2906 16.2908 31.2896 16.2908C34.2886 16.2908 36.7198 18.7799 36.7198 21.8503Z\"\n fill=\"currentColor\"\n />\n </svg>\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2908
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2909
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: HelpButtonComponent, isStandalone: true, selector: "app-help-button", inputs: { isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { togglePopup: "togglePopup" }, ngImport: i0, template: "<button\n class=\"babylai:fixed babylai:z-50 babylai:bottom-4 babylai:right-4 babylai:p-4 babylai:rounded-full babylai:bg-primary-500 babylai:flex babylai:items-center babylai:justify-center babylai:border-[0.5px] babylai:border-black-white-50\"\n (click)=\"handleTogglePopup()\"\n type=\"button\"\n [attr.aria-label]=\"'Toggle help center'\"\n [attr.aria-expanded]=\"isPopupOpen()\"\n [attr.aria-haspopup]=\"true\"\n (keydown.enter)=\"handleTogglePopup()\"\n (keydown.space)=\"$event.preventDefault(); handleTogglePopup()\"\n>\n <svg\n class=\"babylai:w-8 babylai:h-8 babylai:text-primary-500\"\n viewBox=\"0 0 55 53\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.53125 19.1353C8.53125 12.2804 14.0883 6.72339 20.9432 6.72339H41.6298C48.4847 6.72339 54.0418 12.2804 54.0418 19.1353V52.2339H20.9432C14.0883 52.2339 8.53125 46.6769 8.53125 39.8219V19.1353Z\"\n fill=\"#E5E5E5\"\n />\n <path\n d=\"M0 12.412C0 5.55702 5.55702 0 12.412 0H33.0985C39.9535 0 45.5105 5.55702 45.5105 12.412V33.0985C45.5105 39.9535 39.9535 45.5105 33.0985 45.5105H0V12.412Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.3684 15.2203C14.3696 15.2162 14.3701 15.2142 14.3704 15.2132C14.5505 14.5816 15.4457 14.5816 15.6258 15.2132C15.6261 15.2142 15.6267 15.2162 15.6278 15.2203C15.6309 15.2311 15.6324 15.2365 15.6338 15.2416C16.4708 18.1971 18.7808 20.5071 21.7364 21.3441C21.7414 21.3455 21.7468 21.3471 21.7576 21.3501C21.7617 21.3512 21.7637 21.3518 21.7647 21.3521C22.3963 21.5322 22.3963 22.4274 21.7647 22.6075C21.7637 22.6078 21.7617 22.6084 21.7576 22.6095C21.7468 22.6126 21.7414 22.6141 21.7364 22.6155C18.7808 23.4525 16.4708 25.7625 15.6338 28.7181C15.6324 28.7231 15.6309 28.7285 15.6278 28.7393C15.6267 28.7434 15.6261 28.7454 15.6258 28.7464C15.4457 29.378 14.5505 29.378 14.3704 28.7464C14.3701 28.7454 14.3696 28.7434 14.3684 28.7393C14.3654 28.7285 14.3638 28.7231 14.3624 28.7181C13.5254 25.7625 11.2154 23.4525 8.25988 22.6155C8.25481 22.6141 8.24942 22.6126 8.23864 22.6095C8.23454 22.6084 8.2325 22.6078 8.23155 22.6075C7.5999 22.4274 7.5999 21.5322 8.23155 21.3521C8.2325 21.3518 8.23454 21.3512 8.23864 21.3501C8.24942 21.3471 8.25481 21.3455 8.25988 21.3441C11.2154 20.5071 13.5254 18.1971 14.3624 15.2416C14.3638 15.2365 14.3654 15.2311 14.3684 15.2203Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M36.7198 21.8503C36.7198 24.9207 34.2886 27.4098 31.2896 27.4098C28.2906 27.4098 25.8594 24.9207 25.8594 21.8503C25.8594 18.7799 28.2906 16.2908 31.2896 16.2908C34.2886 16.2908 36.7198 18.7799 36.7198 21.8503Z\"\n fill=\"currentColor\"\n />\n </svg>\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2916
2910
  }
2917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpButtonComponent, decorators: [{
2911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpButtonComponent, decorators: [{
2918
2912
  type: Component,
2919
2913
  args: [{ selector: 'app-help-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"babylai:fixed babylai:z-50 babylai:bottom-4 babylai:right-4 babylai:p-4 babylai:rounded-full babylai:bg-primary-500 babylai:flex babylai:items-center babylai:justify-center babylai:border-[0.5px] babylai:border-black-white-50\"\n (click)=\"handleTogglePopup()\"\n type=\"button\"\n [attr.aria-label]=\"'Toggle help center'\"\n [attr.aria-expanded]=\"isPopupOpen()\"\n [attr.aria-haspopup]=\"true\"\n (keydown.enter)=\"handleTogglePopup()\"\n (keydown.space)=\"$event.preventDefault(); handleTogglePopup()\"\n>\n <svg\n class=\"babylai:w-8 babylai:h-8 babylai:text-primary-500\"\n viewBox=\"0 0 55 53\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.53125 19.1353C8.53125 12.2804 14.0883 6.72339 20.9432 6.72339H41.6298C48.4847 6.72339 54.0418 12.2804 54.0418 19.1353V52.2339H20.9432C14.0883 52.2339 8.53125 46.6769 8.53125 39.8219V19.1353Z\"\n fill=\"#E5E5E5\"\n />\n <path\n d=\"M0 12.412C0 5.55702 5.55702 0 12.412 0H33.0985C39.9535 0 45.5105 5.55702 45.5105 12.412V33.0985C45.5105 39.9535 39.9535 45.5105 33.0985 45.5105H0V12.412Z\"\n fill=\"white\"\n />\n <path\n d=\"M14.3684 15.2203C14.3696 15.2162 14.3701 15.2142 14.3704 15.2132C14.5505 14.5816 15.4457 14.5816 15.6258 15.2132C15.6261 15.2142 15.6267 15.2162 15.6278 15.2203C15.6309 15.2311 15.6324 15.2365 15.6338 15.2416C16.4708 18.1971 18.7808 20.5071 21.7364 21.3441C21.7414 21.3455 21.7468 21.3471 21.7576 21.3501C21.7617 21.3512 21.7637 21.3518 21.7647 21.3521C22.3963 21.5322 22.3963 22.4274 21.7647 22.6075C21.7637 22.6078 21.7617 22.6084 21.7576 22.6095C21.7468 22.6126 21.7414 22.6141 21.7364 22.6155C18.7808 23.4525 16.4708 25.7625 15.6338 28.7181C15.6324 28.7231 15.6309 28.7285 15.6278 28.7393C15.6267 28.7434 15.6261 28.7454 15.6258 28.7464C15.4457 29.378 14.5505 29.378 14.3704 28.7464C14.3701 28.7454 14.3696 28.7434 14.3684 28.7393C14.3654 28.7285 14.3638 28.7231 14.3624 28.7181C13.5254 25.7625 11.2154 23.4525 8.25988 22.6155C8.25481 22.6141 8.24942 22.6126 8.23864 22.6095C8.23454 22.6084 8.2325 22.6078 8.23155 22.6075C7.5999 22.4274 7.5999 21.5322 8.23155 21.3521C8.2325 21.3518 8.23454 21.3512 8.23864 21.3501C8.24942 21.3471 8.25481 21.3455 8.25988 21.3441C11.2154 20.5071 13.5254 18.1971 14.3624 15.2416C14.3638 15.2365 14.3654 15.2311 14.3684 15.2203Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M36.7198 21.8503C36.7198 24.9207 34.2886 27.4098 31.2896 27.4098C28.2906 27.4098 25.8594 24.9207 25.8594 21.8503C25.8594 18.7799 28.2906 16.2908 31.2896 16.2908C34.2886 16.2908 36.7198 18.7799 36.7198 21.8503Z\"\n fill=\"currentColor\"\n />\n </svg>\n</button>\n" }]
2920
2914
  }], propDecorators: { isPopupOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPopupOpen", required: false }] }], togglePopup: [{ type: i0.Output, args: ["togglePopup"] }] } });
2921
2915
 
2922
2916
  class ErrorStateComponent {
2923
- error = input(null, ...(ngDevMode ? [{ debugName: "error" }] : []));
2917
+ error = input(null, ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
2924
2918
  onMinimize = output();
2925
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ErrorStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2926
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ErrorStateComponent, isStandalone: true, selector: "app-error-state", inputs: { error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28 babylai:p-4\">\n <span class=\"babylai:text-secondary-foreground babylai:text-lg\">Error: {{ error() }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2919
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2920
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ErrorStateComponent, isStandalone: true, selector: "app-error-state", inputs: { error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMinimize: "onMinimize" }, ngImport: i0, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28 babylai:p-4\">\n <span class=\"babylai:text-secondary-foreground babylai:text-lg\">Error: {{ error() }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2927
2921
  }
2928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ErrorStateComponent, decorators: [{
2922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorStateComponent, decorators: [{
2929
2923
  type: Component,
2930
2924
  args: [{ selector: 'app-error-state', imports: [HeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"babylai:w-full babylai:h-full babylai:bg-secondary babylai:rounded-3xl babylai:shadow-lg babylai:flex babylai:flex-col\">\n <div class=\"babylai:rounded-3xl babylai:h-full babylai:flex babylai:flex-col babylai:gap-4\">\n <app-header (onMinimize)=\"onMinimize.emit()\" />\n <div\n class=\"babylai:flex babylai:flex-col babylai:items-center babylai:justify-center babylai:w-full babylai:h-full babylai:py-28 babylai:p-4\">\n <span class=\"babylai:text-secondary-foreground babylai:text-lg\">Error: {{ error() }}</span>\n </div>\n </div>\n</div>\n" }]
2931
2925
  }], propDecorators: { error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], onMinimize: [{ type: i0.Output, args: ["onMinimize"] }] } });
2932
2926
 
2933
2927
  class HelpscreenOptionComponent {
2934
- option = input.required(...(ngDevMode ? [{ debugName: "option" }] : []));
2935
- isSelected = input(false, ...(ngDevMode ? [{ debugName: "isSelected" }] : []));
2928
+ option = input.required(...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
2929
+ isSelected = input(false, ...(ngDevMode ? [{ debugName: "isSelected" }] : /* istanbul ignore next */ []));
2936
2930
  optionSelected = output();
2937
2931
  select() {
2938
2932
  this.optionSelected.emit(this.option().id);
2939
2933
  }
2940
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpscreenOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2941
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HelpscreenOptionComponent, isStandalone: true, selector: "app-helpscreen-option", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionSelected: "optionSelected" }, ngImport: i0, template: "<div\n [id]=\"option().id\"\n class=\"babylai:flex babylai:flex-col babylai:gap-2 babylai:p-6 babylai:rounded-3xl babylai:text-start babylai:border babylai:border-black-white-200 babylai:bg-card babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:ease-out babylai:active:scale-[0.98] babylai:active:opacity-95\"\n [class.babylai:ring]=\"isSelected()\"\n [class.babylai:ring-primary-500]=\"isSelected()\"\n [class.babylai:shadow-md]=\"isSelected()\"\n (click)=\"select()\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"option().title + (isSelected() ? ' (selected)' : '')\"\n [attr.aria-pressed]=\"isSelected()\"\n (keydown.enter)=\"select()\"\n (keydown.space)=\"$event.preventDefault(); select()\"\n>\n <h4\n class=\"babylai:text-base! babylai:font-semibold! babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ option().title }}\n </h4>\n @if (option().paragraphs && option().paragraphs.length > 0) {\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:leading-snug\"\n dir=\"auto\"\n >\n {{ option().paragraphs[0] }}\n </p>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
2934
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpscreenOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2935
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: HelpscreenOptionComponent, isStandalone: true, selector: "app-helpscreen-option", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionSelected: "optionSelected" }, ngImport: i0, template: "<div\n [id]=\"option().id\"\n class=\"babylai:flex babylai:flex-col babylai:gap-2 babylai:p-6 babylai:rounded-3xl babylai:text-start babylai:border babylai:border-black-white-200 babylai:bg-card babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:ease-out babylai:active:scale-[0.98] babylai:active:opacity-95\"\n [class.babylai:ring]=\"isSelected()\"\n [class.babylai:ring-primary-500]=\"isSelected()\"\n [class.babylai:shadow-md]=\"isSelected()\"\n (click)=\"select()\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"option().title + (isSelected() ? ' (selected)' : '')\"\n [attr.aria-pressed]=\"isSelected()\"\n (keydown.enter)=\"select()\"\n (keydown.space)=\"$event.preventDefault(); select()\"\n>\n <h4\n class=\"babylai:text-base! babylai:font-semibold! babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ option().title }}\n </h4>\n @if (option().paragraphs && option().paragraphs.length > 0) {\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:leading-snug\"\n dir=\"auto\"\n >\n {{ option().paragraphs[0] }}\n </p>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
2942
2936
  }
2943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpscreenOptionComponent, decorators: [{
2937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpscreenOptionComponent, decorators: [{
2944
2938
  type: Component,
2945
2939
  args: [{ selector: 'app-helpscreen-option', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [id]=\"option().id\"\n class=\"babylai:flex babylai:flex-col babylai:gap-2 babylai:p-6 babylai:rounded-3xl babylai:text-start babylai:border babylai:border-black-white-200 babylai:bg-card babylai:cursor-pointer babylai:transition-all babylai:duration-200 babylai:ease-out babylai:active:scale-[0.98] babylai:active:opacity-95\"\n [class.babylai:ring]=\"isSelected()\"\n [class.babylai:ring-primary-500]=\"isSelected()\"\n [class.babylai:shadow-md]=\"isSelected()\"\n (click)=\"select()\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"option().title + (isSelected() ? ' (selected)' : '')\"\n [attr.aria-pressed]=\"isSelected()\"\n (keydown.enter)=\"select()\"\n (keydown.space)=\"$event.preventDefault(); select()\"\n>\n <h4\n class=\"babylai:text-base! babylai:font-semibold! babylai:text-card-foreground\"\n dir=\"auto\"\n >\n {{ option().title }}\n </h4>\n @if (option().paragraphs && option().paragraphs.length > 0) {\n <p\n class=\"babylai:text-sm babylai:text-muted-foreground babylai:leading-snug\"\n dir=\"auto\"\n >\n {{ option().paragraphs[0] }}\n </p>\n }\n</div>\n" }]
2946
2940
  }], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }], optionSelected: [{ type: i0.Output, args: ["optionSelected"] }] } });
2947
2941
 
2948
2942
  class HelpscreenListComponent {
2949
- helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : []));
2950
- title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
2951
- hasOngoingSession = input(false, ...(ngDevMode ? [{ debugName: "hasOngoingSession" }] : []));
2943
+ helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : /* istanbul ignore next */ []));
2944
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
2945
+ hasOngoingSession = input(false, ...(ngDevMode ? [{ debugName: "hasOngoingSession" }] : /* istanbul ignore next */ []));
2952
2946
  handleStartNewChat = output();
2953
- selectedItemId = signal(null, ...(ngDevMode ? [{ debugName: "selectedItemId" }] : []));
2947
+ selectedItemId = signal(null, ...(ngDevMode ? [{ debugName: "selectedItemId" }] : /* istanbul ignore next */ []));
2954
2948
  selectedOption = computed(() => {
2955
2949
  const data = this.helpScreenData();
2956
2950
  const selectedId = this.selectedItemId();
2957
2951
  if (!data?.options || !selectedId)
2958
2952
  return null;
2959
2953
  return (data.options.find((option) => option.id === selectedId) || null);
2960
- }, ...(ngDevMode ? [{ debugName: "selectedOption" }] : []));
2954
+ }, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
2961
2955
  canStartChat = computed(() => {
2962
2956
  const selected = this.selectedOption();
2963
2957
  return selected?.chatWithUs ?? false;
2964
- }, ...(ngDevMode ? [{ debugName: "canStartChat" }] : []));
2958
+ }, ...(ngDevMode ? [{ debugName: "canStartChat" }] : /* istanbul ignore next */ []));
2965
2959
  ngOnInit() { }
2966
2960
  selectItem(itemId) {
2967
2961
  if (this.selectedItemId() === itemId) {
@@ -2979,10 +2973,10 @@ class HelpscreenListComponent {
2979
2973
  this.handleStartNewChat.emit(selected);
2980
2974
  }
2981
2975
  }
2982
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpscreenListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2983
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HelpscreenListComponent, isStandalone: true, selector: "app-helpscreen-list", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, hasOngoingSession: { classPropertyName: "hasOngoingSession", publicName: "hasOngoingSession", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { handleStartNewChat: "handleStartNewChat" }, ngImport: i0, template: "<div class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:gap-4\">\n <div class=\"babylai:grid babylai:grid-cols-1 babylai:gap-4\">\n @for (item of helpScreenData()?.options; track item.id) {\n <app-helpscreen-option\n [option]=\"item\"\n [isSelected]=\"selectedItemId() === item.id\"\n (optionSelected)=\"selectItem($event)\"\n />\n }\n </div>\n\n @if (!hasOngoingSession()) {\n <!-- Fixed call to action button -->\n <div class=\"babylai:sticky babylai:bottom-0 babylai:z-10\">\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"!canStartChat()\"\n (onClick)=\"handleStartChat()\"\n [attr.aria-label]=\"'Start chat'\"\n >\n <span>\n {{ \"ChatNow\" | translate }}\n </span>\n <app-icon\n name=\"solar:plain-2-bold-duotone\"\n class=\"babylai:flex\"\n size=\"24px\"\n />\n </app-button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: HelpscreenOptionComponent, selector: "app-helpscreen-option", inputs: ["option", "isSelected"], outputs: ["optionSelected"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2976
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpscreenListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2977
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: HelpscreenListComponent, isStandalone: true, selector: "app-helpscreen-list", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, hasOngoingSession: { classPropertyName: "hasOngoingSession", publicName: "hasOngoingSession", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { handleStartNewChat: "handleStartNewChat" }, ngImport: i0, template: "<div class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:gap-4\">\n <div class=\"babylai:grid babylai:grid-cols-1 babylai:gap-4\">\n @for (item of helpScreenData()?.options; track item.id) {\n <app-helpscreen-option\n [option]=\"item\"\n [isSelected]=\"selectedItemId() === item.id\"\n (optionSelected)=\"selectItem($event)\"\n />\n }\n </div>\n\n @if (!hasOngoingSession()) {\n <!-- Fixed call to action button -->\n <div class=\"babylai:sticky babylai:bottom-0 babylai:z-10\">\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"!canStartChat()\"\n (onClick)=\"handleStartChat()\"\n [attr.aria-label]=\"'Start chat'\"\n >\n <span>\n {{ \"ChatNow\" | translate }}\n </span>\n <app-icon\n name=\"solar:plain-2-bold-duotone\"\n class=\"babylai:flex\"\n size=\"24px\"\n />\n </app-button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "size", "color", "className", "inline", "flip", "rotate"] }, { kind: "component", type: HelpscreenOptionComponent, selector: "app-helpscreen-option", inputs: ["option", "isSelected"], outputs: ["optionSelected"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2984
2978
  }
2985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpscreenListComponent, decorators: [{
2979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpscreenListComponent, decorators: [{
2986
2980
  type: Component,
2987
2981
  args: [{ selector: 'app-helpscreen-list', standalone: true, imports: [
2988
2982
  CommonModule,
@@ -2994,9 +2988,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
2994
2988
  }], propDecorators: { helpScreenData: [{ type: i0.Input, args: [{ isSignal: true, alias: "helpScreenData", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], hasOngoingSession: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasOngoingSession", required: false }] }], handleStartNewChat: [{ type: i0.Output, args: ["handleStartNewChat"] }] } });
2995
2989
 
2996
2990
  class HomeScreenComponent {
2997
- helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : []));
2998
- showHelpScreenData = input(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : []));
2999
- sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : []));
2991
+ helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : /* istanbul ignore next */ []));
2992
+ showHelpScreenData = input(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : /* istanbul ignore next */ []));
2993
+ sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : /* istanbul ignore next */ []));
3000
2994
  startNewChat = output();
3001
2995
  onClose = output();
3002
2996
  onMinimize = output();
@@ -3009,10 +3003,10 @@ class HomeScreenComponent {
3009
3003
  handleMinimizePopup() {
3010
3004
  this.onMinimize.emit();
3011
3005
  }
3012
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HomeScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3013
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HomeScreenComponent, isStandalone: true, selector: "app-home-screen", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, showHelpScreenData: { classPropertyName: "showHelpScreenData", publicName: "showHelpScreenData", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startNewChat: "startNewChat", onClose: "onClose", onMinimize: "onMinimize" }, ngImport: i0, template: "<app-header (onMinimize)=\"handleMinimizePopup()\" />\n<div\n class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:overflow-y-auto babylai:px-6 babylai:pt-6 babylai:pb-4 babylai:gap-6\"\n>\n <header\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:gap-3 babylai:pb-5 babylai:border-b babylai:border-black-white-200\"\n >\n <svg\n class=\"babylai:w-8 babylai:h-8\"\n [style.color]=\"'var(--babylai-primary-color)'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 34 34\"\n fill=\"currentColor\"\n >\n <path\n d=\"M18.4785 1.12896C18.4758 1.11935 18.4745 1.11454 18.4739 1.11232C18.0509 -0.370772 15.9491 -0.370772 15.5261 1.11232C15.5255 1.11454 15.5242 1.11935 15.5215 1.12896C15.5143 1.15428 15.5107 1.16694 15.5074 1.17883C13.5422 8.11839 8.11839 13.5422 1.17883 15.5074C1.16694 15.5107 1.15428 15.5143 1.12895 15.5215C1.11934 15.5242 1.11454 15.5255 1.11232 15.5261C-0.370773 15.9491 -0.370773 18.0509 1.11232 18.4739C1.11454 18.4745 1.11934 18.4758 1.12896 18.4785C1.15428 18.4857 1.16694 18.4893 1.17883 18.4926C8.11839 20.4578 13.5422 25.8816 15.5074 32.8212C15.5107 32.8331 15.5143 32.8457 15.5215 32.871C15.5242 32.8807 15.5255 32.8855 15.5261 32.8877C15.9491 34.3708 18.0509 34.3708 18.4739 32.8877C18.4745 32.8855 18.4758 32.8807 18.4785 32.871C18.4857 32.8457 18.4893 32.8331 18.4926 32.8212C20.4578 25.8816 25.8816 20.4578 32.8212 18.4926C32.8331 18.4893 32.8457 18.4857 32.871 18.4785C32.8807 18.4758 32.8855 18.4745 32.8877 18.4739C34.3708 18.0509 34.3708 15.9491 32.8877 15.5261C32.8855 15.5255 32.8807 15.5242 32.871 15.5215C32.8457 15.5143 32.8331 15.5107 32.8212 15.5074C25.8816 13.5422 20.4578 8.11839 18.4926 1.17883C18.4893 1.16694 18.4857 1.15428 18.4785 1.12896Z\"\n fill=\"currentColor\"\n />\n </svg>\n <h1\n class=\"babylai:text-2xl! babylai:font-semibold! babylai:text-card-foreground\"\n >\n {{ \"HelpCenter\" | translate }}\n </h1>\n </header>\n <app-company-card\n [title]=\"helpScreenData()?.tenant?.name\"\n [description]=\"\n helpScreenData()?.tenant?.settings?.description ||\n helpScreenData()?.description\n \"\n [iconUrl]=\"helpScreenData()?.tenant?.logoUrl\"\n />\n @if (showHelpScreenData()) {\n <app-helpscreen-list\n [helpScreenData]=\"helpScreenData()\"\n [hasOngoingSession]=\"!!sessionId()\"\n (handleStartNewChat)=\"handleStartNewChat($event)\"\n ></app-helpscreen-list>\n }\n</div>\n<app-footer />\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CompanyCardComponent, selector: "app-company-card", inputs: ["title", "description", "iconUrl"] }, { kind: "component", type: HelpscreenListComponent, selector: "app-helpscreen-list", inputs: ["helpScreenData", "title", "hasOngoingSession"], outputs: ["handleStartNewChat"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3006
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HomeScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3007
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: HomeScreenComponent, isStandalone: true, selector: "app-home-screen", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, showHelpScreenData: { classPropertyName: "showHelpScreenData", publicName: "showHelpScreenData", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startNewChat: "startNewChat", onClose: "onClose", onMinimize: "onMinimize" }, ngImport: i0, template: "<app-header (onMinimize)=\"handleMinimizePopup()\" />\n<div\n class=\"babylai:flex babylai:flex-col babylai:flex-1 babylai:overflow-y-auto babylai:px-6 babylai:pt-6 babylai:pb-4 babylai:gap-6\"\n>\n <header\n class=\"babylai:flex babylai:items-center babylai:justify-center babylai:gap-3 babylai:pb-5 babylai:border-b babylai:border-black-white-200\"\n >\n <svg\n class=\"babylai:w-8 babylai:h-8\"\n [style.color]=\"'var(--babylai-primary-color)'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 34 34\"\n fill=\"currentColor\"\n >\n <path\n d=\"M18.4785 1.12896C18.4758 1.11935 18.4745 1.11454 18.4739 1.11232C18.0509 -0.370772 15.9491 -0.370772 15.5261 1.11232C15.5255 1.11454 15.5242 1.11935 15.5215 1.12896C15.5143 1.15428 15.5107 1.16694 15.5074 1.17883C13.5422 8.11839 8.11839 13.5422 1.17883 15.5074C1.16694 15.5107 1.15428 15.5143 1.12895 15.5215C1.11934 15.5242 1.11454 15.5255 1.11232 15.5261C-0.370773 15.9491 -0.370773 18.0509 1.11232 18.4739C1.11454 18.4745 1.11934 18.4758 1.12896 18.4785C1.15428 18.4857 1.16694 18.4893 1.17883 18.4926C8.11839 20.4578 13.5422 25.8816 15.5074 32.8212C15.5107 32.8331 15.5143 32.8457 15.5215 32.871C15.5242 32.8807 15.5255 32.8855 15.5261 32.8877C15.9491 34.3708 18.0509 34.3708 18.4739 32.8877C18.4745 32.8855 18.4758 32.8807 18.4785 32.871C18.4857 32.8457 18.4893 32.8331 18.4926 32.8212C20.4578 25.8816 25.8816 20.4578 32.8212 18.4926C32.8331 18.4893 32.8457 18.4857 32.871 18.4785C32.8807 18.4758 32.8855 18.4745 32.8877 18.4739C34.3708 18.0509 34.3708 15.9491 32.8877 15.5261C32.8855 15.5255 32.8807 15.5242 32.871 15.5215C32.8457 15.5143 32.8331 15.5107 32.8212 15.5074C25.8816 13.5422 20.4578 8.11839 18.4926 1.17883C18.4893 1.16694 18.4857 1.15428 18.4785 1.12896Z\"\n fill=\"currentColor\"\n />\n </svg>\n <h1\n class=\"babylai:text-2xl! babylai:font-semibold! babylai:text-card-foreground\"\n >\n {{ \"HelpCenter\" | translate }}\n </h1>\n </header>\n <app-company-card\n [title]=\"helpScreenData()?.tenant?.name\"\n [description]=\"\n helpScreenData()?.tenant?.settings?.description ||\n helpScreenData()?.description\n \"\n [iconUrl]=\"helpScreenData()?.tenant?.logoUrl\"\n />\n @if (showHelpScreenData()) {\n <app-helpscreen-list\n [helpScreenData]=\"helpScreenData()\"\n [hasOngoingSession]=\"!!sessionId()\"\n (handleStartNewChat)=\"handleStartNewChat($event)\"\n ></app-helpscreen-list>\n }\n</div>\n<app-footer />\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CompanyCardComponent, selector: "app-company-card", inputs: ["title", "description", "iconUrl"] }, { kind: "component", type: HelpscreenListComponent, selector: "app-helpscreen-list", inputs: ["helpScreenData", "title", "hasOngoingSession"], outputs: ["handleStartNewChat"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }, { kind: "component", type: HeaderComponent, selector: "app-header", outputs: ["onMinimize"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3014
3008
  }
3015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HomeScreenComponent, decorators: [{
3009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HomeScreenComponent, decorators: [{
3016
3010
  type: Component,
3017
3011
  args: [{ selector: 'app-home-screen', standalone: true, imports: [
3018
3012
  CommonModule,
@@ -3026,9 +3020,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3026
3020
 
3027
3021
  class HelpPopupComponent {
3028
3022
  static POPUP_ANIMATION_DURATION_MS = 250;
3029
- isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : []));
3030
- isEntering = signal(true, ...(ngDevMode ? [{ debugName: "isEntering" }] : []));
3031
- isClosing = signal(false, ...(ngDevMode ? [{ debugName: "isClosing" }] : []));
3023
+ isPopupOpen = input(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : /* istanbul ignore next */ []));
3024
+ isEntering = signal(true, ...(ngDevMode ? [{ debugName: "isEntering" }] : /* istanbul ignore next */ []));
3025
+ isClosing = signal(false, ...(ngDevMode ? [{ debugName: "isClosing" }] : /* istanbul ignore next */ []));
3032
3026
  previousPopupOpen = false;
3033
3027
  closeTimeoutId = null;
3034
3028
  closingAction = null;
@@ -3054,26 +3048,26 @@ class HelpPopupComponent {
3054
3048
  clearTimeout(this.closeTimeoutId);
3055
3049
  }
3056
3050
  }
3057
- showHelpScreenData = input(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : []));
3058
- showChat = input(false, ...(ngDevMode ? [{ debugName: "showChat" }] : []));
3059
- status = input('idle', ...(ngDevMode ? [{ debugName: "status" }] : []));
3060
- error = input(null, ...(ngDevMode ? [{ debugName: "error" }] : []));
3061
- helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : []));
3062
- messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
3063
- needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
3064
- assistantStatus = input('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : []));
3065
- isAblyConnected = input(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : []));
3066
- isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : []));
3067
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
3068
- chatIsLoading = input(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : []));
3069
- sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : []));
3070
- selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : []));
3071
- selectedNestedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : []));
3072
- showEndChatConfirmation = input(false, ...(ngDevMode ? [{ debugName: "showEndChatConfirmation" }] : []));
3073
- showStartNewChatConfirmation = input(false, ...(ngDevMode ? [{ debugName: "showStartNewChatConfirmation" }] : []));
3074
- showReviewDialog = input(false, ...(ngDevMode ? [{ debugName: "showReviewDialog" }] : []));
3075
- isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : []));
3076
- isStartingNewChat = input(false, ...(ngDevMode ? [{ debugName: "isStartingNewChat" }] : []));
3051
+ showHelpScreenData = input(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : /* istanbul ignore next */ []));
3052
+ showChat = input(false, ...(ngDevMode ? [{ debugName: "showChat" }] : /* istanbul ignore next */ []));
3053
+ status = input('idle', ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
3054
+ error = input(null, ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
3055
+ helpScreenData = input(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : /* istanbul ignore next */ []));
3056
+ messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
3057
+ needsAgent = input(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
3058
+ assistantStatus = input('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : /* istanbul ignore next */ []));
3059
+ isAblyConnected = input(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : /* istanbul ignore next */ []));
3060
+ isChatClosed = input(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : /* istanbul ignore next */ []));
3061
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
3062
+ chatIsLoading = input(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : /* istanbul ignore next */ []));
3063
+ sessionId = input(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : /* istanbul ignore next */ []));
3064
+ selectedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
3065
+ selectedNestedOption = input(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : /* istanbul ignore next */ []));
3066
+ showEndChatConfirmation = input(false, ...(ngDevMode ? [{ debugName: "showEndChatConfirmation" }] : /* istanbul ignore next */ []));
3067
+ showStartNewChatConfirmation = input(false, ...(ngDevMode ? [{ debugName: "showStartNewChatConfirmation" }] : /* istanbul ignore next */ []));
3068
+ showReviewDialog = input(false, ...(ngDevMode ? [{ debugName: "showReviewDialog" }] : /* istanbul ignore next */ []));
3069
+ isSubmittingReview = input(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : /* istanbul ignore next */ []));
3070
+ isStartingNewChat = input(false, ...(ngDevMode ? [{ debugName: "isStartingNewChat" }] : /* istanbul ignore next */ []));
3077
3071
  closePopup = output();
3078
3072
  minimizePopup = output();
3079
3073
  back = output();
@@ -3175,10 +3169,10 @@ class HelpPopupComponent {
3175
3169
  handleReviewSkipFromChat() {
3176
3170
  this.reviewSkipFromChat.emit();
3177
3171
  }
3178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3179
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HelpPopupComponent, isStandalone: true, selector: "app-help-popup", inputs: { isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null }, showHelpScreenData: { classPropertyName: "showHelpScreenData", publicName: "showHelpScreenData", isSignal: true, isRequired: false, transformFunction: null }, showChat: { classPropertyName: "showChat", publicName: "showChat", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, isAblyConnected: { classPropertyName: "isAblyConnected", publicName: "isAblyConnected", isSignal: true, isRequired: false, transformFunction: null }, isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, chatIsLoading: { classPropertyName: "chatIsLoading", publicName: "chatIsLoading", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, selectedNestedOption: { classPropertyName: "selectedNestedOption", publicName: "selectedNestedOption", isSignal: true, isRequired: false, transformFunction: null }, showEndChatConfirmation: { classPropertyName: "showEndChatConfirmation", publicName: "showEndChatConfirmation", isSignal: true, isRequired: false, transformFunction: null }, showStartNewChatConfirmation: { classPropertyName: "showStartNewChatConfirmation", publicName: "showStartNewChatConfirmation", isSignal: true, isRequired: false, transformFunction: null }, showReviewDialog: { classPropertyName: "showReviewDialog", publicName: "showReviewDialog", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null }, isStartingNewChat: { classPropertyName: "isStartingNewChat", publicName: "isStartingNewChat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closePopup: "closePopup", minimizePopup: "minimizePopup", back: "back", showChatEvent: "showChatEvent", endChat: "endChat", confirmEndChat: "confirmEndChat", cancelEndChat: "cancelEndChat", closeEndChat: "closeEndChat", confirmStartNewChat: "confirmStartNewChat", cancelStartNewChat: "cancelStartNewChat", closeStartNewChat: "closeStartNewChat", reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip", reviewClose: "reviewClose", reviewSubmitFromChat: "reviewSubmitFromChat", reviewSkipFromChat: "reviewSkipFromChat", startNewChat: "startNewChat", navigateToUrl: "navigateToUrl", sendMessageEvent: "sendMessageEvent", requestSessionForAttachments: "requestSessionForAttachments" }, ngImport: i0, template: "@if (isPopupOpen()) {\n <div\n class=\"babylai:h-[calc(100vh-12rem)] babylai:bg-secondary babylai:rounded-3xl babylai:overflow-hidden babylai:max-h-[800px] babylai:shadow-md babylai:flex babylai:flex-col babylai:fixed babylai:bottom-24 babylai:right-5 babylai:z-1000 babylai:transition-all babylai:duration-250 babylai:ease-out\"\n [class.babylai:w-96]=\"isPopupOpen()\"\n [class.babylai:w-15]=\"!isPopupOpen()\"\n [class.babylai:bg-linear-to-b]=\"\n isPopupOpen() && !showHelpScreenData() && !showChat()\n \"\n [class.babylai:opacity-0]=\"isEntering() || isClosing()\"\n [class.babylai:scale-[0.96]]=\"isEntering() || isClosing()\"\n [class.babylai:translate-y-2]=\"isEntering() || isClosing()\"\n [class.babylai:opacity-100]=\"!isEntering() && !isClosing()\"\n [class.babylai:scale-100]=\"!isEntering() && !isClosing()\"\n [class.babylai:translate-y-0]=\"!isEntering() && !isClosing()\"\n >\n @if (showEndChatConfirmation()) {\n <app-confirmation-dialog\n [title]=\"'LeavingDialogTitle' | translate\"\n [body]=\"'LeavingDialogBody' | translate\"\n [confirmText]=\"'CloseChat' | translate\"\n [cancelText]=\"'Continue' | translate\"\n (onConfirm)=\"handleConfirmEndChat()\"\n (onCancel)=\"handleCancelEndChat()\"\n (onClose)=\"handleCloseEndChat()\"\n ></app-confirmation-dialog>\n }\n @if (showStartNewChatConfirmation()) {\n <app-confirmation-dialog\n [title]=\"'StartNewChatDialogTitle' | translate\"\n [body]=\"'StartNewChatDialogBody' | translate\"\n [confirmText]=\"'CloseChat' | translate\"\n [cancelText]=\"'Continue' | translate\"\n [isLoading]=\"isStartingNewChat()\"\n (onConfirm)=\"handleConfirmStartNewChat()\"\n (onCancel)=\"handleCancelStartNewChat()\"\n (onClose)=\"handleCloseStartNewChat()\"\n ></app-confirmation-dialog>\n }\n\n <!-- Loading State -->\n @if (status() === \"loading\") {\n <app-loading\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:h-full\"\n ></app-loading>\n }\n\n <!-- Error State -->\n @if (status() === \"failed\") {\n <app-error-state\n [error]=\"error()\"\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:h-full\"\n ></app-error-state>\n }\n\n @if (status() === \"succeeded\") {\n @if (!showChat()) {\n @if (sessionId()) {\n <app-chat-action-buttons\n [selectedOption]=\"selectedOption()\"\n (closeChat)=\"handleEndChat()\"\n (continueChat)=\"handleShowChat()\"\n ></app-chat-action-buttons>\n }\n }\n\n <!-- Chat Screen -->\n @if (showChat()) {\n <app-chat-screen\n [showChat]=\"showChat()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n (endChat)=\"handleEndChat()\"\n (back)=\"handleBack()\"\n (onMinimize)=\"handleMinimizePopup()\"\n (sendMessage)=\"handleSendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (reviewSubmit)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkip)=\"handleReviewSkipFromChat()\"\n class=\"babylai:flex babylai:flex-col babylai:h-full\"\n ></app-chat-screen>\n }\n\n <!-- Home Screen -->\n @if (!showChat()) {\n <app-home-screen\n [helpScreenData]=\"helpScreenData()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [sessionId]=\"sessionId()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (onClose)=\"handleClosePopup()\"\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:flex babylai:flex-col babylai:max-h-full\"\n ></app-home-screen>\n }\n\n <!-- Review Dialog (shown when closing from home screen - stars only) -->\n <app-review-dialog\n [isOpen]=\"showReviewDialog()\"\n [isSubmitting]=\"isSubmittingReview()\"\n [showCommentField]=\"false\"\n (close)=\"handleReviewClose()\"\n (submitReview)=\"handleReviewSubmit($event)\"\n (skip)=\"handleReviewSkip()\"\n ></app-review-dialog>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LoadingComponent, selector: "app-loading", outputs: ["onMinimize"] }, { kind: "component", type: ErrorStateComponent, selector: "app-error-state", inputs: ["error"], outputs: ["onMinimize"] }, { kind: "component", type: ConfirmationDialogComponent, selector: "app-confirmation-dialog", inputs: ["title", "body", "confirmText", "cancelText", "isLoading"], outputs: ["onConfirm", "onCancel", "onClose"] }, { kind: "component", type: ReviewDialogComponent, selector: "app-review-dialog", inputs: ["isOpen", "isSubmitting", "showCommentField"], outputs: ["close", "submitReview", "skip"] }, { kind: "component", type: HomeScreenComponent, selector: "app-home-screen", inputs: ["helpScreenData", "showHelpScreenData", "sessionId"], outputs: ["startNewChat", "onClose", "onMinimize"] }, { kind: "component", type: ChatScreenComponent, selector: "app-chat-screen", inputs: ["showChat", "messages", "needsAgent", "assistantStatus", "isAblyConnected", "isChatClosed", "currentLang", "chatIsLoading", "sessionId", "selectedOption", "selectedNestedOption", "isSubmittingReview"], outputs: ["endChat", "back", "onMinimize", "sendMessage", "requestSessionForAttachments", "reviewSubmit", "reviewSkip"] }, { kind: "component", type: ChatActionButtonsComponent, selector: "app-chat-action-buttons", inputs: ["selectedOption"], outputs: ["closeChat", "continueChat"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3173
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: HelpPopupComponent, isStandalone: true, selector: "app-help-popup", inputs: { isPopupOpen: { classPropertyName: "isPopupOpen", publicName: "isPopupOpen", isSignal: true, isRequired: false, transformFunction: null }, showHelpScreenData: { classPropertyName: "showHelpScreenData", publicName: "showHelpScreenData", isSignal: true, isRequired: false, transformFunction: null }, showChat: { classPropertyName: "showChat", publicName: "showChat", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, needsAgent: { classPropertyName: "needsAgent", publicName: "needsAgent", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, isAblyConnected: { classPropertyName: "isAblyConnected", publicName: "isAblyConnected", isSignal: true, isRequired: false, transformFunction: null }, isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, chatIsLoading: { classPropertyName: "chatIsLoading", publicName: "chatIsLoading", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null }, selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, selectedNestedOption: { classPropertyName: "selectedNestedOption", publicName: "selectedNestedOption", isSignal: true, isRequired: false, transformFunction: null }, showEndChatConfirmation: { classPropertyName: "showEndChatConfirmation", publicName: "showEndChatConfirmation", isSignal: true, isRequired: false, transformFunction: null }, showStartNewChatConfirmation: { classPropertyName: "showStartNewChatConfirmation", publicName: "showStartNewChatConfirmation", isSignal: true, isRequired: false, transformFunction: null }, showReviewDialog: { classPropertyName: "showReviewDialog", publicName: "showReviewDialog", isSignal: true, isRequired: false, transformFunction: null }, isSubmittingReview: { classPropertyName: "isSubmittingReview", publicName: "isSubmittingReview", isSignal: true, isRequired: false, transformFunction: null }, isStartingNewChat: { classPropertyName: "isStartingNewChat", publicName: "isStartingNewChat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closePopup: "closePopup", minimizePopup: "minimizePopup", back: "back", showChatEvent: "showChatEvent", endChat: "endChat", confirmEndChat: "confirmEndChat", cancelEndChat: "cancelEndChat", closeEndChat: "closeEndChat", confirmStartNewChat: "confirmStartNewChat", cancelStartNewChat: "cancelStartNewChat", closeStartNewChat: "closeStartNewChat", reviewSubmit: "reviewSubmit", reviewSkip: "reviewSkip", reviewClose: "reviewClose", reviewSubmitFromChat: "reviewSubmitFromChat", reviewSkipFromChat: "reviewSkipFromChat", startNewChat: "startNewChat", navigateToUrl: "navigateToUrl", sendMessageEvent: "sendMessageEvent", requestSessionForAttachments: "requestSessionForAttachments" }, ngImport: i0, template: "@if (isPopupOpen()) {\n <div\n class=\"babylai:h-[calc(100vh-12rem)] babylai:bg-secondary babylai:rounded-3xl babylai:overflow-hidden babylai:max-h-[800px] babylai:shadow-md babylai:flex babylai:flex-col babylai:fixed babylai:bottom-24 babylai:right-5 babylai:z-1000 babylai:transition-all babylai:duration-250 babylai:ease-out\"\n [class.babylai:w-96]=\"isPopupOpen()\"\n [class.babylai:w-15]=\"!isPopupOpen()\"\n [class.babylai:bg-linear-to-b]=\"\n isPopupOpen() && !showHelpScreenData() && !showChat()\n \"\n [class.babylai:opacity-0]=\"isEntering() || isClosing()\"\n [class.babylai:scale-[0.96]]=\"isEntering() || isClosing()\"\n [class.babylai:translate-y-2]=\"isEntering() || isClosing()\"\n [class.babylai:opacity-100]=\"!isEntering() && !isClosing()\"\n [class.babylai:scale-100]=\"!isEntering() && !isClosing()\"\n [class.babylai:translate-y-0]=\"!isEntering() && !isClosing()\"\n >\n @if (showEndChatConfirmation()) {\n <app-confirmation-dialog\n [title]=\"'LeavingDialogTitle' | translate\"\n [body]=\"'LeavingDialogBody' | translate\"\n [confirmText]=\"'CloseChat' | translate\"\n [cancelText]=\"'Continue' | translate\"\n (onConfirm)=\"handleConfirmEndChat()\"\n (onCancel)=\"handleCancelEndChat()\"\n (onClose)=\"handleCloseEndChat()\"\n ></app-confirmation-dialog>\n }\n @if (showStartNewChatConfirmation()) {\n <app-confirmation-dialog\n [title]=\"'StartNewChatDialogTitle' | translate\"\n [body]=\"'StartNewChatDialogBody' | translate\"\n [confirmText]=\"'CloseChat' | translate\"\n [cancelText]=\"'Continue' | translate\"\n [isLoading]=\"isStartingNewChat()\"\n (onConfirm)=\"handleConfirmStartNewChat()\"\n (onCancel)=\"handleCancelStartNewChat()\"\n (onClose)=\"handleCloseStartNewChat()\"\n ></app-confirmation-dialog>\n }\n\n <!-- Loading State -->\n @if (status() === \"loading\") {\n <app-loading\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:h-full\"\n ></app-loading>\n }\n\n <!-- Error State -->\n @if (status() === \"failed\") {\n <app-error-state\n [error]=\"error()\"\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:h-full\"\n ></app-error-state>\n }\n\n @if (status() === \"succeeded\") {\n @if (!showChat()) {\n @if (sessionId()) {\n <app-chat-action-buttons\n [selectedOption]=\"selectedOption()\"\n (closeChat)=\"handleEndChat()\"\n (continueChat)=\"handleShowChat()\"\n ></app-chat-action-buttons>\n }\n }\n\n <!-- Chat Screen -->\n @if (showChat()) {\n <app-chat-screen\n [showChat]=\"showChat()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n (endChat)=\"handleEndChat()\"\n (back)=\"handleBack()\"\n (onMinimize)=\"handleMinimizePopup()\"\n (sendMessage)=\"handleSendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (reviewSubmit)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkip)=\"handleReviewSkipFromChat()\"\n class=\"babylai:flex babylai:flex-col babylai:h-full\"\n ></app-chat-screen>\n }\n\n <!-- Home Screen -->\n @if (!showChat()) {\n <app-home-screen\n [helpScreenData]=\"helpScreenData()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [sessionId]=\"sessionId()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (onClose)=\"handleClosePopup()\"\n (onMinimize)=\"handleMinimizePopup()\"\n class=\"babylai:flex babylai:flex-col babylai:max-h-full\"\n ></app-home-screen>\n }\n\n <!-- Review Dialog (shown when closing from home screen - stars only) -->\n <app-review-dialog\n [isOpen]=\"showReviewDialog()\"\n [isSubmitting]=\"isSubmittingReview()\"\n [showCommentField]=\"false\"\n (close)=\"handleReviewClose()\"\n (submitReview)=\"handleReviewSubmit($event)\"\n (skip)=\"handleReviewSkip()\"\n ></app-review-dialog>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LoadingComponent, selector: "app-loading", outputs: ["onMinimize"] }, { kind: "component", type: ErrorStateComponent, selector: "app-error-state", inputs: ["error"], outputs: ["onMinimize"] }, { kind: "component", type: ConfirmationDialogComponent, selector: "app-confirmation-dialog", inputs: ["title", "body", "confirmText", "cancelText", "isLoading"], outputs: ["onConfirm", "onCancel", "onClose"] }, { kind: "component", type: ReviewDialogComponent, selector: "app-review-dialog", inputs: ["isOpen", "isSubmitting", "showCommentField"], outputs: ["close", "submitReview", "skip"] }, { kind: "component", type: HomeScreenComponent, selector: "app-home-screen", inputs: ["helpScreenData", "showHelpScreenData", "sessionId"], outputs: ["startNewChat", "onClose", "onMinimize"] }, { kind: "component", type: ChatScreenComponent, selector: "app-chat-screen", inputs: ["showChat", "messages", "needsAgent", "assistantStatus", "isAblyConnected", "isChatClosed", "currentLang", "chatIsLoading", "sessionId", "selectedOption", "selectedNestedOption", "isSubmittingReview"], outputs: ["endChat", "back", "onMinimize", "sendMessage", "requestSessionForAttachments", "reviewSubmit", "reviewSkip"] }, { kind: "component", type: ChatActionButtonsComponent, selector: "app-chat-action-buttons", inputs: ["selectedOption"], outputs: ["closeChat", "continueChat"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3180
3174
  }
3181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpPopupComponent, decorators: [{
3175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpPopupComponent, decorators: [{
3182
3176
  type: Component,
3183
3177
  args: [{ selector: 'app-help-popup', standalone: true, imports: [
3184
3178
  CommonModule,
@@ -3194,45 +3188,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3194
3188
  }], ctorParameters: () => [], propDecorators: { isPopupOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPopupOpen", required: false }] }], showHelpScreenData: [{ type: i0.Input, args: [{ isSignal: true, alias: "showHelpScreenData", required: false }] }], showChat: [{ type: i0.Input, args: [{ isSignal: true, alias: "showChat", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], helpScreenData: [{ type: i0.Input, args: [{ isSignal: true, alias: "helpScreenData", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], needsAgent: [{ type: i0.Input, args: [{ isSignal: true, alias: "needsAgent", required: false }] }], assistantStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "assistantStatus", required: false }] }], isAblyConnected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAblyConnected", required: false }] }], isChatClosed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChatClosed", required: false }] }], currentLang: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentLang", required: false }] }], chatIsLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "chatIsLoading", required: false }] }], sessionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "sessionId", required: false }] }], selectedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOption", required: false }] }], selectedNestedOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedNestedOption", required: false }] }], showEndChatConfirmation: [{ type: i0.Input, args: [{ isSignal: true, alias: "showEndChatConfirmation", required: false }] }], showStartNewChatConfirmation: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStartNewChatConfirmation", required: false }] }], showReviewDialog: [{ type: i0.Input, args: [{ isSignal: true, alias: "showReviewDialog", required: false }] }], isSubmittingReview: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSubmittingReview", required: false }] }], isStartingNewChat: [{ type: i0.Input, args: [{ isSignal: true, alias: "isStartingNewChat", required: false }] }], closePopup: [{ type: i0.Output, args: ["closePopup"] }], minimizePopup: [{ type: i0.Output, args: ["minimizePopup"] }], back: [{ type: i0.Output, args: ["back"] }], showChatEvent: [{ type: i0.Output, args: ["showChatEvent"] }], endChat: [{ type: i0.Output, args: ["endChat"] }], confirmEndChat: [{ type: i0.Output, args: ["confirmEndChat"] }], cancelEndChat: [{ type: i0.Output, args: ["cancelEndChat"] }], closeEndChat: [{ type: i0.Output, args: ["closeEndChat"] }], confirmStartNewChat: [{ type: i0.Output, args: ["confirmStartNewChat"] }], cancelStartNewChat: [{ type: i0.Output, args: ["cancelStartNewChat"] }], closeStartNewChat: [{ type: i0.Output, args: ["closeStartNewChat"] }], reviewSubmit: [{ type: i0.Output, args: ["reviewSubmit"] }], reviewSkip: [{ type: i0.Output, args: ["reviewSkip"] }], reviewClose: [{ type: i0.Output, args: ["reviewClose"] }], reviewSubmitFromChat: [{ type: i0.Output, args: ["reviewSubmitFromChat"] }], reviewSkipFromChat: [{ type: i0.Output, args: ["reviewSkipFromChat"] }], startNewChat: [{ type: i0.Output, args: ["startNewChat"] }], navigateToUrl: [{ type: i0.Output, args: ["navigateToUrl"] }], sendMessageEvent: [{ type: i0.Output, args: ["sendMessageEvent"] }], requestSessionForAttachments: [{ type: i0.Output, args: ["requestSessionForAttachments"] }] } });
3195
3189
 
3196
3190
  class HelpCenterWidgetComponent {
3197
- getToken = input.required(...(ngDevMode ? [{ debugName: "getToken" }] : []));
3198
- helpScreenId = input.required(...(ngDevMode ? [{ debugName: "helpScreenId" }] : []));
3199
- showArrow = input(true, ...(ngDevMode ? [{ debugName: "showArrow" }] : []));
3200
- messageLabel = input(null, ...(ngDevMode ? [{ debugName: "messageLabel" }] : []));
3201
- currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : []));
3202
- primaryColor = input('#ad49e1', ...(ngDevMode ? [{ debugName: "primaryColor" }] : []));
3203
- logoUrl = input('', ...(ngDevMode ? [{ debugName: "logoUrl" }] : []));
3191
+ getToken = input.required(...(ngDevMode ? [{ debugName: "getToken" }] : /* istanbul ignore next */ []));
3192
+ helpScreenId = input.required(...(ngDevMode ? [{ debugName: "helpScreenId" }] : /* istanbul ignore next */ []));
3193
+ showArrow = input(true, ...(ngDevMode ? [{ debugName: "showArrow" }] : /* istanbul ignore next */ []));
3194
+ messageLabel = input(null, ...(ngDevMode ? [{ debugName: "messageLabel" }] : /* istanbul ignore next */ []));
3195
+ currentLang = input('en', ...(ngDevMode ? [{ debugName: "currentLang" }] : /* istanbul ignore next */ []));
3196
+ primaryColor = input('#ad49e1', ...(ngDevMode ? [{ debugName: "primaryColor" }] : /* istanbul ignore next */ []));
3197
+ logoUrl = input('', ...(ngDevMode ? [{ debugName: "logoUrl" }] : /* istanbul ignore next */ []));
3204
3198
  chatMessagesContainer;
3205
- isRTL = computed(() => this.currentLang() === 'ar', ...(ngDevMode ? [{ debugName: "isRTL" }] : []));
3199
+ isRTL = computed(() => this.currentLang() === 'ar', ...(ngDevMode ? [{ debugName: "isRTL" }] : /* istanbul ignore next */ []));
3206
3200
  // State variables - using signals for automatic change detection
3207
- isPopupOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : []));
3208
- helpScreenData = signal(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : []));
3209
- status = signal('idle', ...(ngDevMode ? [{ debugName: "status" }] : []));
3210
- error = signal(null, ...(ngDevMode ? [{ debugName: "error" }] : []));
3211
- showArrowAnimation = signal(false, ...(ngDevMode ? [{ debugName: "showArrowAnimation" }] : []));
3212
- showTooltip = signal(false, ...(ngDevMode ? [{ debugName: "showTooltip" }] : []));
3213
- sessionId = signal(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : []));
3214
- isAblyConnected = signal(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : []));
3215
- isChatClosed = signal(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : []));
3216
- showChat = signal(false, ...(ngDevMode ? [{ debugName: "showChat" }] : []));
3217
- messageText = signal('', ...(ngDevMode ? [{ debugName: "messageText" }] : []));
3218
- isTyping = signal(false, ...(ngDevMode ? [{ debugName: "isTyping" }] : []));
3219
- messages = signal([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
3220
- showHelpScreenData = signal(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : []));
3221
- chatIsLoading = signal(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : []));
3222
- ablyToken = signal(null, ...(ngDevMode ? [{ debugName: "ablyToken" }] : []));
3223
- needsAgent = signal(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : []));
3224
- assistantStatus = signal('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : []));
3225
- selectedOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : []));
3226
- selectedNestedOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : []));
3227
- showEndChatConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "showEndChatConfirmation" }] : []));
3228
- showStartNewChatConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "showStartNewChatConfirmation" }] : []));
3229
- showReviewDialog = signal(false, ...(ngDevMode ? [{ debugName: "showReviewDialog" }] : []));
3230
- isSubmittingReview = signal(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : []));
3231
- isStartingNewChat = signal(false, ...(ngDevMode ? [{ debugName: "isStartingNewChat" }] : []));
3232
- pendingNewChatOption = signal(null, ...(ngDevMode ? [{ debugName: "pendingNewChatOption" }] : []));
3233
- hasUserSentMessages = signal(false, ...(ngDevMode ? [{ debugName: "hasUserSentMessages" }] : []));
3234
- closedSessionIdForReview = signal(null, ...(ngDevMode ? [{ debugName: "closedSessionIdForReview" }] : []));
3235
- waitingForSessionEndConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "waitingForSessionEndConfirmation" }] : []));
3201
+ isPopupOpen = signal(false, ...(ngDevMode ? [{ debugName: "isPopupOpen" }] : /* istanbul ignore next */ []));
3202
+ helpScreenData = signal(null, ...(ngDevMode ? [{ debugName: "helpScreenData" }] : /* istanbul ignore next */ []));
3203
+ status = signal('idle', ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
3204
+ error = signal(null, ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
3205
+ showArrowAnimation = signal(false, ...(ngDevMode ? [{ debugName: "showArrowAnimation" }] : /* istanbul ignore next */ []));
3206
+ showTooltip = signal(false, ...(ngDevMode ? [{ debugName: "showTooltip" }] : /* istanbul ignore next */ []));
3207
+ sessionId = signal(null, ...(ngDevMode ? [{ debugName: "sessionId" }] : /* istanbul ignore next */ []));
3208
+ isAblyConnected = signal(false, ...(ngDevMode ? [{ debugName: "isAblyConnected" }] : /* istanbul ignore next */ []));
3209
+ isChatClosed = signal(false, ...(ngDevMode ? [{ debugName: "isChatClosed" }] : /* istanbul ignore next */ []));
3210
+ showChat = signal(false, ...(ngDevMode ? [{ debugName: "showChat" }] : /* istanbul ignore next */ []));
3211
+ messageText = signal('', ...(ngDevMode ? [{ debugName: "messageText" }] : /* istanbul ignore next */ []));
3212
+ isTyping = signal(false, ...(ngDevMode ? [{ debugName: "isTyping" }] : /* istanbul ignore next */ []));
3213
+ messages = signal([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
3214
+ showHelpScreenData = signal(false, ...(ngDevMode ? [{ debugName: "showHelpScreenData" }] : /* istanbul ignore next */ []));
3215
+ chatIsLoading = signal(false, ...(ngDevMode ? [{ debugName: "chatIsLoading" }] : /* istanbul ignore next */ []));
3216
+ ablyToken = signal(null, ...(ngDevMode ? [{ debugName: "ablyToken" }] : /* istanbul ignore next */ []));
3217
+ needsAgent = signal(false, ...(ngDevMode ? [{ debugName: "needsAgent" }] : /* istanbul ignore next */ []));
3218
+ assistantStatus = signal('idle', ...(ngDevMode ? [{ debugName: "assistantStatus" }] : /* istanbul ignore next */ []));
3219
+ selectedOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
3220
+ selectedNestedOption = signal(null, ...(ngDevMode ? [{ debugName: "selectedNestedOption" }] : /* istanbul ignore next */ []));
3221
+ showEndChatConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "showEndChatConfirmation" }] : /* istanbul ignore next */ []));
3222
+ showStartNewChatConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "showStartNewChatConfirmation" }] : /* istanbul ignore next */ []));
3223
+ showReviewDialog = signal(false, ...(ngDevMode ? [{ debugName: "showReviewDialog" }] : /* istanbul ignore next */ []));
3224
+ isSubmittingReview = signal(false, ...(ngDevMode ? [{ debugName: "isSubmittingReview" }] : /* istanbul ignore next */ []));
3225
+ isStartingNewChat = signal(false, ...(ngDevMode ? [{ debugName: "isStartingNewChat" }] : /* istanbul ignore next */ []));
3226
+ pendingNewChatOption = signal(null, ...(ngDevMode ? [{ debugName: "pendingNewChatOption" }] : /* istanbul ignore next */ []));
3227
+ hasUserSentMessages = signal(false, ...(ngDevMode ? [{ debugName: "hasUserSentMessages" }] : /* istanbul ignore next */ []));
3228
+ closedSessionIdForReview = signal(null, ...(ngDevMode ? [{ debugName: "closedSessionIdForReview" }] : /* istanbul ignore next */ []));
3229
+ waitingForSessionEndConfirmation = signal(false, ...(ngDevMode ? [{ debugName: "waitingForSessionEndConfirmation" }] : /* istanbul ignore next */ []));
3236
3230
  isClosingChatSession = false;
3237
3231
  apiService = inject(ApiService);
3238
3232
  translationService = inject(TranslationService);
@@ -3253,14 +3247,14 @@ class HelpCenterWidgetComponent {
3253
3247
  if (primaryColor || logoUrl) {
3254
3248
  this.themeService.initializeTheme(primaryColor, logoUrl);
3255
3249
  }
3256
- }, ...(ngDevMode ? [{ debugName: "themeEffectRef" }] : []));
3250
+ }, ...(ngDevMode ? [{ debugName: "themeEffectRef" }] : /* istanbul ignore next */ []));
3257
3251
  // Effect to sync translation service language with input
3258
3252
  this.languageEffectRef = effect(() => {
3259
3253
  const lang = this.currentLang();
3260
3254
  if (lang) {
3261
3255
  this.translationService.setLanguage(lang);
3262
3256
  }
3263
- }, ...(ngDevMode ? [{ debugName: "languageEffectRef" }] : []));
3257
+ }, ...(ngDevMode ? [{ debugName: "languageEffectRef" }] : /* istanbul ignore next */ []));
3264
3258
  // Subscribe to language changes from translation service
3265
3259
  this.translationService.currentLang
3266
3260
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -4054,10 +4048,10 @@ class HelpCenterWidgetComponent {
4054
4048
  this.selectedNestedOption.set(null);
4055
4049
  this.hasUserSentMessages.set(false);
4056
4050
  }
4057
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4058
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: HelpCenterWidgetComponent, isStandalone: true, selector: "app-help-center-widget", inputs: { getToken: { classPropertyName: "getToken", publicName: "getToken", isSignal: true, isRequired: true, transformFunction: null }, helpScreenId: { classPropertyName: "helpScreenId", publicName: "helpScreenId", isSignal: true, isRequired: true, transformFunction: null }, showArrow: { classPropertyName: "showArrow", publicName: "showArrow", isSignal: true, isRequired: false, transformFunction: null }, messageLabel: { classPropertyName: "messageLabel", publicName: "messageLabel", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null }, logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "chatMessagesContainer", first: true, predicate: ["chatMessagesContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"babylai-theme-root babylai:flex babylai:flex-col babylai:items-end babylai:h-auto babylai:w-auto babylai:fixed babylai:bottom-6 babylai:right-6 babylai:z-9998\"\n [dir]=\"getDirection()\"\n>\n <!-- TEST: Version mismatch fixed - Arrow Animation - SUCCESS! -->\n <app-arrow-animation\n [showArrowAnimation]=\"showArrowAnimation()\"\n [isPopupOpen]=\"isPopupOpen()\"\n [messageLabel]=\"messageLabel()\"\n (closeArrowAnimation)=\"handleCloseArrowAnimation()\"\n ></app-arrow-animation>\n\n <!-- Help Button -->\n <app-help-button\n [isPopupOpen]=\"isPopupOpen()\"\n (togglePopup)=\"handleTogglePopup()\"\n ></app-help-button>\n\n <!-- Help Popup -->\n <app-help-popup\n [isPopupOpen]=\"isPopupOpen()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [showChat]=\"showChat()\"\n [status]=\"status()\"\n [error]=\"error()\"\n [helpScreenData]=\"helpScreenData()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [showEndChatConfirmation]=\"showEndChatConfirmation()\"\n [showStartNewChatConfirmation]=\"showStartNewChatConfirmation()\"\n [showReviewDialog]=\"showReviewDialog()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n [isStartingNewChat]=\"isStartingNewChat()\"\n (closePopup)=\"handleClosePopup()\"\n (minimizePopup)=\"handleMinimizePopup()\"\n (back)=\"handleBack()\"\n (showChatEvent)=\"handleShowChat()\"\n (endChat)=\"handleEndChat()\"\n (confirmEndChat)=\"confirmEndChat()\"\n (cancelEndChat)=\"cancelEndChat()\"\n (closeEndChat)=\"closeEndChat()\"\n (confirmStartNewChat)=\"confirmStartNewChat()\"\n (cancelStartNewChat)=\"cancelStartNewChat()\"\n (closeStartNewChat)=\"closeStartNewChat()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n (reviewClose)=\"handleReviewClose()\"\n (reviewSubmitFromChat)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkipFromChat)=\"handleReviewSkipFromChat()\"\n (sendMessageEvent)=\"sendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&display=swap\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-color-black: #000;--babylai-color-white: #fff;--babylai-spacing: .25rem;--babylai-container-xs: 20rem;--babylai-text-xs: .75rem;--babylai-text-xs--line-height: calc(1 / .75);--babylai-text-sm: .875rem;--babylai-text-sm--line-height: calc(1.25 / .875);--babylai-text-base: 1rem;--babylai-text-base--line-height: 1.5 ;--babylai-text-lg: 1.125rem;--babylai-text-lg--line-height: calc(1.75 / 1.125);--babylai-text-xl: 1.25rem;--babylai-text-xl--line-height: calc(1.75 / 1.25);--babylai-text-2xl: 1.5rem;--babylai-text-2xl--line-height: calc(2 / 1.5);--babylai-font-weight-normal: 400;--babylai-font-weight-medium: 500;--babylai-font-weight-semibold: 600;--babylai-font-weight-bold: 700;--babylai-tracking-tight: -.025em;--babylai-leading-snug: 1.375;--babylai-radius-md: .375rem;--babylai-radius-lg: .5rem;--babylai-radius-xl: .75rem;--babylai-radius-2xl: 1rem;--babylai-radius-3xl: 1.5rem;--babylai-ease-out: cubic-bezier(0, 0, .2, 1);--babylai-default-transition-duration: .15s;--babylai-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-card: var(--babylai-card);--babylai-color-card-foreground: var(--babylai-card-foreground);--babylai-color-secondary: var(--babylai-secondary);--babylai-color-secondary-foreground: var(--babylai-secondary-foreground);--babylai-color-muted: var(--babylai-muted);--babylai-color-muted-foreground: var(--babylai-muted-foreground);--babylai-color-destructive: var(--babylai-destructive);--babylai-color-border: var(--babylai-border);--babylai-color-black-white-50: var(--babylai-black-white-50);--babylai-color-black-white-200: var(--babylai-black-white-200);--babylai-color-black-white-300: var(--babylai-black-white-300)}}@layer utilities{.babylai\\:pointer-events-auto{pointer-events:auto}.babylai\\:pointer-events-none{pointer-events:none}.babylai\\:invisible{visibility:hidden}.babylai\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.babylai\\:absolute{position:absolute}.babylai\\:fixed{position:fixed}.babylai\\:relative{position:relative}.babylai\\:sticky{position:sticky}.babylai\\:inset-0{inset:calc(var(--babylai-spacing) * 0)}.babylai\\:-top-2{top:calc(var(--babylai-spacing) * -2)}.babylai\\:top-0\\.5{top:calc(var(--babylai-spacing) * .5)}.babylai\\:top-1\\/2{top:50%}.babylai\\:top-4{top:calc(var(--babylai-spacing) * 4)}.babylai\\:-right-2{right:calc(var(--babylai-spacing) * -2)}.babylai\\:right-0{right:calc(var(--babylai-spacing) * 0)}.babylai\\:right-0\\.5{right:calc(var(--babylai-spacing) * .5)}.babylai\\:right-4{right:calc(var(--babylai-spacing) * 4)}.babylai\\:right-5{right:calc(var(--babylai-spacing) * 5)}.babylai\\:right-6{right:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-0{bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:bottom-4{bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:bottom-6{bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-11{bottom:calc(var(--babylai-spacing) * 11)}.babylai\\:bottom-20{bottom:calc(var(--babylai-spacing) * 20)}.babylai\\:bottom-24{bottom:calc(var(--babylai-spacing) * 24)}.babylai\\:bottom-\\[-8px\\]{bottom:-8px}.babylai\\:left-0{left:calc(var(--babylai-spacing) * 0)}.babylai\\:left-1\\/2{left:50%}.babylai\\:left-4{left:calc(var(--babylai-spacing) * 4)}.babylai\\:z-1{z-index:1}.babylai\\:z-10{z-index:10}.babylai\\:z-20{z-index:20}.babylai\\:z-50{z-index:50}.babylai\\:z-1000{z-index:1000}.babylai\\:z-9997{z-index:9997}.babylai\\:z-9998{z-index:9998}.babylai\\:z-9999{z-index:9999}.babylai\\:z-10001{z-index:10001}.babylai\\:m-0{margin:calc(var(--babylai-spacing) * 0)}.babylai\\:ms-auto{margin-inline-start:auto}.babylai\\:me-3{margin-inline-end:calc(var(--babylai-spacing) * 3)}.babylai\\:mt-1{margin-top:calc(var(--babylai-spacing) * 1)}.babylai\\:mt-6{margin-top:calc(var(--babylai-spacing) * 6)}.babylai\\:mb-0{margin-bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:mb-1{margin-bottom:calc(var(--babylai-spacing) * 1)}.babylai\\:mb-2{margin-bottom:calc(var(--babylai-spacing) * 2)}.babylai\\:mb-2\\!{margin-bottom:calc(var(--babylai-spacing) * 2)!important}.babylai\\:mb-4{margin-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:mb-5{margin-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:mb-6{margin-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:ml-auto{margin-left:auto}.babylai\\:box-border{box-sizing:border-box}.babylai\\:block{display:block}.babylai\\:flex{display:flex}.babylai\\:grid{display:grid}.babylai\\:hidden{display:none}.babylai\\:inline-block{display:inline-block}.babylai\\:inline-flex{display:inline-flex}.babylai\\:h-0{height:calc(var(--babylai-spacing) * 0)}.babylai\\:h-1\\.5{height:calc(var(--babylai-spacing) * 1.5)}.babylai\\:h-3{height:calc(var(--babylai-spacing) * 3)}.babylai\\:h-4{height:calc(var(--babylai-spacing) * 4)}.babylai\\:h-5{height:calc(var(--babylai-spacing) * 5)}.babylai\\:h-6{height:calc(var(--babylai-spacing) * 6)}.babylai\\:h-7{height:calc(var(--babylai-spacing) * 7)}.babylai\\:h-8{height:calc(var(--babylai-spacing) * 8)}.babylai\\:h-10{height:calc(var(--babylai-spacing) * 10)}.babylai\\:h-12{height:calc(var(--babylai-spacing) * 12)}.babylai\\:h-20{height:calc(var(--babylai-spacing) * 20)}.babylai\\:h-\\[50px\\]{height:50px}.babylai\\:h-\\[600px\\]{height:600px}.babylai\\:h-\\[calc\\(100vh-12rem\\)\\]{height:calc(100vh - 12rem)}.babylai\\:h-auto{height:auto}.babylai\\:h-full{height:100%}.babylai\\:h-screen{height:100vh}.babylai\\:max-h-\\[90vh\\]{max-height:90vh}.babylai\\:max-h-\\[800px\\]{max-height:800px}.babylai\\:max-h-full{max-height:100%}.babylai\\:min-h-20{min-height:calc(var(--babylai-spacing) * 20)}.babylai\\:w-0{width:calc(var(--babylai-spacing) * 0)}.babylai\\:w-1\\.5{width:calc(var(--babylai-spacing) * 1.5)}.babylai\\:w-3{width:calc(var(--babylai-spacing) * 3)}.babylai\\:w-4{width:calc(var(--babylai-spacing) * 4)}.babylai\\:w-5{width:calc(var(--babylai-spacing) * 5)}.babylai\\:w-6{width:calc(var(--babylai-spacing) * 6)}.babylai\\:w-7{width:calc(var(--babylai-spacing) * 7)}.babylai\\:w-8{width:calc(var(--babylai-spacing) * 8)}.babylai\\:w-10{width:calc(var(--babylai-spacing) * 10)}.babylai\\:w-12{width:calc(var(--babylai-spacing) * 12)}.babylai\\:w-15{width:calc(var(--babylai-spacing) * 15)}.babylai\\:w-20{width:calc(var(--babylai-spacing) * 20)}.babylai\\:w-96{width:calc(var(--babylai-spacing) * 96)}.babylai\\:w-\\[50px\\]{width:50px}.babylai\\:w-auto{width:auto}.babylai\\:w-full{width:100%}.babylai\\:max-w-40{max-width:calc(var(--babylai-spacing) * 40)}.babylai\\:max-w-\\[80\\%\\]{max-width:80%}.babylai\\:max-w-\\[90vw\\]{max-width:90vw}.babylai\\:max-w-\\[220px\\]{max-width:220px}.babylai\\:max-w-\\[800px\\]{max-width:800px}.babylai\\:max-w-full{max-width:100%}.babylai\\:max-w-xs{max-width:var(--babylai-container-xs)}.babylai\\:min-w-0{min-width:calc(var(--babylai-spacing) * 0)}.babylai\\:flex-1{flex:1}.babylai\\:shrink-0{flex-shrink:0}.babylai\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-0{--tw-translate-y: calc(var(--babylai-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-2{--tw-translate-y: calc(var(--babylai-spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.babylai\\:scale-\\[0\\.96\\]{scale:.96}.babylai\\:cursor-not-allowed{cursor:not-allowed}.babylai\\:cursor-pointer{cursor:pointer}.babylai\\:resize-none{resize:none}.babylai\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.babylai\\:flex-col{flex-direction:column}.babylai\\:flex-row-reverse{flex-direction:row-reverse}.babylai\\:flex-wrap{flex-wrap:wrap}.babylai\\:items-center{align-items:center}.babylai\\:items-end{align-items:flex-end}.babylai\\:items-start{align-items:flex-start}.babylai\\:justify-between{justify-content:space-between}.babylai\\:justify-center{justify-content:center}.babylai\\:justify-end{justify-content:flex-end}.babylai\\:gap-0\\.5{gap:calc(var(--babylai-spacing) * .5)}.babylai\\:gap-1{gap:calc(var(--babylai-spacing) * 1)}.babylai\\:gap-1\\.5{gap:calc(var(--babylai-spacing) * 1.5)}.babylai\\:gap-2{gap:calc(var(--babylai-spacing) * 2)}.babylai\\:gap-2\\.5{gap:calc(var(--babylai-spacing) * 2.5)}.babylai\\:gap-3{gap:calc(var(--babylai-spacing) * 3)}.babylai\\:gap-4{gap:calc(var(--babylai-spacing) * 4)}.babylai\\:gap-6{gap:calc(var(--babylai-spacing) * 6)}.babylai\\:overflow-hidden{overflow:hidden}.babylai\\:overflow-x-auto{overflow-x:auto}.babylai\\:overflow-y-auto{overflow-y:auto}.babylai\\:rounded-2xl{border-radius:var(--babylai-radius-2xl)}.babylai\\:rounded-3xl{border-radius:var(--babylai-radius-3xl)}.babylai\\:rounded-full{border-radius:calc(infinity * 1px)}.babylai\\:rounded-lg{border-radius:var(--babylai-radius-lg)}.babylai\\:rounded-md{border-radius:var(--babylai-radius-md)}.babylai\\:rounded-xl{border-radius:var(--babylai-radius-xl)}.babylai\\:rounded-t-2xl{border-top-left-radius:var(--babylai-radius-2xl);border-top-right-radius:var(--babylai-radius-2xl)}.babylai\\:border{border-style:var(--tw-border-style);border-width:1px}.babylai\\:border-0{border-style:var(--tw-border-style);border-width:0px}.babylai\\:border-2{border-style:var(--tw-border-style);border-width:2px}.babylai\\:border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.babylai\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.babylai\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.babylai\\:border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.babylai\\:border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.babylai\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.babylai\\:border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.babylai\\:border-none{--tw-border-style: none;border-style:none}.babylai\\:border-black-white-50{border-color:var(--babylai-color-black-white-50)}.babylai\\:border-black-white-200{border-color:var(--babylai-color-black-white-200)}.babylai\\:border-border{border-color:var(--babylai-color-border)}.babylai\\:border-destructive{border-color:var(--babylai-color-destructive)}.babylai\\:border-primary{border-color:var(--babylai-color-primary)}.babylai\\:border-white\\/20{border-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:border-white\\/20{border-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}.babylai\\:border-t-primary{border-top-color:var(--babylai-color-primary)}.babylai\\:border-r-transparent{border-right-color:transparent}.babylai\\:border-l-transparent{border-left-color:transparent}.babylai\\:bg-black-white-50{background-color:var(--babylai-color-black-white-50)}.babylai\\:bg-black\\/30{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/30{background-color:color-mix(in oklab,var(--babylai-color-black) 30%,transparent)}}.babylai\\:bg-black\\/50{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/50{background-color:color-mix(in oklab,var(--babylai-color-black) 50%,transparent)}}.babylai\\:bg-black\\/60{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/60{background-color:color-mix(in oklab,var(--babylai-color-black) 60%,transparent)}}.babylai\\:bg-black\\/90{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/90{background-color:color-mix(in oklab,var(--babylai-color-black) 90%,transparent)}}.babylai\\:bg-card{background-color:var(--babylai-color-card)}.babylai\\:bg-card-foreground\\/50{background-color:var(--babylai-color-card-foreground)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-card-foreground\\/50{background-color:color-mix(in oklab,var(--babylai-color-card-foreground) 50%,transparent)}}.babylai\\:bg-current{background-color:currentcolor}.babylai\\:bg-destructive{background-color:var(--babylai-color-destructive)}.babylai\\:bg-muted{background-color:var(--babylai-color-muted)}.babylai\\:bg-primary{background-color:var(--babylai-color-primary)}.babylai\\:bg-primary-500{background-color:var(--babylai-color-primary-500)}.babylai\\:bg-primary\\/15{background-color:var(--babylai-color-primary)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-primary\\/15{background-color:color-mix(in oklab,var(--babylai-color-primary) 15%,transparent)}}.babylai\\:bg-secondary{background-color:var(--babylai-color-secondary)}.babylai\\:bg-transparent{background-color:transparent}.babylai\\:bg-white,.babylai\\:bg-white\\/10{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-white\\/10{background-color:color-mix(in oklab,var(--babylai-color-white) 10%,transparent)}}.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom in oklab}}.babylai\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:bg-linear-to-t{--tw-gradient-position: to top}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-t{--tw-gradient-position: to top in oklab}}.babylai\\:bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:from-card{--tw-gradient-from: var(--babylai-color-card);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.babylai\\:to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.babylai\\:object-contain{object-fit:contain}.babylai\\:object-cover{object-fit:cover}.babylai\\:p-0{padding:calc(var(--babylai-spacing) * 0)}.babylai\\:p-1{padding:calc(var(--babylai-spacing) * 1)}.babylai\\:p-1\\.5{padding:calc(var(--babylai-spacing) * 1.5)}.babylai\\:p-2{padding:calc(var(--babylai-spacing) * 2)}.babylai\\:p-3{padding:calc(var(--babylai-spacing) * 3)}.babylai\\:p-4{padding:calc(var(--babylai-spacing) * 4)}.babylai\\:p-5{padding:calc(var(--babylai-spacing) * 5)}.babylai\\:p-5\\!{padding:calc(var(--babylai-spacing) * 5)!important}.babylai\\:p-6{padding:calc(var(--babylai-spacing) * 6)}.babylai\\:px-2{padding-inline:calc(var(--babylai-spacing) * 2)}.babylai\\:px-4{padding-inline:calc(var(--babylai-spacing) * 4)}.babylai\\:px-6{padding-inline:calc(var(--babylai-spacing) * 6)}.babylai\\:py-2{padding-block:calc(var(--babylai-spacing) * 2)}.babylai\\:py-3{padding-block:calc(var(--babylai-spacing) * 3)}.babylai\\:py-4{padding-block:calc(var(--babylai-spacing) * 4)}.babylai\\:py-6{padding-block:calc(var(--babylai-spacing) * 6)}.babylai\\:py-28{padding-block:calc(var(--babylai-spacing) * 28)}.babylai\\:pe-2{padding-inline-end:calc(var(--babylai-spacing) * 2)}.babylai\\:pt-0{padding-top:calc(var(--babylai-spacing) * 0)}.babylai\\:pt-6{padding-top:calc(var(--babylai-spacing) * 6)}.babylai\\:pb-4{padding-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:pb-5{padding-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:pb-6{padding-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:text-center{text-align:center}.babylai\\:text-start{text-align:start}.babylai\\:font-sans{font-family:var(--babylai-font-sans)}.babylai\\:text-2xl{font-size:var(--babylai-text-2xl);line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))}.babylai\\:text-2xl\\!{font-size:var(--babylai-text-2xl)!important;line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))!important}.babylai\\:text-base{font-size:var(--babylai-text-base);line-height:var(--tw-leading, var(--babylai-text-base--line-height))}.babylai\\:text-base\\!{font-size:var(--babylai-text-base)!important;line-height:var(--tw-leading, var(--babylai-text-base--line-height))!important}.babylai\\:text-lg{font-size:var(--babylai-text-lg);line-height:var(--tw-leading, var(--babylai-text-lg--line-height))}.babylai\\:text-lg\\!{font-size:var(--babylai-text-lg)!important;line-height:var(--tw-leading, var(--babylai-text-lg--line-height))!important}.babylai\\:text-sm{font-size:var(--babylai-text-sm);line-height:var(--tw-leading, var(--babylai-text-sm--line-height))}.babylai\\:text-xl\\!{font-size:var(--babylai-text-xl)!important;line-height:var(--tw-leading, var(--babylai-text-xl--line-height))!important}.babylai\\:text-xs{font-size:var(--babylai-text-xs);line-height:var(--tw-leading, var(--babylai-text-xs--line-height))}.babylai\\:leading-none{--tw-leading: 1;line-height:1}.babylai\\:leading-snug{--tw-leading: var(--babylai-leading-snug);line-height:var(--babylai-leading-snug)}.babylai\\:font-bold{--tw-font-weight: var(--babylai-font-weight-bold);font-weight:var(--babylai-font-weight-bold)}.babylai\\:font-bold\\!{--tw-font-weight: var(--babylai-font-weight-bold) !important;font-weight:var(--babylai-font-weight-bold)!important}.babylai\\:font-medium{--tw-font-weight: var(--babylai-font-weight-medium);font-weight:var(--babylai-font-weight-medium)}.babylai\\:font-normal{--tw-font-weight: var(--babylai-font-weight-normal);font-weight:var(--babylai-font-weight-normal)}.babylai\\:font-semibold{--tw-font-weight: var(--babylai-font-weight-semibold);font-weight:var(--babylai-font-weight-semibold)}.babylai\\:font-semibold\\!{--tw-font-weight: var(--babylai-font-weight-semibold) !important;font-weight:var(--babylai-font-weight-semibold)!important}.babylai\\:tracking-tight{--tw-tracking: var(--babylai-tracking-tight);letter-spacing:var(--babylai-tracking-tight)}.babylai\\:wrap-break-word{overflow-wrap:break-word}.babylai\\:whitespace-nowrap{white-space:nowrap}.babylai\\:text-\\[\\#F49E00\\]{color:#f49e00}.babylai\\:text-black-white-50{color:var(--babylai-color-black-white-50)}.babylai\\:text-black-white-200{color:var(--babylai-color-black-white-200)}.babylai\\:text-black-white-300{color:var(--babylai-color-black-white-300)}.babylai\\:text-card-foreground{color:var(--babylai-color-card-foreground)}.babylai\\:text-destructive{color:var(--babylai-color-destructive)}.babylai\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}.babylai\\:text-primary{color:var(--babylai-color-primary)}.babylai\\:text-primary-500{color:var(--babylai-color-primary-500)}.babylai\\:text-secondary-foreground{color:var(--babylai-color-secondary-foreground)}.babylai\\:text-white{color:var(--babylai-color-white)}.babylai\\:no-underline{text-decoration-line:none}.babylai\\:opacity-0{opacity:0%}.babylai\\:opacity-30{opacity:30%}.babylai\\:opacity-50{opacity:50%}.babylai\\:opacity-70{opacity:70%}.babylai\\:opacity-80{opacity:80%}.babylai\\:opacity-100{opacity:100%}.babylai\\:shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring-primary-500{--tw-ring-color: var(--babylai-color-primary-500)}.babylai\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:duration-200{--tw-duration: .2s;transition-duration:.2s}.babylai\\:duration-250{--tw-duration: .25s;transition-duration:.25s}.babylai\\:ease-out{--tw-ease: var(--babylai-ease-out);transition-timing-function:var(--babylai-ease-out)}.babylai\\:outline-none{--tw-outline-style: none;outline-style:none}@media(hover:hover){.babylai\\:hover\\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.babylai\\:hover\\:border-primary-200:hover{border-color:var(--babylai-color-primary-200)}}@media(hover:hover){.babylai\\:hover\\:border-primary-600:hover{border-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-100:hover{background-color:var(--babylai-color-primary-100)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-600:hover{background-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-secondary:hover{background-color:var(--babylai-color-secondary)}}@media(hover:hover){.babylai\\:hover\\:bg-white\\/20:hover{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}}@media(hover:hover){.babylai\\:hover\\:text-\\[\\#F49E00\\]:hover{color:#f49e00}}@media(hover:hover){.babylai\\:hover\\:text-primary-500:hover{color:var(--babylai-color-primary-500)}}@media(hover:hover){.babylai\\:hover\\:opacity-80:hover{opacity:80%}}.babylai\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.babylai\\:active\\:opacity-95:active{opacity:95%}.babylai\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.babylai\\:disabled\\:border-black-white-300:disabled{border-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-black-white-300:disabled{background-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-secondary:disabled{background-color:var(--babylai-color-secondary)}.babylai\\:disabled\\:text-white:disabled{color:var(--babylai-color-white)}.babylai\\:disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.babylai\\:dark\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}}}:root{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-black-white-50: #ffffff;--babylai-black-white-100: #f3f3f3;--babylai-black-white-200: #e2e2e2;--babylai-black-white-300: #919191;--babylai-black-white-400: #606060;--babylai-black-white-500: #333333;--babylai-black-white-600: #1f1f1f;--babylai-black-white-700: #171717;--babylai-black-white-800: #0a0a0a;--babylai-black-white-900: #050505;--babylai-black-white-950: #000000;--babylai-black-white-default: #333333;--babylai-primary-color: #ad49e1;--babylai-primary-color-100: #f6ecfc;--babylai-primary-color-200: #deb6f3;--babylai-primary-color-300: #d49cee;--babylai-primary-color-400: #c57fea;--babylai-primary-color-500: #ad49e1;--babylai-primary-color-600: #672b87;--babylai-primary-color-700: #451d5a;--babylai-primary-color-800: #220e2d;--babylai-primary-color-900: #110716;--babylai-primary-color-950: #0a0310;--babylai-background: var(--babylai-black-white-50);--babylai-card: var(--babylai-black-white-50);--babylai-card-foreground: var(--babylai-black-white-500);--babylai-secondary: var(--babylai-black-white-100);--babylai-secondary-foreground: var(--babylai-black-white-500);--babylai-muted: var(--babylai-black-white-100);--babylai-muted-foreground: var(--babylai-black-white-400);--babylai-destructive: #ef4444;--babylai-destructive-foreground: var(--babylai-black-white-50);--babylai-border: var(--babylai-black-white-200);--babylai-ring: var(--babylai-primary-color);--babylai-radius: .5rem}.babylai-typing-dot{animation:typing-dot 1.4s ease-in-out infinite}.babylai-typing-dot:nth-child(1){animation-delay:0ms}.babylai-typing-dot:nth-child(2){animation-delay:.2s}.babylai-typing-dot:nth-child(3){animation-delay:.4s}.babylai-theme-root{--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-300: var(--babylai-primary-color-300);--babylai-color-primary-400: var(--babylai-primary-color-400);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-primary-700: var(--babylai-primary-color-700);--babylai-color-primary-800: var(--babylai-primary-color-800);--babylai-color-primary-900: var(--babylai-primary-color-900);--babylai-color-primary-950: var(--babylai-primary-color-950);--ring: var(--babylai-primary-color);--color-ring: var(--babylai-primary-color);font-family:var(--babylai-font-sans)}.babylai-theme-root *{box-sizing:border-box}.babylai-theme-root button{font:inherit}.babylai-theme-root input,.babylai-theme-root textarea{font-family:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6{font-size:inherit;font-weight:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6,.babylai-theme-root p{margin:0}.babylai-theme-root ul,.babylai-theme-root ol{list-style:auto;padding-inline-start:40px;margin-block-start:1rem;margin-block-end:1rem}.bg-header{background:linear-gradient(171deg,var(--babylai-primary-color) -131.06%,var(--babylai-black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--babylai-primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--babylai-black-white-50) 25%,transparent) 89.82%)}}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: \"*\"; inherits: false;}@property --tw-gradient-from{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-via-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-from-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:scale(.85)}30%{opacity:1;transform:scale(1)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ArrowAnimationComponent, selector: "app-arrow-animation", inputs: ["showArrowAnimation", "isPopupOpen", "messageLabel"], outputs: ["closeArrowAnimation"] }, { kind: "component", type: HelpButtonComponent, selector: "app-help-button", inputs: ["isPopupOpen"], outputs: ["togglePopup"] }, { kind: "component", type: HelpPopupComponent, selector: "app-help-popup", inputs: ["isPopupOpen", "showHelpScreenData", "showChat", "status", "error", "helpScreenData", "messages", "needsAgent", "assistantStatus", "isAblyConnected", "isChatClosed", "currentLang", "chatIsLoading", "sessionId", "selectedOption", "selectedNestedOption", "showEndChatConfirmation", "showStartNewChatConfirmation", "showReviewDialog", "isSubmittingReview", "isStartingNewChat"], outputs: ["closePopup", "minimizePopup", "back", "showChatEvent", "endChat", "confirmEndChat", "cancelEndChat", "closeEndChat", "confirmStartNewChat", "cancelStartNewChat", "closeStartNewChat", "reviewSubmit", "reviewSkip", "reviewClose", "reviewSubmitFromChat", "reviewSkipFromChat", "startNewChat", "navigateToUrl", "sendMessageEvent", "requestSessionForAttachments"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4051
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpCenterWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4052
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: HelpCenterWidgetComponent, isStandalone: true, selector: "app-help-center-widget", inputs: { getToken: { classPropertyName: "getToken", publicName: "getToken", isSignal: true, isRequired: true, transformFunction: null }, helpScreenId: { classPropertyName: "helpScreenId", publicName: "helpScreenId", isSignal: true, isRequired: true, transformFunction: null }, showArrow: { classPropertyName: "showArrow", publicName: "showArrow", isSignal: true, isRequired: false, transformFunction: null }, messageLabel: { classPropertyName: "messageLabel", publicName: "messageLabel", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null }, logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "chatMessagesContainer", first: true, predicate: ["chatMessagesContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"babylai-theme-root babylai:flex babylai:flex-col babylai:items-end babylai:h-auto babylai:w-auto babylai:fixed babylai:bottom-6 babylai:right-6 babylai:z-9998\"\n [dir]=\"getDirection()\"\n>\n <!-- TEST: Version mismatch fixed - Arrow Animation - SUCCESS! -->\n <app-arrow-animation\n [showArrowAnimation]=\"showArrowAnimation()\"\n [isPopupOpen]=\"isPopupOpen()\"\n [messageLabel]=\"messageLabel()\"\n (closeArrowAnimation)=\"handleCloseArrowAnimation()\"\n ></app-arrow-animation>\n\n <!-- Help Button -->\n <app-help-button\n [isPopupOpen]=\"isPopupOpen()\"\n (togglePopup)=\"handleTogglePopup()\"\n ></app-help-button>\n\n <!-- Help Popup -->\n <app-help-popup\n [isPopupOpen]=\"isPopupOpen()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [showChat]=\"showChat()\"\n [status]=\"status()\"\n [error]=\"error()\"\n [helpScreenData]=\"helpScreenData()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [showEndChatConfirmation]=\"showEndChatConfirmation()\"\n [showStartNewChatConfirmation]=\"showStartNewChatConfirmation()\"\n [showReviewDialog]=\"showReviewDialog()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n [isStartingNewChat]=\"isStartingNewChat()\"\n (closePopup)=\"handleClosePopup()\"\n (minimizePopup)=\"handleMinimizePopup()\"\n (back)=\"handleBack()\"\n (showChatEvent)=\"handleShowChat()\"\n (endChat)=\"handleEndChat()\"\n (confirmEndChat)=\"confirmEndChat()\"\n (cancelEndChat)=\"cancelEndChat()\"\n (closeEndChat)=\"closeEndChat()\"\n (confirmStartNewChat)=\"confirmStartNewChat()\"\n (cancelStartNewChat)=\"cancelStartNewChat()\"\n (closeStartNewChat)=\"closeStartNewChat()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n (reviewClose)=\"handleReviewClose()\"\n (reviewSubmitFromChat)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkipFromChat)=\"handleReviewSkipFromChat()\"\n (sendMessageEvent)=\"sendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&display=swap\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-color-black: #000;--babylai-color-white: #fff;--babylai-spacing: .25rem;--babylai-container-xs: 20rem;--babylai-text-xs: .75rem;--babylai-text-xs--line-height: calc(1 / .75);--babylai-text-sm: .875rem;--babylai-text-sm--line-height: calc(1.25 / .875);--babylai-text-base: 1rem;--babylai-text-base--line-height: 1.5 ;--babylai-text-lg: 1.125rem;--babylai-text-lg--line-height: calc(1.75 / 1.125);--babylai-text-xl: 1.25rem;--babylai-text-xl--line-height: calc(1.75 / 1.25);--babylai-text-2xl: 1.5rem;--babylai-text-2xl--line-height: calc(2 / 1.5);--babylai-font-weight-normal: 400;--babylai-font-weight-medium: 500;--babylai-font-weight-semibold: 600;--babylai-font-weight-bold: 700;--babylai-tracking-tight: -.025em;--babylai-leading-snug: 1.375;--babylai-radius-md: .375rem;--babylai-radius-lg: .5rem;--babylai-radius-xl: .75rem;--babylai-radius-2xl: 1rem;--babylai-radius-3xl: 1.5rem;--babylai-ease-out: cubic-bezier(0, 0, .2, 1);--babylai-default-transition-duration: .15s;--babylai-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-card: var(--babylai-card);--babylai-color-card-foreground: var(--babylai-card-foreground);--babylai-color-secondary: var(--babylai-secondary);--babylai-color-secondary-foreground: var(--babylai-secondary-foreground);--babylai-color-muted: var(--babylai-muted);--babylai-color-muted-foreground: var(--babylai-muted-foreground);--babylai-color-destructive: var(--babylai-destructive);--babylai-color-border: var(--babylai-border);--babylai-color-black-white-50: var(--babylai-black-white-50);--babylai-color-black-white-200: var(--babylai-black-white-200);--babylai-color-black-white-300: var(--babylai-black-white-300)}}@layer utilities{.babylai\\:pointer-events-auto{pointer-events:auto}.babylai\\:pointer-events-none{pointer-events:none}.babylai\\:invisible{visibility:hidden}.babylai\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.babylai\\:absolute{position:absolute}.babylai\\:fixed{position:fixed}.babylai\\:relative{position:relative}.babylai\\:sticky{position:sticky}.babylai\\:inset-0{inset:calc(var(--babylai-spacing) * 0)}.babylai\\:-top-2{top:calc(var(--babylai-spacing) * -2)}.babylai\\:top-0\\.5{top:calc(var(--babylai-spacing) * .5)}.babylai\\:top-1\\/2{top:50%}.babylai\\:top-4{top:calc(var(--babylai-spacing) * 4)}.babylai\\:-right-2{right:calc(var(--babylai-spacing) * -2)}.babylai\\:right-0{right:calc(var(--babylai-spacing) * 0)}.babylai\\:right-0\\.5{right:calc(var(--babylai-spacing) * .5)}.babylai\\:right-4{right:calc(var(--babylai-spacing) * 4)}.babylai\\:right-5{right:calc(var(--babylai-spacing) * 5)}.babylai\\:right-6{right:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-0{bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:bottom-4{bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:bottom-6{bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-11{bottom:calc(var(--babylai-spacing) * 11)}.babylai\\:bottom-20{bottom:calc(var(--babylai-spacing) * 20)}.babylai\\:bottom-24{bottom:calc(var(--babylai-spacing) * 24)}.babylai\\:bottom-\\[-8px\\]{bottom:-8px}.babylai\\:left-0{left:calc(var(--babylai-spacing) * 0)}.babylai\\:left-1\\/2{left:50%}.babylai\\:left-4{left:calc(var(--babylai-spacing) * 4)}.babylai\\:z-1{z-index:1}.babylai\\:z-10{z-index:10}.babylai\\:z-20{z-index:20}.babylai\\:z-50{z-index:50}.babylai\\:z-1000{z-index:1000}.babylai\\:z-9997{z-index:9997}.babylai\\:z-9998{z-index:9998}.babylai\\:z-9999{z-index:9999}.babylai\\:z-10001{z-index:10001}.babylai\\:m-0{margin:calc(var(--babylai-spacing) * 0)}.babylai\\:ms-auto{margin-inline-start:auto}.babylai\\:me-3{margin-inline-end:calc(var(--babylai-spacing) * 3)}.babylai\\:mt-1{margin-top:calc(var(--babylai-spacing) * 1)}.babylai\\:mt-6{margin-top:calc(var(--babylai-spacing) * 6)}.babylai\\:mb-0{margin-bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:mb-1{margin-bottom:calc(var(--babylai-spacing) * 1)}.babylai\\:mb-2{margin-bottom:calc(var(--babylai-spacing) * 2)}.babylai\\:mb-2\\!{margin-bottom:calc(var(--babylai-spacing) * 2)!important}.babylai\\:mb-4{margin-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:mb-5{margin-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:mb-6{margin-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:ml-auto{margin-left:auto}.babylai\\:box-border{box-sizing:border-box}.babylai\\:block{display:block}.babylai\\:flex{display:flex}.babylai\\:grid{display:grid}.babylai\\:hidden{display:none}.babylai\\:inline-block{display:inline-block}.babylai\\:inline-flex{display:inline-flex}.babylai\\:h-0{height:calc(var(--babylai-spacing) * 0)}.babylai\\:h-1\\.5{height:calc(var(--babylai-spacing) * 1.5)}.babylai\\:h-3{height:calc(var(--babylai-spacing) * 3)}.babylai\\:h-4{height:calc(var(--babylai-spacing) * 4)}.babylai\\:h-5{height:calc(var(--babylai-spacing) * 5)}.babylai\\:h-6{height:calc(var(--babylai-spacing) * 6)}.babylai\\:h-7{height:calc(var(--babylai-spacing) * 7)}.babylai\\:h-8{height:calc(var(--babylai-spacing) * 8)}.babylai\\:h-10{height:calc(var(--babylai-spacing) * 10)}.babylai\\:h-12{height:calc(var(--babylai-spacing) * 12)}.babylai\\:h-20{height:calc(var(--babylai-spacing) * 20)}.babylai\\:h-\\[50px\\]{height:50px}.babylai\\:h-\\[600px\\]{height:600px}.babylai\\:h-\\[calc\\(100vh-12rem\\)\\]{height:calc(100vh - 12rem)}.babylai\\:h-auto{height:auto}.babylai\\:h-full{height:100%}.babylai\\:h-screen{height:100vh}.babylai\\:max-h-\\[90vh\\]{max-height:90vh}.babylai\\:max-h-\\[800px\\]{max-height:800px}.babylai\\:max-h-full{max-height:100%}.babylai\\:min-h-20{min-height:calc(var(--babylai-spacing) * 20)}.babylai\\:w-0{width:calc(var(--babylai-spacing) * 0)}.babylai\\:w-1\\.5{width:calc(var(--babylai-spacing) * 1.5)}.babylai\\:w-3{width:calc(var(--babylai-spacing) * 3)}.babylai\\:w-4{width:calc(var(--babylai-spacing) * 4)}.babylai\\:w-5{width:calc(var(--babylai-spacing) * 5)}.babylai\\:w-6{width:calc(var(--babylai-spacing) * 6)}.babylai\\:w-7{width:calc(var(--babylai-spacing) * 7)}.babylai\\:w-8{width:calc(var(--babylai-spacing) * 8)}.babylai\\:w-10{width:calc(var(--babylai-spacing) * 10)}.babylai\\:w-12{width:calc(var(--babylai-spacing) * 12)}.babylai\\:w-15{width:calc(var(--babylai-spacing) * 15)}.babylai\\:w-20{width:calc(var(--babylai-spacing) * 20)}.babylai\\:w-96{width:calc(var(--babylai-spacing) * 96)}.babylai\\:w-\\[50px\\]{width:50px}.babylai\\:w-auto{width:auto}.babylai\\:w-full{width:100%}.babylai\\:max-w-40{max-width:calc(var(--babylai-spacing) * 40)}.babylai\\:max-w-\\[80\\%\\]{max-width:80%}.babylai\\:max-w-\\[90vw\\]{max-width:90vw}.babylai\\:max-w-\\[220px\\]{max-width:220px}.babylai\\:max-w-\\[800px\\]{max-width:800px}.babylai\\:max-w-full{max-width:100%}.babylai\\:max-w-xs{max-width:var(--babylai-container-xs)}.babylai\\:min-w-0{min-width:calc(var(--babylai-spacing) * 0)}.babylai\\:flex-1{flex:1}.babylai\\:shrink-0{flex-shrink:0}.babylai\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-0{--tw-translate-y: calc(var(--babylai-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-2{--tw-translate-y: calc(var(--babylai-spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.babylai\\:scale-\\[0\\.96\\]{scale:.96}.babylai\\:cursor-not-allowed{cursor:not-allowed}.babylai\\:cursor-pointer{cursor:pointer}.babylai\\:resize-none{resize:none}.babylai\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.babylai\\:flex-col{flex-direction:column}.babylai\\:flex-row-reverse{flex-direction:row-reverse}.babylai\\:flex-wrap{flex-wrap:wrap}.babylai\\:items-center{align-items:center}.babylai\\:items-end{align-items:flex-end}.babylai\\:items-start{align-items:flex-start}.babylai\\:justify-between{justify-content:space-between}.babylai\\:justify-center{justify-content:center}.babylai\\:justify-end{justify-content:flex-end}.babylai\\:gap-0\\.5{gap:calc(var(--babylai-spacing) * .5)}.babylai\\:gap-1{gap:calc(var(--babylai-spacing) * 1)}.babylai\\:gap-1\\.5{gap:calc(var(--babylai-spacing) * 1.5)}.babylai\\:gap-2{gap:calc(var(--babylai-spacing) * 2)}.babylai\\:gap-2\\.5{gap:calc(var(--babylai-spacing) * 2.5)}.babylai\\:gap-3{gap:calc(var(--babylai-spacing) * 3)}.babylai\\:gap-4{gap:calc(var(--babylai-spacing) * 4)}.babylai\\:gap-6{gap:calc(var(--babylai-spacing) * 6)}.babylai\\:overflow-hidden{overflow:hidden}.babylai\\:overflow-x-auto{overflow-x:auto}.babylai\\:overflow-y-auto{overflow-y:auto}.babylai\\:rounded-2xl{border-radius:var(--babylai-radius-2xl)}.babylai\\:rounded-3xl{border-radius:var(--babylai-radius-3xl)}.babylai\\:rounded-full{border-radius:calc(infinity * 1px)}.babylai\\:rounded-lg{border-radius:var(--babylai-radius-lg)}.babylai\\:rounded-md{border-radius:var(--babylai-radius-md)}.babylai\\:rounded-xl{border-radius:var(--babylai-radius-xl)}.babylai\\:rounded-t-2xl{border-top-left-radius:var(--babylai-radius-2xl);border-top-right-radius:var(--babylai-radius-2xl)}.babylai\\:border{border-style:var(--tw-border-style);border-width:1px}.babylai\\:border-0{border-style:var(--tw-border-style);border-width:0px}.babylai\\:border-2{border-style:var(--tw-border-style);border-width:2px}.babylai\\:border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.babylai\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.babylai\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.babylai\\:border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.babylai\\:border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.babylai\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.babylai\\:border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.babylai\\:border-none{--tw-border-style: none;border-style:none}.babylai\\:border-black-white-50{border-color:var(--babylai-color-black-white-50)}.babylai\\:border-black-white-200{border-color:var(--babylai-color-black-white-200)}.babylai\\:border-border{border-color:var(--babylai-color-border)}.babylai\\:border-destructive{border-color:var(--babylai-color-destructive)}.babylai\\:border-primary{border-color:var(--babylai-color-primary)}.babylai\\:border-white\\/20{border-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:border-white\\/20{border-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}.babylai\\:border-t-primary{border-top-color:var(--babylai-color-primary)}.babylai\\:border-r-transparent{border-right-color:transparent}.babylai\\:border-l-transparent{border-left-color:transparent}.babylai\\:bg-black-white-50{background-color:var(--babylai-color-black-white-50)}.babylai\\:bg-black\\/30{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/30{background-color:color-mix(in oklab,var(--babylai-color-black) 30%,transparent)}}.babylai\\:bg-black\\/50{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/50{background-color:color-mix(in oklab,var(--babylai-color-black) 50%,transparent)}}.babylai\\:bg-black\\/60{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/60{background-color:color-mix(in oklab,var(--babylai-color-black) 60%,transparent)}}.babylai\\:bg-black\\/90{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/90{background-color:color-mix(in oklab,var(--babylai-color-black) 90%,transparent)}}.babylai\\:bg-card{background-color:var(--babylai-color-card)}.babylai\\:bg-card-foreground\\/50{background-color:var(--babylai-color-card-foreground)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-card-foreground\\/50{background-color:color-mix(in oklab,var(--babylai-color-card-foreground) 50%,transparent)}}.babylai\\:bg-current{background-color:currentcolor}.babylai\\:bg-destructive{background-color:var(--babylai-color-destructive)}.babylai\\:bg-muted{background-color:var(--babylai-color-muted)}.babylai\\:bg-primary{background-color:var(--babylai-color-primary)}.babylai\\:bg-primary-500{background-color:var(--babylai-color-primary-500)}.babylai\\:bg-primary\\/15{background-color:var(--babylai-color-primary)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-primary\\/15{background-color:color-mix(in oklab,var(--babylai-color-primary) 15%,transparent)}}.babylai\\:bg-secondary{background-color:var(--babylai-color-secondary)}.babylai\\:bg-transparent{background-color:transparent}.babylai\\:bg-white,.babylai\\:bg-white\\/10{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-white\\/10{background-color:color-mix(in oklab,var(--babylai-color-white) 10%,transparent)}}.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom in oklab}}.babylai\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:bg-linear-to-t{--tw-gradient-position: to top}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-t{--tw-gradient-position: to top in oklab}}.babylai\\:bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:from-card{--tw-gradient-from: var(--babylai-color-card);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.babylai\\:to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.babylai\\:object-contain{object-fit:contain}.babylai\\:object-cover{object-fit:cover}.babylai\\:p-0{padding:calc(var(--babylai-spacing) * 0)}.babylai\\:p-1{padding:calc(var(--babylai-spacing) * 1)}.babylai\\:p-1\\.5{padding:calc(var(--babylai-spacing) * 1.5)}.babylai\\:p-2{padding:calc(var(--babylai-spacing) * 2)}.babylai\\:p-3{padding:calc(var(--babylai-spacing) * 3)}.babylai\\:p-4{padding:calc(var(--babylai-spacing) * 4)}.babylai\\:p-5{padding:calc(var(--babylai-spacing) * 5)}.babylai\\:p-5\\!{padding:calc(var(--babylai-spacing) * 5)!important}.babylai\\:p-6{padding:calc(var(--babylai-spacing) * 6)}.babylai\\:px-2{padding-inline:calc(var(--babylai-spacing) * 2)}.babylai\\:px-4{padding-inline:calc(var(--babylai-spacing) * 4)}.babylai\\:px-6{padding-inline:calc(var(--babylai-spacing) * 6)}.babylai\\:py-2{padding-block:calc(var(--babylai-spacing) * 2)}.babylai\\:py-3{padding-block:calc(var(--babylai-spacing) * 3)}.babylai\\:py-4{padding-block:calc(var(--babylai-spacing) * 4)}.babylai\\:py-6{padding-block:calc(var(--babylai-spacing) * 6)}.babylai\\:py-28{padding-block:calc(var(--babylai-spacing) * 28)}.babylai\\:pe-2{padding-inline-end:calc(var(--babylai-spacing) * 2)}.babylai\\:pt-0{padding-top:calc(var(--babylai-spacing) * 0)}.babylai\\:pt-6{padding-top:calc(var(--babylai-spacing) * 6)}.babylai\\:pb-4{padding-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:pb-5{padding-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:pb-6{padding-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:text-center{text-align:center}.babylai\\:text-start{text-align:start}.babylai\\:font-sans{font-family:var(--babylai-font-sans)}.babylai\\:text-2xl{font-size:var(--babylai-text-2xl);line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))}.babylai\\:text-2xl\\!{font-size:var(--babylai-text-2xl)!important;line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))!important}.babylai\\:text-base{font-size:var(--babylai-text-base);line-height:var(--tw-leading, var(--babylai-text-base--line-height))}.babylai\\:text-base\\!{font-size:var(--babylai-text-base)!important;line-height:var(--tw-leading, var(--babylai-text-base--line-height))!important}.babylai\\:text-lg{font-size:var(--babylai-text-lg);line-height:var(--tw-leading, var(--babylai-text-lg--line-height))}.babylai\\:text-lg\\!{font-size:var(--babylai-text-lg)!important;line-height:var(--tw-leading, var(--babylai-text-lg--line-height))!important}.babylai\\:text-sm{font-size:var(--babylai-text-sm);line-height:var(--tw-leading, var(--babylai-text-sm--line-height))}.babylai\\:text-xl\\!{font-size:var(--babylai-text-xl)!important;line-height:var(--tw-leading, var(--babylai-text-xl--line-height))!important}.babylai\\:text-xs{font-size:var(--babylai-text-xs);line-height:var(--tw-leading, var(--babylai-text-xs--line-height))}.babylai\\:leading-none{--tw-leading: 1;line-height:1}.babylai\\:leading-snug{--tw-leading: var(--babylai-leading-snug);line-height:var(--babylai-leading-snug)}.babylai\\:font-bold{--tw-font-weight: var(--babylai-font-weight-bold);font-weight:var(--babylai-font-weight-bold)}.babylai\\:font-bold\\!{--tw-font-weight: var(--babylai-font-weight-bold) !important;font-weight:var(--babylai-font-weight-bold)!important}.babylai\\:font-medium{--tw-font-weight: var(--babylai-font-weight-medium);font-weight:var(--babylai-font-weight-medium)}.babylai\\:font-normal{--tw-font-weight: var(--babylai-font-weight-normal);font-weight:var(--babylai-font-weight-normal)}.babylai\\:font-semibold{--tw-font-weight: var(--babylai-font-weight-semibold);font-weight:var(--babylai-font-weight-semibold)}.babylai\\:font-semibold\\!{--tw-font-weight: var(--babylai-font-weight-semibold) !important;font-weight:var(--babylai-font-weight-semibold)!important}.babylai\\:tracking-tight{--tw-tracking: var(--babylai-tracking-tight);letter-spacing:var(--babylai-tracking-tight)}.babylai\\:wrap-break-word{overflow-wrap:break-word}.babylai\\:whitespace-nowrap{white-space:nowrap}.babylai\\:text-\\[\\#F49E00\\]{color:#f49e00}.babylai\\:text-black-white-50{color:var(--babylai-color-black-white-50)}.babylai\\:text-black-white-200{color:var(--babylai-color-black-white-200)}.babylai\\:text-black-white-300{color:var(--babylai-color-black-white-300)}.babylai\\:text-card-foreground{color:var(--babylai-color-card-foreground)}.babylai\\:text-destructive{color:var(--babylai-color-destructive)}.babylai\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}.babylai\\:text-primary{color:var(--babylai-color-primary)}.babylai\\:text-primary-500{color:var(--babylai-color-primary-500)}.babylai\\:text-secondary-foreground{color:var(--babylai-color-secondary-foreground)}.babylai\\:text-white{color:var(--babylai-color-white)}.babylai\\:no-underline{text-decoration-line:none}.babylai\\:opacity-0{opacity:0%}.babylai\\:opacity-30{opacity:30%}.babylai\\:opacity-50{opacity:50%}.babylai\\:opacity-70{opacity:70%}.babylai\\:opacity-80{opacity:80%}.babylai\\:opacity-100{opacity:100%}.babylai\\:shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring-primary-500{--tw-ring-color: var(--babylai-color-primary-500)}.babylai\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:duration-200{--tw-duration: .2s;transition-duration:.2s}.babylai\\:duration-250{--tw-duration: .25s;transition-duration:.25s}.babylai\\:ease-out{--tw-ease: var(--babylai-ease-out);transition-timing-function:var(--babylai-ease-out)}.babylai\\:outline-none{--tw-outline-style: none;outline-style:none}@media(hover:hover){.babylai\\:hover\\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.babylai\\:hover\\:border-primary-200:hover{border-color:var(--babylai-color-primary-200)}}@media(hover:hover){.babylai\\:hover\\:border-primary-600:hover{border-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-100:hover{background-color:var(--babylai-color-primary-100)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-600:hover{background-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-secondary:hover{background-color:var(--babylai-color-secondary)}}@media(hover:hover){.babylai\\:hover\\:bg-white\\/20:hover{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}}@media(hover:hover){.babylai\\:hover\\:text-\\[\\#F49E00\\]:hover{color:#f49e00}}@media(hover:hover){.babylai\\:hover\\:text-primary-500:hover{color:var(--babylai-color-primary-500)}}@media(hover:hover){.babylai\\:hover\\:opacity-80:hover{opacity:80%}}.babylai\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.babylai\\:active\\:opacity-95:active{opacity:95%}.babylai\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.babylai\\:disabled\\:border-black-white-300:disabled{border-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-black-white-300:disabled{background-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-secondary:disabled{background-color:var(--babylai-color-secondary)}.babylai\\:disabled\\:text-white:disabled{color:var(--babylai-color-white)}.babylai\\:disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.babylai\\:dark\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}}}:root{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-black-white-50: #ffffff;--babylai-black-white-100: #f3f3f3;--babylai-black-white-200: #e2e2e2;--babylai-black-white-300: #919191;--babylai-black-white-400: #606060;--babylai-black-white-500: #333333;--babylai-black-white-600: #1f1f1f;--babylai-black-white-700: #171717;--babylai-black-white-800: #0a0a0a;--babylai-black-white-900: #050505;--babylai-black-white-950: #000000;--babylai-black-white-default: #333333;--babylai-primary-color: #ad49e1;--babylai-primary-color-100: #f6ecfc;--babylai-primary-color-200: #deb6f3;--babylai-primary-color-300: #d49cee;--babylai-primary-color-400: #c57fea;--babylai-primary-color-500: #ad49e1;--babylai-primary-color-600: #672b87;--babylai-primary-color-700: #451d5a;--babylai-primary-color-800: #220e2d;--babylai-primary-color-900: #110716;--babylai-primary-color-950: #0a0310;--babylai-background: var(--babylai-black-white-50);--babylai-card: var(--babylai-black-white-50);--babylai-card-foreground: var(--babylai-black-white-500);--babylai-secondary: var(--babylai-black-white-100);--babylai-secondary-foreground: var(--babylai-black-white-500);--babylai-muted: var(--babylai-black-white-100);--babylai-muted-foreground: var(--babylai-black-white-400);--babylai-destructive: #ef4444;--babylai-destructive-foreground: var(--babylai-black-white-50);--babylai-border: var(--babylai-black-white-200);--babylai-ring: var(--babylai-primary-color);--babylai-radius: .5rem}.babylai-typing-dot{animation:typing-dot 1.4s ease-in-out infinite}.babylai-typing-dot:nth-child(1){animation-delay:0ms}.babylai-typing-dot:nth-child(2){animation-delay:.2s}.babylai-typing-dot:nth-child(3){animation-delay:.4s}.babylai-theme-root{--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-300: var(--babylai-primary-color-300);--babylai-color-primary-400: var(--babylai-primary-color-400);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-primary-700: var(--babylai-primary-color-700);--babylai-color-primary-800: var(--babylai-primary-color-800);--babylai-color-primary-900: var(--babylai-primary-color-900);--babylai-color-primary-950: var(--babylai-primary-color-950);--ring: var(--babylai-primary-color);--color-ring: var(--babylai-primary-color);font-family:var(--babylai-font-sans)}.babylai-theme-root *{box-sizing:border-box}.babylai-theme-root button{font:inherit}.babylai-theme-root input,.babylai-theme-root textarea{font-family:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6{font-size:inherit;font-weight:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6,.babylai-theme-root p{margin:0}.babylai-theme-root ul,.babylai-theme-root ol{list-style:auto;padding-inline-start:40px;margin-block-start:1rem;margin-block-end:1rem}.bg-header{background:linear-gradient(171deg,var(--babylai-primary-color) -131.06%,var(--babylai-black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--babylai-primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--babylai-black-white-50) 25%,transparent) 89.82%)}}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: \"*\"; inherits: false;}@property --tw-gradient-from{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-via-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-from-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:scale(.85)}30%{opacity:1;transform:scale(1)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ArrowAnimationComponent, selector: "app-arrow-animation", inputs: ["showArrowAnimation", "isPopupOpen", "messageLabel"], outputs: ["closeArrowAnimation"] }, { kind: "component", type: HelpButtonComponent, selector: "app-help-button", inputs: ["isPopupOpen"], outputs: ["togglePopup"] }, { kind: "component", type: HelpPopupComponent, selector: "app-help-popup", inputs: ["isPopupOpen", "showHelpScreenData", "showChat", "status", "error", "helpScreenData", "messages", "needsAgent", "assistantStatus", "isAblyConnected", "isChatClosed", "currentLang", "chatIsLoading", "sessionId", "selectedOption", "selectedNestedOption", "showEndChatConfirmation", "showStartNewChatConfirmation", "showReviewDialog", "isSubmittingReview", "isStartingNewChat"], outputs: ["closePopup", "minimizePopup", "back", "showChatEvent", "endChat", "confirmEndChat", "cancelEndChat", "closeEndChat", "confirmStartNewChat", "cancelStartNewChat", "closeStartNewChat", "reviewSubmit", "reviewSkip", "reviewClose", "reviewSubmitFromChat", "reviewSkipFromChat", "startNewChat", "navigateToUrl", "sendMessageEvent", "requestSessionForAttachments"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4059
4053
  }
4060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterWidgetComponent, decorators: [{
4054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpCenterWidgetComponent, decorators: [{
4061
4055
  type: Component,
4062
4056
  args: [{ selector: 'app-help-center-widget', standalone: true, imports: [
4063
4057
  CommonModule,
@@ -4065,7 +4059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
4065
4059
  ArrowAnimationComponent,
4066
4060
  HelpButtonComponent,
4067
4061
  HelpPopupComponent,
4068
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"babylai-theme-root babylai:flex babylai:flex-col babylai:items-end babylai:h-auto babylai:w-auto babylai:fixed babylai:bottom-6 babylai:right-6 babylai:z-9998\"\n [dir]=\"getDirection()\"\n>\n <!-- TEST: Version mismatch fixed - Arrow Animation - SUCCESS! -->\n <app-arrow-animation\n [showArrowAnimation]=\"showArrowAnimation()\"\n [isPopupOpen]=\"isPopupOpen()\"\n [messageLabel]=\"messageLabel()\"\n (closeArrowAnimation)=\"handleCloseArrowAnimation()\"\n ></app-arrow-animation>\n\n <!-- Help Button -->\n <app-help-button\n [isPopupOpen]=\"isPopupOpen()\"\n (togglePopup)=\"handleTogglePopup()\"\n ></app-help-button>\n\n <!-- Help Popup -->\n <app-help-popup\n [isPopupOpen]=\"isPopupOpen()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [showChat]=\"showChat()\"\n [status]=\"status()\"\n [error]=\"error()\"\n [helpScreenData]=\"helpScreenData()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [showEndChatConfirmation]=\"showEndChatConfirmation()\"\n [showStartNewChatConfirmation]=\"showStartNewChatConfirmation()\"\n [showReviewDialog]=\"showReviewDialog()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n [isStartingNewChat]=\"isStartingNewChat()\"\n (closePopup)=\"handleClosePopup()\"\n (minimizePopup)=\"handleMinimizePopup()\"\n (back)=\"handleBack()\"\n (showChatEvent)=\"handleShowChat()\"\n (endChat)=\"handleEndChat()\"\n (confirmEndChat)=\"confirmEndChat()\"\n (cancelEndChat)=\"cancelEndChat()\"\n (closeEndChat)=\"closeEndChat()\"\n (confirmStartNewChat)=\"confirmStartNewChat()\"\n (cancelStartNewChat)=\"cancelStartNewChat()\"\n (closeStartNewChat)=\"closeStartNewChat()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n (reviewClose)=\"handleReviewClose()\"\n (reviewSubmitFromChat)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkipFromChat)=\"handleReviewSkipFromChat()\"\n (sendMessageEvent)=\"sendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&display=swap\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-color-black: #000;--babylai-color-white: #fff;--babylai-spacing: .25rem;--babylai-container-xs: 20rem;--babylai-text-xs: .75rem;--babylai-text-xs--line-height: calc(1 / .75);--babylai-text-sm: .875rem;--babylai-text-sm--line-height: calc(1.25 / .875);--babylai-text-base: 1rem;--babylai-text-base--line-height: 1.5 ;--babylai-text-lg: 1.125rem;--babylai-text-lg--line-height: calc(1.75 / 1.125);--babylai-text-xl: 1.25rem;--babylai-text-xl--line-height: calc(1.75 / 1.25);--babylai-text-2xl: 1.5rem;--babylai-text-2xl--line-height: calc(2 / 1.5);--babylai-font-weight-normal: 400;--babylai-font-weight-medium: 500;--babylai-font-weight-semibold: 600;--babylai-font-weight-bold: 700;--babylai-tracking-tight: -.025em;--babylai-leading-snug: 1.375;--babylai-radius-md: .375rem;--babylai-radius-lg: .5rem;--babylai-radius-xl: .75rem;--babylai-radius-2xl: 1rem;--babylai-radius-3xl: 1.5rem;--babylai-ease-out: cubic-bezier(0, 0, .2, 1);--babylai-default-transition-duration: .15s;--babylai-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-card: var(--babylai-card);--babylai-color-card-foreground: var(--babylai-card-foreground);--babylai-color-secondary: var(--babylai-secondary);--babylai-color-secondary-foreground: var(--babylai-secondary-foreground);--babylai-color-muted: var(--babylai-muted);--babylai-color-muted-foreground: var(--babylai-muted-foreground);--babylai-color-destructive: var(--babylai-destructive);--babylai-color-border: var(--babylai-border);--babylai-color-black-white-50: var(--babylai-black-white-50);--babylai-color-black-white-200: var(--babylai-black-white-200);--babylai-color-black-white-300: var(--babylai-black-white-300)}}@layer utilities{.babylai\\:pointer-events-auto{pointer-events:auto}.babylai\\:pointer-events-none{pointer-events:none}.babylai\\:invisible{visibility:hidden}.babylai\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.babylai\\:absolute{position:absolute}.babylai\\:fixed{position:fixed}.babylai\\:relative{position:relative}.babylai\\:sticky{position:sticky}.babylai\\:inset-0{inset:calc(var(--babylai-spacing) * 0)}.babylai\\:-top-2{top:calc(var(--babylai-spacing) * -2)}.babylai\\:top-0\\.5{top:calc(var(--babylai-spacing) * .5)}.babylai\\:top-1\\/2{top:50%}.babylai\\:top-4{top:calc(var(--babylai-spacing) * 4)}.babylai\\:-right-2{right:calc(var(--babylai-spacing) * -2)}.babylai\\:right-0{right:calc(var(--babylai-spacing) * 0)}.babylai\\:right-0\\.5{right:calc(var(--babylai-spacing) * .5)}.babylai\\:right-4{right:calc(var(--babylai-spacing) * 4)}.babylai\\:right-5{right:calc(var(--babylai-spacing) * 5)}.babylai\\:right-6{right:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-0{bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:bottom-4{bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:bottom-6{bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-11{bottom:calc(var(--babylai-spacing) * 11)}.babylai\\:bottom-20{bottom:calc(var(--babylai-spacing) * 20)}.babylai\\:bottom-24{bottom:calc(var(--babylai-spacing) * 24)}.babylai\\:bottom-\\[-8px\\]{bottom:-8px}.babylai\\:left-0{left:calc(var(--babylai-spacing) * 0)}.babylai\\:left-1\\/2{left:50%}.babylai\\:left-4{left:calc(var(--babylai-spacing) * 4)}.babylai\\:z-1{z-index:1}.babylai\\:z-10{z-index:10}.babylai\\:z-20{z-index:20}.babylai\\:z-50{z-index:50}.babylai\\:z-1000{z-index:1000}.babylai\\:z-9997{z-index:9997}.babylai\\:z-9998{z-index:9998}.babylai\\:z-9999{z-index:9999}.babylai\\:z-10001{z-index:10001}.babylai\\:m-0{margin:calc(var(--babylai-spacing) * 0)}.babylai\\:ms-auto{margin-inline-start:auto}.babylai\\:me-3{margin-inline-end:calc(var(--babylai-spacing) * 3)}.babylai\\:mt-1{margin-top:calc(var(--babylai-spacing) * 1)}.babylai\\:mt-6{margin-top:calc(var(--babylai-spacing) * 6)}.babylai\\:mb-0{margin-bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:mb-1{margin-bottom:calc(var(--babylai-spacing) * 1)}.babylai\\:mb-2{margin-bottom:calc(var(--babylai-spacing) * 2)}.babylai\\:mb-2\\!{margin-bottom:calc(var(--babylai-spacing) * 2)!important}.babylai\\:mb-4{margin-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:mb-5{margin-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:mb-6{margin-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:ml-auto{margin-left:auto}.babylai\\:box-border{box-sizing:border-box}.babylai\\:block{display:block}.babylai\\:flex{display:flex}.babylai\\:grid{display:grid}.babylai\\:hidden{display:none}.babylai\\:inline-block{display:inline-block}.babylai\\:inline-flex{display:inline-flex}.babylai\\:h-0{height:calc(var(--babylai-spacing) * 0)}.babylai\\:h-1\\.5{height:calc(var(--babylai-spacing) * 1.5)}.babylai\\:h-3{height:calc(var(--babylai-spacing) * 3)}.babylai\\:h-4{height:calc(var(--babylai-spacing) * 4)}.babylai\\:h-5{height:calc(var(--babylai-spacing) * 5)}.babylai\\:h-6{height:calc(var(--babylai-spacing) * 6)}.babylai\\:h-7{height:calc(var(--babylai-spacing) * 7)}.babylai\\:h-8{height:calc(var(--babylai-spacing) * 8)}.babylai\\:h-10{height:calc(var(--babylai-spacing) * 10)}.babylai\\:h-12{height:calc(var(--babylai-spacing) * 12)}.babylai\\:h-20{height:calc(var(--babylai-spacing) * 20)}.babylai\\:h-\\[50px\\]{height:50px}.babylai\\:h-\\[600px\\]{height:600px}.babylai\\:h-\\[calc\\(100vh-12rem\\)\\]{height:calc(100vh - 12rem)}.babylai\\:h-auto{height:auto}.babylai\\:h-full{height:100%}.babylai\\:h-screen{height:100vh}.babylai\\:max-h-\\[90vh\\]{max-height:90vh}.babylai\\:max-h-\\[800px\\]{max-height:800px}.babylai\\:max-h-full{max-height:100%}.babylai\\:min-h-20{min-height:calc(var(--babylai-spacing) * 20)}.babylai\\:w-0{width:calc(var(--babylai-spacing) * 0)}.babylai\\:w-1\\.5{width:calc(var(--babylai-spacing) * 1.5)}.babylai\\:w-3{width:calc(var(--babylai-spacing) * 3)}.babylai\\:w-4{width:calc(var(--babylai-spacing) * 4)}.babylai\\:w-5{width:calc(var(--babylai-spacing) * 5)}.babylai\\:w-6{width:calc(var(--babylai-spacing) * 6)}.babylai\\:w-7{width:calc(var(--babylai-spacing) * 7)}.babylai\\:w-8{width:calc(var(--babylai-spacing) * 8)}.babylai\\:w-10{width:calc(var(--babylai-spacing) * 10)}.babylai\\:w-12{width:calc(var(--babylai-spacing) * 12)}.babylai\\:w-15{width:calc(var(--babylai-spacing) * 15)}.babylai\\:w-20{width:calc(var(--babylai-spacing) * 20)}.babylai\\:w-96{width:calc(var(--babylai-spacing) * 96)}.babylai\\:w-\\[50px\\]{width:50px}.babylai\\:w-auto{width:auto}.babylai\\:w-full{width:100%}.babylai\\:max-w-40{max-width:calc(var(--babylai-spacing) * 40)}.babylai\\:max-w-\\[80\\%\\]{max-width:80%}.babylai\\:max-w-\\[90vw\\]{max-width:90vw}.babylai\\:max-w-\\[220px\\]{max-width:220px}.babylai\\:max-w-\\[800px\\]{max-width:800px}.babylai\\:max-w-full{max-width:100%}.babylai\\:max-w-xs{max-width:var(--babylai-container-xs)}.babylai\\:min-w-0{min-width:calc(var(--babylai-spacing) * 0)}.babylai\\:flex-1{flex:1}.babylai\\:shrink-0{flex-shrink:0}.babylai\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-0{--tw-translate-y: calc(var(--babylai-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-2{--tw-translate-y: calc(var(--babylai-spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.babylai\\:scale-\\[0\\.96\\]{scale:.96}.babylai\\:cursor-not-allowed{cursor:not-allowed}.babylai\\:cursor-pointer{cursor:pointer}.babylai\\:resize-none{resize:none}.babylai\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.babylai\\:flex-col{flex-direction:column}.babylai\\:flex-row-reverse{flex-direction:row-reverse}.babylai\\:flex-wrap{flex-wrap:wrap}.babylai\\:items-center{align-items:center}.babylai\\:items-end{align-items:flex-end}.babylai\\:items-start{align-items:flex-start}.babylai\\:justify-between{justify-content:space-between}.babylai\\:justify-center{justify-content:center}.babylai\\:justify-end{justify-content:flex-end}.babylai\\:gap-0\\.5{gap:calc(var(--babylai-spacing) * .5)}.babylai\\:gap-1{gap:calc(var(--babylai-spacing) * 1)}.babylai\\:gap-1\\.5{gap:calc(var(--babylai-spacing) * 1.5)}.babylai\\:gap-2{gap:calc(var(--babylai-spacing) * 2)}.babylai\\:gap-2\\.5{gap:calc(var(--babylai-spacing) * 2.5)}.babylai\\:gap-3{gap:calc(var(--babylai-spacing) * 3)}.babylai\\:gap-4{gap:calc(var(--babylai-spacing) * 4)}.babylai\\:gap-6{gap:calc(var(--babylai-spacing) * 6)}.babylai\\:overflow-hidden{overflow:hidden}.babylai\\:overflow-x-auto{overflow-x:auto}.babylai\\:overflow-y-auto{overflow-y:auto}.babylai\\:rounded-2xl{border-radius:var(--babylai-radius-2xl)}.babylai\\:rounded-3xl{border-radius:var(--babylai-radius-3xl)}.babylai\\:rounded-full{border-radius:calc(infinity * 1px)}.babylai\\:rounded-lg{border-radius:var(--babylai-radius-lg)}.babylai\\:rounded-md{border-radius:var(--babylai-radius-md)}.babylai\\:rounded-xl{border-radius:var(--babylai-radius-xl)}.babylai\\:rounded-t-2xl{border-top-left-radius:var(--babylai-radius-2xl);border-top-right-radius:var(--babylai-radius-2xl)}.babylai\\:border{border-style:var(--tw-border-style);border-width:1px}.babylai\\:border-0{border-style:var(--tw-border-style);border-width:0px}.babylai\\:border-2{border-style:var(--tw-border-style);border-width:2px}.babylai\\:border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.babylai\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.babylai\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.babylai\\:border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.babylai\\:border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.babylai\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.babylai\\:border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.babylai\\:border-none{--tw-border-style: none;border-style:none}.babylai\\:border-black-white-50{border-color:var(--babylai-color-black-white-50)}.babylai\\:border-black-white-200{border-color:var(--babylai-color-black-white-200)}.babylai\\:border-border{border-color:var(--babylai-color-border)}.babylai\\:border-destructive{border-color:var(--babylai-color-destructive)}.babylai\\:border-primary{border-color:var(--babylai-color-primary)}.babylai\\:border-white\\/20{border-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:border-white\\/20{border-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}.babylai\\:border-t-primary{border-top-color:var(--babylai-color-primary)}.babylai\\:border-r-transparent{border-right-color:transparent}.babylai\\:border-l-transparent{border-left-color:transparent}.babylai\\:bg-black-white-50{background-color:var(--babylai-color-black-white-50)}.babylai\\:bg-black\\/30{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/30{background-color:color-mix(in oklab,var(--babylai-color-black) 30%,transparent)}}.babylai\\:bg-black\\/50{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/50{background-color:color-mix(in oklab,var(--babylai-color-black) 50%,transparent)}}.babylai\\:bg-black\\/60{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/60{background-color:color-mix(in oklab,var(--babylai-color-black) 60%,transparent)}}.babylai\\:bg-black\\/90{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/90{background-color:color-mix(in oklab,var(--babylai-color-black) 90%,transparent)}}.babylai\\:bg-card{background-color:var(--babylai-color-card)}.babylai\\:bg-card-foreground\\/50{background-color:var(--babylai-color-card-foreground)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-card-foreground\\/50{background-color:color-mix(in oklab,var(--babylai-color-card-foreground) 50%,transparent)}}.babylai\\:bg-current{background-color:currentcolor}.babylai\\:bg-destructive{background-color:var(--babylai-color-destructive)}.babylai\\:bg-muted{background-color:var(--babylai-color-muted)}.babylai\\:bg-primary{background-color:var(--babylai-color-primary)}.babylai\\:bg-primary-500{background-color:var(--babylai-color-primary-500)}.babylai\\:bg-primary\\/15{background-color:var(--babylai-color-primary)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-primary\\/15{background-color:color-mix(in oklab,var(--babylai-color-primary) 15%,transparent)}}.babylai\\:bg-secondary{background-color:var(--babylai-color-secondary)}.babylai\\:bg-transparent{background-color:transparent}.babylai\\:bg-white,.babylai\\:bg-white\\/10{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-white\\/10{background-color:color-mix(in oklab,var(--babylai-color-white) 10%,transparent)}}.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom in oklab}}.babylai\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:bg-linear-to-t{--tw-gradient-position: to top}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-t{--tw-gradient-position: to top in oklab}}.babylai\\:bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:from-card{--tw-gradient-from: var(--babylai-color-card);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.babylai\\:to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.babylai\\:object-contain{object-fit:contain}.babylai\\:object-cover{object-fit:cover}.babylai\\:p-0{padding:calc(var(--babylai-spacing) * 0)}.babylai\\:p-1{padding:calc(var(--babylai-spacing) * 1)}.babylai\\:p-1\\.5{padding:calc(var(--babylai-spacing) * 1.5)}.babylai\\:p-2{padding:calc(var(--babylai-spacing) * 2)}.babylai\\:p-3{padding:calc(var(--babylai-spacing) * 3)}.babylai\\:p-4{padding:calc(var(--babylai-spacing) * 4)}.babylai\\:p-5{padding:calc(var(--babylai-spacing) * 5)}.babylai\\:p-5\\!{padding:calc(var(--babylai-spacing) * 5)!important}.babylai\\:p-6{padding:calc(var(--babylai-spacing) * 6)}.babylai\\:px-2{padding-inline:calc(var(--babylai-spacing) * 2)}.babylai\\:px-4{padding-inline:calc(var(--babylai-spacing) * 4)}.babylai\\:px-6{padding-inline:calc(var(--babylai-spacing) * 6)}.babylai\\:py-2{padding-block:calc(var(--babylai-spacing) * 2)}.babylai\\:py-3{padding-block:calc(var(--babylai-spacing) * 3)}.babylai\\:py-4{padding-block:calc(var(--babylai-spacing) * 4)}.babylai\\:py-6{padding-block:calc(var(--babylai-spacing) * 6)}.babylai\\:py-28{padding-block:calc(var(--babylai-spacing) * 28)}.babylai\\:pe-2{padding-inline-end:calc(var(--babylai-spacing) * 2)}.babylai\\:pt-0{padding-top:calc(var(--babylai-spacing) * 0)}.babylai\\:pt-6{padding-top:calc(var(--babylai-spacing) * 6)}.babylai\\:pb-4{padding-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:pb-5{padding-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:pb-6{padding-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:text-center{text-align:center}.babylai\\:text-start{text-align:start}.babylai\\:font-sans{font-family:var(--babylai-font-sans)}.babylai\\:text-2xl{font-size:var(--babylai-text-2xl);line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))}.babylai\\:text-2xl\\!{font-size:var(--babylai-text-2xl)!important;line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))!important}.babylai\\:text-base{font-size:var(--babylai-text-base);line-height:var(--tw-leading, var(--babylai-text-base--line-height))}.babylai\\:text-base\\!{font-size:var(--babylai-text-base)!important;line-height:var(--tw-leading, var(--babylai-text-base--line-height))!important}.babylai\\:text-lg{font-size:var(--babylai-text-lg);line-height:var(--tw-leading, var(--babylai-text-lg--line-height))}.babylai\\:text-lg\\!{font-size:var(--babylai-text-lg)!important;line-height:var(--tw-leading, var(--babylai-text-lg--line-height))!important}.babylai\\:text-sm{font-size:var(--babylai-text-sm);line-height:var(--tw-leading, var(--babylai-text-sm--line-height))}.babylai\\:text-xl\\!{font-size:var(--babylai-text-xl)!important;line-height:var(--tw-leading, var(--babylai-text-xl--line-height))!important}.babylai\\:text-xs{font-size:var(--babylai-text-xs);line-height:var(--tw-leading, var(--babylai-text-xs--line-height))}.babylai\\:leading-none{--tw-leading: 1;line-height:1}.babylai\\:leading-snug{--tw-leading: var(--babylai-leading-snug);line-height:var(--babylai-leading-snug)}.babylai\\:font-bold{--tw-font-weight: var(--babylai-font-weight-bold);font-weight:var(--babylai-font-weight-bold)}.babylai\\:font-bold\\!{--tw-font-weight: var(--babylai-font-weight-bold) !important;font-weight:var(--babylai-font-weight-bold)!important}.babylai\\:font-medium{--tw-font-weight: var(--babylai-font-weight-medium);font-weight:var(--babylai-font-weight-medium)}.babylai\\:font-normal{--tw-font-weight: var(--babylai-font-weight-normal);font-weight:var(--babylai-font-weight-normal)}.babylai\\:font-semibold{--tw-font-weight: var(--babylai-font-weight-semibold);font-weight:var(--babylai-font-weight-semibold)}.babylai\\:font-semibold\\!{--tw-font-weight: var(--babylai-font-weight-semibold) !important;font-weight:var(--babylai-font-weight-semibold)!important}.babylai\\:tracking-tight{--tw-tracking: var(--babylai-tracking-tight);letter-spacing:var(--babylai-tracking-tight)}.babylai\\:wrap-break-word{overflow-wrap:break-word}.babylai\\:whitespace-nowrap{white-space:nowrap}.babylai\\:text-\\[\\#F49E00\\]{color:#f49e00}.babylai\\:text-black-white-50{color:var(--babylai-color-black-white-50)}.babylai\\:text-black-white-200{color:var(--babylai-color-black-white-200)}.babylai\\:text-black-white-300{color:var(--babylai-color-black-white-300)}.babylai\\:text-card-foreground{color:var(--babylai-color-card-foreground)}.babylai\\:text-destructive{color:var(--babylai-color-destructive)}.babylai\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}.babylai\\:text-primary{color:var(--babylai-color-primary)}.babylai\\:text-primary-500{color:var(--babylai-color-primary-500)}.babylai\\:text-secondary-foreground{color:var(--babylai-color-secondary-foreground)}.babylai\\:text-white{color:var(--babylai-color-white)}.babylai\\:no-underline{text-decoration-line:none}.babylai\\:opacity-0{opacity:0%}.babylai\\:opacity-30{opacity:30%}.babylai\\:opacity-50{opacity:50%}.babylai\\:opacity-70{opacity:70%}.babylai\\:opacity-80{opacity:80%}.babylai\\:opacity-100{opacity:100%}.babylai\\:shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring-primary-500{--tw-ring-color: var(--babylai-color-primary-500)}.babylai\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:duration-200{--tw-duration: .2s;transition-duration:.2s}.babylai\\:duration-250{--tw-duration: .25s;transition-duration:.25s}.babylai\\:ease-out{--tw-ease: var(--babylai-ease-out);transition-timing-function:var(--babylai-ease-out)}.babylai\\:outline-none{--tw-outline-style: none;outline-style:none}@media(hover:hover){.babylai\\:hover\\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.babylai\\:hover\\:border-primary-200:hover{border-color:var(--babylai-color-primary-200)}}@media(hover:hover){.babylai\\:hover\\:border-primary-600:hover{border-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-100:hover{background-color:var(--babylai-color-primary-100)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-600:hover{background-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-secondary:hover{background-color:var(--babylai-color-secondary)}}@media(hover:hover){.babylai\\:hover\\:bg-white\\/20:hover{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}}@media(hover:hover){.babylai\\:hover\\:text-\\[\\#F49E00\\]:hover{color:#f49e00}}@media(hover:hover){.babylai\\:hover\\:text-primary-500:hover{color:var(--babylai-color-primary-500)}}@media(hover:hover){.babylai\\:hover\\:opacity-80:hover{opacity:80%}}.babylai\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.babylai\\:active\\:opacity-95:active{opacity:95%}.babylai\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.babylai\\:disabled\\:border-black-white-300:disabled{border-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-black-white-300:disabled{background-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-secondary:disabled{background-color:var(--babylai-color-secondary)}.babylai\\:disabled\\:text-white:disabled{color:var(--babylai-color-white)}.babylai\\:disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.babylai\\:dark\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}}}:root{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-black-white-50: #ffffff;--babylai-black-white-100: #f3f3f3;--babylai-black-white-200: #e2e2e2;--babylai-black-white-300: #919191;--babylai-black-white-400: #606060;--babylai-black-white-500: #333333;--babylai-black-white-600: #1f1f1f;--babylai-black-white-700: #171717;--babylai-black-white-800: #0a0a0a;--babylai-black-white-900: #050505;--babylai-black-white-950: #000000;--babylai-black-white-default: #333333;--babylai-primary-color: #ad49e1;--babylai-primary-color-100: #f6ecfc;--babylai-primary-color-200: #deb6f3;--babylai-primary-color-300: #d49cee;--babylai-primary-color-400: #c57fea;--babylai-primary-color-500: #ad49e1;--babylai-primary-color-600: #672b87;--babylai-primary-color-700: #451d5a;--babylai-primary-color-800: #220e2d;--babylai-primary-color-900: #110716;--babylai-primary-color-950: #0a0310;--babylai-background: var(--babylai-black-white-50);--babylai-card: var(--babylai-black-white-50);--babylai-card-foreground: var(--babylai-black-white-500);--babylai-secondary: var(--babylai-black-white-100);--babylai-secondary-foreground: var(--babylai-black-white-500);--babylai-muted: var(--babylai-black-white-100);--babylai-muted-foreground: var(--babylai-black-white-400);--babylai-destructive: #ef4444;--babylai-destructive-foreground: var(--babylai-black-white-50);--babylai-border: var(--babylai-black-white-200);--babylai-ring: var(--babylai-primary-color);--babylai-radius: .5rem}.babylai-typing-dot{animation:typing-dot 1.4s ease-in-out infinite}.babylai-typing-dot:nth-child(1){animation-delay:0ms}.babylai-typing-dot:nth-child(2){animation-delay:.2s}.babylai-typing-dot:nth-child(3){animation-delay:.4s}.babylai-theme-root{--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-300: var(--babylai-primary-color-300);--babylai-color-primary-400: var(--babylai-primary-color-400);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-primary-700: var(--babylai-primary-color-700);--babylai-color-primary-800: var(--babylai-primary-color-800);--babylai-color-primary-900: var(--babylai-primary-color-900);--babylai-color-primary-950: var(--babylai-primary-color-950);--ring: var(--babylai-primary-color);--color-ring: var(--babylai-primary-color);font-family:var(--babylai-font-sans)}.babylai-theme-root *{box-sizing:border-box}.babylai-theme-root button{font:inherit}.babylai-theme-root input,.babylai-theme-root textarea{font-family:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6{font-size:inherit;font-weight:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6,.babylai-theme-root p{margin:0}.babylai-theme-root ul,.babylai-theme-root ol{list-style:auto;padding-inline-start:40px;margin-block-start:1rem;margin-block-end:1rem}.bg-header{background:linear-gradient(171deg,var(--babylai-primary-color) -131.06%,var(--babylai-black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--babylai-primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--babylai-black-white-50) 25%,transparent) 89.82%)}}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: \"*\"; inherits: false;}@property --tw-gradient-from{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-via-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-from-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:scale(.85)}30%{opacity:1;transform:scale(1)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
4062
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"babylai-theme-root babylai:flex babylai:flex-col babylai:items-end babylai:h-auto babylai:w-auto babylai:fixed babylai:bottom-6 babylai:right-6 babylai:z-9998\"\n [dir]=\"getDirection()\"\n>\n <!-- TEST: Version mismatch fixed - Arrow Animation - SUCCESS! -->\n <app-arrow-animation\n [showArrowAnimation]=\"showArrowAnimation()\"\n [isPopupOpen]=\"isPopupOpen()\"\n [messageLabel]=\"messageLabel()\"\n (closeArrowAnimation)=\"handleCloseArrowAnimation()\"\n ></app-arrow-animation>\n\n <!-- Help Button -->\n <app-help-button\n [isPopupOpen]=\"isPopupOpen()\"\n (togglePopup)=\"handleTogglePopup()\"\n ></app-help-button>\n\n <!-- Help Popup -->\n <app-help-popup\n [isPopupOpen]=\"isPopupOpen()\"\n [showHelpScreenData]=\"showHelpScreenData()\"\n [showChat]=\"showChat()\"\n [status]=\"status()\"\n [error]=\"error()\"\n [helpScreenData]=\"helpScreenData()\"\n [messages]=\"messages()\"\n [needsAgent]=\"needsAgent()\"\n [assistantStatus]=\"assistantStatus()\"\n [isAblyConnected]=\"isAblyConnected()\"\n [isChatClosed]=\"isChatClosed()\"\n [currentLang]=\"currentLang()\"\n [chatIsLoading]=\"chatIsLoading()\"\n [sessionId]=\"sessionId()\"\n [selectedOption]=\"selectedOption()\"\n [selectedNestedOption]=\"selectedNestedOption()\"\n [showEndChatConfirmation]=\"showEndChatConfirmation()\"\n [showStartNewChatConfirmation]=\"showStartNewChatConfirmation()\"\n [showReviewDialog]=\"showReviewDialog()\"\n [isSubmittingReview]=\"isSubmittingReview()\"\n [isStartingNewChat]=\"isStartingNewChat()\"\n (closePopup)=\"handleClosePopup()\"\n (minimizePopup)=\"handleMinimizePopup()\"\n (back)=\"handleBack()\"\n (showChatEvent)=\"handleShowChat()\"\n (endChat)=\"handleEndChat()\"\n (confirmEndChat)=\"confirmEndChat()\"\n (cancelEndChat)=\"cancelEndChat()\"\n (closeEndChat)=\"closeEndChat()\"\n (confirmStartNewChat)=\"confirmStartNewChat()\"\n (cancelStartNewChat)=\"cancelStartNewChat()\"\n (closeStartNewChat)=\"closeStartNewChat()\"\n (reviewSubmit)=\"handleReviewSubmit($event)\"\n (reviewSkip)=\"handleReviewSkip()\"\n (reviewClose)=\"handleReviewClose()\"\n (reviewSubmitFromChat)=\"handleReviewSubmitFromChat($event)\"\n (reviewSkipFromChat)=\"handleReviewSkipFromChat()\"\n (sendMessageEvent)=\"sendMessage($event)\"\n (requestSessionForAttachments)=\"handleRequestSessionForAttachments()\"\n (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&display=swap\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-color-black: #000;--babylai-color-white: #fff;--babylai-spacing: .25rem;--babylai-container-xs: 20rem;--babylai-text-xs: .75rem;--babylai-text-xs--line-height: calc(1 / .75);--babylai-text-sm: .875rem;--babylai-text-sm--line-height: calc(1.25 / .875);--babylai-text-base: 1rem;--babylai-text-base--line-height: 1.5 ;--babylai-text-lg: 1.125rem;--babylai-text-lg--line-height: calc(1.75 / 1.125);--babylai-text-xl: 1.25rem;--babylai-text-xl--line-height: calc(1.75 / 1.25);--babylai-text-2xl: 1.5rem;--babylai-text-2xl--line-height: calc(2 / 1.5);--babylai-font-weight-normal: 400;--babylai-font-weight-medium: 500;--babylai-font-weight-semibold: 600;--babylai-font-weight-bold: 700;--babylai-tracking-tight: -.025em;--babylai-leading-snug: 1.375;--babylai-radius-md: .375rem;--babylai-radius-lg: .5rem;--babylai-radius-xl: .75rem;--babylai-radius-2xl: 1rem;--babylai-radius-3xl: 1.5rem;--babylai-ease-out: cubic-bezier(0, 0, .2, 1);--babylai-default-transition-duration: .15s;--babylai-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-card: var(--babylai-card);--babylai-color-card-foreground: var(--babylai-card-foreground);--babylai-color-secondary: var(--babylai-secondary);--babylai-color-secondary-foreground: var(--babylai-secondary-foreground);--babylai-color-muted: var(--babylai-muted);--babylai-color-muted-foreground: var(--babylai-muted-foreground);--babylai-color-destructive: var(--babylai-destructive);--babylai-color-border: var(--babylai-border);--babylai-color-black-white-50: var(--babylai-black-white-50);--babylai-color-black-white-200: var(--babylai-black-white-200);--babylai-color-black-white-300: var(--babylai-black-white-300)}}@layer utilities{.babylai\\:pointer-events-auto{pointer-events:auto}.babylai\\:pointer-events-none{pointer-events:none}.babylai\\:invisible{visibility:hidden}.babylai\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.babylai\\:absolute{position:absolute}.babylai\\:fixed{position:fixed}.babylai\\:relative{position:relative}.babylai\\:sticky{position:sticky}.babylai\\:inset-0{inset:calc(var(--babylai-spacing) * 0)}.babylai\\:-top-2{top:calc(var(--babylai-spacing) * -2)}.babylai\\:top-0\\.5{top:calc(var(--babylai-spacing) * .5)}.babylai\\:top-1\\/2{top:50%}.babylai\\:top-4{top:calc(var(--babylai-spacing) * 4)}.babylai\\:-right-2{right:calc(var(--babylai-spacing) * -2)}.babylai\\:right-0{right:calc(var(--babylai-spacing) * 0)}.babylai\\:right-0\\.5{right:calc(var(--babylai-spacing) * .5)}.babylai\\:right-4{right:calc(var(--babylai-spacing) * 4)}.babylai\\:right-5{right:calc(var(--babylai-spacing) * 5)}.babylai\\:right-6{right:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-0{bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:bottom-4{bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:bottom-6{bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:bottom-11{bottom:calc(var(--babylai-spacing) * 11)}.babylai\\:bottom-20{bottom:calc(var(--babylai-spacing) * 20)}.babylai\\:bottom-24{bottom:calc(var(--babylai-spacing) * 24)}.babylai\\:bottom-\\[-8px\\]{bottom:-8px}.babylai\\:left-0{left:calc(var(--babylai-spacing) * 0)}.babylai\\:left-1\\/2{left:50%}.babylai\\:left-4{left:calc(var(--babylai-spacing) * 4)}.babylai\\:z-1{z-index:1}.babylai\\:z-10{z-index:10}.babylai\\:z-20{z-index:20}.babylai\\:z-50{z-index:50}.babylai\\:z-1000{z-index:1000}.babylai\\:z-9997{z-index:9997}.babylai\\:z-9998{z-index:9998}.babylai\\:z-9999{z-index:9999}.babylai\\:z-10001{z-index:10001}.babylai\\:m-0{margin:calc(var(--babylai-spacing) * 0)}.babylai\\:ms-auto{margin-inline-start:auto}.babylai\\:me-3{margin-inline-end:calc(var(--babylai-spacing) * 3)}.babylai\\:mt-1{margin-top:calc(var(--babylai-spacing) * 1)}.babylai\\:mt-6{margin-top:calc(var(--babylai-spacing) * 6)}.babylai\\:mb-0{margin-bottom:calc(var(--babylai-spacing) * 0)}.babylai\\:mb-1{margin-bottom:calc(var(--babylai-spacing) * 1)}.babylai\\:mb-2{margin-bottom:calc(var(--babylai-spacing) * 2)}.babylai\\:mb-2\\!{margin-bottom:calc(var(--babylai-spacing) * 2)!important}.babylai\\:mb-4{margin-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:mb-5{margin-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:mb-6{margin-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:ml-auto{margin-left:auto}.babylai\\:box-border{box-sizing:border-box}.babylai\\:block{display:block}.babylai\\:flex{display:flex}.babylai\\:grid{display:grid}.babylai\\:hidden{display:none}.babylai\\:inline-block{display:inline-block}.babylai\\:inline-flex{display:inline-flex}.babylai\\:h-0{height:calc(var(--babylai-spacing) * 0)}.babylai\\:h-1\\.5{height:calc(var(--babylai-spacing) * 1.5)}.babylai\\:h-3{height:calc(var(--babylai-spacing) * 3)}.babylai\\:h-4{height:calc(var(--babylai-spacing) * 4)}.babylai\\:h-5{height:calc(var(--babylai-spacing) * 5)}.babylai\\:h-6{height:calc(var(--babylai-spacing) * 6)}.babylai\\:h-7{height:calc(var(--babylai-spacing) * 7)}.babylai\\:h-8{height:calc(var(--babylai-spacing) * 8)}.babylai\\:h-10{height:calc(var(--babylai-spacing) * 10)}.babylai\\:h-12{height:calc(var(--babylai-spacing) * 12)}.babylai\\:h-20{height:calc(var(--babylai-spacing) * 20)}.babylai\\:h-\\[50px\\]{height:50px}.babylai\\:h-\\[600px\\]{height:600px}.babylai\\:h-\\[calc\\(100vh-12rem\\)\\]{height:calc(100vh - 12rem)}.babylai\\:h-auto{height:auto}.babylai\\:h-full{height:100%}.babylai\\:h-screen{height:100vh}.babylai\\:max-h-\\[90vh\\]{max-height:90vh}.babylai\\:max-h-\\[800px\\]{max-height:800px}.babylai\\:max-h-full{max-height:100%}.babylai\\:min-h-20{min-height:calc(var(--babylai-spacing) * 20)}.babylai\\:w-0{width:calc(var(--babylai-spacing) * 0)}.babylai\\:w-1\\.5{width:calc(var(--babylai-spacing) * 1.5)}.babylai\\:w-3{width:calc(var(--babylai-spacing) * 3)}.babylai\\:w-4{width:calc(var(--babylai-spacing) * 4)}.babylai\\:w-5{width:calc(var(--babylai-spacing) * 5)}.babylai\\:w-6{width:calc(var(--babylai-spacing) * 6)}.babylai\\:w-7{width:calc(var(--babylai-spacing) * 7)}.babylai\\:w-8{width:calc(var(--babylai-spacing) * 8)}.babylai\\:w-10{width:calc(var(--babylai-spacing) * 10)}.babylai\\:w-12{width:calc(var(--babylai-spacing) * 12)}.babylai\\:w-15{width:calc(var(--babylai-spacing) * 15)}.babylai\\:w-20{width:calc(var(--babylai-spacing) * 20)}.babylai\\:w-96{width:calc(var(--babylai-spacing) * 96)}.babylai\\:w-\\[50px\\]{width:50px}.babylai\\:w-auto{width:auto}.babylai\\:w-full{width:100%}.babylai\\:max-w-40{max-width:calc(var(--babylai-spacing) * 40)}.babylai\\:max-w-\\[80\\%\\]{max-width:80%}.babylai\\:max-w-\\[90vw\\]{max-width:90vw}.babylai\\:max-w-\\[220px\\]{max-width:220px}.babylai\\:max-w-\\[800px\\]{max-width:800px}.babylai\\:max-w-full{max-width:100%}.babylai\\:max-w-xs{max-width:var(--babylai-container-xs)}.babylai\\:min-w-0{min-width:calc(var(--babylai-spacing) * 0)}.babylai\\:flex-1{flex:1}.babylai\\:shrink-0{flex-shrink:0}.babylai\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-0{--tw-translate-y: calc(var(--babylai-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:translate-y-2{--tw-translate-y: calc(var(--babylai-spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.babylai\\:scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.babylai\\:scale-\\[0\\.96\\]{scale:.96}.babylai\\:cursor-not-allowed{cursor:not-allowed}.babylai\\:cursor-pointer{cursor:pointer}.babylai\\:resize-none{resize:none}.babylai\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.babylai\\:flex-col{flex-direction:column}.babylai\\:flex-row-reverse{flex-direction:row-reverse}.babylai\\:flex-wrap{flex-wrap:wrap}.babylai\\:items-center{align-items:center}.babylai\\:items-end{align-items:flex-end}.babylai\\:items-start{align-items:flex-start}.babylai\\:justify-between{justify-content:space-between}.babylai\\:justify-center{justify-content:center}.babylai\\:justify-end{justify-content:flex-end}.babylai\\:gap-0\\.5{gap:calc(var(--babylai-spacing) * .5)}.babylai\\:gap-1{gap:calc(var(--babylai-spacing) * 1)}.babylai\\:gap-1\\.5{gap:calc(var(--babylai-spacing) * 1.5)}.babylai\\:gap-2{gap:calc(var(--babylai-spacing) * 2)}.babylai\\:gap-2\\.5{gap:calc(var(--babylai-spacing) * 2.5)}.babylai\\:gap-3{gap:calc(var(--babylai-spacing) * 3)}.babylai\\:gap-4{gap:calc(var(--babylai-spacing) * 4)}.babylai\\:gap-6{gap:calc(var(--babylai-spacing) * 6)}.babylai\\:overflow-hidden{overflow:hidden}.babylai\\:overflow-x-auto{overflow-x:auto}.babylai\\:overflow-y-auto{overflow-y:auto}.babylai\\:rounded-2xl{border-radius:var(--babylai-radius-2xl)}.babylai\\:rounded-3xl{border-radius:var(--babylai-radius-3xl)}.babylai\\:rounded-full{border-radius:calc(infinity * 1px)}.babylai\\:rounded-lg{border-radius:var(--babylai-radius-lg)}.babylai\\:rounded-md{border-radius:var(--babylai-radius-md)}.babylai\\:rounded-xl{border-radius:var(--babylai-radius-xl)}.babylai\\:rounded-t-2xl{border-top-left-radius:var(--babylai-radius-2xl);border-top-right-radius:var(--babylai-radius-2xl)}.babylai\\:border{border-style:var(--tw-border-style);border-width:1px}.babylai\\:border-0{border-style:var(--tw-border-style);border-width:0px}.babylai\\:border-2{border-style:var(--tw-border-style);border-width:2px}.babylai\\:border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.babylai\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.babylai\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.babylai\\:border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.babylai\\:border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.babylai\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.babylai\\:border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.babylai\\:border-none{--tw-border-style: none;border-style:none}.babylai\\:border-black-white-50{border-color:var(--babylai-color-black-white-50)}.babylai\\:border-black-white-200{border-color:var(--babylai-color-black-white-200)}.babylai\\:border-border{border-color:var(--babylai-color-border)}.babylai\\:border-destructive{border-color:var(--babylai-color-destructive)}.babylai\\:border-primary{border-color:var(--babylai-color-primary)}.babylai\\:border-white\\/20{border-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:border-white\\/20{border-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}.babylai\\:border-t-primary{border-top-color:var(--babylai-color-primary)}.babylai\\:border-r-transparent{border-right-color:transparent}.babylai\\:border-l-transparent{border-left-color:transparent}.babylai\\:bg-black-white-50{background-color:var(--babylai-color-black-white-50)}.babylai\\:bg-black\\/30{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/30{background-color:color-mix(in oklab,var(--babylai-color-black) 30%,transparent)}}.babylai\\:bg-black\\/50{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/50{background-color:color-mix(in oklab,var(--babylai-color-black) 50%,transparent)}}.babylai\\:bg-black\\/60{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/60{background-color:color-mix(in oklab,var(--babylai-color-black) 60%,transparent)}}.babylai\\:bg-black\\/90{background-color:var(--babylai-color-black)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-black\\/90{background-color:color-mix(in oklab,var(--babylai-color-black) 90%,transparent)}}.babylai\\:bg-card{background-color:var(--babylai-color-card)}.babylai\\:bg-card-foreground\\/50{background-color:var(--babylai-color-card-foreground)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-card-foreground\\/50{background-color:color-mix(in oklab,var(--babylai-color-card-foreground) 50%,transparent)}}.babylai\\:bg-current{background-color:currentcolor}.babylai\\:bg-destructive{background-color:var(--babylai-color-destructive)}.babylai\\:bg-muted{background-color:var(--babylai-color-muted)}.babylai\\:bg-primary{background-color:var(--babylai-color-primary)}.babylai\\:bg-primary-500{background-color:var(--babylai-color-primary-500)}.babylai\\:bg-primary\\/15{background-color:var(--babylai-color-primary)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-primary\\/15{background-color:color-mix(in oklab,var(--babylai-color-primary) 15%,transparent)}}.babylai\\:bg-secondary{background-color:var(--babylai-color-secondary)}.babylai\\:bg-transparent{background-color:transparent}.babylai\\:bg-white,.babylai\\:bg-white\\/10{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:bg-white\\/10{background-color:color-mix(in oklab,var(--babylai-color-white) 10%,transparent)}}.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-b{--tw-gradient-position: to bottom in oklab}}.babylai\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:bg-linear-to-t{--tw-gradient-position: to top}@supports (background-image: linear-gradient(in lab,red,red)){.babylai\\:bg-linear-to-t{--tw-gradient-position: to top in oklab}}.babylai\\:bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.babylai\\:from-card{--tw-gradient-from: var(--babylai-color-card);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.babylai\\:to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.babylai\\:to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.babylai\\:object-contain{object-fit:contain}.babylai\\:object-cover{object-fit:cover}.babylai\\:p-0{padding:calc(var(--babylai-spacing) * 0)}.babylai\\:p-1{padding:calc(var(--babylai-spacing) * 1)}.babylai\\:p-1\\.5{padding:calc(var(--babylai-spacing) * 1.5)}.babylai\\:p-2{padding:calc(var(--babylai-spacing) * 2)}.babylai\\:p-3{padding:calc(var(--babylai-spacing) * 3)}.babylai\\:p-4{padding:calc(var(--babylai-spacing) * 4)}.babylai\\:p-5{padding:calc(var(--babylai-spacing) * 5)}.babylai\\:p-5\\!{padding:calc(var(--babylai-spacing) * 5)!important}.babylai\\:p-6{padding:calc(var(--babylai-spacing) * 6)}.babylai\\:px-2{padding-inline:calc(var(--babylai-spacing) * 2)}.babylai\\:px-4{padding-inline:calc(var(--babylai-spacing) * 4)}.babylai\\:px-6{padding-inline:calc(var(--babylai-spacing) * 6)}.babylai\\:py-2{padding-block:calc(var(--babylai-spacing) * 2)}.babylai\\:py-3{padding-block:calc(var(--babylai-spacing) * 3)}.babylai\\:py-4{padding-block:calc(var(--babylai-spacing) * 4)}.babylai\\:py-6{padding-block:calc(var(--babylai-spacing) * 6)}.babylai\\:py-28{padding-block:calc(var(--babylai-spacing) * 28)}.babylai\\:pe-2{padding-inline-end:calc(var(--babylai-spacing) * 2)}.babylai\\:pt-0{padding-top:calc(var(--babylai-spacing) * 0)}.babylai\\:pt-6{padding-top:calc(var(--babylai-spacing) * 6)}.babylai\\:pb-4{padding-bottom:calc(var(--babylai-spacing) * 4)}.babylai\\:pb-5{padding-bottom:calc(var(--babylai-spacing) * 5)}.babylai\\:pb-6{padding-bottom:calc(var(--babylai-spacing) * 6)}.babylai\\:text-center{text-align:center}.babylai\\:text-start{text-align:start}.babylai\\:font-sans{font-family:var(--babylai-font-sans)}.babylai\\:text-2xl{font-size:var(--babylai-text-2xl);line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))}.babylai\\:text-2xl\\!{font-size:var(--babylai-text-2xl)!important;line-height:var(--tw-leading, var(--babylai-text-2xl--line-height))!important}.babylai\\:text-base{font-size:var(--babylai-text-base);line-height:var(--tw-leading, var(--babylai-text-base--line-height))}.babylai\\:text-base\\!{font-size:var(--babylai-text-base)!important;line-height:var(--tw-leading, var(--babylai-text-base--line-height))!important}.babylai\\:text-lg{font-size:var(--babylai-text-lg);line-height:var(--tw-leading, var(--babylai-text-lg--line-height))}.babylai\\:text-lg\\!{font-size:var(--babylai-text-lg)!important;line-height:var(--tw-leading, var(--babylai-text-lg--line-height))!important}.babylai\\:text-sm{font-size:var(--babylai-text-sm);line-height:var(--tw-leading, var(--babylai-text-sm--line-height))}.babylai\\:text-xl\\!{font-size:var(--babylai-text-xl)!important;line-height:var(--tw-leading, var(--babylai-text-xl--line-height))!important}.babylai\\:text-xs{font-size:var(--babylai-text-xs);line-height:var(--tw-leading, var(--babylai-text-xs--line-height))}.babylai\\:leading-none{--tw-leading: 1;line-height:1}.babylai\\:leading-snug{--tw-leading: var(--babylai-leading-snug);line-height:var(--babylai-leading-snug)}.babylai\\:font-bold{--tw-font-weight: var(--babylai-font-weight-bold);font-weight:var(--babylai-font-weight-bold)}.babylai\\:font-bold\\!{--tw-font-weight: var(--babylai-font-weight-bold) !important;font-weight:var(--babylai-font-weight-bold)!important}.babylai\\:font-medium{--tw-font-weight: var(--babylai-font-weight-medium);font-weight:var(--babylai-font-weight-medium)}.babylai\\:font-normal{--tw-font-weight: var(--babylai-font-weight-normal);font-weight:var(--babylai-font-weight-normal)}.babylai\\:font-semibold{--tw-font-weight: var(--babylai-font-weight-semibold);font-weight:var(--babylai-font-weight-semibold)}.babylai\\:font-semibold\\!{--tw-font-weight: var(--babylai-font-weight-semibold) !important;font-weight:var(--babylai-font-weight-semibold)!important}.babylai\\:tracking-tight{--tw-tracking: var(--babylai-tracking-tight);letter-spacing:var(--babylai-tracking-tight)}.babylai\\:wrap-break-word{overflow-wrap:break-word}.babylai\\:whitespace-nowrap{white-space:nowrap}.babylai\\:text-\\[\\#F49E00\\]{color:#f49e00}.babylai\\:text-black-white-50{color:var(--babylai-color-black-white-50)}.babylai\\:text-black-white-200{color:var(--babylai-color-black-white-200)}.babylai\\:text-black-white-300{color:var(--babylai-color-black-white-300)}.babylai\\:text-card-foreground{color:var(--babylai-color-card-foreground)}.babylai\\:text-destructive{color:var(--babylai-color-destructive)}.babylai\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}.babylai\\:text-primary{color:var(--babylai-color-primary)}.babylai\\:text-primary-500{color:var(--babylai-color-primary-500)}.babylai\\:text-secondary-foreground{color:var(--babylai-color-secondary-foreground)}.babylai\\:text-white{color:var(--babylai-color-white)}.babylai\\:no-underline{text-decoration-line:none}.babylai\\:opacity-0{opacity:0%}.babylai\\:opacity-30{opacity:30%}.babylai\\:opacity-50{opacity:50%}.babylai\\:opacity-70{opacity:70%}.babylai\\:opacity-80{opacity:80%}.babylai\\:opacity-100{opacity:100%}.babylai\\:shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.babylai\\:ring-primary-500{--tw-ring-color: var(--babylai-color-primary-500)}.babylai\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--babylai-default-transition-timing-function));transition-duration:var(--tw-duration, var(--babylai-default-transition-duration))}.babylai\\:duration-200{--tw-duration: .2s;transition-duration:.2s}.babylai\\:duration-250{--tw-duration: .25s;transition-duration:.25s}.babylai\\:ease-out{--tw-ease: var(--babylai-ease-out);transition-timing-function:var(--babylai-ease-out)}.babylai\\:outline-none{--tw-outline-style: none;outline-style:none}@media(hover:hover){.babylai\\:hover\\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.babylai\\:hover\\:border-primary-200:hover{border-color:var(--babylai-color-primary-200)}}@media(hover:hover){.babylai\\:hover\\:border-primary-600:hover{border-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-100:hover{background-color:var(--babylai-color-primary-100)}}@media(hover:hover){.babylai\\:hover\\:bg-primary-600:hover{background-color:var(--babylai-color-primary-600)}}@media(hover:hover){.babylai\\:hover\\:bg-secondary:hover{background-color:var(--babylai-color-secondary)}}@media(hover:hover){.babylai\\:hover\\:bg-white\\/20:hover{background-color:var(--babylai-color-white)}@supports (color: color-mix(in lab,red,red)){.babylai\\:hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--babylai-color-white) 20%,transparent)}}}@media(hover:hover){.babylai\\:hover\\:text-\\[\\#F49E00\\]:hover{color:#f49e00}}@media(hover:hover){.babylai\\:hover\\:text-primary-500:hover{color:var(--babylai-color-primary-500)}}@media(hover:hover){.babylai\\:hover\\:opacity-80:hover{opacity:80%}}.babylai\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.babylai\\:active\\:opacity-95:active{opacity:95%}.babylai\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.babylai\\:disabled\\:border-black-white-300:disabled{border-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-black-white-300:disabled{background-color:var(--babylai-color-black-white-300)}.babylai\\:disabled\\:bg-secondary:disabled{background-color:var(--babylai-color-secondary)}.babylai\\:disabled\\:text-white:disabled{color:var(--babylai-color-white)}.babylai\\:disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.babylai\\:dark\\:text-muted-foreground{color:var(--babylai-color-muted-foreground)}}}:root{--babylai-font-sans: \"Cairo\", sans-serif;--babylai-black-white-50: #ffffff;--babylai-black-white-100: #f3f3f3;--babylai-black-white-200: #e2e2e2;--babylai-black-white-300: #919191;--babylai-black-white-400: #606060;--babylai-black-white-500: #333333;--babylai-black-white-600: #1f1f1f;--babylai-black-white-700: #171717;--babylai-black-white-800: #0a0a0a;--babylai-black-white-900: #050505;--babylai-black-white-950: #000000;--babylai-black-white-default: #333333;--babylai-primary-color: #ad49e1;--babylai-primary-color-100: #f6ecfc;--babylai-primary-color-200: #deb6f3;--babylai-primary-color-300: #d49cee;--babylai-primary-color-400: #c57fea;--babylai-primary-color-500: #ad49e1;--babylai-primary-color-600: #672b87;--babylai-primary-color-700: #451d5a;--babylai-primary-color-800: #220e2d;--babylai-primary-color-900: #110716;--babylai-primary-color-950: #0a0310;--babylai-background: var(--babylai-black-white-50);--babylai-card: var(--babylai-black-white-50);--babylai-card-foreground: var(--babylai-black-white-500);--babylai-secondary: var(--babylai-black-white-100);--babylai-secondary-foreground: var(--babylai-black-white-500);--babylai-muted: var(--babylai-black-white-100);--babylai-muted-foreground: var(--babylai-black-white-400);--babylai-destructive: #ef4444;--babylai-destructive-foreground: var(--babylai-black-white-50);--babylai-border: var(--babylai-black-white-200);--babylai-ring: var(--babylai-primary-color);--babylai-radius: .5rem}.babylai-typing-dot{animation:typing-dot 1.4s ease-in-out infinite}.babylai-typing-dot:nth-child(1){animation-delay:0ms}.babylai-typing-dot:nth-child(2){animation-delay:.2s}.babylai-typing-dot:nth-child(3){animation-delay:.4s}.babylai-theme-root{--babylai-color-primary: var(--babylai-primary-color);--babylai-color-primary-100: var(--babylai-primary-color-100);--babylai-color-primary-200: var(--babylai-primary-color-200);--babylai-color-primary-300: var(--babylai-primary-color-300);--babylai-color-primary-400: var(--babylai-primary-color-400);--babylai-color-primary-500: var(--babylai-primary-color-500);--babylai-color-primary-600: var(--babylai-primary-color-600);--babylai-color-primary-700: var(--babylai-primary-color-700);--babylai-color-primary-800: var(--babylai-primary-color-800);--babylai-color-primary-900: var(--babylai-primary-color-900);--babylai-color-primary-950: var(--babylai-primary-color-950);--ring: var(--babylai-primary-color);--color-ring: var(--babylai-primary-color);font-family:var(--babylai-font-sans)}.babylai-theme-root *{box-sizing:border-box}.babylai-theme-root button{font:inherit}.babylai-theme-root input,.babylai-theme-root textarea{font-family:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6{font-size:inherit;font-weight:inherit}.babylai-theme-root h1,.babylai-theme-root h2,.babylai-theme-root h3,.babylai-theme-root h4,.babylai-theme-root h5,.babylai-theme-root h6,.babylai-theme-root p{margin:0}.babylai-theme-root ul,.babylai-theme-root ol{list-style:auto;padding-inline-start:40px;margin-block-start:1rem;margin-block-end:1rem}.bg-header{background:linear-gradient(171deg,var(--babylai-primary-color) -131.06%,var(--babylai-black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--babylai-primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--babylai-black-white-50) 25%,transparent) 89.82%)}}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: \"*\"; inherits: false;}@property --tw-gradient-from{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: \"<color>\"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-via-stops{syntax: \"*\"; inherits: false;}@property --tw-gradient-from-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: \"<length-percentage>\"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:scale(.85)}30%{opacity:1;transform:scale(1)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
4069
4063
  }], ctorParameters: () => [], propDecorators: { getToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "getToken", required: true }] }], helpScreenId: [{ type: i0.Input, args: [{ isSignal: true, alias: "helpScreenId", required: true }] }], showArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "showArrow", required: false }] }], messageLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageLabel", required: false }] }], currentLang: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentLang", required: false }] }], primaryColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryColor", required: false }] }], logoUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoUrl", required: false }] }], chatMessagesContainer: [{
4070
4064
  type: ViewChild,
4071
4065
  args: ['chatMessagesContainer']
@@ -4094,10 +4088,10 @@ class HelpCenterConfigService {
4094
4088
  getTokenFn() {
4095
4089
  return this._getTokenFn;
4096
4090
  }
4097
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4098
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterConfigService, providedIn: 'root' });
4091
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpCenterConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4092
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpCenterConfigService, providedIn: 'root' });
4099
4093
  }
4100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterConfigService, decorators: [{
4094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HelpCenterConfigService, decorators: [{
4101
4095
  type: Injectable,
4102
4096
  args: [{
4103
4097
  providedIn: 'root',
@@ -4133,10 +4127,10 @@ class TokenService {
4133
4127
  // Otherwise, return error that getTokenFn is not provided
4134
4128
  throw new Error('getTokenFn is not provided');
4135
4129
  }
4136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4137
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TokenService, providedIn: 'root' });
4130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4131
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TokenService, providedIn: 'root' });
4138
4132
  }
4139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TokenService, decorators: [{
4133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TokenService, decorators: [{
4140
4134
  type: Injectable,
4141
4135
  args: [{
4142
4136
  providedIn: 'root',