@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.
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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
|
|
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.
|
|
225
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
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.
|
|
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
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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.
|
|
248
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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
|
|
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(
|
|
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.
|
|
331
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
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.
|
|
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
|
|
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.
|
|
385
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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
|
|
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.
|
|
414
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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
|
|
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.
|
|
426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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.
|
|
446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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
|
|
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
|
-
|
|
540
|
+
const tooltipData = this.sourceTooltipData();
|
|
541
|
+
if (tooltipData) {
|
|
534
542
|
this._config = {
|
|
535
|
-
...
|
|
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.
|
|
609
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
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.
|
|
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
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
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.
|
|
810
|
-
|
|
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
|
|
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.
|
|
833
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
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.
|
|
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.
|
|
939
|
-
|
|
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
|
|
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.
|
|
961
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
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.
|
|
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.
|
|
1008
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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
|
|
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.
|
|
1058
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
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.
|
|
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"] }] } });
|