@aslaluroba/help-center 4.0.1 → 4.0.2

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.
@@ -4,12 +4,12 @@ import { CommonModule } from '@angular/common';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { BehaviorSubject, from, throwError, Observable, forkJoin, catchError as catchError$1, of, firstValueFrom } from 'rxjs';
7
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
8
  import { DomSanitizer } from '@angular/platform-browser';
8
9
  import { marked } from 'marked';
9
10
  import { HttpClient, HttpHeaders, HttpEventType } from '@angular/common/http';
10
11
  import { switchMap, map, catchError, filter } from 'rxjs/operators';
11
12
  import * as Ably from 'ably';
12
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
13
 
14
14
  /**
15
15
  * Service for handling API requests with automatic authentication token management.
@@ -575,7 +575,6 @@ class ButtonComponent {
575
575
  fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : []));
576
576
  className = input('', ...(ngDevMode ? [{ debugName: "className" }] : []));
577
577
  size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
578
- direction = input('ltr', ...(ngDevMode ? [{ debugName: "direction" }] : []));
579
578
  onClick = output();
580
579
  getButtonClasses = computed(() => {
581
580
  const classes = [
@@ -630,12 +629,12 @@ class ButtonComponent {
630
629
  return classes.join(' ');
631
630
  }, ...(ngDevMode ? [{ debugName: "getButtonClasses" }] : []));
632
631
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
633
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", 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]=\"direction()\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
632
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n [class]=\"getButtonClasses()\"\n (click)=\"onClick.emit($event)\"\n dir=\"auto\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
634
633
  }
635
634
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ButtonComponent, decorators: [{
636
635
  type: Component,
637
- 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]=\"direction()\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}\n"] }]
638
- }], 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 }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }] } });
636
+ 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", styles: [".button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}\n"] }]
637
+ }], 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"] }] } });
639
638
 
640
639
  class BaseDialogComponent {
641
640
  isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
@@ -827,7 +826,7 @@ class ConfirmationDialogComponent {
827
826
  this.onClose.emit();
828
827
  }
829
828
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
830
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onConfirm: "onConfirm", onCancel: "onCancel", onClose: "onClose" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"true\"\n [isLoading]=\"isLoading()\"\n [ariaLabel]=\"title()\"\n (close)=\"onCloseClick()\"\n>\n <div class=\"flex flex-col p-6\">\n <button class=\"cursor-pointer mb-6 ms-auto\" (click)=\"onCloseClick()\">\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"flex\"\n size=\"26px\"\n />\n </button>\n <section\n class=\"flex items-center justify-center border-b border-black-white-200 pb-6 mb-6\"\n >\n <div\n class=\"flex items-center justify-center w-20 h-20 rounded-full p-3 bg-primary/15 text-primary\"\n >\n <app-icon\n name=\"solar:chat-round-unread-bold-duotone\"\n class=\"flex\"\n size=\"64px\"\n />\n </div>\n </section>\n <h3 class=\"text-2xl text-center font-bold mb-2\">{{ title() }}</h3>\n <p class=\"text-sm text-center\">{{ body() }}</p>\n </div>\n <div class=\"flex justify-between gap-3 mb-5 px-6\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onConfirm.emit()\"\n class=\"w-full\"\n >\n {{ confirmText() }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onCancel.emit()\"\n class=\"w-full\"\n >\n {{ cancelText() }}\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </app-button>\n </div>\n</app-base-dialog>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size", "direction"], 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
829
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onConfirm: "onConfirm", onCancel: "onCancel", onClose: "onClose" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"true\"\n [isLoading]=\"isLoading()\"\n [ariaLabel]=\"title()\"\n (close)=\"onCloseClick()\"\n>\n <div class=\"flex flex-col p-6\">\n <button class=\"cursor-pointer mb-6 ms-auto\" (click)=\"onCloseClick()\">\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"flex\"\n size=\"26px\"\n />\n </button>\n <section\n class=\"flex items-center justify-center border-b border-black-white-200 pb-6 mb-6\"\n >\n <div\n class=\"flex items-center justify-center w-20 h-20 rounded-full p-3 bg-primary/15 text-primary\"\n >\n <app-icon\n name=\"solar:chat-round-unread-bold-duotone\"\n class=\"flex\"\n size=\"64px\"\n />\n </div>\n </section>\n <h3 class=\"text-2xl text-center font-bold mb-2\">{{ title() }}</h3>\n <p class=\"text-sm text-center\">{{ body() }}</p>\n </div>\n <div class=\"flex justify-between gap-3 mb-5 px-6\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onConfirm.emit()\"\n class=\"w-full\"\n >\n {{ confirmText() }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"disableActions()\"\n (onClick)=\"onCancel.emit()\"\n class=\"w-full\"\n >\n {{ cancelText() }}\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </app-button>\n </div>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
831
830
  }
832
831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
833
832
  type: Component,
@@ -924,7 +923,7 @@ class ReviewDialogComponent {
924
923
  return 10;
925
924
  }
926
925
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
927
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewDialogComponent, isStandalone: true, selector: "app-review-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, showCommentField: { classPropertyName: "showCommentField", publicName: "showCommentField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"isOpen()\"\n [isLoading]=\"isSubmitting()\"\n [ariaLabel]=\"'ReviewDialogTitle' | translate\"\n (close)=\"onDialogClose()\"\n>\n <div class=\"flex flex-col p-6\">\n <button class=\"cursor-pointer mb-6 ms-auto\" (click)=\"onClose()\">\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"flex\"\n size=\"26px\"\n />\n </button>\n <section\n class=\"flex items-center justify-center border-b border-black-white-200 pb-6 mb-6\"\n >\n <!-- Rating Section -->\n <div>\n <label class=\"sr-only\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div class=\"inline-flex gap-2\">\n @for (star of getStarsArray(); track star) {\n <button\n class=\"hover:text-primary\"\n [class.text-black-white-200]=\"!isStarFilled(star)\"\n [class.dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.text-primary]=\"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 <svg\n class=\"h-14 w-14\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [attr.fill]=\"isStarFilled(star) ? 'currentColor' : 'none'\"\n />\n </svg>\n </button>\n }\n </div>\n @if (ratingError()) {\n <div class=\"review-dialog__error\">{{ ratingError() }}</div>\n }\n </div>\n </section>\n <h3 class=\"text-2xl text-center font-bold mb-2\">\n {{ \"ReviewDialogTitle\" | translate }}\n </h3>\n <p class=\"text-sm text-center text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n </div>\n\n <!-- Actions -->\n <div class=\"flex justify-between gap-3 my-5 px-6\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSkip()\"\n class=\"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=\"w-full\"\n >\n @if (isSubmitting()) { Submitting... } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n </div>\n</app-base-dialog>\n", styles: [".review-dialog__description{color:var(--card-foreground);font-size:.875rem;line-height:1.6}.review-dialog__label{color:var(--card-foreground);font-size:.875rem;font-weight:600;display:block;margin-bottom:.5rem}.review-dialog__stars{display:flex}.review-dialog__star{background:transparent;border:none;color:var(--card-foreground);cursor:pointer;padding:.25rem;border-radius:2px;transition:all .2s;display:flex;align-items:center;justify-content:center}.review-dialog__star:hover{color:var(--primary-color);transform:scale(1.1)}.review-dialog__star--filled{color:var(--primary-color)}.review-dialog__star--error{color:var(--destructive)}.review-dialog__star:disabled{opacity:.5;cursor:not-allowed}.review-dialog__textarea{width:100%;background-color:var(--secondary);border:1px solid #4b5563;border-radius:.5rem;color:var(--card-foreground);font-size:.875rem;padding:.75rem;resize:vertical;min-height:100px;font-family:inherit}.review-dialog__textarea::placeholder{color:var(--card-foreground)}.review-dialog__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-foreground) 10%,transparent)}.review-dialog__textarea--error{border-color:var(--destructive)}.review-dialog__textarea--error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px #ef44441a}.review-dialog__textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--secondary)}.review-dialog__error{color:var(--destructive);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.review-dialog__comment-info{display:flex;flex-direction:column}.review-dialog__char-count{color:var(--card-foreground);font-size:.75rem;white-space:nowrap}.dialog__actions app-button{flex:1;width:100%;display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size", "direction"], 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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
926
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewDialogComponent, isStandalone: true, selector: "app-review-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, showCommentField: { classPropertyName: "showCommentField", publicName: "showCommentField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<app-base-dialog\n [isOpen]=\"isOpen()\"\n [isLoading]=\"isSubmitting()\"\n [ariaLabel]=\"'ReviewDialogTitle' | translate\"\n (close)=\"onDialogClose()\"\n>\n <div class=\"flex flex-col p-6\">\n <button class=\"cursor-pointer mb-6 ms-auto\" (click)=\"onClose()\">\n <app-icon\n name=\"solar:close-circle-line-duotone\"\n class=\"flex\"\n size=\"26px\"\n />\n </button>\n <section\n class=\"flex items-center justify-center border-b border-black-white-200 pb-6 mb-6\"\n >\n <!-- Rating Section -->\n <div>\n <label class=\"sr-only\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div class=\"inline-flex gap-2\">\n @for (star of getStarsArray(); track star) {\n <button\n class=\"hover:text-primary\"\n [class.text-black-white-200]=\"!isStarFilled(star)\"\n [class.dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.text-primary]=\"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 <svg\n class=\"h-14 w-14\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [attr.fill]=\"isStarFilled(star) ? 'currentColor' : 'none'\"\n />\n </svg>\n </button>\n }\n </div>\n @if (ratingError()) {\n <div class=\"review-dialog__error\">{{ ratingError() }}</div>\n }\n </div>\n </section>\n <h3 class=\"text-2xl text-center font-bold mb-2\">\n {{ \"ReviewDialogTitle\" | translate }}\n </h3>\n <p class=\"text-sm text-center text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n </div>\n\n <!-- Actions -->\n <div class=\"flex justify-between gap-3 my-5 px-6\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSkip()\"\n class=\"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=\"w-full\"\n >\n @if (isSubmitting()) { Submitting... } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n </div>\n</app-base-dialog>\n", styles: [".review-dialog__description{color:var(--card-foreground);font-size:.875rem;line-height:1.6}.review-dialog__label{color:var(--card-foreground);font-size:.875rem;font-weight:600;display:block;margin-bottom:.5rem}.review-dialog__stars{display:flex}.review-dialog__star{background:transparent;border:none;color:var(--card-foreground);cursor:pointer;padding:.25rem;border-radius:2px;transition:all .2s;display:flex;align-items:center;justify-content:center}.review-dialog__star:hover{color:var(--primary-color);transform:scale(1.1)}.review-dialog__star--filled{color:var(--primary-color)}.review-dialog__star--error{color:var(--destructive)}.review-dialog__star:disabled{opacity:.5;cursor:not-allowed}.review-dialog__textarea{width:100%;background-color:var(--secondary);border:1px solid #4b5563;border-radius:.5rem;color:var(--card-foreground);font-size:.875rem;padding:.75rem;resize:vertical;min-height:100px;font-family:inherit}.review-dialog__textarea::placeholder{color:var(--card-foreground)}.review-dialog__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-foreground) 10%,transparent)}.review-dialog__textarea--error{border-color:var(--destructive)}.review-dialog__textarea--error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px #ef44441a}.review-dialog__textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--secondary)}.review-dialog__error{color:var(--destructive);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.review-dialog__comment-info{display:flex;flex-direction:column}.review-dialog__char-count{color:var(--card-foreground);font-size:.75rem;white-space:nowrap}.dialog__actions app-button{flex:1;width:100%;display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { 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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
928
927
  }
929
928
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewDialogComponent, decorators: [{
930
929
  type: Component,
@@ -1110,7 +1109,7 @@ class HelpScreenDataComponent {
1110
1109
  }
1111
1110
  }
1112
1111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpScreenDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1113
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HelpScreenDataComponent, isStandalone: true, selector: "app-help-screen-data", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { handleStartNewChat: "handleStartNewChat" }, ngImport: i0, template: "<div class=\"flex flex-col flex-1 gap-4\">\n <div class=\"grid grid-cols-1 gap-4\">\n @for (item of helpScreenData()?.options; track item.id) {\n <app-card\n [id]=\"item.id\"\n variant=\"rounded\"\n class=\"cursor-pointer transition-all duration-200 p-6! hover:shadow-md hover:translate-y-[-2px]\"\n [class.ring]=\"selectedItemId() === item.id\"\n [class.ring-ring]=\"selectedItemId() === item.id\"\n (click)=\"selectItem(item.id)\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"\n item.title + (selectedItemId() === item.id ? ' (selected)' : '')\n \"\n [attr.aria-pressed]=\"selectedItemId() === item.id\"\n (keydown.enter)=\"selectItem(item.id)\"\n (keydown.space)=\"$event.preventDefault(); selectItem(item.id)\"\n >\n <app-card-content>\n <h4\n class=\"text-base font-semibold mb-2 text-card-foreground\"\n dir=\"auto\"\n >\n {{ item.title }}\n </h4>\n @if (item.paragraphs && item.paragraphs.length > 0) {\n <p class=\"text-sm text-muted-foreground\" dir=\"auto\">\n {{ item.paragraphs[0] }}\n </p>\n }\n </app-card-content>\n </app-card>\n }\n </div>\n\n <!-- Fixed call to action button -->\n <div class=\"sticky bottom-0 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 <svg\n class=\"w-6 h-6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"white\"\n />\n </svg>\n </app-button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CardComponent, selector: "app-card", inputs: ["variant", "class"] }, { kind: "component", type: CardContentComponent, selector: "app-card-content", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size", "direction"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: HelpScreenDataComponent, isStandalone: true, selector: "app-help-screen-data", inputs: { helpScreenData: { classPropertyName: "helpScreenData", publicName: "helpScreenData", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { handleStartNewChat: "handleStartNewChat" }, ngImport: i0, template: "<div class=\"flex flex-col flex-1 gap-4\">\n <div class=\"grid grid-cols-1 gap-4\">\n @for (item of helpScreenData()?.options; track item.id) {\n <app-card\n [id]=\"item.id\"\n variant=\"rounded\"\n class=\"cursor-pointer transition-all duration-200 p-6! hover:shadow-md hover:translate-y-[-2px]\"\n [class.ring]=\"selectedItemId() === item.id\"\n [class.ring-ring]=\"selectedItemId() === item.id\"\n (click)=\"selectItem(item.id)\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"\n item.title + (selectedItemId() === item.id ? ' (selected)' : '')\n \"\n [attr.aria-pressed]=\"selectedItemId() === item.id\"\n (keydown.enter)=\"selectItem(item.id)\"\n (keydown.space)=\"$event.preventDefault(); selectItem(item.id)\"\n >\n <app-card-content>\n <h4\n class=\"text-base font-semibold mb-2 text-card-foreground\"\n dir=\"auto\"\n >\n {{ item.title }}\n </h4>\n @if (item.paragraphs && item.paragraphs.length > 0) {\n <p class=\"text-sm text-muted-foreground\" dir=\"auto\">\n {{ item.paragraphs[0] }}\n </p>\n }\n </app-card-content>\n </app-card>\n }\n </div>\n\n <!-- Fixed call to action button -->\n <div class=\"sticky bottom-0 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 <svg\n class=\"w-6 h-6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"white\"\n />\n </svg>\n </app-button>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CardComponent, selector: "app-card", inputs: ["variant", "class"] }, { kind: "component", type: CardContentComponent, selector: "app-card-content", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["variant", "type", "disabled", "fullWidth", "className", "size"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1114
1113
  }
1115
1114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpScreenDataComponent, decorators: [{
1116
1115
  type: Component,
@@ -1151,12 +1150,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1151
1150
 
1152
1151
  class BackButtonComponent {
1153
1152
  onBack = output();
1153
+ translationService = inject(TranslationService);
1154
+ currentLang = toSignal(this.translationService.currentLang, {
1155
+ initialValue: 'en',
1156
+ });
1157
+ isArabic = computed(() => this.currentLang() === 'ar', ...(ngDevMode ? [{ debugName: "isArabic" }] : []));
1154
1158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: BackButtonComponent, isStandalone: true, selector: "app-back-button", outputs: { onBack: "onBack" }, ngImport: i0, template: "<button \n class=\"bg-card h-6 w-8 rounded-full flex items-center justify-center font-bold text-base cursor-pointer\"\n (click)=\"onBack.emit()\"\n [attr.aria-label]=\"'Back' | translate\"\n type=\"button\"\n>\n <app-icon name=\"solar:alt-arrow-left-linear\" class=\"flex\" />\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 });
1159
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: BackButtonComponent, isStandalone: true, selector: "app-back-button", outputs: { onBack: "onBack" }, ngImport: i0, template: "<button\n class=\"bg-card h-6 w-8 rounded-full flex items-center justify-center font-bold text-base cursor-pointer\"\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=\"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 });
1156
1160
  }
1157
1161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: BackButtonComponent, decorators: [{
1158
1162
  type: Component,
1159
- args: [{ selector: 'app-back-button', standalone: true, imports: [CommonModule, TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n class=\"bg-card h-6 w-8 rounded-full flex items-center justify-center font-bold text-base cursor-pointer\"\n (click)=\"onBack.emit()\"\n [attr.aria-label]=\"'Back' | translate\"\n type=\"button\"\n>\n <app-icon name=\"solar:alt-arrow-left-linear\" class=\"flex\" />\n</button>\n" }]
1163
+ args: [{ selector: 'app-back-button', standalone: true, imports: [CommonModule, TranslatePipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"bg-card h-6 w-8 rounded-full flex items-center justify-center font-bold text-base cursor-pointer\"\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=\"flex\"\n [style.transform]=\"isArabic() ? 'rotate(180deg)' : 'none'\"\n />\n</button>\n" }]
1160
1164
  }], propDecorators: { onBack: [{ type: i0.Output, args: ["onBack"] }] } });
1161
1165
 
1162
1166
  class CloseButtonComponent {
@@ -1815,7 +1819,7 @@ class ReviewMessageComponent {
1815
1819
  return 10;
1816
1820
  }
1817
1821
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1818
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewMessageComponent, isStandalone: true, selector: "app-review-message", inputs: { isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange", commentChange: "commentChange", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2.5\">\n <h2 class=\"font-normal\">{{ \"ReviewDialogTitle\" | translate }}</h2>\n <p class=\"text-sm text-center text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n <div class=\"\">\n <label class=\"sr-only\" aria-label=\"review message stars label\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div\n class=\"inline-flex bg-muted rounded-3xl p-3 gap-2\"\n aria-labelledby=\"review message stars\"\n >\n @for (star of getStarsArray(); track star) {\n <button\n class=\"hover:text-primary\"\n [class.text-black-white-200]=\"!isStarFilled(star)\"\n [class.dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.text-primary]=\"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 <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [attr.fill]=\"'currentColor'\"\n />\n </svg>\n </button>\n }\n </div>\n @if (ratingError()) {\n <div class=\"review-message__error\">{{ ratingError() }}</div>\n }\n </div>\n\n @if (rating() > 0) {\n <div class=\"\">\n <label class=\"review-message__label\">{{\n \"ReviewDialogCommentLabel\" | translate\n }}</label>\n <textarea\n class=\"review-message__textarea\"\n [class.review-message__textarea--error]=\"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=\"review-message__comment-info\">\n <div class=\"review-message__char-count\">\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div class=\"review-message__error\">{{ commentError() }}</div>\n }\n </div>\n </div>\n\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n class=\"review-message__submit-btn\"\n >\n @if (isSubmitting()) { Submitting... } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n }\n</div>\n", styles: [".review-message__textarea{width:100%;background-color:var(--secondary);border:1px solid #4b5563;border-radius:.5rem;color:var(--card-foreground);font-size:.875rem;padding:.75rem;resize:vertical;min-height:100px;font-family:inherit;margin-bottom:.5rem}.review-message__textarea::placeholder{color:var(--card-foreground);opacity:.6}.review-message__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 10%,transparent)}.review-message__textarea--error{border-color:var(--destructive)}.review-message__textarea--error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px #ef44441a}.review-message__textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--secondary)}.review-message__error{color:var(--destructive);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.review-message__comment-info{display:flex;flex-direction:column;margin-bottom:1rem}.review-message__char-count{color:var(--card-foreground);font-size:.75rem;white-space:nowrap;opacity:.7}.review-message__rating-section,.review-message__comment-section{margin-bottom:1rem}.review-message__actions{display:flex;gap:.5rem;margin-top:1rem}.review-message__actions app-button{flex:1}\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", "direction"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1822
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ReviewMessageComponent, isStandalone: true, selector: "app-review-message", inputs: { isSubmitting: { classPropertyName: "isSubmitting", publicName: "isSubmitting", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange", commentChange: "commentChange", submitReview: "submitReview", skip: "skip" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2.5\">\n <h2 class=\"font-normal\">{{ \"ReviewDialogTitle\" | translate }}</h2>\n <p class=\"text-sm text-center text-muted-foreground\">\n {{ \"ReviewDialogDescription\" | translate }}\n </p>\n\n <div class=\"\">\n <label class=\"sr-only\" aria-label=\"review message stars label\">\n {{ \"ReviewDialogRatingLabel\" | translate }}\n </label>\n <div\n class=\"inline-flex bg-muted rounded-3xl p-3 gap-2\"\n aria-labelledby=\"review message stars\"\n >\n @for (star of getStarsArray(); track star) {\n <button\n class=\"hover:text-primary\"\n [class.text-black-white-200]=\"!isStarFilled(star)\"\n [class.dark:text-muted-foreground]=\"!isStarFilled(star)\"\n [class.text-primary]=\"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 <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n [attr.fill]=\"'currentColor'\"\n />\n </svg>\n </button>\n }\n </div>\n @if (ratingError()) {\n <div class=\"review-message__error\">{{ ratingError() }}</div>\n }\n </div>\n\n @if (rating() > 0) {\n <div class=\"\">\n <label class=\"review-message__label\">{{\n \"ReviewDialogCommentLabel\" | translate\n }}</label>\n <textarea\n class=\"review-message__textarea\"\n [class.review-message__textarea--error]=\"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=\"review-message__comment-info\">\n <div class=\"review-message__char-count\">\n {{ getCommentLength() }}/{{ getCommentMaxLength() }} characters\n </div>\n @if (commentError()) {\n <div class=\"review-message__error\">{{ commentError() }}</div>\n }\n </div>\n </div>\n\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n [disabled]=\"isSubmitting()\"\n (onClick)=\"onSubmitReview()\"\n class=\"review-message__submit-btn\"\n >\n @if (isSubmitting()) { Submitting... } @else {\n {{ \"ReviewDialogSubmitButton\" | translate }}\n }\n </app-button>\n }\n</div>\n", styles: [".review-message__textarea{width:100%;background-color:var(--secondary);border:1px solid #4b5563;border-radius:.5rem;color:var(--card-foreground);font-size:.875rem;padding:.75rem;resize:vertical;min-height:100px;font-family:inherit;margin-bottom:.5rem}.review-message__textarea::placeholder{color:var(--card-foreground);opacity:.6}.review-message__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 10%,transparent)}.review-message__textarea--error{border-color:var(--destructive)}.review-message__textarea--error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px #ef44441a}.review-message__textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--secondary)}.review-message__error{color:var(--destructive);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.review-message__comment-info{display:flex;flex-direction:column;margin-bottom:1rem}.review-message__char-count{color:var(--card-foreground);font-size:.75rem;white-space:nowrap;opacity:.7}.review-message__rating-section,.review-message__comment-section{margin-bottom:1rem}.review-message__actions{display:flex;gap:.5rem;margin-top:1rem}.review-message__actions app-button{flex:1}\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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1819
1823
  }
1820
1824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ReviewMessageComponent, decorators: [{
1821
1825
  type: Component,
@@ -2129,11 +2133,11 @@ class ChatInputComponent {
2129
2133
  }
2130
2134
  }
2131
2135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2132
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatInputComponent, isStandalone: true, selector: "app-chat-input", inputs: { isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sendMessage: "sendMessage" }, viewQueries: [{ propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"chat__input-container relative w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"chat__file-preview flex gap-2 mb-2 overflow-x-auto bg-card rounded-2xl p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"chat__file-preview-item relative w-[50px] h-[50px] rounded-md overflow-hidden flex-shrink-0 border border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"chat__file-preview-image w-full h-full object-cover cursor-pointer transition-opacity duration-200\"\n [class.opacity-60]=\"file.uploading\"\n [class.opacity-80]=\"!file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"chat__file-preview-progress-overlay absolute inset-0 flex items-center justify-center bg-black/30 rounded-md\"\n >\n <svg\n class=\"chat__file-preview-progress-circle w-8 h-8\"\n viewBox=\"0 0 36 36\"\n style=\"transform: rotate(-90deg)\"\n >\n <circle\n class=\"chat__file-preview-progress-circle-bg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'rgba(255, 255, 255, 0.2)'\"\n stroke-width=\"3\"\n />\n <circle\n class=\"chat__file-preview-progress-circle-fg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'var(--primary-color)'\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"100.48\"\n stroke-dashoffset=\"100.48\"\n style=\"animation: circular-progress 2s ease-in-out infinite\"\n />\n </svg>\n </div>\n } @if (file.error) {\n <div\n class=\"chat__file-preview-error absolute top-0.5 right-0.5 w-4 h-4 flex items-center justify-center rounded-full text-white text-xs font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"chat__file-preview-remove absolute top-0.5 left-0.5 w-5 h-5 flex items-center justify-center rounded-full bg-black/60 text-white border-none cursor-pointer transition-all duration-200 opacity-0 hover:opacity-100 hover:bg-black/80 hover:scale-110\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <svg\n class=\"w-3 h-3\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"chat__input-form relative w-full\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"chat__file-input absolute opacity-0 w-0 h-0 pointer-events-none\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div class=\"chat__input-wrapper relative w-full flex items-center gap-2 bg-card rounded-full p-3\">\n <button\n type=\"button\"\n class=\"chat__attach-button inline-flex items-center justify-center w-8 h-8 p-2 rounded-full bg-black-white-100 rounded-full border-none cursor-pointer transition-all duration-200 flex-shrink-0\"\n [style.color]=\"'var(--muted-foreground)'\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <svg\n class=\"w-full h-full\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M16.5 6.75L9.75 13.5C8.92157 14.3284 8.92157 15.6716 9.75 16.5C10.5784 17.3284 11.9216 17.3284 12.75 16.5L18.75 10.5C20.4069 8.84315 20.4069 6.15685 18.75 4.5C17.0931 2.84315 14.4069 2.84315 12.75 4.5L6 11.25C3.92893 13.3211 3.92893 16.6789 6 18.75C8.07107 20.8211 11.4289 20.8211 13.5 18.75L18 14.25\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\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=\"flex-1 w-full text-sm transition-all duration-200 outline-none placeholder:text-black-white-400 dark:placeholder:text-black-white-600 px-2 border-l border-black-white-200 dark:border-l-black-white-600 ms-2\"\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=\"cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 w-7 h-7 p-1.5 inline-flex items-center justify-center rounded-full transition-all duration-200 opacity-100 border-none bg-primary text-white\">\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </form>\n</div>\n", styles: [".chat__attach-button:hover:not(:disabled){color:var(--foreground);background-color:var(--muted)}.chat__attach-button:disabled{cursor:not-allowed;opacity:.5}.chat__input:disabled{background-color:var(--muted);color:var(--muted-foreground);cursor:not-allowed;opacity:.6}.chat__input::placeholder{color:var(--muted-foreground);opacity:.8}.chat__file-preview::-webkit-scrollbar{height:4px}.chat__file-preview::-webkit-scrollbar-track{background:var(--muted);border-radius:9999px}.chat__file-preview::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:9999px}.chat__file-preview-item:hover .chat__file-preview-remove{opacity:1}.chat__file-preview-image:hover{opacity:.8}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}\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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2136
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ChatInputComponent, isStandalone: true, selector: "app-chat-input", inputs: { isChatClosed: { classPropertyName: "isChatClosed", publicName: "isChatClosed", isSignal: true, isRequired: false, transformFunction: null }, assistantStatus: { classPropertyName: "assistantStatus", publicName: "assistantStatus", isSignal: true, isRequired: false, transformFunction: null }, currentLang: { classPropertyName: "currentLang", publicName: "currentLang", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sendMessage: "sendMessage" }, viewQueries: [{ propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"chat__input-container relative w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"chat__file-preview flex gap-2 mb-2 overflow-x-auto bg-card rounded-2xl p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"chat__file-preview-item relative w-[50px] h-[50px] rounded-md overflow-hidden flex-shrink-0 border border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"chat__file-preview-image w-full h-full object-cover cursor-pointer transition-opacity duration-200\"\n [class.opacity-60]=\"file.uploading\"\n [class.opacity-80]=\"!file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"chat__file-preview-progress-overlay absolute inset-0 flex items-center justify-center bg-black/30 rounded-md\"\n >\n <svg\n class=\"chat__file-preview-progress-circle w-8 h-8\"\n viewBox=\"0 0 36 36\"\n style=\"transform: rotate(-90deg)\"\n >\n <circle\n class=\"chat__file-preview-progress-circle-bg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'rgba(255, 255, 255, 0.2)'\"\n stroke-width=\"3\"\n />\n <circle\n class=\"chat__file-preview-progress-circle-fg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'var(--primary-color)'\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"100.48\"\n stroke-dashoffset=\"100.48\"\n style=\"animation: circular-progress 2s ease-in-out infinite\"\n />\n </svg>\n </div>\n } @if (file.error) {\n <div\n class=\"chat__file-preview-error absolute top-0.5 right-0.5 w-4 h-4 flex items-center justify-center rounded-full text-white text-xs font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"chat__file-preview-remove absolute top-0.5 left-0.5 w-5 h-5 flex items-center justify-center rounded-full bg-black/60 text-white border-none cursor-pointer transition-all duration-200 opacity-0 hover:opacity-100 hover:bg-black/80 hover:scale-110\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <svg\n class=\"w-3 h-3\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"chat__input-form relative w-full\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"chat__file-input absolute opacity-0 w-0 h-0 pointer-events-none\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div\n class=\"chat__input-wrapper relative w-full flex items-center gap-2 bg-card rounded-full p-3\"\n >\n <div\n class=\"border-e border-black-white-200 dark:border-e-black-white-600 pe-2\"\n >\n <button\n type=\"button\"\n class=\"chat__attach-button inline-flex items-center justify-center w-8 h-8 p-2 rounded-full bg-black-white-100 rounded-full border-none cursor-pointer transition-all duration-200 flex-shrink-0\"\n [style.color]=\"'var(--muted-foreground)'\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <svg\n class=\"w-full h-full\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M16.5 6.75L9.75 13.5C8.92157 14.3284 8.92157 15.6716 9.75 16.5C10.5784 17.3284 11.9216 17.3284 12.75 16.5L18.75 10.5C20.4069 8.84315 20.4069 6.15685 18.75 4.5C17.0931 2.84315 14.4069 2.84315 12.75 4.5L6 11.25C3.92893 13.3211 3.92893 16.6789 6 18.75C8.07107 20.8211 11.4289 20.8211 13.5 18.75L18 14.25\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\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=\"flex-1 w-full text-sm transition-all duration-200 outline-none placeholder:text-black-white-400 dark:placeholder:text-black-white-600 px-2\"\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=\"cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 w-7 h-7 p-1.5 inline-flex items-center justify-center rounded-full transition-all duration-200 opacity-100 border-none bg-primary text-white\"\n >\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </form>\n</div>\n", styles: [".chat__attach-button:hover:not(:disabled){color:var(--foreground);background-color:var(--muted)}.chat__attach-button:disabled{cursor:not-allowed;opacity:.5}.chat__input:disabled{background-color:var(--muted);color:var(--muted-foreground);cursor:not-allowed;opacity:.6}.chat__input::placeholder{color:var(--muted-foreground);opacity:.8}.chat__file-preview::-webkit-scrollbar{height:4px}.chat__file-preview::-webkit-scrollbar-track{background:var(--muted);border-radius:9999px}.chat__file-preview::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:9999px}.chat__file-preview-item:hover .chat__file-preview-remove{opacity:1}.chat__file-preview-image:hover{opacity:.8}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}\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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2133
2137
  }
2134
2138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatInputComponent, decorators: [{
2135
2139
  type: Component,
2136
- args: [{ selector: 'app-chat-input', standalone: true, imports: [CommonModule, FormsModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chat__input-container relative w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"chat__file-preview flex gap-2 mb-2 overflow-x-auto bg-card rounded-2xl p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"chat__file-preview-item relative w-[50px] h-[50px] rounded-md overflow-hidden flex-shrink-0 border border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"chat__file-preview-image w-full h-full object-cover cursor-pointer transition-opacity duration-200\"\n [class.opacity-60]=\"file.uploading\"\n [class.opacity-80]=\"!file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"chat__file-preview-progress-overlay absolute inset-0 flex items-center justify-center bg-black/30 rounded-md\"\n >\n <svg\n class=\"chat__file-preview-progress-circle w-8 h-8\"\n viewBox=\"0 0 36 36\"\n style=\"transform: rotate(-90deg)\"\n >\n <circle\n class=\"chat__file-preview-progress-circle-bg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'rgba(255, 255, 255, 0.2)'\"\n stroke-width=\"3\"\n />\n <circle\n class=\"chat__file-preview-progress-circle-fg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'var(--primary-color)'\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"100.48\"\n stroke-dashoffset=\"100.48\"\n style=\"animation: circular-progress 2s ease-in-out infinite\"\n />\n </svg>\n </div>\n } @if (file.error) {\n <div\n class=\"chat__file-preview-error absolute top-0.5 right-0.5 w-4 h-4 flex items-center justify-center rounded-full text-white text-xs font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"chat__file-preview-remove absolute top-0.5 left-0.5 w-5 h-5 flex items-center justify-center rounded-full bg-black/60 text-white border-none cursor-pointer transition-all duration-200 opacity-0 hover:opacity-100 hover:bg-black/80 hover:scale-110\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <svg\n class=\"w-3 h-3\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"chat__input-form relative w-full\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"chat__file-input absolute opacity-0 w-0 h-0 pointer-events-none\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div class=\"chat__input-wrapper relative w-full flex items-center gap-2 bg-card rounded-full p-3\">\n <button\n type=\"button\"\n class=\"chat__attach-button inline-flex items-center justify-center w-8 h-8 p-2 rounded-full bg-black-white-100 rounded-full border-none cursor-pointer transition-all duration-200 flex-shrink-0\"\n [style.color]=\"'var(--muted-foreground)'\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <svg\n class=\"w-full h-full\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M16.5 6.75L9.75 13.5C8.92157 14.3284 8.92157 15.6716 9.75 16.5C10.5784 17.3284 11.9216 17.3284 12.75 16.5L18.75 10.5C20.4069 8.84315 20.4069 6.15685 18.75 4.5C17.0931 2.84315 14.4069 2.84315 12.75 4.5L6 11.25C3.92893 13.3211 3.92893 16.6789 6 18.75C8.07107 20.8211 11.4289 20.8211 13.5 18.75L18 14.25\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\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=\"flex-1 w-full text-sm transition-all duration-200 outline-none placeholder:text-black-white-400 dark:placeholder:text-black-white-600 px-2 border-l border-black-white-200 dark:border-l-black-white-600 ms-2\"\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=\"cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 w-7 h-7 p-1.5 inline-flex items-center justify-center rounded-full transition-all duration-200 opacity-100 border-none bg-primary text-white\">\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </form>\n</div>\n", styles: [".chat__attach-button:hover:not(:disabled){color:var(--foreground);background-color:var(--muted)}.chat__attach-button:disabled{cursor:not-allowed;opacity:.5}.chat__input:disabled{background-color:var(--muted);color:var(--muted-foreground);cursor:not-allowed;opacity:.6}.chat__input::placeholder{color:var(--muted-foreground);opacity:.8}.chat__file-preview::-webkit-scrollbar{height:4px}.chat__file-preview::-webkit-scrollbar-track{background:var(--muted);border-radius:9999px}.chat__file-preview::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:9999px}.chat__file-preview-item:hover .chat__file-preview-remove{opacity:1}.chat__file-preview-image:hover{opacity:.8}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}\n"] }]
2140
+ args: [{ selector: 'app-chat-input', standalone: true, imports: [CommonModule, FormsModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chat__input-container relative w-full\">\n @if (selectedFiles().length > 0) {\n <div\n class=\"chat__file-preview flex gap-2 mb-2 overflow-x-auto bg-card rounded-2xl p-3\"\n style=\"scrollbar-width: thin\"\n >\n @for (file of selectedFiles(); track $index) {\n <div\n class=\"chat__file-preview-item relative w-[50px] h-[50px] rounded-md overflow-hidden flex-shrink-0 border border-black-white-200\"\n [style.background-color]=\"'var(--muted)'\"\n >\n <img\n [src]=\"file.previewUrl\"\n [alt]=\"file.file.name\"\n class=\"chat__file-preview-image w-full h-full object-cover cursor-pointer transition-opacity duration-200\"\n [class.opacity-60]=\"file.uploading\"\n [class.opacity-80]=\"!file.uploading\"\n (click)=\"handlePreviewImage($index)\"\n />\n @if (file.uploading) {\n <div\n class=\"chat__file-preview-progress-overlay absolute inset-0 flex items-center justify-center bg-black/30 rounded-md\"\n >\n <svg\n class=\"chat__file-preview-progress-circle w-8 h-8\"\n viewBox=\"0 0 36 36\"\n style=\"transform: rotate(-90deg)\"\n >\n <circle\n class=\"chat__file-preview-progress-circle-bg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'rgba(255, 255, 255, 0.2)'\"\n stroke-width=\"3\"\n />\n <circle\n class=\"chat__file-preview-progress-circle-fg\"\n cx=\"18\"\n cy=\"18\"\n r=\"16\"\n fill=\"none\"\n [style.stroke]=\"'var(--primary-color)'\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"100.48\"\n stroke-dashoffset=\"100.48\"\n style=\"animation: circular-progress 2s ease-in-out infinite\"\n />\n </svg>\n </div>\n } @if (file.error) {\n <div\n class=\"chat__file-preview-error absolute top-0.5 right-0.5 w-4 h-4 flex items-center justify-center rounded-full text-white text-xs font-semibold\"\n [style.background-color]=\"'var(--destructive)'\"\n [title]=\"file.error\"\n >\n !\n </div>\n }\n <button\n type=\"button\"\n class=\"chat__file-preview-remove absolute top-0.5 left-0.5 w-5 h-5 flex items-center justify-center rounded-full bg-black/60 text-white border-none cursor-pointer transition-all duration-200 opacity-0 hover:opacity-100 hover:bg-black/80 hover:scale-110\"\n (click)=\"removeFile($index)\"\n aria-label=\"Remove image\"\n >\n <svg\n class=\"w-3 h-3\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n }\n </div>\n }\n\n <form\n (ngSubmit)=\"handleSendMessage()\"\n class=\"chat__input-form relative w-full\"\n >\n <input\n type=\"file\"\n #fileInput\n accept=\"image/*\"\n multiple\n (change)=\"handleFileSelect($event)\"\n class=\"chat__file-input absolute opacity-0 w-0 h-0 pointer-events-none\"\n [disabled]=\"isChatClosed()\"\n />\n\n <div\n class=\"chat__input-wrapper relative w-full flex items-center gap-2 bg-card rounded-full p-3\"\n >\n <div\n class=\"border-e border-black-white-200 dark:border-e-black-white-600 pe-2\"\n >\n <button\n type=\"button\"\n class=\"chat__attach-button inline-flex items-center justify-center w-8 h-8 p-2 rounded-full bg-black-white-100 rounded-full border-none cursor-pointer transition-all duration-200 flex-shrink-0\"\n [style.color]=\"'var(--muted-foreground)'\"\n (click)=\"handleAttachClick()\"\n [disabled]=\"isChatClosed()\"\n aria-label=\"Attach image\"\n >\n <svg\n class=\"w-full h-full\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M16.5 6.75L9.75 13.5C8.92157 14.3284 8.92157 15.6716 9.75 16.5C10.5784 17.3284 11.9216 17.3284 12.75 16.5L18.75 10.5C20.4069 8.84315 20.4069 6.15685 18.75 4.5C17.0931 2.84315 14.4069 2.84315 12.75 4.5L6 11.25C3.92893 13.3211 3.92893 16.6789 6 18.75C8.07107 20.8211 11.4289 20.8211 13.5 18.75L18 14.25\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\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=\"flex-1 w-full text-sm transition-all duration-200 outline-none placeholder:text-black-white-400 dark:placeholder:text-black-white-600 px-2\"\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=\"cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 w-7 h-7 p-1.5 inline-flex items-center justify-center rounded-full transition-all duration-200 opacity-100 border-none bg-primary text-white\"\n >\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </form>\n</div>\n", styles: [".chat__attach-button:hover:not(:disabled){color:var(--foreground);background-color:var(--muted)}.chat__attach-button:disabled{cursor:not-allowed;opacity:.5}.chat__input:disabled{background-color:var(--muted);color:var(--muted-foreground);cursor:not-allowed;opacity:.6}.chat__input::placeholder{color:var(--muted-foreground);opacity:.8}.chat__file-preview::-webkit-scrollbar{height:4px}.chat__file-preview::-webkit-scrollbar-track{background:var(--muted);border-radius:9999px}.chat__file-preview::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:9999px}.chat__file-preview-item:hover .chat__file-preview-remove{opacity:1}.chat__file-preview-image:hover{opacity:.8}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}\n"] }]
2137
2141
  }], 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: [{
2138
2142
  type: Input
2139
2143
  }], sendMessage: [{
@@ -2211,7 +2215,7 @@ class ChatActionButtonsComponent {
2211
2215
  this.continueChat.emit();
2212
2216
  }
2213
2217
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatActionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2214
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ChatActionButtonsComponent, isStandalone: true, selector: "app-chat-action-buttons", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeChat: "closeChat", continueChat: "continueChat" }, ngImport: i0, template: "<section class=\"flex justify-between gap-3 px-4 py-6 absolute left-0 right-0 bottom-11 z-20 bg-gradient-to-t from-card to-transparent from-[28.32%] to-[112.59%]\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n (onClick)=\"handleCloseChat()\"\n class=\"w-full\"\n >\n {{ \"CloseChat\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n (onClick)=\"handleContinueChat()\"\n class=\"w-full\"\n >\n {{ \"Continue\" | translate }}\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\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", "direction"], outputs: ["onClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2218
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ChatActionButtonsComponent, isStandalone: true, selector: "app-chat-action-buttons", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeChat: "closeChat", continueChat: "continueChat" }, ngImport: i0, template: "<section class=\"flex justify-between gap-3 px-4 py-6 absolute left-0 right-0 bottom-11 z-20 bg-gradient-to-t from-card to-transparent from-[28.32%] to-[112.59%]\">\n <app-button\n variant=\"outline\"\n [fullWidth]=\"true\"\n (onClick)=\"handleCloseChat()\"\n class=\"w-full\"\n >\n {{ \"CloseChat\" | translate }}\n </app-button>\n <app-button\n variant=\"default\"\n [fullWidth]=\"true\"\n (onClick)=\"handleContinueChat()\"\n class=\"w-full\"\n >\n {{ \"Continue\" | translate }}\n <svg\n class=\"w-6 h-6\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.79613 18.204L21.5121 2.48802C20.5241 1.49902 18.6521 2.12402 14.9061 3.37202L5.57513 6.48202C3.49313 7.17602 2.45213 7.52302 2.13613 8.28602C2.06146 8.46668 2.01713 8.65468 2.00313 8.85002C1.94413 9.67402 2.72013 10.45 4.27213 12.001L4.55513 12.284C4.80913 12.538 4.93713 12.666 5.03313 12.807C5.22313 13.087 5.33013 13.414 5.34313 13.752C5.35113 13.923 5.32413 14.102 5.27113 14.457C5.07513 15.761 4.97713 16.413 5.09213 16.915C5.20613 17.41 5.45413 17.853 5.79613 18.204Z\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.5\"\n d=\"M17.4979 18.486L20.6279 9.09404C21.8779 5.34904 22.5009 3.47704 21.5129 2.48804L5.79688 18.204C6.14487 18.56 6.59088 18.821 7.09288 18.944C7.59288 19.066 8.24588 18.977 9.55288 18.8L9.62387 18.79C9.99287 18.74 10.1769 18.715 10.3539 18.726C10.6739 18.746 10.9839 18.85 11.2519 19.029C11.3989 19.128 11.5299 19.259 11.7929 19.522L12.0439 19.773C13.5539 21.283 14.3099 22.038 15.1109 21.999C15.3309 21.989 15.5489 21.937 15.7509 21.848C16.4849 21.525 16.8229 20.512 17.4979 18.486Z\"\n fill=\"currentColor\"\n />\n </svg>\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: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2215
2219
  }
2216
2220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ChatActionButtonsComponent, decorators: [{
2217
2221
  type: Component,
@@ -3604,7 +3608,7 @@ class HelpCenterWidgetComponent {
3604
3608
  this.hasUserSentMessages.set(false);
3605
3609
  }
3606
3610
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3607
- 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=\"flex flex-col items-end h-auto w-auto fixed bottom-6 right-6 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 (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: \"Cairo\", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-gray-100: oklch(96.7% .003 264.542);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-md: .375rem;--radius-lg: .5rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary: var(--primary-color);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-muted: var(--muted);--color-muted-foreground: var(--muted-foreground);--color-border: var(--border);--color-ring: var(--ring);--color-black-white-50: var(--black-white-50);--color-black-white-100: var(--black-white-100);--color-black-white-200: var(--black-white-200);--color-black-white-300: var(--black-white-300);--color-black-white-400: var(--black-white-400);--color-black-white-600: var(--black-white-600)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-\\[-8px\\]{bottom:-8px}.left-0{left:calc(var(--spacing) * 0)}.left-0\\.5{left:calc(var(--spacing) * .5)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-\\[1\\]{z-index:1}.z-\\[9997\\]{z-index:9997}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.z-\\[10001\\]{z-index:10001}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.my-5{margin-block:calc(var(--spacing) * 5)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-6{margin-inline-start:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[50px\\]{height:50px}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-15{width:calc(var(--spacing) * 15)}.w-20{width:calc(var(--spacing) * 20)}.w-\\[50px\\]{width:50px}.w-auto{width:auto}.w-auto\\!{width:auto!important}.w-full{width:100%}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[800px\\]{max-width:800px}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.border-none{--tw-border-style: none;border-style:none}.border-black-white-200{border-color:var(--color-black-white-200)}.border-border{border-color:var(--color-border)}.border-primary{border-color:var(--color-primary)}.border-white\\/20{border-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-t-primary{border-top-color:var(--color-primary)}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-black-white-50{background-color:var(--color-black-white-50)}.bg-black-white-100{background-color:var(--color-black-white-100)}.bg-black\\/30{background-color:color-mix(in srgb,#000 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\\/60{background-color:color-mix(in srgb,#000 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\\/90{background-color:color-mix(in srgb,#000 90%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-muted{background-color:var(--color-muted)}.bg-primary{background-color:var(--color-primary)}.bg-primary\\/15{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-primary\\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from: var(--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))}.from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.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))}.to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-5\\!{padding:calc(var(--spacing) * 5)!important}.p-6{padding:calc(var(--spacing) * 6)}.p-6\\!{padding:calc(var(--spacing) * 6)!important}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-black-white-200{color:var(--color-black-white-200)}.text-black-white-300{color:var(--color-black-white-300)}.text-card-foreground{color:var(--color-card-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0%}.opacity-30{opacity:30%}.opacity-60{opacity:60%}.opacity-80{opacity:80%}.opacity-100{opacity:100%}.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)}.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)}.ring-ring{--tw-ring-color: var(--color-ring)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.placeholder\\:text-black-white-400::placeholder{color:var(--color-black-white-400)}@media(hover:hover){.hover\\:translate-y-\\[-2px\\]:hover{--tw-translate-y: -2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.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){.hover\\:bg-black\\/80:hover{background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-black\\/80:hover{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}}@media(hover:hover){.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\\:bg-white\\/20:hover{background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}@media(hover:hover){.hover\\:text-primary:hover{color:var(--color-primary)}}@media(hover:hover){.hover\\:opacity-80:hover{opacity:80%}}@media(hover:hover){.hover\\:opacity-100:hover{opacity:100%}}@media(hover:hover){.hover\\:shadow-md:hover{--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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-black-white-300:disabled{border-color:var(--color-black-white-300)}.disabled\\:bg-black-white-300:disabled{background-color:var(--color-black-white-300)}.disabled\\:text-white:disabled{color:var(--color-white)}.disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.dark\\:border-l-black-white-600{border-left-color:var(--color-black-white-600)}}@media(prefers-color-scheme:dark){.dark\\:text-muted-foreground{color:var(--color-muted-foreground)}}@media(prefers-color-scheme:dark){.dark\\:placeholder\\:text-black-white-600::placeholder{color:var(--color-black-white-600)}}}:root{--black-white-50: #ffffff;--black-white-100: #f3f3f3;--black-white-200: #e2e2e2;--black-white-300: #919191;--black-white-400: #606060;--black-white-500: #333333;--black-white-600: #1f1f1f;--black-white-700: #171717;--black-white-800: #0a0a0a;--black-white-900: #050505;--black-white-950: #000000;--black-white-default: #333333;--storm-dust: #3d3d3d;--storm-dust-950: #262626;--primary-color: #ad49e1;--primary-color-100: #f6ecfc;--primary-color-200: #deb6f3;--primary-color-300: #d49cee;--primary-color-400: #c57fea;--primary-color-500: #ad49e1;--primary-color-600: #672b87;--primary-color-700: #451d5a;--primary-color-800: #220e2d;--primary-color-900: #110716;--primary-color-950: #0a0310;--background: #ffffff;--foreground: #333333;--card: #ffffff;--card-foreground: #333333;--popover: #ffffff;--popover-foreground: #333333;--secondary: #f3f3f3;--secondary-foreground: #333333;--muted: #f3f3f3;--muted-foreground: #606060;--accent: #f3f3f3;--accent-foreground: #333333;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #e2e2e2;--input: #e2e2e2;--ring: var(--primary-color);--radius: .5rem}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}@media(prefers-contrast:high){:root{--background: #ffffff;--foreground: #000000;--card: #ffffff;--card-foreground: #000000;--border: #000000;--muted-foreground: #000000}}@media(prefers-color-scheme:dark){:root{--black-white-50: #000000;--black-white-100: #050505;--black-white-200: #0a0a0a;--black-white-300: #171717;--black-white-400: #1f1f1f;--black-white-500: #333333;--black-white-600: #606060;--black-white-700: #919191;--black-white-800: #e2e2e2;--black-white-900: #f3f3f3;--black-white-950: #ffffff;--black-white-default: #e2e2e2;--storm-dust: #262626;--storm-dust-950: #3d3d3d;--background: #121212;--foreground: #ffffff;--card: #262626;--card-foreground: #ffffff;--popover: #1e1e1e;--popover-foreground: #ffffff;--secondary: #3d3d3d;--secondary-foreground: #ffffff;--muted: #2a2a2a;--muted-foreground: #b3b3b3;--accent: #2a2a2a;--accent-foreground: #ffffff;--destructive: #ff6b6b;--destructive-foreground: #ffffff;--border: #404040;--input: var(--card);--ring: var(--primary-color)}body{background-color:var(--background);color:var(--foreground)}.card--default,.card--shadowed{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.help-popup{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}}@media(prefers-color-scheme:dark)and (prefers-contrast:high){:root{--background: #000000;--foreground: #ffffff;--card: #000000;--card-foreground: #ffffff;--border: #ffffff;--muted-foreground: #ffffff}}@media(prefers-color-scheme:dark)and (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:hover{transform:none!important}.chat__send-button:hover:not(:disabled){transform:translateY(-50%)!important}}html,body{font-family:var(--font-sans)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,60%,to{transform:initial}30%{transform:translateY(-10px)}}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}.animate-float{animation:float 3s infinite ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bg-header{background:linear-gradient(171deg,var(--primary-color) -131.06%,var(--black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--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-rotate-x{syntax: \"*\"; inherits: false;}@property --tw-rotate-y{syntax: \"*\"; inherits: false;}@property --tw-rotate-z{syntax: \"*\"; inherits: false;}@property --tw-skew-x{syntax: \"*\"; inherits: false;}@property --tw-skew-y{syntax: \"*\"; inherits: false;}@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-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@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;}@keyframes spin{to{transform:rotate(360deg)}}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--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-outline-style: solid;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3611
+ 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=\"flex flex-col items-end h-auto w-auto fixed bottom-6 right-6 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 (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: \"Cairo\", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-gray-100: oklch(96.7% .003 264.542);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-md: .375rem;--radius-lg: .5rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary: var(--primary-color);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-muted: var(--muted);--color-muted-foreground: var(--muted-foreground);--color-border: var(--border);--color-ring: var(--ring);--color-black-white-50: var(--black-white-50);--color-black-white-100: var(--black-white-100);--color-black-white-200: var(--black-white-200);--color-black-white-300: var(--black-white-300);--color-black-white-400: var(--black-white-400);--color-black-white-600: var(--black-white-600)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-\\[-8px\\]{bottom:-8px}.left-0{left:calc(var(--spacing) * 0)}.left-0\\.5{left:calc(var(--spacing) * .5)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-\\[1\\]{z-index:1}.z-\\[9997\\]{z-index:9997}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.z-\\[10001\\]{z-index:10001}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.my-5{margin-block:calc(var(--spacing) * 5)}.ms-6{margin-inline-start:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[50px\\]{height:50px}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-15{width:calc(var(--spacing) * 15)}.w-20{width:calc(var(--spacing) * 20)}.w-\\[50px\\]{width:50px}.w-auto{width:auto}.w-auto\\!{width:auto!important}.w-full{width:100%}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[800px\\]{max-width:800px}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.border-none{--tw-border-style: none;border-style:none}.border-black-white-200{border-color:var(--color-black-white-200)}.border-border{border-color:var(--color-border)}.border-primary{border-color:var(--color-primary)}.border-white\\/20{border-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-t-primary{border-top-color:var(--color-primary)}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-black-white-50{background-color:var(--color-black-white-50)}.bg-black-white-100{background-color:var(--color-black-white-100)}.bg-black\\/30{background-color:color-mix(in srgb,#000 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\\/60{background-color:color-mix(in srgb,#000 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\\/90{background-color:color-mix(in srgb,#000 90%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-muted{background-color:var(--color-muted)}.bg-primary{background-color:var(--color-primary)}.bg-primary\\/15{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-primary\\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from: var(--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))}.from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.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))}.to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-5\\!{padding:calc(var(--spacing) * 5)!important}.p-6{padding:calc(var(--spacing) * 6)}.p-6\\!{padding:calc(var(--spacing) * 6)!important}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-black-white-200{color:var(--color-black-white-200)}.text-black-white-300{color:var(--color-black-white-300)}.text-card-foreground{color:var(--color-card-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0%}.opacity-30{opacity:30%}.opacity-60{opacity:60%}.opacity-80{opacity:80%}.opacity-100{opacity:100%}.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)}.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)}.ring-ring{--tw-ring-color: var(--color-ring)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.placeholder\\:text-black-white-400::placeholder{color:var(--color-black-white-400)}@media(hover:hover){.hover\\:translate-y-\\[-2px\\]:hover{--tw-translate-y: -2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.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){.hover\\:bg-black\\/80:hover{background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-black\\/80:hover{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}}@media(hover:hover){.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\\:bg-white\\/20:hover{background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}@media(hover:hover){.hover\\:text-primary:hover{color:var(--color-primary)}}@media(hover:hover){.hover\\:opacity-80:hover{opacity:80%}}@media(hover:hover){.hover\\:opacity-100:hover{opacity:100%}}@media(hover:hover){.hover\\:shadow-md:hover{--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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-black-white-300:disabled{border-color:var(--color-black-white-300)}.disabled\\:bg-black-white-300:disabled{background-color:var(--color-black-white-300)}.disabled\\:text-white:disabled{color:var(--color-white)}.disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.dark\\:border-e-black-white-600{border-inline-end-color:var(--color-black-white-600)}}@media(prefers-color-scheme:dark){.dark\\:text-muted-foreground{color:var(--color-muted-foreground)}}@media(prefers-color-scheme:dark){.dark\\:placeholder\\:text-black-white-600::placeholder{color:var(--color-black-white-600)}}}:root{--black-white-50: #ffffff;--black-white-100: #f3f3f3;--black-white-200: #e2e2e2;--black-white-300: #919191;--black-white-400: #606060;--black-white-500: #333333;--black-white-600: #1f1f1f;--black-white-700: #171717;--black-white-800: #0a0a0a;--black-white-900: #050505;--black-white-950: #000000;--black-white-default: #333333;--storm-dust: #3d3d3d;--storm-dust-950: #262626;--primary-color: #ad49e1;--primary-color-100: #f6ecfc;--primary-color-200: #deb6f3;--primary-color-300: #d49cee;--primary-color-400: #c57fea;--primary-color-500: #ad49e1;--primary-color-600: #672b87;--primary-color-700: #451d5a;--primary-color-800: #220e2d;--primary-color-900: #110716;--primary-color-950: #0a0310;--background: #ffffff;--foreground: #333333;--card: #ffffff;--card-foreground: #333333;--popover: #ffffff;--popover-foreground: #333333;--secondary: #f3f3f3;--secondary-foreground: #333333;--muted: #f3f3f3;--muted-foreground: #606060;--accent: #f3f3f3;--accent-foreground: #333333;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #e2e2e2;--input: #e2e2e2;--ring: var(--primary-color);--radius: .5rem}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}@media(prefers-contrast:high){:root{--background: #ffffff;--foreground: #000000;--card: #ffffff;--card-foreground: #000000;--border: #000000;--muted-foreground: #000000}}@media(prefers-color-scheme:dark){:root{--black-white-50: #000000;--black-white-100: #050505;--black-white-200: #0a0a0a;--black-white-300: #171717;--black-white-400: #1f1f1f;--black-white-500: #333333;--black-white-600: #606060;--black-white-700: #919191;--black-white-800: #e2e2e2;--black-white-900: #f3f3f3;--black-white-950: #ffffff;--black-white-default: #e2e2e2;--storm-dust: #262626;--storm-dust-950: #3d3d3d;--background: #121212;--foreground: #ffffff;--card: #262626;--card-foreground: #ffffff;--popover: #1e1e1e;--popover-foreground: #ffffff;--secondary: #3d3d3d;--secondary-foreground: #ffffff;--muted: #2a2a2a;--muted-foreground: #b3b3b3;--accent: #2a2a2a;--accent-foreground: #ffffff;--destructive: #ff6b6b;--destructive-foreground: #ffffff;--border: #404040;--input: var(--card);--ring: var(--primary-color)}body{background-color:var(--background);color:var(--foreground)}.card--default,.card--shadowed{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.help-popup{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}}@media(prefers-color-scheme:dark)and (prefers-contrast:high){:root{--background: #000000;--foreground: #ffffff;--card: #000000;--card-foreground: #ffffff;--border: #ffffff;--muted-foreground: #ffffff}}@media(prefers-color-scheme:dark)and (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:hover{transform:none!important}.chat__send-button:hover:not(:disabled){transform:translateY(-50%)!important}}html,body{font-family:var(--font-sans)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,60%,to{transform:initial}30%{transform:translateY(-10px)}}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}.animate-float{animation:float 3s infinite ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bg-header{background:linear-gradient(171deg,var(--primary-color) -131.06%,var(--black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--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-rotate-x{syntax: \"*\"; inherits: false;}@property --tw-rotate-y{syntax: \"*\"; inherits: false;}@property --tw-rotate-z{syntax: \"*\"; inherits: false;}@property --tw-skew-x{syntax: \"*\"; inherits: false;}@property --tw-skew-y{syntax: \"*\"; inherits: false;}@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-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@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;}@keyframes spin{to{transform:rotate(360deg)}}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--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-outline-style: solid;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3608
3612
  }
3609
3613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: HelpCenterWidgetComponent, decorators: [{
3610
3614
  type: Component,
@@ -3614,7 +3618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
3614
3618
  ArrowAnimationComponent,
3615
3619
  HelpButtonComponent,
3616
3620
  HelpPopupComponent,
3617
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-col items-end h-auto w-auto fixed bottom-6 right-6 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 (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: \"Cairo\", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-gray-100: oklch(96.7% .003 264.542);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-md: .375rem;--radius-lg: .5rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary: var(--primary-color);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-muted: var(--muted);--color-muted-foreground: var(--muted-foreground);--color-border: var(--border);--color-ring: var(--ring);--color-black-white-50: var(--black-white-50);--color-black-white-100: var(--black-white-100);--color-black-white-200: var(--black-white-200);--color-black-white-300: var(--black-white-300);--color-black-white-400: var(--black-white-400);--color-black-white-600: var(--black-white-600)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-\\[-8px\\]{bottom:-8px}.left-0{left:calc(var(--spacing) * 0)}.left-0\\.5{left:calc(var(--spacing) * .5)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-\\[1\\]{z-index:1}.z-\\[9997\\]{z-index:9997}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.z-\\[10001\\]{z-index:10001}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.my-5{margin-block:calc(var(--spacing) * 5)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-6{margin-inline-start:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[50px\\]{height:50px}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-15{width:calc(var(--spacing) * 15)}.w-20{width:calc(var(--spacing) * 20)}.w-\\[50px\\]{width:50px}.w-auto{width:auto}.w-auto\\!{width:auto!important}.w-full{width:100%}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[800px\\]{max-width:800px}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.border-none{--tw-border-style: none;border-style:none}.border-black-white-200{border-color:var(--color-black-white-200)}.border-border{border-color:var(--color-border)}.border-primary{border-color:var(--color-primary)}.border-white\\/20{border-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-t-primary{border-top-color:var(--color-primary)}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-black-white-50{background-color:var(--color-black-white-50)}.bg-black-white-100{background-color:var(--color-black-white-100)}.bg-black\\/30{background-color:color-mix(in srgb,#000 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\\/60{background-color:color-mix(in srgb,#000 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\\/90{background-color:color-mix(in srgb,#000 90%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-muted{background-color:var(--color-muted)}.bg-primary{background-color:var(--color-primary)}.bg-primary\\/15{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-primary\\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from: var(--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))}.from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.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))}.to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-5\\!{padding:calc(var(--spacing) * 5)!important}.p-6{padding:calc(var(--spacing) * 6)}.p-6\\!{padding:calc(var(--spacing) * 6)!important}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-black-white-200{color:var(--color-black-white-200)}.text-black-white-300{color:var(--color-black-white-300)}.text-card-foreground{color:var(--color-card-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0%}.opacity-30{opacity:30%}.opacity-60{opacity:60%}.opacity-80{opacity:80%}.opacity-100{opacity:100%}.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)}.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)}.ring-ring{--tw-ring-color: var(--color-ring)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.placeholder\\:text-black-white-400::placeholder{color:var(--color-black-white-400)}@media(hover:hover){.hover\\:translate-y-\\[-2px\\]:hover{--tw-translate-y: -2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.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){.hover\\:bg-black\\/80:hover{background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-black\\/80:hover{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}}@media(hover:hover){.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\\:bg-white\\/20:hover{background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}@media(hover:hover){.hover\\:text-primary:hover{color:var(--color-primary)}}@media(hover:hover){.hover\\:opacity-80:hover{opacity:80%}}@media(hover:hover){.hover\\:opacity-100:hover{opacity:100%}}@media(hover:hover){.hover\\:shadow-md:hover{--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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-black-white-300:disabled{border-color:var(--color-black-white-300)}.disabled\\:bg-black-white-300:disabled{background-color:var(--color-black-white-300)}.disabled\\:text-white:disabled{color:var(--color-white)}.disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.dark\\:border-l-black-white-600{border-left-color:var(--color-black-white-600)}}@media(prefers-color-scheme:dark){.dark\\:text-muted-foreground{color:var(--color-muted-foreground)}}@media(prefers-color-scheme:dark){.dark\\:placeholder\\:text-black-white-600::placeholder{color:var(--color-black-white-600)}}}:root{--black-white-50: #ffffff;--black-white-100: #f3f3f3;--black-white-200: #e2e2e2;--black-white-300: #919191;--black-white-400: #606060;--black-white-500: #333333;--black-white-600: #1f1f1f;--black-white-700: #171717;--black-white-800: #0a0a0a;--black-white-900: #050505;--black-white-950: #000000;--black-white-default: #333333;--storm-dust: #3d3d3d;--storm-dust-950: #262626;--primary-color: #ad49e1;--primary-color-100: #f6ecfc;--primary-color-200: #deb6f3;--primary-color-300: #d49cee;--primary-color-400: #c57fea;--primary-color-500: #ad49e1;--primary-color-600: #672b87;--primary-color-700: #451d5a;--primary-color-800: #220e2d;--primary-color-900: #110716;--primary-color-950: #0a0310;--background: #ffffff;--foreground: #333333;--card: #ffffff;--card-foreground: #333333;--popover: #ffffff;--popover-foreground: #333333;--secondary: #f3f3f3;--secondary-foreground: #333333;--muted: #f3f3f3;--muted-foreground: #606060;--accent: #f3f3f3;--accent-foreground: #333333;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #e2e2e2;--input: #e2e2e2;--ring: var(--primary-color);--radius: .5rem}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}@media(prefers-contrast:high){:root{--background: #ffffff;--foreground: #000000;--card: #ffffff;--card-foreground: #000000;--border: #000000;--muted-foreground: #000000}}@media(prefers-color-scheme:dark){:root{--black-white-50: #000000;--black-white-100: #050505;--black-white-200: #0a0a0a;--black-white-300: #171717;--black-white-400: #1f1f1f;--black-white-500: #333333;--black-white-600: #606060;--black-white-700: #919191;--black-white-800: #e2e2e2;--black-white-900: #f3f3f3;--black-white-950: #ffffff;--black-white-default: #e2e2e2;--storm-dust: #262626;--storm-dust-950: #3d3d3d;--background: #121212;--foreground: #ffffff;--card: #262626;--card-foreground: #ffffff;--popover: #1e1e1e;--popover-foreground: #ffffff;--secondary: #3d3d3d;--secondary-foreground: #ffffff;--muted: #2a2a2a;--muted-foreground: #b3b3b3;--accent: #2a2a2a;--accent-foreground: #ffffff;--destructive: #ff6b6b;--destructive-foreground: #ffffff;--border: #404040;--input: var(--card);--ring: var(--primary-color)}body{background-color:var(--background);color:var(--foreground)}.card--default,.card--shadowed{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.help-popup{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}}@media(prefers-color-scheme:dark)and (prefers-contrast:high){:root{--background: #000000;--foreground: #ffffff;--card: #000000;--card-foreground: #ffffff;--border: #ffffff;--muted-foreground: #ffffff}}@media(prefers-color-scheme:dark)and (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:hover{transform:none!important}.chat__send-button:hover:not(:disabled){transform:translateY(-50%)!important}}html,body{font-family:var(--font-sans)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,60%,to{transform:initial}30%{transform:translateY(-10px)}}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}.animate-float{animation:float 3s infinite ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bg-header{background:linear-gradient(171deg,var(--primary-color) -131.06%,var(--black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--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-rotate-x{syntax: \"*\"; inherits: false;}@property --tw-rotate-y{syntax: \"*\"; inherits: false;}@property --tw-rotate-z{syntax: \"*\"; inherits: false;}@property --tw-skew-x{syntax: \"*\"; inherits: false;}@property --tw-skew-y{syntax: \"*\"; inherits: false;}@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-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@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;}@keyframes spin{to{transform:rotate(360deg)}}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--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-outline-style: solid;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
3621
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-col items-end h-auto w-auto fixed bottom-6 right-6 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 (startNewChat)=\"handleStartNewChat($event)\"\n (showHelpScreenDataEvent)=\"handleShowHelpScreenData()\"\n (navigateToUrl)=\"navigateToUrl($event)\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: \"Cairo\", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-gray-100: oklch(96.7% .003 264.542);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-md: .375rem;--radius-lg: .5rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-primary: var(--primary-color);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-muted: var(--muted);--color-muted-foreground: var(--muted-foreground);--color-border: var(--border);--color-ring: var(--ring);--color-black-white-50: var(--black-white-50);--color-black-white-100: var(--black-white-100);--color-black-white-200: var(--black-white-200);--color-black-white-300: var(--black-white-300);--color-black-white-400: var(--black-white-400);--color-black-white-600: var(--black-white-600)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-\\[-8px\\]{bottom:-8px}.left-0{left:calc(var(--spacing) * 0)}.left-0\\.5{left:calc(var(--spacing) * .5)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-\\[1\\]{z-index:1}.z-\\[9997\\]{z-index:9997}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.z-\\[10001\\]{z-index:10001}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.my-5{margin-block:calc(var(--spacing) * 5)}.ms-6{margin-inline-start:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[50px\\]{height:50px}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-15{width:calc(var(--spacing) * 15)}.w-20{width:calc(var(--spacing) * 20)}.w-\\[50px\\]{width:50px}.w-auto{width:auto}.w-auto\\!{width:auto!important}.w-full{width:100%}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[800px\\]{max-width:800px}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-r-8{border-right-style:var(--tw-border-style);border-right-width:8px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-8{border-left-style:var(--tw-border-style);border-left-width:8px}.border-none{--tw-border-style: none;border-style:none}.border-black-white-200{border-color:var(--color-black-white-200)}.border-border{border-color:var(--color-border)}.border-primary{border-color:var(--color-primary)}.border-white\\/20{border-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-t-primary{border-top-color:var(--color-primary)}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-black-white-50{background-color:var(--color-black-white-50)}.bg-black-white-100{background-color:var(--color-black-white-100)}.bg-black\\/30{background-color:color-mix(in srgb,#000 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\\/60{background-color:color-mix(in srgb,#000 60%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\\/90{background-color:color-mix(in srgb,#000 90%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-muted{background-color:var(--color-muted)}.bg-primary{background-color:var(--color-primary)}.bg-primary\\/15{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-primary\\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from: var(--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))}.from-\\[28\\.32\\%\\]{--tw-gradient-from-position: 28.32%}.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))}.to-\\[112\\.59\\%\\]{--tw-gradient-to-position: 112.59%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-5\\!{padding:calc(var(--spacing) * 5)!important}.p-6{padding:calc(var(--spacing) * 6)}.p-6\\!{padding:calc(var(--spacing) * 6)!important}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-black-white-200{color:var(--color-black-white-200)}.text-black-white-300{color:var(--color-black-white-300)}.text-card-foreground{color:var(--color-card-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0%}.opacity-30{opacity:30%}.opacity-60{opacity:60%}.opacity-80{opacity:80%}.opacity-100{opacity:100%}.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)}.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)}.ring-ring{--tw-ring-color: var(--color-ring)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.placeholder\\:text-black-white-400::placeholder{color:var(--color-black-white-400)}@media(hover:hover){.hover\\:translate-y-\\[-2px\\]:hover{--tw-translate-y: -2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.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){.hover\\:bg-black\\/80:hover{background-color:color-mix(in srgb,#000 80%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-black\\/80:hover{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}}@media(hover:hover){.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\\:bg-white\\/20:hover{background-color:color-mix(in srgb,#fff 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}@media(hover:hover){.hover\\:text-primary:hover{color:var(--color-primary)}}@media(hover:hover){.hover\\:opacity-80:hover{opacity:80%}}@media(hover:hover){.hover\\:opacity-100:hover{opacity:100%}}@media(hover:hover){.hover\\:shadow-md:hover{--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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-black-white-300:disabled{border-color:var(--color-black-white-300)}.disabled\\:bg-black-white-300:disabled{background-color:var(--color-black-white-300)}.disabled\\:text-white:disabled{color:var(--color-white)}.disabled\\:opacity-50:disabled{opacity:50%}@media(prefers-color-scheme:dark){.dark\\:border-e-black-white-600{border-inline-end-color:var(--color-black-white-600)}}@media(prefers-color-scheme:dark){.dark\\:text-muted-foreground{color:var(--color-muted-foreground)}}@media(prefers-color-scheme:dark){.dark\\:placeholder\\:text-black-white-600::placeholder{color:var(--color-black-white-600)}}}:root{--black-white-50: #ffffff;--black-white-100: #f3f3f3;--black-white-200: #e2e2e2;--black-white-300: #919191;--black-white-400: #606060;--black-white-500: #333333;--black-white-600: #1f1f1f;--black-white-700: #171717;--black-white-800: #0a0a0a;--black-white-900: #050505;--black-white-950: #000000;--black-white-default: #333333;--storm-dust: #3d3d3d;--storm-dust-950: #262626;--primary-color: #ad49e1;--primary-color-100: #f6ecfc;--primary-color-200: #deb6f3;--primary-color-300: #d49cee;--primary-color-400: #c57fea;--primary-color-500: #ad49e1;--primary-color-600: #672b87;--primary-color-700: #451d5a;--primary-color-800: #220e2d;--primary-color-900: #110716;--primary-color-950: #0a0310;--background: #ffffff;--foreground: #333333;--card: #ffffff;--card-foreground: #333333;--popover: #ffffff;--popover-foreground: #333333;--secondary: #f3f3f3;--secondary-foreground: #333333;--muted: #f3f3f3;--muted-foreground: #606060;--accent: #f3f3f3;--accent-foreground: #333333;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #e2e2e2;--input: #e2e2e2;--ring: var(--primary-color);--radius: .5rem}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}@media(prefers-contrast:high){:root{--background: #ffffff;--foreground: #000000;--card: #ffffff;--card-foreground: #000000;--border: #000000;--muted-foreground: #000000}}@media(prefers-color-scheme:dark){:root{--black-white-50: #000000;--black-white-100: #050505;--black-white-200: #0a0a0a;--black-white-300: #171717;--black-white-400: #1f1f1f;--black-white-500: #333333;--black-white-600: #606060;--black-white-700: #919191;--black-white-800: #e2e2e2;--black-white-900: #f3f3f3;--black-white-950: #ffffff;--black-white-default: #e2e2e2;--storm-dust: #262626;--storm-dust-950: #3d3d3d;--background: #121212;--foreground: #ffffff;--card: #262626;--card-foreground: #ffffff;--popover: #1e1e1e;--popover-foreground: #ffffff;--secondary: #3d3d3d;--secondary-foreground: #ffffff;--muted: #2a2a2a;--muted-foreground: #b3b3b3;--accent: #2a2a2a;--accent-foreground: #ffffff;--destructive: #ff6b6b;--destructive-foreground: #ffffff;--border: #404040;--input: var(--card);--ring: var(--primary-color)}body{background-color:var(--background);color:var(--foreground)}.card--default,.card--shadowed{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.help-popup{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;text-decoration:underline}}@media(prefers-color-scheme:dark)and (prefers-contrast:high){:root{--background: #000000;--foreground: #ffffff;--card: #000000;--card-foreground: #ffffff;--border: #ffffff;--muted-foreground: #ffffff}}@media(prefers-color-scheme:dark)and (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:hover{transform:none!important}.chat__send-button:hover:not(:disabled){transform:translateY(-50%)!important}}html,body{font-family:var(--font-sans)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,60%,to{transform:initial}30%{transform:translateY(-10px)}}@keyframes circular-progress{0%{stroke-dashoffset:100.48}50%{stroke-dashoffset:25.12}to{stroke-dashoffset:100.48}}.animate-float{animation:float 3s infinite ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bg-header{background:linear-gradient(171deg,var(--primary-color) -131.06%,var(--black-white-50) 89.82%)}@supports (color: color-mix(in lab,red,red)){.bg-header{background:linear-gradient(171deg,color-mix(in srgb,var(--primary-color) 25%,transparent) -131.06%,color-mix(in srgb,var(--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-rotate-x{syntax: \"*\"; inherits: false;}@property --tw-rotate-y{syntax: \"*\"; inherits: false;}@property --tw-rotate-z{syntax: \"*\"; inherits: false;}@property --tw-skew-x{syntax: \"*\"; inherits: false;}@property --tw-skew-y{syntax: \"*\"; inherits: false;}@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-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@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;}@keyframes spin{to{transform:rotate(360deg)}}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--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-outline-style: solid;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
3618
3622
  }], 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: [{
3619
3623
  type: ViewChild,
3620
3624
  args: ['chatMessagesContainer']