@3dsource/source-ui 3.1.0 → 3.1.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.
@@ -58,6 +58,7 @@ class SourceModalComponent {
58
58
  this.#dialogRef = inject((DialogRef));
59
59
  }
60
60
  #dialogRef;
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
62
  close(result) {
62
63
  this.#dialogRef.close(result);
63
64
  }
@@ -87,16 +88,16 @@ class SourceModalComponent {
87
88
  return (this.data.context !== 'default' &&
88
89
  !!sourceModalIcon.find((icon) => icon.name === this.data.context));
89
90
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourceModalComponent, isStandalone: true, selector: "src-modal", ngImport: i0, template: "<div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data['closeButton']) {\n <src-icon-button\n class=\"src-modal__close\"\n appearance=\"plain\"\n shape=\"round\"\n size=\"sm\"\n weight=\"secondary\"\n [data-testid]=\"testID() + '-header-close'\"\n (onClick)=\"close()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n\n <div\n [class.src-modal__body--icon]=\"hasIcon()\"\n class=\"src-modal__body src-modal__body--scrollable\"\n >\n @if (hasIcon()) {\n <div\n class=\"src-modal__icon\"\n [innerHTML]=\"getIconSvg(data['context']!)\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-modal__title\"\n >\n {{ data['headerTitle'] }}\n </div>\n <ng-scrollbar class=\"src-modal__scroll-box\">\n @if (stringContent(); as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </ng-scrollbar>\n </div>\n\n @if (data.footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data.footerButtons)) {\n @for (buttonGroup of data.footerButtons; track $index) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <src-button\n [srcButtonConfig]=\"\n getButtonConfig(footerButton.srcButtonConfig)\n \"\n (onClick)=\"close(footerButton.action())\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data.footerButtons);\n track footerButton.label\n ) {\n <src-button\n [srcButtonConfig]=\"getButtonConfig(footerButton.srcButtonConfig)\"\n (onClick)=\"close(footerButton.action())\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".src-modal__body--scrollable{padding:0 0 0 var(--srcModalBodyPadding)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar{--scrollbar-overscroll-behavior: initial;--scrollbar-track-thickness: 3px;--scrollbar-container-offset: 8px;--scrollbar-track-color: transparent;--scrollbar-thumb-color: var(--src-color-border-default, #e5e7eb);--scrollbar-thumb-hover-color: var(--src-scrollbar-thumb-color);--scrollbar-thumb-active-color: var(--src-scrollbar-thumb-color)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar .ng-scrollbar-thumb{border-radius:4px}.src-modal__body .src-modal__scroll-box{max-height:100%}\n"], dependencies: [{ kind: "component", type: SourceIconButtonComponent, selector: "src-icon-button", inputs: ["name", "type", "appearance", "weight", "size", "shape", "context", "counter", "isPressed", "isDisabled", "data-testid"], outputs: ["onClick"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport]), [ngScrollbar]", exportAs: ["ngScrollbar"] }, { kind: "component", type: SourceButtonComponent, selector: "src-button", inputs: ["type", "appearance", "weight", "size", "context", "customClass", "isFullWidth", "isPressed", "isDisabled", "isLoading", "isInverted", "iconButton", "srcButtonConfig", "formID", "data-testid"], outputs: ["onClick", "onSubmit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourceModalComponent, isStandalone: true, selector: "src-modal", ngImport: i0, template: "<div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data['closeButton']) {\n <src-icon-button\n (onClick)=\"close()\"\n [data-testid]=\"testID() + '-header-close'\"\n class=\"src-modal__close\"\n appearance=\"plain\"\n shape=\"round\"\n size=\"sm\"\n weight=\"secondary\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n\n <div\n [class.src-modal__body--icon]=\"hasIcon()\"\n class=\"src-modal__body src-modal__body--scrollable\"\n >\n @if (hasIcon()) {\n <div\n [innerHTML]=\"getIconSvg(data['context']!)\"\n class=\"src-modal__icon\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-modal__title\"\n >\n {{ data['headerTitle'] }}\n </div>\n <ng-scrollbar class=\"src-modal__scroll-box\">\n @if (stringContent(); as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </ng-scrollbar>\n </div>\n\n @if (data.footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data.footerButtons)) {\n @for (buttonGroup of data.footerButtons; track $index) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <src-button\n (onClick)=\"close(footerButton.action())\"\n [srcButtonConfig]=\"\n getButtonConfig(footerButton.srcButtonConfig)\n \"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data.footerButtons);\n track footerButton.label\n ) {\n <src-button\n (onClick)=\"close(footerButton.action())\"\n [srcButtonConfig]=\"getButtonConfig(footerButton.srcButtonConfig)\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".src-modal__body--scrollable{padding:0 0 0 var(--srcModalBodyPadding)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar{--scrollbar-overscroll-behavior: initial;--scrollbar-track-thickness: 3px;--scrollbar-container-offset: 8px;--scrollbar-track-color: transparent;--scrollbar-thumb-color: var(--src-color-border-default, #e5e7eb);--scrollbar-thumb-hover-color: var(--src-scrollbar-thumb-color);--scrollbar-thumb-active-color: var(--src-scrollbar-thumb-color)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar .ng-scrollbar-thumb{border-radius:4px}.src-modal__body .src-modal__scroll-box{max-height:100%}\n"], dependencies: [{ kind: "component", type: SourceIconButtonComponent, selector: "src-icon-button", inputs: ["name", "type", "appearance", "weight", "size", "shape", "context", "counter", "isPressed", "isDisabled", "data-testid"], outputs: ["onClick"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport]), [ngScrollbar]", exportAs: ["ngScrollbar"] }, { kind: "component", type: SourceButtonComponent, selector: "src-button", inputs: ["type", "appearance", "weight", "size", "context", "customClass", "isFullWidth", "isPressed", "isDisabled", "isLoading", "isInverted", "iconButton", "srcButtonConfig", "formID", "data-testid"], outputs: ["onClick", "onSubmit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
93
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceModalComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceModalComponent, decorators: [{
94
95
  type: Component,
95
96
  args: [{ selector: 'src-modal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
96
97
  SourceIconButtonComponent,
97
98
  NgScrollbarModule,
98
99
  SourceButtonComponent,
99
- ], template: "<div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data['closeButton']) {\n <src-icon-button\n class=\"src-modal__close\"\n appearance=\"plain\"\n shape=\"round\"\n size=\"sm\"\n weight=\"secondary\"\n [data-testid]=\"testID() + '-header-close'\"\n (onClick)=\"close()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n\n <div\n [class.src-modal__body--icon]=\"hasIcon()\"\n class=\"src-modal__body src-modal__body--scrollable\"\n >\n @if (hasIcon()) {\n <div\n class=\"src-modal__icon\"\n [innerHTML]=\"getIconSvg(data['context']!)\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-modal__title\"\n >\n {{ data['headerTitle'] }}\n </div>\n <ng-scrollbar class=\"src-modal__scroll-box\">\n @if (stringContent(); as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </ng-scrollbar>\n </div>\n\n @if (data.footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data.footerButtons)) {\n @for (buttonGroup of data.footerButtons; track $index) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <src-button\n [srcButtonConfig]=\"\n getButtonConfig(footerButton.srcButtonConfig)\n \"\n (onClick)=\"close(footerButton.action())\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data.footerButtons);\n track footerButton.label\n ) {\n <src-button\n [srcButtonConfig]=\"getButtonConfig(footerButton.srcButtonConfig)\"\n (onClick)=\"close(footerButton.action())\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".src-modal__body--scrollable{padding:0 0 0 var(--srcModalBodyPadding)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar{--scrollbar-overscroll-behavior: initial;--scrollbar-track-thickness: 3px;--scrollbar-container-offset: 8px;--scrollbar-track-color: transparent;--scrollbar-thumb-color: var(--src-color-border-default, #e5e7eb);--scrollbar-thumb-hover-color: var(--src-scrollbar-thumb-color);--scrollbar-thumb-active-color: var(--src-scrollbar-thumb-color)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar .ng-scrollbar-thumb{border-radius:4px}.src-modal__body .src-modal__scroll-box{max-height:100%}\n"] }]
100
+ ], template: "<div [attr.data-testid]=\"testID()\" class=\"src-modal\">\n <div class=\"src-modal__header\">\n @if (data['closeButton']) {\n <src-icon-button\n (onClick)=\"close()\"\n [data-testid]=\"testID() + '-header-close'\"\n class=\"src-modal__close\"\n appearance=\"plain\"\n shape=\"round\"\n size=\"sm\"\n weight=\"secondary\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n\n <div\n [class.src-modal__body--icon]=\"hasIcon()\"\n class=\"src-modal__body src-modal__body--scrollable\"\n >\n @if (hasIcon()) {\n <div\n [innerHTML]=\"getIconSvg(data['context']!)\"\n class=\"src-modal__icon\"\n ></div>\n }\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-modal__title\"\n >\n {{ data['headerTitle'] }}\n </div>\n <ng-scrollbar class=\"src-modal__scroll-box\">\n @if (stringContent(); as content) {\n <div [innerHTML]=\"content\"></div>\n }\n </ng-scrollbar>\n </div>\n\n @if (data.footerButtons) {\n <div class=\"src-modal__footer\">\n @if (isArrayOfArrays(data.footerButtons)) {\n @for (buttonGroup of data.footerButtons; track $index) {\n <div class=\"src-modal__footer-group\">\n @for (footerButton of buttonGroup; track footerButton.label) {\n <src-button\n (onClick)=\"close(footerButton.action())\"\n [srcButtonConfig]=\"\n getButtonConfig(footerButton.srcButtonConfig)\n \"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n } @else {\n <div class=\"src-modal__footer-group\">\n @for (\n footerButton of getSingleButtonArray(data.footerButtons);\n track footerButton.label\n ) {\n <src-button\n (onClick)=\"close(footerButton.action())\"\n [srcButtonConfig]=\"getButtonConfig(footerButton.srcButtonConfig)\"\n >\n {{ footerButton.label }}\n </src-button>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".src-modal__body--scrollable{padding:0 0 0 var(--srcModalBodyPadding)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar{--scrollbar-overscroll-behavior: initial;--scrollbar-track-thickness: 3px;--scrollbar-container-offset: 8px;--scrollbar-track-color: transparent;--scrollbar-thumb-color: var(--src-color-border-default, #e5e7eb);--scrollbar-thumb-hover-color: var(--src-scrollbar-thumb-color);--scrollbar-thumb-active-color: var(--src-scrollbar-thumb-color)}.src-modal__body--scrollable .src-modal__scroll-box.ng-scrollbar .ng-scrollbar-thumb{border-radius:4px}.src-modal__body .src-modal__scroll-box{max-height:100%}\n"] }]
100
101
  }] });
101
102
 
102
103
  const SOURCE_POPOVER_DATA = new InjectionToken('SourcePopoverData');
@@ -221,10 +222,10 @@ class SourcePopoverService {
221
222
  testID: override?.testID ?? this.#defaultSourcePopoverConfig.testID,
222
223
  };
223
224
  }
224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
225
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverService }); }
225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
226
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverService }); }
226
227
  }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverService, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverService, decorators: [{
228
229
  type: Injectable
229
230
  }] });
230
231
 
@@ -238,18 +239,17 @@ class SourcePopoverComponent {
238
239
  this.#sourcePopoverService = inject(SourcePopoverService);
239
240
  }
240
241
  #sourcePopoverService;
