@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.
|
|
112
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
468
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
909
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1054
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1096
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1216
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1361
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1379
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1409
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1466
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
1489
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
1510
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
1522
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1585
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1664
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1792
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
1850
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1865
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1874
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
1965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2044
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2069
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2079
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2089
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2146
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2173
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2223
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2249
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2276
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2309
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2463
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2487
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2592
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2821
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2879
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2901
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2915
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2926
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
2941
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
2983
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
3013
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4098
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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.
|
|
4137
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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',
|