241
- close() {
242
- this.#sourcePopoverService.closePopover(this.data.overlayRef);
243
- }
244
- emitBackAction() {
245
- this.#sourcePopoverService.closePopover(this.data.overlayRef);
242
+ closePopover() {
243
+ if (this.data.overlayRef) {
244
+ this.#sourcePopoverService.closePopover(this.data.overlayRef);
245
+ }
246
246
  }
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourcePopoverComponent, isStandalone: true, selector: "src-popover", ngImport: i0, template: "<div\n class=\"src-popover\"\n [style.maxHeight]=\"data.popoverMaxHeight\"\n [attr.data-testid]=\"testID()\"\n>\n @if (\n data['hasBackButton'] ||\n data['hasCloseButton'] ||\n (data['headerTitle'] && data['headerTitle'] !== '')\n ) {\n <div class=\"src-popover__header\">\n @if (data['hasBackButton']) {\n <src-icon-button\n class=\"src-popover__back\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n [data-testid]=\"testID() + '-header-back'\"\n (onClick)=\"emitBackAction()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n >\n <path\n d=\"m438-480 164 164q11 11 11 25.5T602-265q-11 11-25.5 11t-25.84-11.34L361-455q-5-5.4-7.5-11.7-2.5-6.3-2.5-13.5t2.5-13.5Q356-500 361-505l189.66-189.66Q562-706 576.5-706t25.5 11q11 11 11 25.5T602-644L438-480Z\"\n />\n </svg>\n </src-icon-button>\n }\n\n <div\n class=\"src-popover__title\"\n [attr.data-testid]=\"testID() + '-header-title'\"\n >\n {{ data.headerTitle }}\n </div>\n\n @if (data['hasCloseButton']) {\n <src-icon-button\n class=\"src-popover__close\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n [data-testid]=\"testID() + '-header-close'\"\n (click)=\"close()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n }\n\n <div class=\"src-popover__body\">\n @if (template()) {\n <ng-template [ngTemplateOutlet]=\"template()\"></ng-template>\n }\n </div>\n</div>\n", styles: [".src-popover-backdrop{background-color:#0000}.src-popover-backdrop--mobile{background-color:#00000052}.src-popover__header{display:flex;padding:12px;width:100%;border-bottom:var(--srcPopoverTitleBorder)}.src-popover__title{font-size:var(--srcPopoverTitleSize);font-weight:var(--src-font-weight-semiBold, 600);line-height:var(--srcPopoverTitleLineHeight);color:var(--srcPopoverTitleColor);padding:0 4px;word-break:break-word}.src-popover__back{margin-right:8px}.src-popover__close{margin-left:auto}\n"], dependencies: [{ kind: "component", type: SourceIconButtonComponent, selector: "src-icon-button", inputs: ["name", "type", "appearance", "weight", "size", "shape", "context", "counter", "isPressed", "isDisabled", "data-testid"], outputs: ["onClick"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourcePopoverComponent, isStandalone: true, selector: "src-popover", ngImport: i0, template: "<div\n [style.maxHeight]=\"data.popoverMaxHeight\"\n [attr.data-testid]=\"testID()\"\n class=\"src-popover\"\n>\n @if (\n data['hasBackButton'] ||\n data['hasCloseButton'] ||\n (data['headerTitle'] && data['headerTitle'] !== '')\n ) {\n <div class=\"src-popover__header\">\n @if (data['hasBackButton']) {\n <src-icon-button\n (onClick)=\"closePopover()\"\n [data-testid]=\"testID() + '-header-back'\"\n class=\"src-popover__back\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n >\n <path\n d=\"m438-480 164 164q11 11 11 25.5T602-265q-11 11-25.5 11t-25.84-11.34L361-455q-5-5.4-7.5-11.7-2.5-6.3-2.5-13.5t2.5-13.5Q356-500 361-505l189.66-189.66Q562-706 576.5-706t25.5 11q11 11 11 25.5T602-644L438-480Z\"\n />\n </svg>\n </src-icon-button>\n }\n\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-popover__title\"\n >\n {{ data.headerTitle }}\n </div>\n\n @if (data['hasCloseButton']) {\n <src-icon-button\n (click)=\"closePopover()\"\n [data-testid]=\"testID() + '-header-close'\"\n class=\"src-popover__close\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n }\n\n <div class=\"src-popover__body\">\n @if (template()) {\n <ng-template [ngTemplateOutlet]=\"template()\"></ng-template>\n }\n </div>\n</div>\n", styles: [".src-popover-backdrop{background-color:#0000}.src-popover-backdrop--mobile{background-color:#00000052}.src-popover__header{display:flex;padding:12px;width:100%;border-bottom:var(--srcPopoverTitleBorder)}.src-popover__title{font-size:var(--srcPopoverTitleSize);font-weight:var(--src-font-weight-semiBold, 600);line-height:var(--srcPopoverTitleLineHeight);color:var(--srcPopoverTitleColor);padding:0 4px;word-break:break-word}.src-popover__back{margin-right:8px}.src-popover__close{margin-left:auto}\n"], dependencies: [{ kind: "component", type: SourceIconButtonComponent, selector: "src-icon-button", inputs: ["name", "type", "appearance", "weight", "size", "shape", "context", "counter", "isPressed", "isDisabled", "data-testid"], outputs: ["onClick"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
249
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverComponent, decorators: [{
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverComponent, decorators: [{
251
251
  type: Component,
252
- args: [{ selector: 'src-popover', imports: [SourceIconButtonComponent, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"src-popover\"\n [style.maxHeight]=\"data.popoverMaxHeight\"\n [attr.data-testid]=\"testID()\"\n>\n @if (\n data['hasBackButton'] ||\n data['hasCloseButton'] ||\n (data['headerTitle'] && data['headerTitle'] !== '')\n ) {\n <div class=\"src-popover__header\">\n @if (data['hasBackButton']) {\n <src-icon-button\n class=\"src-popover__back\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n [data-testid]=\"testID() + '-header-back'\"\n (onClick)=\"emitBackAction()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n >\n <path\n d=\"m438-480 164 164q11 11 11 25.5T602-265q-11 11-25.5 11t-25.84-11.34L361-455q-5-5.4-7.5-11.7-2.5-6.3-2.5-13.5t2.5-13.5Q356-500 361-505l189.66-189.66Q562-706 576.5-706t25.5 11q11 11 11 25.5T602-644L438-480Z\"\n />\n </svg>\n </src-icon-button>\n }\n\n <div\n class=\"src-popover__title\"\n [attr.data-testid]=\"testID() + '-header-title'\"\n >\n {{ data.headerTitle }}\n </div>\n\n @if (data['hasCloseButton']) {\n <src-icon-button\n class=\"src-popover__close\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n [data-testid]=\"testID() + '-header-close'\"\n (click)=\"close()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n }\n\n <div class=\"src-popover__body\">\n @if (template()) {\n <ng-template [ngTemplateOutlet]=\"template()\"></ng-template>\n }\n </div>\n</div>\n", styles: [".src-popover-backdrop{background-color:#0000}.src-popover-backdrop--mobile{background-color:#00000052}.src-popover__header{display:flex;padding:12px;width:100%;border-bottom:var(--srcPopoverTitleBorder)}.src-popover__title{font-size:var(--srcPopoverTitleSize);font-weight:var(--src-font-weight-semiBold, 600);line-height:var(--srcPopoverTitleLineHeight);color:var(--srcPopoverTitleColor);padding:0 4px;word-break:break-word}.src-popover__back{margin-right:8px}.src-popover__close{margin-left:auto}\n"] }]
252
+ args: [{ selector: 'src-popover', imports: [SourceIconButtonComponent, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [style.maxHeight]=\"data.popoverMaxHeight\"\n [attr.data-testid]=\"testID()\"\n class=\"src-popover\"\n>\n @if (\n data['hasBackButton'] ||\n data['hasCloseButton'] ||\n (data['headerTitle'] && data['headerTitle'] !== '')\n ) {\n <div class=\"src-popover__header\">\n @if (data['hasBackButton']) {\n <src-icon-button\n (onClick)=\"closePopover()\"\n [data-testid]=\"testID() + '-header-back'\"\n class=\"src-popover__back\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n >\n <path\n d=\"m438-480 164 164q11 11 11 25.5T602-265q-11 11-25.5 11t-25.84-11.34L361-455q-5-5.4-7.5-11.7-2.5-6.3-2.5-13.5t2.5-13.5Q356-500 361-505l189.66-189.66Q562-706 576.5-706t25.5 11q11 11 11 25.5T602-644L438-480Z\"\n />\n </svg>\n </src-icon-button>\n }\n\n <div\n [attr.data-testid]=\"testID() + '-header-title'\"\n class=\"src-popover__title\"\n >\n {{ data.headerTitle }}\n </div>\n\n @if (data['hasCloseButton']) {\n <src-icon-button\n (click)=\"closePopover()\"\n [data-testid]=\"testID() + '-header-close'\"\n class=\"src-popover__close\"\n shape=\"round\"\n size=\"sm\"\n weight=\"ghost\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.0001 11.229L6.68618 14.5429C6.51951 14.7096 6.31818 14.7896 6.08218 14.7829C5.84618 14.7756 5.64485 14.6886 5.47818 14.5219C5.31151 14.3553 5.22818 14.1506 5.22818 13.9079C5.22818 13.6646 5.31151 13.4596 5.47818 13.2929L8.77107 10L5.45718 6.68615C5.29051 6.51949 5.21051 6.31482 5.21718 6.07215C5.22451 5.82882 5.31151 5.62382 5.47818 5.45715C5.64485 5.29049 5.84951 5.20715 6.09218 5.20715C6.33551 5.20715 6.54051 5.29049 6.70718 5.45715L10.0001 8.77105L13.314 5.45715C13.4806 5.29049 13.6853 5.20715 13.928 5.20715C14.1713 5.20715 14.3763 5.29049 14.543 5.45715C14.7096 5.62382 14.793 5.82882 14.793 6.07215C14.793 6.31482 14.7096 6.51949 14.543 6.68615L11.2291 10L14.543 13.3139C14.7096 13.4806 14.793 13.6819 14.793 13.9179C14.793 14.1539 14.7096 14.3553 14.543 14.5219C14.3763 14.6886 14.1713 14.7719 13.928 14.7719C13.6853 14.7719 13.4806 14.6886 13.314 14.5219L10.0001 11.229Z\"\n fill=\"currentColor\"\n />\n </svg>\n </src-icon-button>\n }\n </div>\n }\n\n <div class=\"src-popover__body\">\n @if (template()) {\n <ng-template [ngTemplateOutlet]=\"template()\"></ng-template>\n }\n </div>\n</div>\n", styles: [".src-popover-backdrop{background-color:#0000}.src-popover-backdrop--mobile{background-color:#00000052}.src-popover__header{display:flex;padding:12px;width:100%;border-bottom:var(--srcPopoverTitleBorder)}.src-popover__title{font-size:var(--srcPopoverTitleSize);font-weight:var(--src-font-weight-semiBold, 600);line-height:var(--srcPopoverTitleLineHeight);color:var(--srcPopoverTitleColor);padding:0 4px;word-break:break-word}.src-popover__back{margin-right:8px}.src-popover__close{margin-left:auto}\n"] }]
253
253
  }] });
254
254
 
255
255
  class SourcePopoverTriggerComponent {
@@ -283,13 +283,15 @@ class SourcePopoverTriggerComponent {
283
283
  },
284
284
  ], ...(ngDevMode ? [{ debugName: "positions" }] : []));
285
285
  this.popoverShown = signal(false, ...(ngDevMode ? [{ debugName: "popoverShown" }] : []));
286
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
286
287
  this.onPopoverShown = output();
288
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
287
289
  this.onBackButtonClick = output();
288
290
  this.overlayRef = null;
289
291
  this.#sourcePopoverService = inject(SourcePopoverService, { self: true });
290
292
  this.#viewContainerRef = inject(ViewContainerRef);
291
293
  this._ = effect(() => {
292
- if (this.#sourcePopoverService.backButtonClicked()) {
294
+ if (this.#sourcePopoverService.backButtonClicked() && this.overlayRef) {
293
295
  this.onBackButtonClick.emit(this.overlayRef);
294
296
  }
295
297
  }, ...(ngDevMode ? [{ debugName: "_" }] : []));
@@ -297,6 +299,10 @@ class SourcePopoverTriggerComponent {
297
299
  #sourcePopoverService;
298
300
  #viewContainerRef;
299
301
  showPopover() {
302
+ const overlayOrigin = this.overlayOrigin();
303
+ if (!overlayOrigin) {
304
+ return;
305
+ }
300
306
  const config = {
301
307
  srcPopoverTpl: this.srcPopoverTpl(),
302
308
  overlayOrigin: this.overlayOrigin(),
@@ -311,7 +317,7 @@ class SourcePopoverTriggerComponent {
311
317
  closeOnBackdropClick: this.closeOnBackdropClick(),
312
318
  testID: this.testID(),
313
319
  };
314
- this.overlayRef = this.#sourcePopoverService.show(this.overlayOrigin(), this.#viewContainerRef, config);
320
+ this.overlayRef = this.#sourcePopoverService.show(overlayOrigin, this.#viewContainerRef, config);
315
321
  this.popoverShown.set(true);
316
322
  this.onPopoverShown.emit(true);
317
323
  this.overlayRef
@@ -327,12 +333,12 @@ class SourcePopoverTriggerComponent {
327
333
  .pipe(take(1))
328
334
  .subscribe(() => this.overlayRef?.detach());
329
335
  }
330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: SourcePopoverTriggerComponent, isStandalone: true, selector: "src-popover-trigger", inputs: { srcPopoverTpl: { classPropertyName: "srcPopoverTpl", publicName: "srcPopoverTpl", isSignal: true, isRequired: true, transformFunction: null }, headerTitle: { classPropertyName: "headerTitle", publicName: "headerTitle", isSignal: true, isRequired: false, transformFunction: null }, activeClass: { classPropertyName: "activeClass", publicName: "activeClass", isSignal: true, isRequired: false, transformFunction: null }, hasBackButton: { classPropertyName: "hasBackButton", publicName: "hasBackButton", isSignal: true, isRequired: false, transformFunction: null }, hasCloseButton: { classPropertyName: "hasCloseButton", publicName: "hasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, popoverMaxHeight: { classPropertyName: "popoverMaxHeight", publicName: "popoverMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, panelCustomClass: { classPropertyName: "panelCustomClass", publicName: "panelCustomClass", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null }, breakpointDesktop: { classPropertyName: "breakpointDesktop", publicName: "breakpointDesktop", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPopoverShown: "onPopoverShown", onBackButtonClick: "onBackButtonClick" }, providers: [SourcePopoverService], viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: CdkOverlayOrigin, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n cdkOverlayOrigin\n [attr.data-testid]=\"testID()\"\n (click)=\"showPopover()\"\n [class]=\"popoverShown() ? activeClass() || 'active' : ''\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
337
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: SourcePopoverTriggerComponent, isStandalone: true, selector: "src-popover-trigger", inputs: { srcPopoverTpl: { classPropertyName: "srcPopoverTpl", publicName: "srcPopoverTpl", isSignal: true, isRequired: true, transformFunction: null }, headerTitle: { classPropertyName: "headerTitle", publicName: "headerTitle", isSignal: true, isRequired: false, transformFunction: null }, activeClass: { classPropertyName: "activeClass", publicName: "activeClass", isSignal: true, isRequired: false, transformFunction: null }, hasBackButton: { classPropertyName: "hasBackButton", publicName: "hasBackButton", isSignal: true, isRequired: false, transformFunction: null }, hasCloseButton: { classPropertyName: "hasCloseButton", publicName: "hasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, popoverMaxHeight: { classPropertyName: "popoverMaxHeight", publicName: "popoverMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, panelCustomClass: { classPropertyName: "panelCustomClass", publicName: "panelCustomClass", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null }, breakpointDesktop: { classPropertyName: "breakpointDesktop", publicName: "breakpointDesktop", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPopoverShown: "onPopoverShown", onBackButtonClick: "onBackButtonClick" }, providers: [SourcePopoverService], viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: CdkOverlayOrigin, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n (click)=\"showPopover()\"\n [attr.data-testid]=\"testID()\"\n [class]=\"popoverShown() ? activeClass() || 'active' : ''\"\n cdkOverlayOrigin\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
332
338
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourcePopoverTriggerComponent, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourcePopoverTriggerComponent, decorators: [{
334
340
  type: Component,
335
- args: [{ selector: 'src-popover-trigger', encapsulation: ViewEncapsulation.None, providers: [SourcePopoverService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [CdkOverlayOrigin], template: "<div\n cdkOverlayOrigin\n [attr.data-testid]=\"testID()\"\n (click)=\"showPopover()\"\n [class]=\"popoverShown() ? activeClass() || 'active' : ''\"\n>\n <ng-content></ng-content>\n</div>\n" }]
341
+ args: [{ selector: 'src-popover-trigger', encapsulation: ViewEncapsulation.None, providers: [SourcePopoverService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [CdkOverlayOrigin], template: "<div\n (click)=\"showPopover()\"\n [attr.data-testid]=\"testID()\"\n [class]=\"popoverShown() ? activeClass() || 'active' : ''\"\n cdkOverlayOrigin\n>\n <ng-content></ng-content>\n</div>\n" }]
336
342
  }], propDecorators: { overlayOrigin: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkOverlayOrigin), { isSignal: true }] }], srcPopoverTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "srcPopoverTpl", required: true }] }], headerTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTitle", required: false }] }], activeClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeClass", required: false }] }], hasBackButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackButton", required: false }] }], hasCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCloseButton", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], popoverMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverMaxHeight", required: false }] }], panelCustomClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelCustomClass", required: false }] }], testID: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-testid", required: false }] }], breakpointDesktop: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpointDesktop", required: false }] }], positions: [{ type: i0.Input, args: [{ isSignal: true, alias: "positions", required: false }] }], onPopoverShown: [{ type: i0.Output, args: ["onPopoverShown"] }], onBackButtonClick: [{ type: i0.Output, args: ["onBackButtonClick"] }] } });
337
343
 
338
344
  register();
@@ -351,6 +357,7 @@ class SourceTabLineComponent {
351
357
  this.isSwiper = input(false, ...(ngDevMode ? [{ debugName: "isSwiper" }] : []));
352
358
  this.testID = input('', { ...(ngDevMode ? { debugName: "testID" } : {}), alias: 'data-testid' });
353
359
  this.tabsSelectedIndex = linkedSignal(() => this.selectedIndex(), ...(ngDevMode ? [{ debugName: "tabsSelectedIndex" }] : []));
360
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
354
361
  this.onSelectTab = output();
355
362
  this.classes = computed(() => [
356
363
  `src-tab-line--${this.appearance()}`,
@@ -381,12 +388,12 @@ class SourceTabLineComponent {
381
388
  this.tabsSelectedIndex.set(tabIndex);
382
389
  this.onSelectTab.emit(tabIndex);
383
390
  }
384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourceTabLineComponent, isStandalone: true, selector: "src-tab-line", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, offsetBefore: { classPropertyName: "offsetBefore", publicName: "offsetBefore", isSignal: true, isRequired: false, transformFunction: null }, offsetAfter: { classPropertyName: "offsetAfter", publicName: "offsetAfter", isSignal: true, isRequired: false, transformFunction: null }, spaceBetween: { classPropertyName: "spaceBetween", publicName: "spaceBetween", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isSwiper: { classPropertyName: "isSwiper", publicName: "isSwiper", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectTab: "onSelectTab" }, viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["swiperRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [attr.data-testid]=\"testID()\" [ngClass]=\"classes()\" class=\"src-tab-line\">\n @if (isSwiper()) {\n <div class=\"src-tabs__nav src-tabs__nav--swiper\">\n <swiper-container #swiperRef init=\"false\">\n @for (tab of tabs(); track tab) {\n <swiper-slide class=\"src-tabs__nav-slide\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n </div>\n } @else {\n <div class=\"src-tabs__nav\" [style]=\"variables()\">\n @for (tab of tabs(); track tab) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #template let-i=\"index\" let-tab=\"tab\">\n <div\n class=\"src-tabs__nav-item\"\n [class.src-tabs__nav-item--active]=\"i === tabsSelectedIndex()\"\n >\n <div\n class=\"src-button src-button--plain\"\n [class.src-button--pressed]=\"i === tabsSelectedIndex()\"\n (click)=\"selectTab(i)\"\n [attr.data-testid]=\"testID() + '-tab-label-' + tab[label()]\"\n [class.src-button--full-width]=\"isFullWidth()\"\n [class.src-button--disabled]=\"tab.isDisabled\"\n >\n {{ tab[label()] }}\n </div>\n </div>\n</ng-template>\n", styles: [".src-tab-line{--srcTabActiveBorderBg: transparent;--srcTabActiveBorderRadius: 3px 3px 0 0;--srcTabActiveBorderWidth: 100%;--srcTabActiveBorderHeight: 3px;--srcTabBottomBotder: none}.src-tab-line--default{--srcTabBottomBotder: 0px -1px 0px 0px #e1e3e5 inset}.src-tab-line--default .src-button--plain{--srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563)}.src-tab-line--default .src-button--plain:hover{--srcButtonBgColor: var( --src-surface-container-on-top, rgba(148, 163, 184, .08) )}.src-tab-line--default .src-button--plain:active,.src-tab-line--default .src-button--plain.src-button--pressed{--srcButtonFontColor: var(--src-text-ui-secondary-main, #111827);--srcButtonBgColor: transparent}.src-tab-line--button{--srcTabActiveBorderHeight: 0;width:fit-content;padding:var(--src-layout-padding-const-xs, 4px);border-radius:var(--src-border-rounded-parent, 10px);background:var(--src-surface-container-on-top, rgba(148, 163, 184, .08));box-shadow:0 1px 2px 0 var(--src-shadow-light, rgba(148, 163, 184, .16)) inset}.src-tab-line--button.src-tab-line--full-width{width:100%}.src-tab-line--button .src-tabs__nav-item{padding:0}.src-tab-line--button .src-button--plain:active,.src-tab-line--button .src-button--plain.src-button--pressed{--srcButtonBgColor: var(--src-surface-container-main, #fff);--srcButtonBoxShadow: 0 1px 2px 1px var(--src-shadow-accent-light, rgba(1, 123, 255, .16))}.src-tabs__nav{width:100%;display:flex;padding:0;margin:0;list-style:none;background:transparent;box-shadow:var(--srcTabBottomBotder)}.src-tabs__nav swiper-container{width:100%}.src-tabs__nav swiper-container .src-tabs__nav-slide{width:auto}.src-tabs__nav:not(.src-tabs__nav--swiper){padding-left:var(--srcTabsOffsetBefore);padding-right:var(--srcTabsOffsetAfter);gap:var(--srcTabsSpaceBetween)}.src-tabs__nav-item{position:relative;flex-shrink:0;margin:0;text-align:center;padding:1px 0 var(--src-layout-gap-const-xs, 4px);background-color:transparent;border:none;cursor:pointer}.src-tabs__nav-item:after{content:\"\";position:absolute;bottom:0;left:0;border-radius:var(--srcTabActiveBorderRadius);width:var(--srcTabActiveBorderWidth);height:var(--srcTabActiveBorderHeight);background:var(--srcTabActiveBorderBg)}.src-tabs__nav-item:hover{--srcTabActiveBorderBg: var( --src-ui-accent-disabled, rgba(71, 85, 105, .24) )}.src-tabs__nav-item--active{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tabs__nav-item--active.src-disabled{--srcTabActiveBorderBg: var(--src-color-border-strong-disabled)}.src-tabs__nav-item--active:hover{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tab-line--full-width .src-tabs__nav-slide,.src-tab-line--full-width .src-tabs__nav-item{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
392
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourceTabLineComponent, isStandalone: true, selector: "src-tab-line", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, offsetBefore: { classPropertyName: "offsetBefore", publicName: "offsetBefore", isSignal: true, isRequired: false, transformFunction: null }, offsetAfter: { classPropertyName: "offsetAfter", publicName: "offsetAfter", isSignal: true, isRequired: false, transformFunction: null }, spaceBetween: { classPropertyName: "spaceBetween", publicName: "spaceBetween", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isSwiper: { classPropertyName: "isSwiper", publicName: "isSwiper", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectTab: "onSelectTab" }, viewQueries: [{ propertyName: "swiperRef", first: true, predicate: ["swiperRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [attr.data-testid]=\"testID()\" [ngClass]=\"classes()\" class=\"src-tab-line\">\n @if (isSwiper()) {\n <div class=\"src-tabs__nav src-tabs__nav--swiper\">\n <swiper-container #swiperRef init=\"false\">\n @for (tab of tabs(); track tab) {\n <swiper-slide class=\"src-tabs__nav-slide\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n </div>\n } @else {\n <div [style]=\"variables()\" class=\"src-tabs__nav\">\n @for (tab of tabs(); track tab) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #template let-i=\"index\" let-tab=\"tab\">\n <div\n [class.src-tabs__nav-item--active]=\"i === tabsSelectedIndex()\"\n class=\"src-tabs__nav-item\"\n >\n <div\n (click)=\"selectTab(i)\"\n [class.src-button--pressed]=\"i === tabsSelectedIndex()\"\n [attr.data-testid]=\"testID() + '-tab-label-' + tab[label()]\"\n [class.src-button--full-width]=\"isFullWidth()\"\n [class.src-button--disabled]=\"tab.isDisabled\"\n class=\"src-button src-button--plain\"\n >\n {{ tab[label()] }}\n </div>\n </div>\n</ng-template>\n", styles: [".src-tab-line{--srcTabActiveBorderBg: transparent;--srcTabActiveBorderRadius: 3px 3px 0 0;--srcTabActiveBorderWidth: 100%;--srcTabActiveBorderHeight: 3px;--srcTabBottomBotder: none}.src-tab-line--default{--srcTabBottomBotder: 0px -1px 0px 0px #e1e3e5 inset}.src-tab-line--default .src-button--plain{--srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563)}.src-tab-line--default .src-button--plain:hover{--srcButtonBgColor: var( --src-surface-container-on-top, rgba(148, 163, 184, .08) )}.src-tab-line--default .src-button--plain:active,.src-tab-line--default .src-button--plain.src-button--pressed{--srcButtonFontColor: var(--src-text-ui-secondary-main, #111827);--srcButtonBgColor: transparent}.src-tab-line--button{--srcTabActiveBorderHeight: 0;width:fit-content;padding:var(--src-layout-padding-const-xs, 4px);border-radius:var(--src-border-rounded-parent, 10px);background:var(--src-surface-container-on-top, rgba(148, 163, 184, .08));box-shadow:0 1px 2px 0 var(--src-shadow-light, rgba(148, 163, 184, .16)) inset}.src-tab-line--button.src-tab-line--full-width{width:100%}.src-tab-line--button .src-tabs__nav-item{padding:0}.src-tab-line--button .src-button--plain:active,.src-tab-line--button .src-button--plain.src-button--pressed{--srcButtonBgColor: var(--src-surface-container-main, #fff);--srcButtonBoxShadow: 0 1px 2px 1px var(--src-shadow-accent-light, rgba(1, 123, 255, .16))}.src-tabs__nav{width:100%;display:flex;padding:0;margin:0;list-style:none;background:transparent;box-shadow:var(--srcTabBottomBotder)}.src-tabs__nav swiper-container{width:100%}.src-tabs__nav swiper-container .src-tabs__nav-slide{width:auto}.src-tabs__nav:not(.src-tabs__nav--swiper){padding-left:var(--srcTabsOffsetBefore);padding-right:var(--srcTabsOffsetAfter);gap:var(--srcTabsSpaceBetween)}.src-tabs__nav-item{position:relative;flex-shrink:0;margin:0;text-align:center;padding:1px 0 var(--src-layout-gap-const-xs, 4px);background-color:transparent;border:none;cursor:pointer}.src-tabs__nav-item:after{content:\"\";position:absolute;bottom:0;left:0;border-radius:var(--srcTabActiveBorderRadius);width:var(--srcTabActiveBorderWidth);height:var(--srcTabActiveBorderHeight);background:var(--srcTabActiveBorderBg)}.src-tabs__nav-item:hover{--srcTabActiveBorderBg: var( --src-ui-accent-disabled, rgba(71, 85, 105, .24) )}.src-tabs__nav-item--active{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tabs__nav-item--active.src-disabled{--srcTabActiveBorderBg: var(--src-color-border-strong-disabled)}.src-tabs__nav-item--active:hover{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tab-line--full-width .src-tabs__nav-slide,.src-tab-line--full-width .src-tabs__nav-item{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
386
393
  }
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabLineComponent, decorators: [{
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabLineComponent, decorators: [{
388
395
  type: Component,
389
- args: [{ selector: 'src-tab-line', imports: [NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div [attr.data-testid]=\"testID()\" [ngClass]=\"classes()\" class=\"src-tab-line\">\n @if (isSwiper()) {\n <div class=\"src-tabs__nav src-tabs__nav--swiper\">\n <swiper-container #swiperRef init=\"false\">\n @for (tab of tabs(); track tab) {\n <swiper-slide class=\"src-tabs__nav-slide\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n </div>\n } @else {\n <div class=\"src-tabs__nav\" [style]=\"variables()\">\n @for (tab of tabs(); track tab) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #template let-i=\"index\" let-tab=\"tab\">\n <div\n class=\"src-tabs__nav-item\"\n [class.src-tabs__nav-item--active]=\"i === tabsSelectedIndex()\"\n >\n <div\n class=\"src-button src-button--plain\"\n [class.src-button--pressed]=\"i === tabsSelectedIndex()\"\n (click)=\"selectTab(i)\"\n [attr.data-testid]=\"testID() + '-tab-label-' + tab[label()]\"\n [class.src-button--full-width]=\"isFullWidth()\"\n [class.src-button--disabled]=\"tab.isDisabled\"\n >\n {{ tab[label()] }}\n </div>\n </div>\n</ng-template>\n", styles: [".src-tab-line{--srcTabActiveBorderBg: transparent;--srcTabActiveBorderRadius: 3px 3px 0 0;--srcTabActiveBorderWidth: 100%;--srcTabActiveBorderHeight: 3px;--srcTabBottomBotder: none}.src-tab-line--default{--srcTabBottomBotder: 0px -1px 0px 0px #e1e3e5 inset}.src-tab-line--default .src-button--plain{--srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563)}.src-tab-line--default .src-button--plain:hover{--srcButtonBgColor: var( --src-surface-container-on-top, rgba(148, 163, 184, .08) )}.src-tab-line--default .src-button--plain:active,.src-tab-line--default .src-button--plain.src-button--pressed{--srcButtonFontColor: var(--src-text-ui-secondary-main, #111827);--srcButtonBgColor: transparent}.src-tab-line--button{--srcTabActiveBorderHeight: 0;width:fit-content;padding:var(--src-layout-padding-const-xs, 4px);border-radius:var(--src-border-rounded-parent, 10px);background:var(--src-surface-container-on-top, rgba(148, 163, 184, .08));box-shadow:0 1px 2px 0 var(--src-shadow-light, rgba(148, 163, 184, .16)) inset}.src-tab-line--button.src-tab-line--full-width{width:100%}.src-tab-line--button .src-tabs__nav-item{padding:0}.src-tab-line--button .src-button--plain:active,.src-tab-line--button .src-button--plain.src-button--pressed{--srcButtonBgColor: var(--src-surface-container-main, #fff);--srcButtonBoxShadow: 0 1px 2px 1px var(--src-shadow-accent-light, rgba(1, 123, 255, .16))}.src-tabs__nav{width:100%;display:flex;padding:0;margin:0;list-style:none;background:transparent;box-shadow:var(--srcTabBottomBotder)}.src-tabs__nav swiper-container{width:100%}.src-tabs__nav swiper-container .src-tabs__nav-slide{width:auto}.src-tabs__nav:not(.src-tabs__nav--swiper){padding-left:var(--srcTabsOffsetBefore);padding-right:var(--srcTabsOffsetAfter);gap:var(--srcTabsSpaceBetween)}.src-tabs__nav-item{position:relative;flex-shrink:0;margin:0;text-align:center;padding:1px 0 var(--src-layout-gap-const-xs, 4px);background-color:transparent;border:none;cursor:pointer}.src-tabs__nav-item:after{content:\"\";position:absolute;bottom:0;left:0;border-radius:var(--srcTabActiveBorderRadius);width:var(--srcTabActiveBorderWidth);height:var(--srcTabActiveBorderHeight);background:var(--srcTabActiveBorderBg)}.src-tabs__nav-item:hover{--srcTabActiveBorderBg: var( --src-ui-accent-disabled, rgba(71, 85, 105, .24) )}.src-tabs__nav-item--active{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tabs__nav-item--active.src-disabled{--srcTabActiveBorderBg: var(--src-color-border-strong-disabled)}.src-tabs__nav-item--active:hover{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tab-line--full-width .src-tabs__nav-slide,.src-tab-line--full-width .src-tabs__nav-item{flex-grow:1}\n"] }]
396
+ args: [{ selector: 'src-tab-line', imports: [NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div [attr.data-testid]=\"testID()\" [ngClass]=\"classes()\" class=\"src-tab-line\">\n @if (isSwiper()) {\n <div class=\"src-tabs__nav src-tabs__nav--swiper\">\n <swiper-container #swiperRef init=\"false\">\n @for (tab of tabs(); track tab) {\n <swiper-slide class=\"src-tabs__nav-slide\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n </swiper-slide>\n }\n </swiper-container>\n </div>\n } @else {\n <div [style]=\"variables()\" class=\"src-tabs__nav\">\n @for (tab of tabs(); track tab) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ tab: tab, index: $index }\"\n ></ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #template let-i=\"index\" let-tab=\"tab\">\n <div\n [class.src-tabs__nav-item--active]=\"i === tabsSelectedIndex()\"\n class=\"src-tabs__nav-item\"\n >\n <div\n (click)=\"selectTab(i)\"\n [class.src-button--pressed]=\"i === tabsSelectedIndex()\"\n [attr.data-testid]=\"testID() + '-tab-label-' + tab[label()]\"\n [class.src-button--full-width]=\"isFullWidth()\"\n [class.src-button--disabled]=\"tab.isDisabled\"\n class=\"src-button src-button--plain\"\n >\n {{ tab[label()] }}\n </div>\n </div>\n</ng-template>\n", styles: [".src-tab-line{--srcTabActiveBorderBg: transparent;--srcTabActiveBorderRadius: 3px 3px 0 0;--srcTabActiveBorderWidth: 100%;--srcTabActiveBorderHeight: 3px;--srcTabBottomBotder: none}.src-tab-line--default{--srcTabBottomBotder: 0px -1px 0px 0px #e1e3e5 inset}.src-tab-line--default .src-button--plain{--srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563)}.src-tab-line--default .src-button--plain:hover{--srcButtonBgColor: var( --src-surface-container-on-top, rgba(148, 163, 184, .08) )}.src-tab-line--default .src-button--plain:active,.src-tab-line--default .src-button--plain.src-button--pressed{--srcButtonFontColor: var(--src-text-ui-secondary-main, #111827);--srcButtonBgColor: transparent}.src-tab-line--button{--srcTabActiveBorderHeight: 0;width:fit-content;padding:var(--src-layout-padding-const-xs, 4px);border-radius:var(--src-border-rounded-parent, 10px);background:var(--src-surface-container-on-top, rgba(148, 163, 184, .08));box-shadow:0 1px 2px 0 var(--src-shadow-light, rgba(148, 163, 184, .16)) inset}.src-tab-line--button.src-tab-line--full-width{width:100%}.src-tab-line--button .src-tabs__nav-item{padding:0}.src-tab-line--button .src-button--plain:active,.src-tab-line--button .src-button--plain.src-button--pressed{--srcButtonBgColor: var(--src-surface-container-main, #fff);--srcButtonBoxShadow: 0 1px 2px 1px var(--src-shadow-accent-light, rgba(1, 123, 255, .16))}.src-tabs__nav{width:100%;display:flex;padding:0;margin:0;list-style:none;background:transparent;box-shadow:var(--srcTabBottomBotder)}.src-tabs__nav swiper-container{width:100%}.src-tabs__nav swiper-container .src-tabs__nav-slide{width:auto}.src-tabs__nav:not(.src-tabs__nav--swiper){padding-left:var(--srcTabsOffsetBefore);padding-right:var(--srcTabsOffsetAfter);gap:var(--srcTabsSpaceBetween)}.src-tabs__nav-item{position:relative;flex-shrink:0;margin:0;text-align:center;padding:1px 0 var(--src-layout-gap-const-xs, 4px);background-color:transparent;border:none;cursor:pointer}.src-tabs__nav-item:after{content:\"\";position:absolute;bottom:0;left:0;border-radius:var(--srcTabActiveBorderRadius);width:var(--srcTabActiveBorderWidth);height:var(--srcTabActiveBorderHeight);background:var(--srcTabActiveBorderBg)}.src-tabs__nav-item:hover{--srcTabActiveBorderBg: var( --src-ui-accent-disabled, rgba(71, 85, 105, .24) )}.src-tabs__nav-item--active{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tabs__nav-item--active.src-disabled{--srcTabActiveBorderBg: var(--src-color-border-strong-disabled)}.src-tabs__nav-item--active:hover{--srcTabActiveBorderBg: var(--src-ui-accent-default, #017bff)}.src-tab-line--full-width .src-tabs__nav-slide,.src-tab-line--full-width .src-tabs__nav-item{flex-grow:1}\n"] }]
390
397
  }], propDecorators: { swiperRef: [{ type: i0.ViewChild, args: ['swiperRef', { isSignal: true }] }], tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], selectedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }], offsetBefore: [{ type: i0.Input, args: [{ isSignal: true, alias: "offsetBefore", required: false }] }], offsetAfter: [{ type: i0.Input, args: [{ isSignal: true, alias: "offsetAfter", required: false }] }], spaceBetween: [{ type: i0.Input, args: [{ isSignal: true, alias: "spaceBetween", required: false }] }], isFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFullWidth", required: false }] }], isSwiper: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSwiper", required: false }] }], testID: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-testid", required: false }] }], onSelectTab: [{ type: i0.Output, args: ["onSelectTab"] }] } });
391
398
 
392
399
  const SourceTabAppearance = {
@@ -410,22 +417,22 @@ class SourceTabsComponent {
410
417
  setActive(idx) {
411
418
  this.onSelectTab.emit(idx);
412
419
  }
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
414
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: SourceTabsComponent, isStandalone: true, selector: "src-tabs", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isSwiper: { classPropertyName: "isSwiper", publicName: "isSwiper", isSignal: true, isRequired: false, transformFunction: null }, swiperConfig: { classPropertyName: "swiperConfig", publicName: "swiperConfig", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectTab: "onSelectTab" }, ngImport: i0, template: "<div class=\"src-tabs\">\n <ng-template #defaultTabsHeader>\n <src-tab-line\n [tabs]=\"data()\"\n [label]=\"label()\"\n [isCompact]=\"isCompact()\"\n [isFullWidth]=\"isFullWidth()\"\n [selectedIndex]=\"selectedIndex()\"\n [isSwiper]=\"isSwiper()\"\n [data-testid]=\"testID()\"\n (onSelectTab)=\"setActive($event)\"\n ></src-tab-line>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate() ? headerTemplate()! : defaultTabsHeader;\n context: { tabs: this.data }\n \"\n >\n </ng-container>\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SourceTabLineComponent, selector: "src-tab-line", inputs: ["tabs", "label", "selectedIndex", "appearance", "isCompact", "offsetBefore", "offsetAfter", "spaceBetween", "isFullWidth", "isSwiper", "data-testid"], outputs: ["onSelectTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
421
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: SourceTabsComponent, isStandalone: true, selector: "src-tabs", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isSwiper: { classPropertyName: "isSwiper", publicName: "isSwiper", isSignal: true, isRequired: false, transformFunction: null }, swiperConfig: { classPropertyName: "swiperConfig", publicName: "swiperConfig", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectTab: "onSelectTab" }, ngImport: i0, template: "<div class=\"src-tabs\">\n <ng-template #defaultTabsHeader>\n <src-tab-line\n (onSelectTab)=\"setActive($event)\"\n [tabs]=\"data()\"\n [label]=\"label()\"\n [isCompact]=\"isCompact()\"\n [isFullWidth]=\"isFullWidth()\"\n [selectedIndex]=\"selectedIndex()\"\n [isSwiper]=\"isSwiper()\"\n [data-testid]=\"testID()\"\n ></src-tab-line>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate() ? headerTemplate()! : defaultTabsHeader;\n context: { tabs: this.data }\n \"\n >\n </ng-container>\n\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SourceTabLineComponent, selector: "src-tab-line", inputs: ["tabs", "label", "selectedIndex", "appearance", "isCompact", "offsetBefore", "offsetAfter", "spaceBetween", "isFullWidth", "isSwiper", "data-testid"], outputs: ["onSelectTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
415
422
  }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabsComponent, decorators: [{
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabsComponent, decorators: [{
417
424
  type: Component,
418
- args: [{ selector: 'src-tabs', imports: [NgTemplateOutlet, SourceTabLineComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"src-tabs\">\n <ng-template #defaultTabsHeader>\n <src-tab-line\n [tabs]=\"data()\"\n [label]=\"label()\"\n [isCompact]=\"isCompact()\"\n [isFullWidth]=\"isFullWidth()\"\n [selectedIndex]=\"selectedIndex()\"\n [isSwiper]=\"isSwiper()\"\n [data-testid]=\"testID()\"\n (onSelectTab)=\"setActive($event)\"\n ></src-tab-line>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate() ? headerTemplate()! : defaultTabsHeader;\n context: { tabs: this.data }\n \"\n >\n </ng-container>\n\n <ng-content></ng-content>\n</div>\n" }]
425
+ args: [{ selector: 'src-tabs', imports: [NgTemplateOutlet, SourceTabLineComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"src-tabs\">\n <ng-template #defaultTabsHeader>\n <src-tab-line\n (onSelectTab)=\"setActive($event)\"\n [tabs]=\"data()\"\n [label]=\"label()\"\n [isCompact]=\"isCompact()\"\n [isFullWidth]=\"isFullWidth()\"\n [selectedIndex]=\"selectedIndex()\"\n [isSwiper]=\"isSwiper()\"\n [data-testid]=\"testID()\"\n ></src-tab-line>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate() ? headerTemplate()! : defaultTabsHeader;\n context: { tabs: this.data }\n \"\n >\n </ng-container>\n\n <ng-content></ng-content>\n</div>\n" }]
419
426
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], selectedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }], headerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTemplate", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }], isFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFullWidth", required: false }] }], isSwiper: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSwiper", required: false }] }], swiperConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "swiperConfig", required: false }] }], testID: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-testid", required: false }] }], onSelectTab: [{ type: i0.Output, args: ["onSelectTab"] }] } });
420
427
 
421
428
  class SourceTabComponent {
422
429
  constructor() {
423
430
  this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
424
431
  }
425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: SourceTabComponent, isStandalone: true, selector: "src-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [hidden]=\"!isActive()\" class=\"src-tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".src-tab-content{padding:var(--spacing-16);background-color:var(--color-bg-default)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
433
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: SourceTabComponent, isStandalone: true, selector: "src-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [hidden]=\"!isActive()\" class=\"src-tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".src-tab-content{padding:var(--spacing-16);background-color:var(--color-bg-default)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
427
434
  }
428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTabComponent, decorators: [{
435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTabComponent, decorators: [{
429
436
  type: Component,
430
437
  args: [{ selector: 'src-tab', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [hidden]=\"!isActive()\" class=\"src-tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".src-tab-content{padding:var(--spacing-16);background-color:var(--color-bg-default)}\n"] }]
431
438
  }], propDecorators: { isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }] } });
@@ -442,12 +449,12 @@ class SourceTooltipComponent {
442
449
  get asTemplate() {
443
450
  return this.data.content instanceof TemplateRef ? this.data.content : false;
444
451
  }
445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
446
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourceTooltipComponent, isStandalone: true, selector: "src-tooltip", ngImport: i0, template: "<div\n class=\"src-tooltip\"\n [ngClass]=\"data.srcTooltipCustomClass\"\n [style.--srcTooltipMaxWidth]=\"data.srcTooltipMaxWidth\"\n>\n <div\n class=\"src-tooltip__content\"\n [class.src-tooltip__content--custom]=\"asTemplate\"\n >\n @if (asString) {\n {{ asString }}\n }\n\n @if (asTemplate) {\n <ng-template [ngTemplateOutlet]=\"asTemplate\"></ng-template>\n }\n </div>\n\n @if (data.srcTooltipPosition === 'top') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M6.26822 5.07814C5.86842 5.55789 5.13157 5.55789 4.73178 5.07813L0.500001 -1.35106e-06L10.5 -4.76837e-07L6.26822 5.07814Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'right') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M0.921864 5.76822C0.44211 5.36842 0.442111 4.63157 0.921865 4.23178L6 -2.62268e-07L6 10L0.921864 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'bottom') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M4.73178 0.921865C5.13158 0.44211 5.86843 0.442111 6.26822 0.921866L10.5 6L0.5 6L4.73178 0.921865Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'left') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M5.07814 5.76822C5.55789 5.36842 5.55789 4.63157 5.07813 4.23178L-3.97233e-08 -2.62268e-07L-4.76837e-07 10L5.07814 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n</div>\n", styles: [".src-tooltip{--srcTooltipFontSize: var(--src-font-size-xs);--srcTooltipFontColor: var(--src-color-text-inverse, #fff);--srcTooltipFontWeight: var(--src-font-weight-regular);--srcTooltipFontLineHeight: var(--src-font-line-xs);--srcTooltipBg: var(--src-color-bg-inverse, #1f2937);--srcTooltipShape: var(--src-border-rounded, 4px);--srcTooltipMaxWidth: 280px;--srcTooltipPointerEvents: none;position:relative;box-sizing:border-box}.src-tooltip__pin{position:absolute;color:var(--srcTooltipBg);pointer-events:var(--srcTooltipPointerEvents, none)}.src-tooltip__content{display:flex;flex-wrap:wrap;padding:8px 12px;max-width:var(--srcTooltipMaxWidth);text-align:center;font-family:var(--src-font-family-body, \"Inter\", sans-serif);font-size:var(--srcTooltipFontSize);font-style:normal;font-weight:var(--srcTooltipFontWeight);line-height:var(--srcTooltipFontLineHeight);color:var(--srcTooltipFontColor);border-radius:var(--srcTooltipShape);background:var(--srcTooltipBg)}.src-tooltip__content--custom{padding:6px}.src-tooltip--top{padding-bottom:6px}.src-tooltip--top .src-tooltip__pin{left:50%;bottom:-6px;transform:translate(-50%)}.src-tooltip--right{padding-left:6px}.src-tooltip--right .src-tooltip__pin{left:-6px;top:50%;transform:translateY(-50%)}.src-tooltip--bottom{padding-top:6px}.src-tooltip--bottom .src-tooltip__pin{left:50%;top:-6px;transform:translate(-50%)}.src-tooltip--left{padding-right:6px}.src-tooltip--left .src-tooltip__pin{right:-6px;top:50%;transform:translateY(-50%)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
452
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
453
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourceTooltipComponent, isStandalone: true, selector: "src-tooltip", ngImport: i0, template: "<div\n [ngClass]=\"data.srcTooltipCustomClass\"\n [style.--srcTooltipMaxWidth]=\"data.srcTooltipMaxWidth\"\n class=\"src-tooltip\"\n>\n <div\n [class.src-tooltip__content--custom]=\"asTemplate\"\n class=\"src-tooltip__content\"\n >\n @if (asString) {\n {{ asString }}\n }\n\n @if (asTemplate) {\n <ng-template [ngTemplateOutlet]=\"asTemplate\"></ng-template>\n }\n </div>\n\n @if (data.srcTooltipPosition === 'top') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M6.26822 5.07814C5.86842 5.55789 5.13157 5.55789 4.73178 5.07813L0.500001 -1.35106e-06L10.5 -4.76837e-07L6.26822 5.07814Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'right') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M0.921864 5.76822C0.44211 5.36842 0.442111 4.63157 0.921865 4.23178L6 -2.62268e-07L6 10L0.921864 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'bottom') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M4.73178 0.921865C5.13158 0.44211 5.86843 0.442111 6.26822 0.921866L10.5 6L0.5 6L4.73178 0.921865Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'left') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M5.07814 5.76822C5.55789 5.36842 5.55789 4.63157 5.07813 4.23178L-3.97233e-08 -2.62268e-07L-4.76837e-07 10L5.07814 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n</div>\n", styles: [".src-tooltip{--srcTooltipFontSize: var(--src-font-size-xs);--srcTooltipFontColor: var(--src-color-text-inverse, #fff);--srcTooltipFontWeight: var(--src-font-weight-regular);--srcTooltipFontLineHeight: var(--src-font-line-xs);--srcTooltipBg: var(--src-color-bg-inverse, #1f2937);--srcTooltipShape: var(--src-border-rounded, 4px);--srcTooltipMaxWidth: 280px;--srcTooltipPointerEvents: none;position:relative;box-sizing:border-box}.src-tooltip__pin{position:absolute;color:var(--srcTooltipBg);pointer-events:var(--srcTooltipPointerEvents, none)}.src-tooltip__content{display:flex;flex-wrap:wrap;padding:8px 12px;max-width:var(--srcTooltipMaxWidth);text-align:center;font-family:var(--src-font-family-body, \"Inter\", sans-serif);font-size:var(--srcTooltipFontSize);font-style:normal;font-weight:var(--srcTooltipFontWeight);line-height:var(--srcTooltipFontLineHeight);color:var(--srcTooltipFontColor);border-radius:var(--srcTooltipShape);background:var(--srcTooltipBg)}.src-tooltip__content--custom{padding:6px}.src-tooltip--top{padding-bottom:6px}.src-tooltip--top .src-tooltip__pin{left:50%;bottom:-6px;transform:translate(-50%)}.src-tooltip--right{padding-left:6px}.src-tooltip--right .src-tooltip__pin{left:-6px;top:50%;transform:translateY(-50%)}.src-tooltip--bottom{padding-top:6px}.src-tooltip--bottom .src-tooltip__pin{left:50%;top:-6px;transform:translate(-50%)}.src-tooltip--left{padding-right:6px}.src-tooltip--left .src-tooltip__pin{right:-6px;top:50%;transform:translateY(-50%)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
447
454
  }
448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTooltipComponent, decorators: [{
455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTooltipComponent, decorators: [{
449
456
  type: Component,
450
- args: [{ selector: 'src-tooltip', imports: [NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"src-tooltip\"\n [ngClass]=\"data.srcTooltipCustomClass\"\n [style.--srcTooltipMaxWidth]=\"data.srcTooltipMaxWidth\"\n>\n <div\n class=\"src-tooltip__content\"\n [class.src-tooltip__content--custom]=\"asTemplate\"\n >\n @if (asString) {\n {{ asString }}\n }\n\n @if (asTemplate) {\n <ng-template [ngTemplateOutlet]=\"asTemplate\"></ng-template>\n }\n </div>\n\n @if (data.srcTooltipPosition === 'top') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M6.26822 5.07814C5.86842 5.55789 5.13157 5.55789 4.73178 5.07813L0.500001 -1.35106e-06L10.5 -4.76837e-07L6.26822 5.07814Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'right') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M0.921864 5.76822C0.44211 5.36842 0.442111 4.63157 0.921865 4.23178L6 -2.62268e-07L6 10L0.921864 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'bottom') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M4.73178 0.921865C5.13158 0.44211 5.86843 0.442111 6.26822 0.921866L10.5 6L0.5 6L4.73178 0.921865Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'left') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M5.07814 5.76822C5.55789 5.36842 5.55789 4.63157 5.07813 4.23178L-3.97233e-08 -2.62268e-07L-4.76837e-07 10L5.07814 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n</div>\n", styles: [".src-tooltip{--srcTooltipFontSize: var(--src-font-size-xs);--srcTooltipFontColor: var(--src-color-text-inverse, #fff);--srcTooltipFontWeight: var(--src-font-weight-regular);--srcTooltipFontLineHeight: var(--src-font-line-xs);--srcTooltipBg: var(--src-color-bg-inverse, #1f2937);--srcTooltipShape: var(--src-border-rounded, 4px);--srcTooltipMaxWidth: 280px;--srcTooltipPointerEvents: none;position:relative;box-sizing:border-box}.src-tooltip__pin{position:absolute;color:var(--srcTooltipBg);pointer-events:var(--srcTooltipPointerEvents, none)}.src-tooltip__content{display:flex;flex-wrap:wrap;padding:8px 12px;max-width:var(--srcTooltipMaxWidth);text-align:center;font-family:var(--src-font-family-body, \"Inter\", sans-serif);font-size:var(--srcTooltipFontSize);font-style:normal;font-weight:var(--srcTooltipFontWeight);line-height:var(--srcTooltipFontLineHeight);color:var(--srcTooltipFontColor);border-radius:var(--srcTooltipShape);background:var(--srcTooltipBg)}.src-tooltip__content--custom{padding:6px}.src-tooltip--top{padding-bottom:6px}.src-tooltip--top .src-tooltip__pin{left:50%;bottom:-6px;transform:translate(-50%)}.src-tooltip--right{padding-left:6px}.src-tooltip--right .src-tooltip__pin{left:-6px;top:50%;transform:translateY(-50%)}.src-tooltip--bottom{padding-top:6px}.src-tooltip--bottom .src-tooltip__pin{left:50%;top:-6px;transform:translate(-50%)}.src-tooltip--left{padding-right:6px}.src-tooltip--left .src-tooltip__pin{right:-6px;top:50%;transform:translateY(-50%)}\n"] }]
457
+ args: [{ selector: 'src-tooltip', imports: [NgClass, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"data.srcTooltipCustomClass\"\n [style.--srcTooltipMaxWidth]=\"data.srcTooltipMaxWidth\"\n class=\"src-tooltip\"\n>\n <div\n [class.src-tooltip__content--custom]=\"asTemplate\"\n class=\"src-tooltip__content\"\n >\n @if (asString) {\n {{ asString }}\n }\n\n @if (asTemplate) {\n <ng-template [ngTemplateOutlet]=\"asTemplate\"></ng-template>\n }\n </div>\n\n @if (data.srcTooltipPosition === 'top') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M6.26822 5.07814C5.86842 5.55789 5.13157 5.55789 4.73178 5.07813L0.500001 -1.35106e-06L10.5 -4.76837e-07L6.26822 5.07814Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'right') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M0.921864 5.76822C0.44211 5.36842 0.442111 4.63157 0.921865 4.23178L6 -2.62268e-07L6 10L0.921864 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'bottom') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"6\"\n viewBox=\"0 0 11 6\"\n fill=\"none\"\n >\n <path\n d=\"M4.73178 0.921865C5.13158 0.44211 5.86843 0.442111 6.26822 0.921866L10.5 6L0.5 6L4.73178 0.921865Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n\n @if (data.srcTooltipPosition === 'left') {\n <svg\n class=\"src-tooltip__pin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"6\"\n height=\"10\"\n viewBox=\"0 0 6 10\"\n fill=\"none\"\n >\n <path\n d=\"M5.07814 5.76822C5.55789 5.36842 5.55789 4.63157 5.07813 4.23178L-3.97233e-08 -2.62268e-07L-4.76837e-07 10L5.07814 5.76822Z\"\n fill=\"currentColor\"\n />\n </svg>\n }\n</div>\n", styles: [".src-tooltip{--srcTooltipFontSize: var(--src-font-size-xs);--srcTooltipFontColor: var(--src-color-text-inverse, #fff);--srcTooltipFontWeight: var(--src-font-weight-regular);--srcTooltipFontLineHeight: var(--src-font-line-xs);--srcTooltipBg: var(--src-color-bg-inverse, #1f2937);--srcTooltipShape: var(--src-border-rounded, 4px);--srcTooltipMaxWidth: 280px;--srcTooltipPointerEvents: none;position:relative;box-sizing:border-box}.src-tooltip__pin{position:absolute;color:var(--srcTooltipBg);pointer-events:var(--srcTooltipPointerEvents, none)}.src-tooltip__content{display:flex;flex-wrap:wrap;padding:8px 12px;max-width:var(--srcTooltipMaxWidth);text-align:center;font-family:var(--src-font-family-body, \"Inter\", sans-serif);font-size:var(--srcTooltipFontSize);font-style:normal;font-weight:var(--srcTooltipFontWeight);line-height:var(--srcTooltipFontLineHeight);color:var(--srcTooltipFontColor);border-radius:var(--srcTooltipShape);background:var(--srcTooltipBg)}.src-tooltip__content--custom{padding:6px}.src-tooltip--top{padding-bottom:6px}.src-tooltip--top .src-tooltip__pin{left:50%;bottom:-6px;transform:translate(-50%)}.src-tooltip--right{padding-left:6px}.src-tooltip--right .src-tooltip__pin{left:-6px;top:50%;transform:translateY(-50%)}.src-tooltip--bottom{padding-top:6px}.src-tooltip--bottom .src-tooltip__pin{left:50%;top:-6px;transform:translate(-50%)}.src-tooltip--left{padding-right:6px}.src-tooltip--left .src-tooltip__pin{right:-6px;top:50%;transform:translateY(-50%)}\n"] }]
451
458
  }] });
452
459
 
453
460
  const TooltipPositions = {
@@ -530,9 +537,10 @@ class SourceTooltipDirective {
530
537
  if (!Object.values(SourceTooltipPosition).includes(this.srcTooltipPosition())) {
531
538
  throw new Error('Invalid tooltip position. Please provide a valid position');
532
539
  }
533
- if (this.sourceTooltipData()) {
540
+ const tooltipData = this.sourceTooltipData();
541
+ if (tooltipData) {
534
542
  this._config = {
535
- ...this.sourceTooltipData(),
543
+ ...tooltipData,
536
544
  content: this.srcTooltip() ?? '',
537
545
  };
538
546
  }
@@ -605,10 +613,10 @@ class SourceTooltipDirective {
605
613
  const isSamsungDevice = /Samsung/i.test(userAgent);
606
614
  return (hasHover || hasFinePointer) && isDesktop() && !isSamsungDevice;
607
615
  }
608
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
609
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: SourceTooltipDirective, isStandalone: true, selector: "[srcTooltip]", inputs: { srcTooltip: { classPropertyName: "srcTooltip", publicName: "srcTooltip", isSignal: true, isRequired: true, transformFunction: null }, srcTooltipPosition: { classPropertyName: "srcTooltipPosition", publicName: "srcTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipHideDelay: { classPropertyName: "srcTooltipHideDelay", publicName: "srcTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipMaxWidth: { classPropertyName: "srcTooltipMaxWidth", publicName: "srcTooltipMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipCustomClass: { classPropertyName: "srcTooltipCustomClass", publicName: "srcTooltipCustomClass", isSignal: true, isRequired: false, transformFunction: null }, sourceTooltipData: { classPropertyName: "sourceTooltipData", publicName: "sourceTooltipData", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "showTooltip()", "focus": "showTooltip()", "mouseleave": "hideTooltip()", "blur": "hideTooltip()" } }, ngImport: i0 }); }
616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
617
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.3", type: SourceTooltipDirective, isStandalone: true, selector: "[srcTooltip]", inputs: { srcTooltip: { classPropertyName: "srcTooltip", publicName: "srcTooltip", isSignal: true, isRequired: true, transformFunction: null }, srcTooltipPosition: { classPropertyName: "srcTooltipPosition", publicName: "srcTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipHideDelay: { classPropertyName: "srcTooltipHideDelay", publicName: "srcTooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipMaxWidth: { classPropertyName: "srcTooltipMaxWidth", publicName: "srcTooltipMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, srcTooltipCustomClass: { classPropertyName: "srcTooltipCustomClass", publicName: "srcTooltipCustomClass", isSignal: true, isRequired: false, transformFunction: null }, sourceTooltipData: { classPropertyName: "sourceTooltipData", publicName: "sourceTooltipData", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "showTooltip()", "focus": "showTooltip()", "mouseleave": "hideTooltip()", "blur": "hideTooltip()" } }, ngImport: i0 }); }
610
618
  }
611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceTooltipDirective, decorators: [{
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceTooltipDirective, decorators: [{
612
620
  type: Directive,
613
621
  args: [{
614
622
  selector: '[srcTooltip]',
@@ -704,10 +712,11 @@ function RGBtoHSV(r, g, b) {
704
712
  }
705
713
 
706
714
  function calculatePosition(width, height, color, orientation) {
707
- const [r, g, b] = color
708
- .slice(1)
709
- .match(/.{1,2}/g)
710
- .map((x) => parseInt(x, 16));
715
+ const regexpValue = color.slice(1).match(/.{1,2}/g);
716
+ if (!regexpValue) {
717
+ return { x: 0, y: 0 };
718
+ }
719
+ const [r, g, b] = regexpValue.map((x) => parseInt(x, 16));
711
720
  const [h, s, l] = RGBtoHSV(r, g, b);
712
721
  if (orientation === undefined) {
713
722
  return { x: width * s, y: height * (1 - l) };
@@ -806,9 +815,11 @@ class ColorPaletteComponent {
806
815
  this.updateColor();
807
816
  }
808
817
  drawPalette() {
809
- this.ctx.set(this.canvas()?.nativeElement.getContext('2d', {
810
- willReadFrequently: true,
811
- }));
818
+ const canvas = this.canvas()?.nativeElement;
819
+ if (!canvas) {
820
+ return;
821
+ }
822
+ this.ctx.set(canvas.getContext('2d', { willReadFrequently: true }));
812
823
  const ctx = this.ctx();
813
824
  if (!ctx) {
814
825
  return;
@@ -826,13 +837,17 @@ class ColorPaletteComponent {
826
837
  indicator.style.top = this.selectedPosition().y + 'px';
827
838
  }
828
839
  updateColor() {
829
- const imageData = this.ctx().getImageData(this.selectedPosition().x, this.selectedPosition().y, 1, 1).data;
840
+ const ctx = this.ctx();
841
+ if (!ctx) {
842
+ return;
843
+ }
844
+ const imageData = ctx.getImageData(this.selectedPosition().x, this.selectedPosition().y, 1, 1).data;
830
845
  this.paletteColorUpdate.emit(`#${RGBtoHEX(imageData[0], imageData[1], imageData[2])}`);
831
846
  }
832
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ColorPaletteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
833
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: ColorPaletteComponent, isStandalone: true, selector: "src-color-palette", inputs: { selectedHex: { classPropertyName: "selectedHex", publicName: "selectedHex", isSignal: true, isRequired: true, transformFunction: null }, isNeedUpdatePalette: { classPropertyName: "isNeedUpdatePalette", publicName: "isNeedUpdatePalette", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { paletteColorUpdate: "paletteColorUpdate" }, host: { listeners: { "window:mouseup": "onMouseUp()" } }, viewQueries: [{ propertyName: "paletteContainer", first: true, predicate: ["paletteContainer"], descendants: true, isSignal: true }, { propertyName: "canvas", first: true, predicate: ["paletteCanvas"], descendants: true, isSignal: true }, { propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #paletteContainer class=\"src-color-palette\">\n <canvas\n #paletteCanvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-palette__canvas\"\n >\n </canvas>\n</div>\n<span #indicator class=\"src-color-picker-indicator\"></span>\n", styles: [":host{position:relative}.src-color-palette{position:relative;width:100%;height:100%;min-height:0;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;display:block;box-sizing:border-box}.src-color-palette__canvas{display:block;line-height:1;width:100%;height:100%;min-height:0;box-sizing:border-box;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
847
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPaletteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
848
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: ColorPaletteComponent, isStandalone: true, selector: "src-color-palette", inputs: { selectedHex: { classPropertyName: "selectedHex", publicName: "selectedHex", isSignal: true, isRequired: true, transformFunction: null }, isNeedUpdatePalette: { classPropertyName: "isNeedUpdatePalette", publicName: "isNeedUpdatePalette", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { paletteColorUpdate: "paletteColorUpdate" }, host: { listeners: { "window:mouseup": "onMouseUp()" } }, viewQueries: [{ propertyName: "paletteContainer", first: true, predicate: ["paletteContainer"], descendants: true, isSignal: true }, { propertyName: "canvas", first: true, predicate: ["paletteCanvas"], descendants: true, isSignal: true }, { propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #paletteContainer class=\"src-color-palette\">\n <canvas\n #paletteCanvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-palette__canvas\"\n >\n </canvas>\n</div>\n<span #indicator class=\"src-color-picker-indicator\"></span>\n", styles: [":host{position:relative}.src-color-palette{position:relative;width:100%;height:100%;min-height:0;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;display:block;box-sizing:border-box}.src-color-palette__canvas{display:block;line-height:1;width:100%;height:100%;min-height:0;box-sizing:border-box;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
834
849
  }
835
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ColorPaletteComponent, decorators: [{
850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPaletteComponent, decorators: [{
836
851
  type: Component,
837
852
  args: [{ standalone: true, selector: 'src-color-palette', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #paletteContainer class=\"src-color-palette\">\n <canvas\n #paletteCanvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-palette__canvas\"\n >\n </canvas>\n</div>\n<span #indicator class=\"src-color-picker-indicator\"></span>\n", styles: [":host{position:relative}.src-color-palette{position:relative;width:100%;height:100%;min-height:0;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;display:block;box-sizing:border-box}.src-color-palette__canvas{display:block;line-height:1;width:100%;height:100%;min-height:0;box-sizing:border-box;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"] }]
838
853
  }], propDecorators: { paletteContainer: [{ type: i0.ViewChild, args: ['paletteContainer', { isSignal: true }] }], canvas: [{ type: i0.ViewChild, args: ['paletteCanvas', { isSignal: true }] }], indicator: [{ type: i0.ViewChild, args: ['indicator', { isSignal: true }] }], selectedHex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedHex", required: true }] }], isNeedUpdatePalette: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNeedUpdatePalette", required: true }] }], paletteColorUpdate: [{ type: i0.Output, args: ["paletteColorUpdate"] }], onMouseUp: [{
@@ -935,9 +950,11 @@ class ColorSliderComponent {
935
950
  this.updateColor();
936
951
  }
937
952
  drawSlider() {
938
- this.ctx.set(this.canvas()?.nativeElement.getContext('2d', {
939
- willReadFrequently: true,
940
- }));
953
+ const canvas = this.canvas()?.nativeElement;
954
+ if (!canvas) {
955
+ return;
956
+ }
957
+ this.ctx.set(canvas.getContext('2d', { willReadFrequently: true }));
941
958
  const ctx = this.ctx();
942
959
  if (!ctx) {
943
960
  return;
@@ -954,13 +971,17 @@ class ColorSliderComponent {
954
971
  indicator.style.top = this.selectedPosition().y + 'px';
955
972
  }
956
973
  updateColor() {
957
- const imageData = this.ctx().getImageData(this.selectedPosition().x, this.selectedPosition().y, 1, 1).data;
974
+ const ctx = this.ctx();
975
+ if (!ctx) {
976
+ return;
977
+ }
978
+ const imageData = ctx.getImageData(this.selectedPosition().x, this.selectedPosition().y, 1, 1).data;
958
979
  this.sliderColorUpdate.emit(`#${RGBtoHEX(imageData[0], imageData[1], imageData[2])}`);
959
980
  }
960
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ColorSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: ColorSliderComponent, isStandalone: true, selector: "src-color-slider", inputs: { selectedHex: { classPropertyName: "selectedHex", publicName: "selectedHex", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: true, transformFunction: null }, sliderThickness: { classPropertyName: "sliderThickness", publicName: "sliderThickness", isSignal: true, isRequired: true, transformFunction: null }, isNeedUpdateSlider: { classPropertyName: "isNeedUpdateSlider", publicName: "isNeedUpdateSlider", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { sliderColorUpdate: "sliderColorUpdate" }, host: { listeners: { "window:mouseup": "onMouseUp()" } }, viewQueries: [{ propertyName: "sliderContainer", first: true, predicate: ["sliderContainer"], descendants: true, isSignal: true }, { propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, isSignal: true }, { propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #sliderContainer class=\"src-color-slider\">\n <canvas\n #canvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-slider__canvas\"\n >\n </canvas>\n <span #indicator class=\"src-color-picker-indicator\"></span>\n</div>\n", styles: [".src-color-slider{width:100%;height:100%;position:relative}.src-color-slider__canvas{display:block;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: ColorSliderComponent, isStandalone: true, selector: "src-color-slider", inputs: { selectedHex: { classPropertyName: "selectedHex", publicName: "selectedHex", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: true, transformFunction: null }, sliderThickness: { classPropertyName: "sliderThickness", publicName: "sliderThickness", isSignal: true, isRequired: true, transformFunction: null }, isNeedUpdateSlider: { classPropertyName: "isNeedUpdateSlider", publicName: "isNeedUpdateSlider", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { sliderColorUpdate: "sliderColorUpdate" }, host: { listeners: { "window:mouseup": "onMouseUp()" } }, viewQueries: [{ propertyName: "sliderContainer", first: true, predicate: ["sliderContainer"], descendants: true, isSignal: true }, { propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, isSignal: true }, { propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #sliderContainer class=\"src-color-slider\">\n <canvas\n #canvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-slider__canvas\"\n >\n </canvas>\n <span #indicator class=\"src-color-picker-indicator\"></span>\n</div>\n", styles: [".src-color-slider{width:100%;height:100%;position:relative}.src-color-slider__canvas{display:block;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
962
983
  }
963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ColorSliderComponent, decorators: [{
984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorSliderComponent, decorators: [{
964
985
  type: Component,
965
986
  args: [{ standalone: true, selector: 'src-color-slider', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #sliderContainer class=\"src-color-slider\">\n <canvas\n #canvas\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n [height]=\"height()\"\n [width]=\"width()\"\n class=\"src-color-slider__canvas\"\n >\n </canvas>\n <span #indicator class=\"src-color-picker-indicator\"></span>\n</div>\n", styles: [".src-color-slider{width:100%;height:100%;position:relative}.src-color-slider__canvas{display:block;border-radius:var(--srcColorPickerBorderRadius);overflow:hidden;cursor:pointer}.src-color-picker-indicator{position:absolute;width:var(--srcColorPickerIndicatorWidth);height:var(--srcColorPickerIndicatorHeight);background-color:transparent;border-radius:var(--srcColorPickerIndicatorBorderRadius);box-shadow:var(--srcColorPickerIndicatorShadow);pointer-events:none;margin:calc(var(--srcColorPickerIndicatorHeight) / -2) 0 0 calc(var(--srcColorPickerIndicatorWidth) / -2);border:var(--srcColorPickerIndicatorBorderWidth) solid var(--srcColorPickerIndicatorBorderColor)}\n"] }]
966
987
  }], propDecorators: { sliderContainer: [{ type: i0.ViewChild, args: ['sliderContainer', { isSignal: true }] }], canvas: [{ type: i0.ViewChild, args: ['canvas', { isSignal: true }] }], indicator: [{ type: i0.ViewChild, args: ['indicator', { isSignal: true }] }], selectedHex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedHex", required: true }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: true }] }], sliderThickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "sliderThickness", required: true }] }], isNeedUpdateSlider: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNeedUpdateSlider", required: true }] }], sliderColorUpdate: [{ type: i0.Output, args: ["sliderColorUpdate"] }], onMouseUp: [{
@@ -1004,12 +1025,12 @@ class SourceColorPickerComponent {
1004
1025
  this.selectedHex.set(color);
1005
1026
  this.colorUpdate.emit(color);
1006
1027
  }
1007
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1008
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourceColorPickerComponent, isStandalone: true, selector: "src-color-picker", inputs: { selectedColor: { classPropertyName: "selectedColor", publicName: "selectedColor", isSignal: true, isRequired: true, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, hasInput: { classPropertyName: "hasInput", publicName: "hasInput", isSignal: true, isRequired: false, transformFunction: null }, sliderThickness: { classPropertyName: "sliderThickness", publicName: "sliderThickness", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { colorUpdate: "colorUpdate" }, ngImport: i0, template: "<div\n [class.src-color-picker--compact]=\"isCompact()\"\n [class.src-color-picker--horizontal]=\"orientation() === 'horizontal'\"\n [class.src-color-picker--vertical]=\"orientation() === 'vertical'\"\n [style.--srcColorPickerSliderThickness]=\"sliderThickness() + 'px'\"\n class=\"src-color-picker\"\n [attr.data-testid]=\"testID()\"\n>\n <div class=\"src-color-picker__wrapper\">\n <src-color-palette\n (paletteColorUpdate)=\"paletteColorUpdate($event)\"\n [isNeedUpdatePalette]=\"isNeedUpdatePalette()\"\n [selectedHex]=\"selectedHex()\"\n ></src-color-palette>\n <src-color-slider\n (sliderColorUpdate)=\"sliderColorUpdate($event)\"\n [isNeedUpdateSlider]=\"isNeedUpdateSlider()\"\n [orientation]=\"orientation()\"\n [selectedHex]=\"selectedHex()\"\n [sliderThickness]=\"sliderThickness()\"\n ></src-color-slider>\n </div>\n @if (hasInput()) {\n <div class=\"src-color-picker__input-row\">\n <input\n class=\"src-input src-color-picker__input\"\n type=\"text\"\n [attr.data-testid]=\"testID() + '-hex-input'\"\n [value]=\"selectedHex()\"\n (input)=\"inputUpdate($event)\"\n />\n <div\n class=\"src-color-picker__swatch\"\n [attr.data-testid]=\"testID() + '-swatch'\"\n [style.background-color]=\"selectedHex() || 'white'\"\n ></div>\n </div>\n }\n</div>\n", styles: [".src-color-picker{--srcColorPickerWidth: 360px;--srcColorPickerHeight: 340px;--srcColorPickerBorderRadius: var(--src-border-rounded, var(--src-space-1-5));--srcColorPickerBorderColor: var(--src-border-input-basic, #d1d5db);--srcColorPickerCanvasesGap: 8px;--srcColorPickerInputsGap: 12px;--srcColorPickerIndicatorWidth: 32px;--srcColorPickerIndicatorHeight: 32px;--srcColorPickerIndicatorBorderRadius: 50%;--srcColorPickerIndicatorBorderWidth: 5px;--srcColorPickerIndicatorBorderColor: #fff;--srcColorPickerIndicatorShadow: 0px 0px 2px 0px #0000007a, 0px 0px 3px 0px #00000033;width:var(--srcColorPickerWidth);height:var(--srcColorPickerHeight)}.src-color-picker--compact{--srcColorPickerWidth: 200px;--srcColorPickerHeight: 220px}.src-color-picker--horizontal{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--horizontal .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--srcColorPickerSliderThickness)}.src-color-picker--vertical{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--vertical .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr) var(--srcColorPickerSliderThickness);grid-template-rows:minmax(0,1fr)}.src-color-picker__wrapper{display:grid;width:100%;height:100%;gap:var(--srcColorPickerCanvasesGap)}.src-color-picker__input-row{width:100%;display:flex;align-items:center;gap:8px}.src-color-picker__input{flex-grow:1;height:36px}.src-color-picker__swatch{width:64px;height:36px;flex-shrink:0;border:1px solid var(--srcColorPickerBorderColor);border-radius:var(--srcColorPickerBorderRadius)}\n"], dependencies: [{ kind: "component", type: ColorSliderComponent, selector: "src-color-slider", inputs: ["selectedHex", "orientation", "sliderThickness", "isNeedUpdateSlider"], outputs: ["sliderColorUpdate"] }, { kind: "component", type: ColorPaletteComponent, selector: "src-color-palette", inputs: ["selectedHex", "isNeedUpdatePalette"], outputs: ["paletteColorUpdate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1028
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1029
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourceColorPickerComponent, isStandalone: true, selector: "src-color-picker", inputs: { selectedColor: { classPropertyName: "selectedColor", publicName: "selectedColor", isSignal: true, isRequired: true, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, hasInput: { classPropertyName: "hasInput", publicName: "hasInput", isSignal: true, isRequired: false, transformFunction: null }, sliderThickness: { classPropertyName: "sliderThickness", publicName: "sliderThickness", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { colorUpdate: "colorUpdate" }, ngImport: i0, template: "<div\n [class.src-color-picker--compact]=\"isCompact()\"\n [class.src-color-picker--horizontal]=\"orientation() === 'horizontal'\"\n [class.src-color-picker--vertical]=\"orientation() === 'vertical'\"\n [style.--srcColorPickerSliderThickness]=\"sliderThickness() + 'px'\"\n [attr.data-testid]=\"testID()\"\n class=\"src-color-picker\"\n>\n <div class=\"src-color-picker__wrapper\">\n <src-color-palette\n (paletteColorUpdate)=\"paletteColorUpdate($event)\"\n [isNeedUpdatePalette]=\"isNeedUpdatePalette()\"\n [selectedHex]=\"selectedHex()\"\n ></src-color-palette>\n <src-color-slider\n (sliderColorUpdate)=\"sliderColorUpdate($event)\"\n [isNeedUpdateSlider]=\"isNeedUpdateSlider()\"\n [orientation]=\"orientation()\"\n [selectedHex]=\"selectedHex()\"\n [sliderThickness]=\"sliderThickness()\"\n ></src-color-slider>\n </div>\n @if (hasInput()) {\n <div class=\"src-color-picker__input-row\">\n <input\n (input)=\"inputUpdate($event)\"\n [attr.data-testid]=\"testID() + '-hex-input'\"\n [value]=\"selectedHex()\"\n class=\"src-input src-color-picker__input\"\n type=\"text\"\n />\n <div\n [attr.data-testid]=\"testID() + '-swatch'\"\n [style.background-color]=\"selectedHex() || 'white'\"\n class=\"src-color-picker__swatch\"\n ></div>\n </div>\n }\n</div>\n", styles: [".src-color-picker{--srcColorPickerWidth: 360px;--srcColorPickerHeight: 340px;--srcColorPickerBorderRadius: var(--src-border-rounded, var(--src-space-1-5));--srcColorPickerBorderColor: var(--src-border-input-basic, #d1d5db);--srcColorPickerCanvasesGap: 8px;--srcColorPickerInputsGap: 12px;--srcColorPickerIndicatorWidth: 32px;--srcColorPickerIndicatorHeight: 32px;--srcColorPickerIndicatorBorderRadius: 50%;--srcColorPickerIndicatorBorderWidth: 5px;--srcColorPickerIndicatorBorderColor: #fff;--srcColorPickerIndicatorShadow: 0px 0px 2px 0px #0000007a, 0px 0px 3px 0px #00000033;width:var(--srcColorPickerWidth);height:var(--srcColorPickerHeight)}.src-color-picker--compact{--srcColorPickerWidth: 200px;--srcColorPickerHeight: 220px}.src-color-picker--horizontal{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--horizontal .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--srcColorPickerSliderThickness)}.src-color-picker--vertical{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--vertical .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr) var(--srcColorPickerSliderThickness);grid-template-rows:minmax(0,1fr)}.src-color-picker__wrapper{display:grid;width:100%;height:100%;gap:var(--srcColorPickerCanvasesGap)}.src-color-picker__input-row{width:100%;display:flex;align-items:center;gap:8px}.src-color-picker__input{flex-grow:1;height:36px}.src-color-picker__swatch{width:64px;height:36px;flex-shrink:0;border:1px solid var(--srcColorPickerBorderColor);border-radius:var(--srcColorPickerBorderRadius)}\n"], dependencies: [{ kind: "component", type: ColorSliderComponent, selector: "src-color-slider", inputs: ["selectedHex", "orientation", "sliderThickness", "isNeedUpdateSlider"], outputs: ["sliderColorUpdate"] }, { kind: "component", type: ColorPaletteComponent, selector: "src-color-palette", inputs: ["selectedHex", "isNeedUpdatePalette"], outputs: ["paletteColorUpdate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1009
1030
  }
1010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceColorPickerComponent, decorators: [{
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceColorPickerComponent, decorators: [{
1011
1032
  type: Component,
1012
- args: [{ selector: 'src-color-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ColorSliderComponent, ColorPaletteComponent], template: "<div\n [class.src-color-picker--compact]=\"isCompact()\"\n [class.src-color-picker--horizontal]=\"orientation() === 'horizontal'\"\n [class.src-color-picker--vertical]=\"orientation() === 'vertical'\"\n [style.--srcColorPickerSliderThickness]=\"sliderThickness() + 'px'\"\n class=\"src-color-picker\"\n [attr.data-testid]=\"testID()\"\n>\n <div class=\"src-color-picker__wrapper\">\n <src-color-palette\n (paletteColorUpdate)=\"paletteColorUpdate($event)\"\n [isNeedUpdatePalette]=\"isNeedUpdatePalette()\"\n [selectedHex]=\"selectedHex()\"\n ></src-color-palette>\n <src-color-slider\n (sliderColorUpdate)=\"sliderColorUpdate($event)\"\n [isNeedUpdateSlider]=\"isNeedUpdateSlider()\"\n [orientation]=\"orientation()\"\n [selectedHex]=\"selectedHex()\"\n [sliderThickness]=\"sliderThickness()\"\n ></src-color-slider>\n </div>\n @if (hasInput()) {\n <div class=\"src-color-picker__input-row\">\n <input\n class=\"src-input src-color-picker__input\"\n type=\"text\"\n [attr.data-testid]=\"testID() + '-hex-input'\"\n [value]=\"selectedHex()\"\n (input)=\"inputUpdate($event)\"\n />\n <div\n class=\"src-color-picker__swatch\"\n [attr.data-testid]=\"testID() + '-swatch'\"\n [style.background-color]=\"selectedHex() || 'white'\"\n ></div>\n </div>\n }\n</div>\n", styles: [".src-color-picker{--srcColorPickerWidth: 360px;--srcColorPickerHeight: 340px;--srcColorPickerBorderRadius: var(--src-border-rounded, var(--src-space-1-5));--srcColorPickerBorderColor: var(--src-border-input-basic, #d1d5db);--srcColorPickerCanvasesGap: 8px;--srcColorPickerInputsGap: 12px;--srcColorPickerIndicatorWidth: 32px;--srcColorPickerIndicatorHeight: 32px;--srcColorPickerIndicatorBorderRadius: 50%;--srcColorPickerIndicatorBorderWidth: 5px;--srcColorPickerIndicatorBorderColor: #fff;--srcColorPickerIndicatorShadow: 0px 0px 2px 0px #0000007a, 0px 0px 3px 0px #00000033;width:var(--srcColorPickerWidth);height:var(--srcColorPickerHeight)}.src-color-picker--compact{--srcColorPickerWidth: 200px;--srcColorPickerHeight: 220px}.src-color-picker--horizontal{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--horizontal .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--srcColorPickerSliderThickness)}.src-color-picker--vertical{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--vertical .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr) var(--srcColorPickerSliderThickness);grid-template-rows:minmax(0,1fr)}.src-color-picker__wrapper{display:grid;width:100%;height:100%;gap:var(--srcColorPickerCanvasesGap)}.src-color-picker__input-row{width:100%;display:flex;align-items:center;gap:8px}.src-color-picker__input{flex-grow:1;height:36px}.src-color-picker__swatch{width:64px;height:36px;flex-shrink:0;border:1px solid var(--srcColorPickerBorderColor);border-radius:var(--srcColorPickerBorderRadius)}\n"] }]
1033
+ args: [{ selector: 'src-color-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ColorSliderComponent, ColorPaletteComponent], template: "<div\n [class.src-color-picker--compact]=\"isCompact()\"\n [class.src-color-picker--horizontal]=\"orientation() === 'horizontal'\"\n [class.src-color-picker--vertical]=\"orientation() === 'vertical'\"\n [style.--srcColorPickerSliderThickness]=\"sliderThickness() + 'px'\"\n [attr.data-testid]=\"testID()\"\n class=\"src-color-picker\"\n>\n <div class=\"src-color-picker__wrapper\">\n <src-color-palette\n (paletteColorUpdate)=\"paletteColorUpdate($event)\"\n [isNeedUpdatePalette]=\"isNeedUpdatePalette()\"\n [selectedHex]=\"selectedHex()\"\n ></src-color-palette>\n <src-color-slider\n (sliderColorUpdate)=\"sliderColorUpdate($event)\"\n [isNeedUpdateSlider]=\"isNeedUpdateSlider()\"\n [orientation]=\"orientation()\"\n [selectedHex]=\"selectedHex()\"\n [sliderThickness]=\"sliderThickness()\"\n ></src-color-slider>\n </div>\n @if (hasInput()) {\n <div class=\"src-color-picker__input-row\">\n <input\n (input)=\"inputUpdate($event)\"\n [attr.data-testid]=\"testID() + '-hex-input'\"\n [value]=\"selectedHex()\"\n class=\"src-input src-color-picker__input\"\n type=\"text\"\n />\n <div\n [attr.data-testid]=\"testID() + '-swatch'\"\n [style.background-color]=\"selectedHex() || 'white'\"\n class=\"src-color-picker__swatch\"\n ></div>\n </div>\n }\n</div>\n", styles: [".src-color-picker{--srcColorPickerWidth: 360px;--srcColorPickerHeight: 340px;--srcColorPickerBorderRadius: var(--src-border-rounded, var(--src-space-1-5));--srcColorPickerBorderColor: var(--src-border-input-basic, #d1d5db);--srcColorPickerCanvasesGap: 8px;--srcColorPickerInputsGap: 12px;--srcColorPickerIndicatorWidth: 32px;--srcColorPickerIndicatorHeight: 32px;--srcColorPickerIndicatorBorderRadius: 50%;--srcColorPickerIndicatorBorderWidth: 5px;--srcColorPickerIndicatorBorderColor: #fff;--srcColorPickerIndicatorShadow: 0px 0px 2px 0px #0000007a, 0px 0px 3px 0px #00000033;width:var(--srcColorPickerWidth);height:var(--srcColorPickerHeight)}.src-color-picker--compact{--srcColorPickerWidth: 200px;--srcColorPickerHeight: 220px}.src-color-picker--horizontal{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--horizontal .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--srcColorPickerSliderThickness)}.src-color-picker--vertical{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:var(--srcColorPickerInputsGap)}.src-color-picker--vertical .src-color-picker__wrapper{grid-template-columns:minmax(0,1fr) var(--srcColorPickerSliderThickness);grid-template-rows:minmax(0,1fr)}.src-color-picker__wrapper{display:grid;width:100%;height:100%;gap:var(--srcColorPickerCanvasesGap)}.src-color-picker__input-row{width:100%;display:flex;align-items:center;gap:8px}.src-color-picker__input{flex-grow:1;height:36px}.src-color-picker__swatch{width:64px;height:36px;flex-shrink:0;border:1px solid var(--srcColorPickerBorderColor);border-radius:var(--srcColorPickerBorderRadius)}\n"] }]
1013
1034
  }], propDecorators: { selectedColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedColor", required: true }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], hasInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasInput", required: false }] }], sliderThickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "sliderThickness", required: false }] }], testID: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-testid", required: false }] }], colorUpdate: [{ type: i0.Output, args: ["colorUpdate"] }] } });
1014
1035
 
1015
1036
  const SourceColorPickerOrientation = {
@@ -1054,10 +1075,10 @@ class SourceSliderGroupComponent {
1054
1075
  this.updateSliderValueFromInput(event);
1055
1076
  event.target.blur();
1056
1077
  }
1057
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceSliderGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1058
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SourceSliderGroupComponent, isStandalone: true, selector: "src-slider-group", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, units: { classPropertyName: "units", publicName: "units", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null }, showRange: { classPropertyName: "showRange", publicName: "showRange", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groupValueChange: "groupValueChange" }, ngImport: i0, template: "<div\n [attr.data-testid]=\"testID()\"\n [class.src-slider-group--disabled]=\"isDisabled()\"\n class=\"src-slider-group\"\n>\n <div class=\"src-slider-group__label\">\n <label [attr.data-testid]=\"testID() + '-label'\" [for]=\"id()\">\n {{ label() }}</label\n >\n </div>\n <div class=\"src-slider-group__input\">\n <input\n (change)=\"updateSliderValueFromInput($event)\"\n (keydown.enter)=\"onEnter($event)\"\n [attr.data-testid]=\"testID() + '-input'\"\n [disabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [value]=\"inputValue()\"\n class=\"src-slider-group__number\"\n type=\"number\"\n />\n @if (units()) {\n <div class=\"src-slider-group__units\">{{ units() }}</div>\n }\n </div>\n <src-slider\n (onChange)=\"updateSliderValue($event)\"\n [data-testid]=\"testID() + '-slider'\"\n [id]=\"id()\"\n [isDisabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [showTicks]=\"showTicks()\"\n [step]=\"step()\"\n [value]=\"sliderValue()\"\n ></src-slider>\n @if (showRange()) {\n <div class=\"src-slider-group__range\">\n <span class=\"src-slider-group__range-min\">{{ min() }}</span>\n <span class=\"src-slider-group__range-max\">{{ max() }}</span>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative}.src-slider-group{--srcSliderLabelColor: var(--src-color-text-default, #1f2937);--srcSliderInputColor: var(--src-color-text-default, #1f2937);--srcSliderInputBorder: transparent;position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;gap:0 12px}.src-slider-group--disabled{--srcSliderLabelColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputBorder: transparent}.src-slider-group--disabled .src-slider-group__input:hover{--srcSliderInputBorder: transparent}.src-slider-group__label{grid-column:1/2;grid-row:1/2;padding-bottom:6px}.src-slider-group__label label{padding:2px 0;color:var(--srcSliderLabelColor);font-size:13px;font-style:normal;font-weight:400;line-height:16px}.src-slider-group__input{grid-column:2/-1;grid-row:1/2;display:flex;align-items:center;justify-self:flex-end;position:relative;margin-bottom:6px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--srcSliderInputBorder)}.src-slider-group__input:hover{--srcSliderInputBorder: var(--src-color-border-hover, #d1d5db)}.src-slider-group__input:focus-within{outline:none;--srcSliderInputBorder: var(--src-color-border-primary, #0a8552);box-shadow:inset 0 -2px 0 0 var(--srcSliderInputBorder)}.src-slider-group__units{color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}src-slider{grid-column:1/-1;grid-row:2/-1}.src-slider-group__number{text-align:right;border:none;padding:2px 0;background-color:transparent;min-width:0;width:auto;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.src-slider-group__number::-webkit-outer-spin-button,.src-slider-group__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.src-slider-group__range{grid-column:1/-1;width:100%;padding-top:6px;display:flex;align-items:center;justify-content:space-between;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}.src-slider-group__range-max{justify-self:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: SourceSliderComponent, selector: "src-slider", inputs: ["id", "value", "min", "max", "thumbSize", "trackHeight", "step", "showTicks", "isDisabled", "orientation", "data-testid"], outputs: ["onChange", "onInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1078
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceSliderGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1079
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SourceSliderGroupComponent, isStandalone: true, selector: "src-slider-group", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, units: { classPropertyName: "units", publicName: "units", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null }, showRange: { classPropertyName: "showRange", publicName: "showRange", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, testID: { classPropertyName: "testID", publicName: "data-testid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groupValueChange: "groupValueChange" }, ngImport: i0, template: "<div\n [attr.data-testid]=\"testID()\"\n [class.src-slider-group--disabled]=\"isDisabled()\"\n class=\"src-slider-group\"\n>\n <div class=\"src-slider-group__label\">\n <label [attr.data-testid]=\"testID() + '-label'\" [for]=\"id()\">\n {{ label() }}</label\n >\n </div>\n <div class=\"src-slider-group__input\">\n <input\n (change)=\"updateSliderValueFromInput($event)\"\n (keydown.enter)=\"onEnter($event)\"\n [attr.data-testid]=\"testID() + '-input'\"\n [disabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [value]=\"inputValue()\"\n class=\"src-slider-group__number\"\n type=\"number\"\n />\n @if (units()) {\n <div class=\"src-slider-group__units\">{{ units() }}</div>\n }\n </div>\n <src-slider\n (onChange)=\"updateSliderValue($event)\"\n [data-testid]=\"testID() + '-slider'\"\n [id]=\"id()\"\n [isDisabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [showTicks]=\"showTicks()\"\n [step]=\"step()\"\n [value]=\"sliderValue()\"\n ></src-slider>\n @if (showRange()) {\n <div class=\"src-slider-group__range\">\n <span class=\"src-slider-group__range-min\">{{ min() }}</span>\n <span class=\"src-slider-group__range-max\">{{ max() }}</span>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative}.src-slider-group{--srcSliderLabelColor: var(--src-color-text-default, #1f2937);--srcSliderInputColor: var(--src-color-text-default, #1f2937);--srcSliderInputBorder: transparent;position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;gap:0 12px}.src-slider-group--disabled{--srcSliderLabelColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputBorder: transparent}.src-slider-group--disabled .src-slider-group__input:hover{--srcSliderInputBorder: transparent}.src-slider-group__label{grid-column:1/2;grid-row:1/2;padding-bottom:6px}.src-slider-group__label label{padding:2px 0;color:var(--srcSliderLabelColor);font-size:13px;font-style:normal;font-weight:400;line-height:16px}.src-slider-group__input{grid-column:2/-1;grid-row:1/2;display:flex;align-items:center;justify-self:flex-end;position:relative;margin-bottom:6px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--srcSliderInputBorder)}.src-slider-group__input:hover{--srcSliderInputBorder: var(--src-color-border-hover, #d1d5db)}.src-slider-group__input:focus-within{outline:none;--srcSliderInputBorder: var(--src-color-border-primary, #0a8552);box-shadow:inset 0 -2px 0 0 var(--srcSliderInputBorder)}.src-slider-group__units{color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}src-slider{grid-column:1/-1;grid-row:2/-1}.src-slider-group__number{text-align:right;border:none;padding:2px 0;background-color:transparent;min-width:0;width:auto;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.src-slider-group__number::-webkit-outer-spin-button,.src-slider-group__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.src-slider-group__range{grid-column:1/-1;width:100%;padding-top:6px;display:flex;align-items:center;justify-content:space-between;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}.src-slider-group__range-max{justify-self:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: SourceSliderComponent, selector: "src-slider", inputs: ["id", "value", "min", "max", "thumbSize", "trackHeight", "step", "showTicks", "isDisabled", "orientation", "data-testid"], outputs: ["onChange", "onInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1059
1080
  }
1060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SourceSliderGroupComponent, decorators: [{
1081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SourceSliderGroupComponent, decorators: [{
1061
1082
  type: Component,
1062
1083
  args: [{ selector: 'src-slider-group', imports: [FormsModule, SourceSliderComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [attr.data-testid]=\"testID()\"\n [class.src-slider-group--disabled]=\"isDisabled()\"\n class=\"src-slider-group\"\n>\n <div class=\"src-slider-group__label\">\n <label [attr.data-testid]=\"testID() + '-label'\" [for]=\"id()\">\n {{ label() }}</label\n >\n </div>\n <div class=\"src-slider-group__input\">\n <input\n (change)=\"updateSliderValueFromInput($event)\"\n (keydown.enter)=\"onEnter($event)\"\n [attr.data-testid]=\"testID() + '-input'\"\n [disabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [value]=\"inputValue()\"\n class=\"src-slider-group__number\"\n type=\"number\"\n />\n @if (units()) {\n <div class=\"src-slider-group__units\">{{ units() }}</div>\n }\n </div>\n <src-slider\n (onChange)=\"updateSliderValue($event)\"\n [data-testid]=\"testID() + '-slider'\"\n [id]=\"id()\"\n [isDisabled]=\"isDisabled()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [showTicks]=\"showTicks()\"\n [step]=\"step()\"\n [value]=\"sliderValue()\"\n ></src-slider>\n @if (showRange()) {\n <div class=\"src-slider-group__range\">\n <span class=\"src-slider-group__range-min\">{{ min() }}</span>\n <span class=\"src-slider-group__range-max\">{{ max() }}</span>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative}.src-slider-group{--srcSliderLabelColor: var(--src-color-text-default, #1f2937);--srcSliderInputColor: var(--src-color-text-default, #1f2937);--srcSliderInputBorder: transparent;position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;gap:0 12px}.src-slider-group--disabled{--srcSliderLabelColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputColor: var(--src-color-text-default-disabled, #abb2be);--srcSliderInputBorder: transparent}.src-slider-group--disabled .src-slider-group__input:hover{--srcSliderInputBorder: transparent}.src-slider-group__label{grid-column:1/2;grid-row:1/2;padding-bottom:6px}.src-slider-group__label label{padding:2px 0;color:var(--srcSliderLabelColor);font-size:13px;font-style:normal;font-weight:400;line-height:16px}.src-slider-group__input{grid-column:2/-1;grid-row:1/2;display:flex;align-items:center;justify-self:flex-end;position:relative;margin-bottom:6px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--srcSliderInputBorder)}.src-slider-group__input:hover{--srcSliderInputBorder: var(--src-color-border-hover, #d1d5db)}.src-slider-group__input:focus-within{outline:none;--srcSliderInputBorder: var(--src-color-border-primary, #0a8552);box-shadow:inset 0 -2px 0 0 var(--srcSliderInputBorder)}.src-slider-group__units{color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}src-slider{grid-column:1/-1;grid-row:2/-1}.src-slider-group__number{text-align:right;border:none;padding:2px 0;background-color:transparent;min-width:0;width:auto;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.src-slider-group__number::-webkit-outer-spin-button,.src-slider-group__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.src-slider-group__range{grid-column:1/-1;width:100%;padding-top:6px;display:flex;align-items:center;justify-content:space-between;color:var(--srcSliderInputColor);font-size:13px;font-weight:400;line-height:16px}.src-slider-group__range-max{justify-self:flex-end}\n"] }]
1063
1084
  }], propDecorators: { min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: true }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], units: [{ type: i0.Input, args: [{ isSignal: true, alias: "units", required: false }] }], showTicks: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTicks", required: false }] }], showRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRange", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], testID: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-testid", required: false }] }], groupValueChange: [{ type: i0.Output, args: ["groupValueChange"] }] } });