@spicainternational/ngx-sds-components 8.7.4 → 8.7.5
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.
- package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +3 -7
- package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +3 -4
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +3 -3
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +3 -6
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +2 -3
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/package.json +13 -13
- package/src/lib/navigation/product-home/product-home.component.d.ts +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
-
import { addDays, startOfDay } from 'date-fns';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export class SdsDateTimeRangeFormatPipe {
|
|
5
4
|
/**
|
|
@@ -16,16 +15,13 @@ export class SdsDateTimeRangeFormatPipe {
|
|
|
16
15
|
}
|
|
17
16
|
try {
|
|
18
17
|
const start = new Date(startDate);
|
|
19
|
-
|
|
18
|
+
const end = new Date(endDate);
|
|
20
19
|
if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {
|
|
21
20
|
return '';
|
|
22
21
|
}
|
|
23
22
|
const formatter = new Intl.DateTimeFormat(locales, options);
|
|
24
23
|
const formatterWithRange = formatter;
|
|
25
24
|
if (typeof formatterWithRange.formatRange === 'function') {
|
|
26
|
-
if (startOfDay(addDays(start, 1)).getTime() === end.getTime()) {
|
|
27
|
-
end = addDays(end, -1);
|
|
28
|
-
}
|
|
29
25
|
return formatterWithRange.formatRange(start, end);
|
|
30
26
|
}
|
|
31
27
|
else {
|
|
@@ -43,7 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
43
39
|
type: Pipe,
|
|
44
40
|
args: [{
|
|
45
41
|
name: 'sdsDateTimeRangeFormat',
|
|
46
|
-
standalone: true
|
|
42
|
+
standalone: true,
|
|
47
43
|
}]
|
|
48
44
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXJhbmdlLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1waXBlcy9kYXRlLXRpbWUtcmFuZ2UtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTywwQkFBMEI7SUFDbkM7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FDTCxTQUFpQyxFQUNqQyxPQUErQixFQUMvQixPQUEwQixFQUMxQixPQUFtQztRQUVuQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxTQUFnQixDQUFDO1lBRTVDLElBQUksT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3ZELE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN0RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNMLENBQUM7K0dBdENRLDBCQUEwQjs2R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSx3QkFBd0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzZHNEYXRlVGltZVJhbmdlRm9ybWF0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTZHNEYXRlVGltZVJhbmdlRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgYSBkYXRlIHJhbmdlIHVzaW5nIEludGwuRGF0ZVRpbWVGb3JtYXQuZm9ybWF0UmFuZ2VcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gVGhlIHN0YXJ0IGRhdGUgb2YgdGhlIHJhbmdlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBUaGUgZW5kIGRhdGUgb2YgdGhlIHJhbmdlXG4gICAgICogQHBhcmFtIGxvY2FsZXMgLSBMb2NhbGUocykgdG8gdXNlIGZvciBmb3JtYXR0aW5nIChvcHRpb25hbCwgZGVmYXVsdHMgdG8gYnJvd3NlciBsb2NhbGUpXG4gICAgICogQHBhcmFtIG9wdGlvbnMgLSBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIGZvcm1hdFxuICAgICAqIEByZXR1cm5zIEZvcm1hdHRlZCBkYXRlIHJhbmdlIHN0cmluZ1xuICAgICAqL1xuICAgIHRyYW5zZm9ybShcbiAgICAgICAgc3RhcnREYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyLFxuICAgICAgICBlbmREYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyLFxuICAgICAgICBsb2NhbGVzOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICAgICAgb3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMsXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBuZXcgRGF0ZShlbmREYXRlKTtcblxuICAgICAgICAgICAgaWYgKCFvcHRpb25zIHx8IGlzTmFOKHN0YXJ0LmdldFRpbWUoKSkgfHwgaXNOYU4oZW5kLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVyV2l0aFJhbmdlID0gZm9ybWF0dGVyIGFzIGFueTtcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmb3JtYXR0ZXJXaXRoUmFuZ2UuZm9ybWF0UmFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVyV2l0aFJhbmdlLmZvcm1hdFJhbmdlKHN0YXJ0LCBlbmQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9ybWF0dGVyLmZvcm1hdChzdGFydCl9IC0gJHtmb3JtYXR0ZXIuZm9ybWF0KGVuZCl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -17,7 +17,6 @@ export class SdsProductHomeComponent {
|
|
|
17
17
|
this.headerClick = new EventEmitter();
|
|
18
18
|
this.ICON_CLOSE = faArrowLeftFromLine;
|
|
19
19
|
this.ICON_OPEN = faArrowRightFromLine;
|
|
20
|
-
this.ICON_SIDEBAR = faArrowLeftFromLine; //faSidebar;
|
|
21
20
|
this.isCollapsed = model(false);
|
|
22
21
|
this.sideBarInstanceName = input('');
|
|
23
22
|
}
|
|
@@ -34,7 +33,7 @@ export class SdsProductHomeComponent {
|
|
|
34
33
|
this.isCollapsed.set(!this.isCollapsed());
|
|
35
34
|
}
|
|
36
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsProductHomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SdsProductHomeComponent, isStandalone: true, selector: "sds-product-home", inputs: { logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: false, isRequired: false, transformFunction: null }, logoAltText: { classPropertyName: "logoAltText", publicName: "logoAltText", isSignal: false, isRequired: false, transformFunction: null }, moduleTitle: { classPropertyName: "moduleTitle", publicName: "moduleTitle", isSignal: false, isRequired: false, transformFunction: null }, showAppSwitcher: { classPropertyName: "showAppSwitcher", publicName: "showAppSwitcher", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherProductCode: { classPropertyName: "appSwitcherProductCode", publicName: "appSwitcherProductCode", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherUserProductCodes: { classPropertyName: "appSwitcherUserProductCodes", publicName: "appSwitcherUserProductCodes", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherTenantProducts: { classPropertyName: "appSwitcherTenantProducts", publicName: "appSwitcherTenantProducts", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherSwitchText: { classPropertyName: "appSwitcherSwitchText", publicName: "appSwitcherSwitchText", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherDiscoverText: { classPropertyName: "appSwitcherDiscoverText", publicName: "appSwitcherDiscoverText", isSignal: false, isRequired: false, transformFunction: null }, textOpen: { classPropertyName: "textOpen", publicName: "textOpen", isSignal: true, isRequired: false, transformFunction: null }, textClose: { classPropertyName: "textClose", publicName: "textClose", isSignal: true, isRequired: false, transformFunction: null }, allowHeaderClick: { classPropertyName: "allowHeaderClick", publicName: "allowHeaderClick", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, sideBarInstanceName: { classPropertyName: "sideBarInstanceName", publicName: "sideBarInstanceName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick", isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SdsProductHomeComponent, isStandalone: true, selector: "sds-product-home", inputs: { logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: false, isRequired: false, transformFunction: null }, logoAltText: { classPropertyName: "logoAltText", publicName: "logoAltText", isSignal: false, isRequired: false, transformFunction: null }, moduleTitle: { classPropertyName: "moduleTitle", publicName: "moduleTitle", isSignal: false, isRequired: false, transformFunction: null }, showAppSwitcher: { classPropertyName: "showAppSwitcher", publicName: "showAppSwitcher", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherProductCode: { classPropertyName: "appSwitcherProductCode", publicName: "appSwitcherProductCode", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherUserProductCodes: { classPropertyName: "appSwitcherUserProductCodes", publicName: "appSwitcherUserProductCodes", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherTenantProducts: { classPropertyName: "appSwitcherTenantProducts", publicName: "appSwitcherTenantProducts", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherSwitchText: { classPropertyName: "appSwitcherSwitchText", publicName: "appSwitcherSwitchText", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherDiscoverText: { classPropertyName: "appSwitcherDiscoverText", publicName: "appSwitcherDiscoverText", isSignal: false, isRequired: false, transformFunction: null }, textOpen: { classPropertyName: "textOpen", publicName: "textOpen", isSignal: true, isRequired: false, transformFunction: null }, textClose: { classPropertyName: "textClose", publicName: "textClose", isSignal: true, isRequired: false, transformFunction: null }, allowHeaderClick: { classPropertyName: "allowHeaderClick", publicName: "allowHeaderClick", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, sideBarInstanceName: { classPropertyName: "sideBarInstanceName", publicName: "sideBarInstanceName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick", isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n [icon]=\"isCollapsed() ? ICON_OPEN : ICON_CLOSE\" \n [fixedWidth]=\"true\"\n >\n </fa-icon>\n </button>\n \n</div>\n", styles: [".product-header{padding-left:.75rem!important}.product-header .app-switcher{height:2rem;width:2rem}.product-header .product-title{margin-top:.15rem}.product-header .product-logo-container{height:calc(1.5rem + 2px)}.product-header .product-logo-container.collapsed{width:calc(1.5rem + 2px);overflow-x:hidden}.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}.product-header .toggle-collapsed-button{height:2rem;width:2rem;border:0;background:transparent;appearance:none}.product-header .toggle-collapsed-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}:host{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: SdsAppSwitcherComponent, selector: "sds-app-switcher", inputs: ["productCode", "userProductCodes", "tenantProducts", "switchText", "discoverText", "ariaLabel"], outputs: ["productClick"] }] }); }
|
|
38
37
|
}
|
|
39
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsProductHomeComponent, decorators: [{
|
|
40
39
|
type: Component,
|
|
@@ -42,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
42
41
|
NgIf,
|
|
43
42
|
FontAwesomeModule,
|
|
44
43
|
SdsAppSwitcherComponent
|
|
45
|
-
], template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n
|
|
44
|
+
], template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n [icon]=\"isCollapsed() ? ICON_OPEN : ICON_CLOSE\" \n [fixedWidth]=\"true\"\n >\n </fa-icon>\n </button>\n \n</div>\n", styles: [".product-header{padding-left:.75rem!important}.product-header .app-switcher{height:2rem;width:2rem}.product-header .product-title{margin-top:.15rem}.product-header .product-logo-container{height:calc(1.5rem + 2px)}.product-header .product-logo-container.collapsed{width:calc(1.5rem + 2px);overflow-x:hidden}.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}.product-header .toggle-collapsed-button{height:2rem;width:2rem;border:0;background:transparent;appearance:none}.product-header .toggle-collapsed-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}:host{width:100%}\n"] }]
|
|
46
45
|
}], ctorParameters: () => [], propDecorators: { logoUrl: [{
|
|
47
46
|
type: Input
|
|
48
47
|
}], logoAltText: [{
|
|
@@ -68,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
68
67
|
}], headerClick: [{
|
|
69
68
|
type: Output
|
|
70
69
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1ob21lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vcHJvZHVjdC1ob21lL3Byb2R1Y3QtaG9tZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL3Byb2R1Y3QtaG9tZS9wcm9kdWN0LWhvbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQWEsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBY3JFLE1BQU0sT0FBTyx1QkFBdUI7SUF3QmhDO1FBbEJnQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUl4QiwwQkFBcUIsR0FBVyxFQUFFLENBQUM7UUFDbkMsNEJBQXVCLEdBQVcsRUFBRSxDQUFDO1FBRXJELGFBQVEsR0FBRyxLQUFLLENBQVMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFTLGtCQUFrQixDQUFDLENBQUM7UUFFOUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXhCLG9CQUFlLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQy9FLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbEUsZUFBVSxHQUFHLG1CQUFtQixDQUFDO1FBQ2pDLGNBQVMsR0FBRyxvQkFBb0IsQ0FBQztRQUkzQyxnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVwQyx3QkFBbUIsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFKekIsQ0FBQztJQU1oQixRQUFRLEtBQVUsQ0FBQztJQUVULGNBQWMsQ0FBQyxPQUFxQjtRQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0E1Q1EsdUJBQXVCO21HQUF2Qix1QkFBdUIsa3pFQ3JCcEMsc29FQStEQSx3cUJEL0NRLElBQUksNEZBQ0osaUJBQWlCLG1TQUNqQix1QkFBdUI7OzRGQUdsQix1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGNBR2hCLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLGlCQUFpQjt3QkFDakIsdUJBQXVCO3FCQUMxQjt3REFJZSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLHNCQUFzQjtzQkFBckMsS0FBSztnQkFDVSwyQkFBMkI7c0JBQTFDLEtBQUs7Z0JBQ1UseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUNVLHFCQUFxQjtzQkFBcEMsS0FBSztnQkFDVSx1QkFBdUI7c0JBQXRDLEtBQUs7Z0JBS1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUVXLGVBQWU7c0JBQS9CLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIG1vZGVsLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdE1vZGVsIH0gZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtc3dpdGNoZXInO1xuaW1wb3J0IHsgU2RzQXBwU3dpdGNoZXJDb21wb25lbnQgfSBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2FwcC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB9IGZyb20gJy4uL21vZGVscy9uYXZpZ2F0aW9uLW1vZGVscyc7XG5pbXBvcnQgeyBmYUFycm93TGVmdEZyb21MaW5lLCBmYUFycm93UmlnaHRGcm9tTGluZSwgZmFTaWRlYmFyIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBmYVNpZGViYXIgYXMgZmFsU2lkZWJhcn0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1saWdodC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzZHMtcHJvZHVjdC1ob21lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1ob21lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWhvbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZiwgXG4gICAgICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxuICAgICAgICBTZHNBcHBTd2l0Y2hlckNvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNkc1Byb2R1Y3RIb21lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb2xsYXBzaWJsZU5hdmlnYXRpb25FbnRpdHkge1xuXG4gICAgQElucHV0KCkgcHVibGljIGxvZ29Vcmw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGxvZ29BbHRUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtb2R1bGVUaXRsZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93QXBwU3dpdGNoZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYXBwU3dpdGNoZXJQcm9kdWN0Q29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhcHBTd2l0Y2hlclVzZXJQcm9kdWN0Q29kZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhcHBTd2l0Y2hlclRlbmFudFByb2R1Y3RzOiBQcm9kdWN0TW9kZWxbXSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYXBwU3dpdGNoZXJTd2l0Y2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgYXBwU3dpdGNoZXJEaXNjb3ZlclRleHQ6IHN0cmluZyA9ICcnOyBcblxuICAgIHRleHRPcGVuID0gaW5wdXQ8c3RyaW5nPignRXhwYW5kIHNpZGViYXInKTtcbiAgICB0ZXh0Q2xvc2UgPSBpbnB1dDxzdHJpbmc+KCdDb2xsYXBzZSBzaWRlYmFyJyk7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgYWxsb3dIZWFkZXJDbGljayA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBwcm9kdWN0U3dpdGNoZWQ6IEV2ZW50RW1pdHRlcjxQcm9kdWN0TW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9kdWN0TW9kZWw+KCk7ICAgXG4gICAgQE91dHB1dCgpIHB1YmxpYyBoZWFkZXJDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHJvdGVjdGVkIElDT05fQ0xPU0UgPSBmYUFycm93TGVmdEZyb21MaW5lO1xuICAgIHByb3RlY3RlZCBJQ09OX09QRU4gPSBmYUFycm93UmlnaHRGcm9tTGluZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIGlzQ29sbGFwc2VkID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgc2lkZUJhckluc3RhbmNlTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIG9uUHJvZHVjdENsaWNrKHByb2R1Y3Q6IFByb2R1Y3RNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2R1Y3RTd2l0Y2hlZC5lbWl0KHByb2R1Y3QpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkhlYWRlckNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4gYWxsb3dIZWFkZXJDbGljaykge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJDbGljay5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KCF0aGlzLmlzQ29sbGFwc2VkKCkpO1xuICAgIH1cbn1cbiIsIjxkaXYgXG4gICAgY2xhc3M9XCJwcm9kdWN0LWhlYWRlciBwYi0yIG1iLTIgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIlxuICAgID5cbiAgICAgICAgQGlmKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgIDxzZHMtYXBwLXN3aXRjaGVyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dBcHBTd2l0Y2hlclwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1zd2l0Y2hlciB0ZXh0LWdyYXktODAwIHNkcy1mcy05MyBzZHMtaG92ZXJhYmxlIHNkcy1yb3VuZGVkLTIgcC0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICBbcHJvZHVjdENvZGVdPVwiYXBwU3dpdGNoZXJQcm9kdWN0Q29kZVwiXG4gICAgICAgICAgICBbdXNlclByb2R1Y3RDb2Rlc109XCJhcHBTd2l0Y2hlclVzZXJQcm9kdWN0Q29kZXNcIlxuICAgICAgICAgICAgW3RlbmFudFByb2R1Y3RzXT1cImFwcFN3aXRjaGVyVGVuYW50UHJvZHVjdHNcIlxuICAgICAgICAgICAgW3N3aXRjaFRleHRdPVwiYXBwU3dpdGNoZXJTd2l0Y2hUZXh0XCJcbiAgICAgICAgICAgIFtkaXNjb3ZlclRleHRdPVwiYXBwU3dpdGNoZXJEaXNjb3ZlclRleHRcIlxuICAgICAgICAgICAgKHByb2R1Y3RDbGljayk9XCJvblByb2R1Y3RDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgPC9zZHMtYXBwLXN3aXRjaGVyPlxuICAgXG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cInNkcy1mbGV4LWdyb3ctc2hyaW5rIHByb2R1Y3QtdGl0bGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSGVhZGVyQ2xpY2soKVwiXG4gICAgICAgICAgICBbY2xhc3Muc2RzLWN1cnNvci1wb2ludGVyXT1cImFsbG93SGVhZGVyQ2xpY2tcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIm1vZHVsZVRpdGxlICYmIGlzQ29sbGFwc2VkKCkgPyBtb2R1bGVUaXRsZSA6ICcnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9kdWN0LWxvZ28tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZHVjdC1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvVXJsXCIgXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwibG9nb0FsdFRleHRcIlxuICAgICAgICAgICAgICAgID4gIFxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZihtb2R1bGVUaXRsZSAmJiAhaXNDb2xsYXBzZWQoKSkge1xuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cIm10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAge3ttb2R1bGVUaXRsZX19XG4gICAgICAgICAgICAgICAgPC9oNj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJcbiAgICAgICAgICAgIHRvZ2dsZS1jb2xsYXBzZWQtYnV0dG9uIFxuICAgICAgICAgICAgdGV4dC1ncmF5LTgwMCBzZHMtZnMtOTMgXG4gICAgICAgICAgICBzZHMtaG92ZXJhYmxlIHNkcy1yb3VuZGVkLTIgXG4gICAgICAgICAgICBwLTEgbWwtMlxuICAgICAgICAgICAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXG4gICAgICAgICAgICBzZHMtY3Vyc29yLXBvaW50ZXJcbiAgICAgICAgICAgIFwiIFxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3RhdGUoKVwiIFxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzQ29sbGFwc2VkKCkgPyB0ZXh0T3BlbigpIDogdGV4dENsb3NlKClcIlxuICAgICAgICBbdGl0bGVdPVwiaXNDb2xsYXBzZWQoKSA/IHRleHRPcGVuKCkgOiB0ZXh0Q2xvc2UoKVwiIFxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmEtaWNvbiBcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpc0NvbGxhcHNlZCgpID8gSUNPTl9PUEVOIDogSUNPTl9DTE9TRVwiIFxuICAgICAgICAgICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZmEtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICBcbjwvZGl2PlxuIl19
|
|
@@ -190,7 +190,7 @@ export class SdsSegmentedControlComponent {
|
|
|
190
190
|
useExisting: SdsSegmentedControlComponent,
|
|
191
191
|
multi: true,
|
|
192
192
|
},
|
|
193
|
-
], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, isSignal: true }, { propertyName: "clipPathContainerRef", first: true, predicate: ["clipPathContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #containerRef\n class=\"sds-segmented-control-container\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel() || 'Segmented control'\"\n [ngClass]=\"{\n 'disabled': disabled,\n 'sds-segmented-control-primary': style == 'primary',\n 'sds-segmented-control-inverted': style == 'inverted',\n 'clip-path-enabled': enableAnimation\n }\">\n\n <div *ngFor=\"let item of items; let index = index; let last = last;\"\n class=\"segment\"\n id=\"{{idExpr ? item[idExpr]: ''}}\"\n role=\"button\"\n [tabindex]=\"item[valueExpr] === value ? 0 : -1\"\n [attr.aria-label]=\"getSegmentAriaLabel(item, index)\"\n [attr.aria-pressed]=\"item[valueExpr] === value\"\n [class.selected]=\"item[valueExpr] == value\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [title]=\"tooltipExpr && item[tooltipExpr] ? item[tooltipExpr] : ''\"\n (click)=\"selectItem(item, $event)\"\n (keydown)=\"onSegmentKeydown($event, item)\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n\n <div *ngIf=\"enableAnimation\"\n class=\"sds-clip-path-overlay\"\n #clipPathContainer\n aria-hidden=\"true\">\n <div *ngFor=\"let item of items; let last = last;\"\n class=\"segment segment-overlay\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [tabIndex]=\"-1\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sds-segmented-control-container .segment.tight-padding{padding-left:.5rem;padding-right:.5rem}.sds-segmented-control-container{display:inline-block;padding:max(.125rem,2px);border-style:solid;border-width:1px;border-radius:6px;border-color:#ced4da;background-color:#fff;font-size:.9rem;position:relative;white-space:nowrap;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container:has(:focus-visible){box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bs-primary)}.sds-segmented-control-container .disabled{pointer-events:none;opacity:.5;background:#ced4da}.sds-segmented-control-container .segment{display:inline-block;border-radius:4px;color:#343434;cursor:pointer;color:#000;font-weight:500;margin-left:auto;margin-right:auto;padding:.25rem 1rem;-webkit-user-select:none;user-select:none;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container .segment.selected{background-color:var(--bs-gray-300)}.sds-segmented-control-container .segment.selected .separator{border-color:transparent}.sds-segmented-control-container .segment:hover:not(.selected){background-color:transparent}.sds-segmented-control-container .segment:focus-visible{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--bs-primary);border-radius:4px}.sds-segmented-control-container.disabled{pointer-events:none;opacity:.5;cursor:default}.sds-segmented-control-container.sds-segmented-control-primary .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-container.sds-segmented-control-primary .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-primary),inset 0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-primary:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-primary),0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-inverted{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-container.sds-segmented-control-inverted .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-container.sds-segmented-control-inverted .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-gray-300),inset 0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-inverted:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-gray-300),0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.clip-path-enabled .segment.selected{background-color:initial;color:initial}.sds-segmented-control-container .sds-clip-path-overlay{position:absolute;top:max(.125rem,2px);left:max(.125rem,2px);right:max(.125rem,2px);bottom:max(.125rem,2px);display:flex;z-index:1;overflow:hidden;transition:clip-path .25s ease;pointer-events:none;border-radius:4px;background-color:var(--bs-gray-300)}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000;font-weight:500;background:transparent}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay:hover{background:transparent}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay .segment-overlay{color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-light .sds-segmented-control-container{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-light .sds-segmented-control-container .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-primary .sds-segmented-control-container .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#fff}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
193
|
+
], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, isSignal: true }, { propertyName: "clipPathContainerRef", first: true, predicate: ["clipPathContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #containerRef\n class=\"sds-segmented-control-container\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel() || 'Segmented control'\"\n [ngClass]=\"{\n 'disabled': disabled,\n 'sds-segmented-control-primary': style == 'primary',\n 'sds-segmented-control-inverted': style == 'inverted',\n 'clip-path-enabled': enableAnimation\n }\">\n\n <div *ngFor=\"let item of items; let index = index; let last = last;\"\n class=\"segment\"\n id=\"{{idExpr ? item[idExpr]: ''}}\"\n role=\"button\"\n [tabindex]=\"item[valueExpr] === value ? 0 : -1\"\n [attr.aria-label]=\"getSegmentAriaLabel(item, index)\"\n [attr.aria-pressed]=\"item[valueExpr] === value\"\n [class.selected]=\"item[valueExpr] == value\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [title]=\"tooltipExpr && item[tooltipExpr] ? item[tooltipExpr] : ''\"\n (click)=\"selectItem(item, $event)\"\n (keydown)=\"onSegmentKeydown($event, item)\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n\n <div *ngIf=\"enableAnimation\"\n class=\"sds-clip-path-overlay\"\n #clipPathContainer\n aria-hidden=\"true\">\n <div *ngFor=\"let item of items; let last = last;\"\n class=\"segment segment-overlay\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [tabIndex]=\"-1\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sds-segmented-control-container .segment.tight-padding{padding-left:.5rem;padding-right:.5rem}.sds-segmented-control-container{display:inline-block;padding:max(.125rem,2px);border-style:solid;border-width:1px;border-radius:6px;border-color:#ced4da;background-color:#fff;font-size:.9rem;position:relative;white-space:nowrap;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container:has(:focus-visible){box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bs-primary)}.sds-segmented-control-container .disabled{pointer-events:none;opacity:.5;background:#ced4da}.sds-segmented-control-container .segment{display:inline-block;border-radius:4px;color:#343434;cursor:pointer;color:#000;font-weight:500;margin-left:auto;margin-right:auto;padding:.25rem 1rem;-webkit-user-select:none;user-select:none;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container .segment .sds-flex-row-center{display:inline-flex}.sds-segmented-control-container .segment.selected{background-color:var(--bs-gray-300)}.sds-segmented-control-container .segment.selected .separator{border-color:transparent}.sds-segmented-control-container .segment:hover:not(.selected){background-color:transparent}.sds-segmented-control-container .segment:focus-visible{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--bs-primary);border-radius:4px}.sds-segmented-control-container.disabled{pointer-events:none;opacity:.5;cursor:default}.sds-segmented-control-container.sds-segmented-control-primary .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-container.sds-segmented-control-primary .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-primary),inset 0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-primary:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-primary),0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-inverted{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-container.sds-segmented-control-inverted .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-container.sds-segmented-control-inverted .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-gray-300),inset 0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-inverted:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-gray-300),0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.clip-path-enabled .segment.selected{background-color:initial;color:initial}.sds-segmented-control-container .sds-clip-path-overlay{position:absolute;top:max(.125rem,2px);left:max(.125rem,2px);right:max(.125rem,2px);bottom:max(.125rem,2px);display:flex;z-index:1;overflow:hidden;transition:clip-path .25s ease;pointer-events:none;border-radius:4px;background-color:var(--bs-gray-300)}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000;font-weight:500;background:transparent}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay:hover{background:transparent}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay .segment-overlay{color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-light .sds-segmented-control-container{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-light .sds-segmented-control-container .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-primary .sds-segmented-control-container .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#fff}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
194
194
|
}
|
|
195
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsSegmentedControlComponent, decorators: [{
|
|
196
196
|
type: Component,
|
|
@@ -205,7 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
205
205
|
useExisting: SdsSegmentedControlComponent,
|
|
206
206
|
multi: true,
|
|
207
207
|
},
|
|
208
|
-
], template: "<div\n #containerRef\n class=\"sds-segmented-control-container\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel() || 'Segmented control'\"\n [ngClass]=\"{\n 'disabled': disabled,\n 'sds-segmented-control-primary': style == 'primary',\n 'sds-segmented-control-inverted': style == 'inverted',\n 'clip-path-enabled': enableAnimation\n }\">\n\n <div *ngFor=\"let item of items; let index = index; let last = last;\"\n class=\"segment\"\n id=\"{{idExpr ? item[idExpr]: ''}}\"\n role=\"button\"\n [tabindex]=\"item[valueExpr] === value ? 0 : -1\"\n [attr.aria-label]=\"getSegmentAriaLabel(item, index)\"\n [attr.aria-pressed]=\"item[valueExpr] === value\"\n [class.selected]=\"item[valueExpr] == value\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [title]=\"tooltipExpr && item[tooltipExpr] ? item[tooltipExpr] : ''\"\n (click)=\"selectItem(item, $event)\"\n (keydown)=\"onSegmentKeydown($event, item)\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n\n <div *ngIf=\"enableAnimation\"\n class=\"sds-clip-path-overlay\"\n #clipPathContainer\n aria-hidden=\"true\">\n <div *ngFor=\"let item of items; let last = last;\"\n class=\"segment segment-overlay\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [tabIndex]=\"-1\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sds-segmented-control-container .segment.tight-padding{padding-left:.5rem;padding-right:.5rem}.sds-segmented-control-container{display:inline-block;padding:max(.125rem,2px);border-style:solid;border-width:1px;border-radius:6px;border-color:#ced4da;background-color:#fff;font-size:.9rem;position:relative;white-space:nowrap;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container:has(:focus-visible){box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bs-primary)}.sds-segmented-control-container .disabled{pointer-events:none;opacity:.5;background:#ced4da}.sds-segmented-control-container .segment{display:inline-block;border-radius:4px;color:#343434;cursor:pointer;color:#000;font-weight:500;margin-left:auto;margin-right:auto;padding:.25rem 1rem;-webkit-user-select:none;user-select:none;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container .segment.selected{background-color:var(--bs-gray-300)}.sds-segmented-control-container .segment.selected .separator{border-color:transparent}.sds-segmented-control-container .segment:hover:not(.selected){background-color:transparent}.sds-segmented-control-container .segment:focus-visible{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--bs-primary);border-radius:4px}.sds-segmented-control-container.disabled{pointer-events:none;opacity:.5;cursor:default}.sds-segmented-control-container.sds-segmented-control-primary .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-container.sds-segmented-control-primary .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-primary),inset 0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-primary:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-primary),0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-inverted{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-container.sds-segmented-control-inverted .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-container.sds-segmented-control-inverted .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-gray-300),inset 0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-inverted:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-gray-300),0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.clip-path-enabled .segment.selected{background-color:initial;color:initial}.sds-segmented-control-container .sds-clip-path-overlay{position:absolute;top:max(.125rem,2px);left:max(.125rem,2px);right:max(.125rem,2px);bottom:max(.125rem,2px);display:flex;z-index:1;overflow:hidden;transition:clip-path .25s ease;pointer-events:none;border-radius:4px;background-color:var(--bs-gray-300)}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000;font-weight:500;background:transparent}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay:hover{background:transparent}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay .segment-overlay{color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-light .sds-segmented-control-container{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-light .sds-segmented-control-container .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-primary .sds-segmented-control-container .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#fff}\n"] }]
|
|
208
|
+
], template: "<div\n #containerRef\n class=\"sds-segmented-control-container\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel() || 'Segmented control'\"\n [ngClass]=\"{\n 'disabled': disabled,\n 'sds-segmented-control-primary': style == 'primary',\n 'sds-segmented-control-inverted': style == 'inverted',\n 'clip-path-enabled': enableAnimation\n }\">\n\n <div *ngFor=\"let item of items; let index = index; let last = last;\"\n class=\"segment\"\n id=\"{{idExpr ? item[idExpr]: ''}}\"\n role=\"button\"\n [tabindex]=\"item[valueExpr] === value ? 0 : -1\"\n [attr.aria-label]=\"getSegmentAriaLabel(item, index)\"\n [attr.aria-pressed]=\"item[valueExpr] === value\"\n [class.selected]=\"item[valueExpr] == value\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [title]=\"tooltipExpr && item[tooltipExpr] ? item[tooltipExpr] : ''\"\n (click)=\"selectItem(item, $event)\"\n (keydown)=\"onSegmentKeydown($event, item)\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n\n <div *ngIf=\"enableAnimation\"\n class=\"sds-clip-path-overlay\"\n #clipPathContainer\n aria-hidden=\"true\">\n <div *ngFor=\"let item of items; let last = last;\"\n class=\"segment segment-overlay\"\n [class.tight-padding]=\"segmentPadding == 'tight'\"\n [tabIndex]=\"-1\">\n\n <div class=\"sds-flex-row-center gap-2\">\n <fa-icon *ngIf=\"iconExpr && item[iconExpr]\" [icon]=\"item[iconExpr]\" [fixedWidth]=\"true\"></fa-icon>\n <span *ngIf=\"displayExpr\">{{item[displayExpr]}}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sds-segmented-control-container .segment.tight-padding{padding-left:.5rem;padding-right:.5rem}.sds-segmented-control-container{display:inline-block;padding:max(.125rem,2px);border-style:solid;border-width:1px;border-radius:6px;border-color:#ced4da;background-color:#fff;font-size:.9rem;position:relative;white-space:nowrap;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container:has(:focus-visible){box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bs-primary)}.sds-segmented-control-container .disabled{pointer-events:none;opacity:.5;background:#ced4da}.sds-segmented-control-container .segment{display:inline-block;border-radius:4px;color:#343434;cursor:pointer;color:#000;font-weight:500;margin-left:auto;margin-right:auto;padding:.25rem 1rem;-webkit-user-select:none;user-select:none;outline:none;transition:box-shadow .15s ease}.sds-segmented-control-container .segment .sds-flex-row-center{display:inline-flex}.sds-segmented-control-container .segment.selected{background-color:var(--bs-gray-300)}.sds-segmented-control-container .segment.selected .separator{border-color:transparent}.sds-segmented-control-container .segment:hover:not(.selected){background-color:transparent}.sds-segmented-control-container .segment:focus-visible{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--bs-primary);border-radius:4px}.sds-segmented-control-container.disabled{pointer-events:none;opacity:.5;cursor:default}.sds-segmented-control-container.sds-segmented-control-primary .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-container.sds-segmented-control-primary .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-primary),inset 0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-primary:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-primary),0 0 0 4px #fff}.sds-segmented-control-container.sds-segmented-control-inverted{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-container.sds-segmented-control-inverted .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-container.sds-segmented-control-inverted .segment:focus-visible{box-shadow:inset 0 0 0 2px var(--bs-gray-300),inset 0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-inverted:has(:focus-visible){box-shadow:0 0 0 2px var(--bs-gray-300),0 0 0 4px var(--bs-primary)}.sds-segmented-control-container.clip-path-enabled .segment.selected{background-color:initial;color:initial}.sds-segmented-control-container .sds-clip-path-overlay{position:absolute;top:max(.125rem,2px);left:max(.125rem,2px);right:max(.125rem,2px);bottom:max(.125rem,2px);display:flex;z-index:1;overflow:hidden;transition:clip-path .25s ease;pointer-events:none;border-radius:4px;background-color:var(--bs-gray-300)}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000;font-weight:500;background:transparent}.sds-segmented-control-container .sds-clip-path-overlay .segment-overlay:hover{background:transparent}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-container.sds-segmented-control-primary .sds-clip-path-overlay .segment-overlay{color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-container.sds-segmented-control-inverted .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-light .sds-segmented-control-container{background-color:var(--bs-gray-300);border-color:var(--bs-gray-300);border-width:0}.sds-segmented-control-light .sds-segmented-control-container .segment.selected{background-color:#fff;color:#000}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay{background-color:#fff}.sds-segmented-control-light .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#000}.sds-segmented-control-primary .sds-segmented-control-container .segment.selected{background-color:var(--bs-primary);color:#fff}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay{background-color:var(--bs-primary)}.sds-segmented-control-primary .sds-segmented-control-container .sds-clip-path-overlay .segment-overlay{color:#fff}\n"] }]
|
|
209
209
|
}], propDecorators: { items: [{
|
|
210
210
|
type: Input
|
|
211
211
|
}], value: [{
|
|
@@ -236,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
236
236
|
type: ViewChild,
|
|
237
237
|
args: ['clipPathContainer']
|
|
238
238
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBc0J2RCxNQUFNLE9BQU8sNEJBQTRCO0lBcEJ6QztRQXVCSSx1QkFBdUI7UUFDZixTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU01QixjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLGdCQUFXLEdBQXVCLE1BQU0sQ0FBQztRQUl6QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBdUMsU0FBUyxDQUFDO1FBQ3RELG1CQUFjLEdBQXNCLE9BQU8sQ0FBQztRQUM1QyxvQkFBZSxH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b3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkcy1zZWdtZW50ZWQtY29udHJvbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdJZixcbiAgICAgICAgRmFJY29uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNkc1NlZ21lbnRlZENvbnRyb2xDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZHNTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuXG4gICAgLy8gI3JlZ2lvbiBEZXBlbmRlbmNpZXNcbiAgICBwcml2YXRlIF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAvLyAjZW5kcmVnaW9uIERlcGVuZGVuY2llc1xuXG4gICAgLy8gI3JlZ2lvbiBJbnB1dHNcbiAgICBASW5wdXQoKSBpdGVtczogYW55W10gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSB2YWx1ZUV4cHIgPSAndmFsdWUnO1xuICAgIEBJbnB1dCgpIGRpc3BsYXlFeHByOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAndGV4dCc7XG4gICAgQElucHV0KCkgaWNvbkV4cHI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSB0b29sdGlwRXhwcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGlkRXhwcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc3R5bGU6ICdkZWZhdWx0JyB8ICdwcmltYXJ5JyB8ICdpbnZlcnRlZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc2VnbWVudFBhZGRpbmc6ICd0aWdodCcgfCAnbG9vc2UnID0gJ2xvb3NlJztcbiAgICBASW5wdXQoKSBlbmFibGVBbmltYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgLy8gI2VuZHJlZ2lvbiBJbnB1dHNcblxuICAgIC8vICNyZWdpb24gT3V0cHV0c1xuICAgIEBPdXRwdXQoKSBpdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vICNlbmRyZWdpb24gT3V0cHV0c1xuXG4gICAgLy8gI3JlZ2lvbiBET00gcmVmZXJlbmNlc1xuICAgIEBWaWV3Q2hpbGQoJ2NsaXBQYXRoQ29udGFpbmVyJykgY2xpcFBhdGhDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBwcm90ZWN0ZWQgY29udGFpbmVyUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignY29udGFpbmVyUmVmJyk7XG4gICAgLy8gI2VuZHJlZ2lvbiBET00gcmVmZXJlbmNlc1xuXG4gICAgLy8gI3JlZ2lvbiBDb250cm9sVmFsdWVBY2Nlc3NvciBwcml2YXRlIHN0YXRlXG4gICAgcHJpdmF0ZSBfbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICAvLyAjZW5kcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHByaXZhdGUgc3RhdGVcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogRG9uJ3QgaW5qZWN0IG5nQ29udHJvbCBhdCB0aGUgY29uc3RydWN0b3IsIGJlY2F1c2UgaXQgY2F1c2VzIEN5Y2xpYyBEZXBlbmRlbmN5LlxuICAgICAgICAgKiBXZSBjYW4gaW5qZWN0IGl0IHZpYSBJbmplY3RvciB0byBhdm9pZCB0aGUgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9uZ0NvbnRyb2wgPSB0aGlzLl9pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcblxuICAgICAgICBpZiAodGhpcy5fbmdDb250cm9sICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGlwUGF0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoKGNoYW5nZXNbJ3ZhbHVlJ10gfHwgY2hhbmdlc1snZW5hYmxlQ2xpcFBhdGhBbmltYXRpb24nXSkgJiYgdGhpcy5lbmFibGVBbmltYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFVzZSBhIGxvbmdlciB0aW1lb3V0IHRvIGVuc3VyZSB0aGUgRE9NIGlzIHVwZGF0ZWRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVDbGlwUGF0aCgpLCA1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgLy8gI2VuZHJlZ2lvbiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvblxuXG4gICAgcHVibGljIHNlbGVjdEl0ZW0oaXRlbTogYW55LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBpdGVtW3RoaXMudmFsdWVFeHByXTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNoYW5nZS5lbWl0KGl0ZW0pO1xuXG4gICAgICAgICAgICAvLyBOb3RpZnkgZm9ybSBjb250cm9sIGlmIGluIGZvcm0gY29udGV4dFxuICAgICAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5lbmFibGVBbmltYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xpcFBhdGgoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNlZ21lbnRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4KGl0ZW0pO1xuICAgICAgICBsZXQgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA+IDAgPyBjdXJyZW50SW5kZXggLSAxIDogKHRoaXMuaXRlbXM/Lmxlbmd0aCA/PyAxKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA8ICh0aGlzLml0ZW1zPy5sZW5ndGggPz8gMSkgLSAxID8gY3VycmVudEluZGV4ICsgMSA6IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFbmQnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbmV4dEluZGV4ID0gKHRoaXMuaXRlbXM/Lmxlbmd0aCA/PyAxKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV4dEluZGV4ICE9PSBudWxsICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0l0ZW0obmV4dEluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWdtZW50QXJpYUxhYmVsKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAvLyBPbmx5IHNldCBhbiBleHBsaWNpdCBhcmlhLWxhYmVsIHdoZW4gdmlzaWJsZSB0ZXh0IGlzIGludGVudGlvbmFsbHkgb21pdHRlZC5cbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheUV4cHIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcEV4cHIgJiYgaXRlbT8uW3RoaXMudG9vbHRpcEV4cHJdKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGl0ZW1bdGhpcy50b29sdGlwRXhwcl0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0/Llt0aGlzLnZhbHVlRXhwcl0gIT09IHVuZGVmaW5lZCAmJiBpdGVtPy5bdGhpcy52YWx1ZUV4cHJdICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGl0ZW1bdGhpcy52YWx1ZUV4cHJdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgU2VnbWVudCBvcHRpb24gJHtpbmRleCArIDF9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEl0ZW1JbmRleChpdGVtOiBhbnkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcz8uaW5kZXhPZihpdGVtKSA/PyAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5hdmlnYXRlVG9JdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLml0ZW1zIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbVt0aGlzLnZhbHVlRXhwcl07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgLy8gTm90aWZ5IGZvcm0gY29udHJvbCBpZiBpbiBmb3JtIGNvbnRleHRcbiAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xpcFBhdGgoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHRoZSBzZWdtZW50IGVsZW1lbnQgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICB0aGlzLmZvY3VzU2VnbWVudEVsZW1lbnQoaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNTZWdtZW50RWxlbWVudChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHRvIGVuc3VyZSBET00gaXMgdXBkYXRlZCBiZWZvcmUgZm9jdXNpbmdcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50RWxlbWVudHMgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWdtZW50Om5vdCguc2VnbWVudC1vdmVybGF5KScpO1xuICAgICAgICAgICAgaWYgKHNlZ21lbnRFbGVtZW50cyAmJiBzZWdtZW50RWxlbWVudHNbaW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgKHNlZ21lbnRFbGVtZW50c1tpbmRleF0gYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xpcFBhdGgoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jbGlwUGF0aENvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVNlZ21lbnQgPSBjb250YWluZXIucGFyZW50RWxlbWVudD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICBgLnNlZ21lbnQuc2VsZWN0ZWQ6bm90KC5zZWdtZW50LW92ZXJsYXkpYFxuICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGFjdGl2ZVNlZ21lbnQgJiYgY29udGFpbmVyLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gY29udGFpbmVyLnBhcmVudEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0xlZnQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0TGVmdCA9IGFjdGl2ZVNlZ21lbnQub2Zmc2V0TGVmdCAtIHBhZGRpbmdMZWZ0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFdpZHRoID0gYWN0aXZlU2VnbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5V2lkdGggPSBjb250YWluZXIub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSBpZiB3ZSBoYXZlIHZhbGlkIGRpbWVuc2lvbnNcbiAgICAgICAgICAgICAgICBpZiAob2Zmc2V0V2lkdGggPT09IDAgfHwgb3ZlcmxheVdpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJldHJ5IGFmdGVyIGEgc2hvcnQgZGVsYXkgaWYgZWxlbWVudHMgYXJlbid0IHJlbmRlcmVkIHlldFxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQ2xpcFBhdGgoKSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNsaXBMZWZ0ID0gb2Zmc2V0TGVmdDtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwUmlnaHQgPSBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwTGVmdFBlcmNlbnQgPSAoKGNsaXBMZWZ0IC8gb3ZlcmxheVdpZHRoKSAqIDEwMCkudG9GaXhlZCgyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwUmlnaHRQZXJjZW50ID0gKDEwMCAtIChjbGlwUmlnaHQgLyBvdmVybGF5V2lkdGgpICogMTAwKS50b0ZpeGVkKDIpO1xuXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmNsaXBQYXRoID0gYGluc2V0KDAgJHtjbGlwUmlnaHRQZXJjZW50fSUgMCAke2NsaXBMZWZ0UGVyY2VudH0lIHJvdW5kIDRweClgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclJlZlxuICAgIGNsYXNzPVwic2RzLXNlZ21lbnRlZC1jb250cm9sLWNvbnRhaW5lclwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpIHx8ICdTZWdtZW50ZWQgY29udHJvbCdcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgICAgICdzZHMtc2VnbWVudGVkLWNvbnRyb2wtcHJpbWFyeSc6IHN0eWxlID09ICdwcmltYXJ5JyxcbiAgICAgICAgJ3Nkcy1zZWdtZW50ZWQtY29udHJvbC1pbnZlcnRlZCc6IHN0eWxlID09ICdpbnZlcnRlZCcsXG4gICAgICAgICdjbGlwLXBhdGgtZW5hYmxlZCc6IGVuYWJsZUFuaW1hdGlvblxuICAgIH1cIj5cblxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7XCJcbiAgICAgICAgY2xhc3M9XCJzZWdtZW50XCJcbiAgICAgICAgaWQ9XCJ7e2lkRXhwciA/IGl0ZW1baWRFeHByXTogJyd9fVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICBbdGFiaW5kZXhdPVwiaXRlbVt2YWx1ZUV4cHJdID09PSB2YWx1ZSA/IDAgOiAtMVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0U2VnbWVudEFyaWFMYWJlbChpdGVtLCBpbmRleClcIlxuICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaXRlbVt2YWx1ZUV4cHJdID09PSB2YWx1ZVwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpdGVtW3ZhbHVlRXhwcl0gPT0gdmFsdWVcIlxuICAgICAgICBbY2xhc3MudGlnaHQtcGFkZGluZ109XCJzZWdtZW50UGFkZGluZyA9PSAndGlnaHQnXCJcbiAgICAgICAgW3RpdGxlXT1cInRvb2x0aXBFeHByICYmIGl0ZW1bdG9vbHRpcEV4cHJdID8gaXRlbVt0b29sdGlwRXhwcl0gOiAnJ1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvblNlZ21lbnRLZXlkb3duKCRldmVudCwgaXRlbSlcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLWZsZXgtcm93LWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJpY29uRXhwciAmJiBpdGVtW2ljb25FeHByXVwiIFtpY29uXT1cIml0ZW1baWNvbkV4cHJdXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheUV4cHJcIj57e2l0ZW1bZGlzcGxheUV4cHJdfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImVuYWJsZUFuaW1hdGlvblwiXG4gICAgICAgICBjbGFzcz1cInNkcy1jbGlwLXBhdGgtb3ZlcmxheVwiXG4gICAgICAgICAjY2xpcFBhdGhDb250YWluZXJcbiAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgbGFzdCA9IGxhc3Q7XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VnbWVudCBzZWdtZW50LW92ZXJsYXlcIlxuICAgICAgICAgICAgW2NsYXNzLnRpZ2h0LXBhZGRpbmddPVwic2VnbWVudFBhZGRpbmcgPT0gJ3RpZ2h0J1wiXG4gICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1mbGV4LXJvdy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25FeHByICYmIGl0ZW1baWNvbkV4cHJdXCIgW2ljb25dPVwiaXRlbVtpY29uRXhwcl1cIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheUV4cHJcIj57e2l0ZW1bZGlzcGxheUV4cHJdfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBc0J2RCxNQUFNLE9BQU8sNEJBQTRCO0lBcEJ6QztRQXVCSSx1QkFBdUI7UUFDZixTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU01QixjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLGdCQUFXLEdBQXVCLE1BQU0sQ0FBQztRQUl6QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBdUMsU0FBUyxDQUFDO1FBQ3RELG1CQUFjLEdBQXNCLE9BQU8sQ0FBQztRQUM1QyxvQkFBZSxH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b3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkcy1zZWdtZW50ZWQtY29udHJvbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdJZixcbiAgICAgICAgRmFJY29uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNkc1NlZ21lbnRlZENvbnRyb2xDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZHNTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuXG4gICAgLy8gI3JlZ2lvbiBEZXBlbmRlbmNpZXNcbiAgICBwcml2YXRlIF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAvLyAjZW5kcmVnaW9uIERlcGVuZGVuY2llc1xuXG4gICAgLy8gI3JlZ2lvbiBJbnB1dHNcbiAgICBASW5wdXQoKSBpdGVtczogYW55W10gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSB2YWx1ZUV4cHIgPSAndmFsdWUnO1xuICAgIEBJbnB1dCgpIGRpc3BsYXlFeHByOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAndGV4dCc7XG4gICAgQElucHV0KCkgaWNvbkV4cHI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSB0b29sdGlwRXhwcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGlkRXhwcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc3R5bGU6ICdkZWZhdWx0JyB8ICdwcmltYXJ5JyB8ICdpbnZlcnRlZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc2VnbWVudFBhZGRpbmc6ICd0aWdodCcgfCAnbG9vc2UnID0gJ2xvb3NlJztcbiAgICBASW5wdXQoKSBlbmFibGVBbmltYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgLy8gI2VuZHJlZ2lvbiBJbnB1dHNcblxuICAgIC8vICNyZWdpb24gT3V0cHV0c1xuICAgIEBPdXRwdXQoKSBpdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vICNlbmRyZWdpb24gT3V0cHV0c1xuXG4gICAgLy8gI3JlZ2lvbiBET00gcmVmZXJlbmNlc1xuICAgIEBWaWV3Q2hpbGQoJ2NsaXBQYXRoQ29udGFpbmVyJykgY2xpcFBhdGhDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBwcm90ZWN0ZWQgY29udGFpbmVyUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignY29udGFpbmVyUmVmJyk7XG4gICAgLy8gI2VuZHJlZ2lvbiBET00gcmVmZXJlbmNlc1xuXG4gICAgLy8gI3JlZ2lvbiBDb250cm9sVmFsdWVBY2Nlc3NvciBwcml2YXRlIHN0YXRlXG4gICAgcHJpdmF0ZSBfbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICAvLyAjZW5kcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHByaXZhdGUgc3RhdGVcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogRG9uJ3QgaW5qZWN0IG5nQ29udHJvbCBhdCB0aGUgY29uc3RydWN0b3IsIGJlY2F1c2UgaXQgY2F1c2VzIEN5Y2xpYyBEZXBlbmRlbmN5LlxuICAgICAgICAgKiBXZSBjYW4gaW5qZWN0IGl0IHZpYSBJbmplY3RvciB0byBhdm9pZCB0aGUgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9uZ0NvbnRyb2wgPSB0aGlzLl9pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcblxuICAgICAgICBpZiAodGhpcy5fbmdDb250cm9sICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGlwUGF0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoKGNoYW5nZXNbJ3ZhbHVlJ10gfHwgY2hhbmdlc1snZW5hYmxlQ2xpcFBhdGhBbmltYXRpb24nXSkgJiYgdGhpcy5lbmFibGVBbmltYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFVzZSBhIGxvbmdlciB0aW1lb3V0IHRvIGVuc3VyZSB0aGUgRE9NIGlzIHVwZGF0ZWRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVDbGlwUGF0aCgpLCA1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgLy8gI2VuZHJlZ2lvbiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvblxuXG4gICAgcHVibGljIHNlbGVjdEl0ZW0oaXRlbTogYW55LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBpdGVtW3RoaXMudmFsdWVFeHByXTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNoYW5nZS5lbWl0KGl0ZW0pO1xuXG4gICAgICAgICAgICAvLyBOb3RpZnkgZm9ybSBjb250cm9sIGlmIGluIGZvcm0gY29udGV4dFxuICAgICAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5lbmFibGVBbmltYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xpcFBhdGgoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNlZ21lbnRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4KGl0ZW0pO1xuICAgICAgICBsZXQgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA+IDAgPyBjdXJyZW50SW5kZXggLSAxIDogKHRoaXMuaXRlbXM/Lmxlbmd0aCA/PyAxKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA8ICh0aGlzLml0ZW1zPy5sZW5ndGggPz8gMSkgLSAxID8gY3VycmVudEluZGV4ICsgMSA6IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFbmQnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbmV4dEluZGV4ID0gKHRoaXMuaXRlbXM/Lmxlbmd0aCA/PyAxKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV4dEluZGV4ICE9PSBudWxsICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0l0ZW0obmV4dEluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWdtZW50QXJpYUxhYmVsKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAvLyBPbmx5IHNldCBhbiBleHBsaWNpdCBhcmlhLWxhYmVsIHdoZW4gdmlzaWJsZSB0ZXh0IGlzIGludGVudGlvbmFsbHkgb21pdHRlZC5cbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheUV4cHIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcEV4cHIgJiYgaXRlbT8uW3RoaXMudG9vbHRpcEV4cHJdKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGl0ZW1bdGhpcy50b29sdGlwRXhwcl0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0/Llt0aGlzLnZhbHVlRXhwcl0gIT09IHVuZGVmaW5lZCAmJiBpdGVtPy5bdGhpcy52YWx1ZUV4cHJdICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGl0ZW1bdGhpcy52YWx1ZUV4cHJdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgU2VnbWVudCBvcHRpb24gJHtpbmRleCArIDF9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEl0ZW1JbmRleChpdGVtOiBhbnkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcz8uaW5kZXhPZihpdGVtKSA/PyAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5hdmlnYXRlVG9JdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLml0ZW1zIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbVt0aGlzLnZhbHVlRXhwcl07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XG5cbiAgICAgICAgLy8gTm90aWZ5IGZvcm0gY29udHJvbCBpZiBpbiBmb3JtIGNvbnRleHRcbiAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xpcFBhdGgoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHRoZSBzZWdtZW50IGVsZW1lbnQgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICB0aGlzLmZvY3VzU2VnbWVudEVsZW1lbnQoaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNTZWdtZW50RWxlbWVudChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHRvIGVuc3VyZSBET00gaXMgdXBkYXRlZCBiZWZvcmUgZm9jdXNpbmdcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50RWxlbWVudHMgPSB0aGlzLmNvbnRhaW5lclJlZigpPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWdtZW50Om5vdCguc2VnbWVudC1vdmVybGF5KScpO1xuICAgICAgICAgICAgaWYgKHNlZ21lbnRFbGVtZW50cyAmJiBzZWdtZW50RWxlbWVudHNbaW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgKHNlZ21lbnRFbGVtZW50c1tpbmRleF0gYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xpcFBhdGgoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jbGlwUGF0aENvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVNlZ21lbnQgPSBjb250YWluZXIucGFyZW50RWxlbWVudD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICBgLnNlZ21lbnQuc2VsZWN0ZWQ6bm90KC5zZWdtZW50LW92ZXJsYXkpYFxuICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGFjdGl2ZVNlZ21lbnQgJiYgY29udGFpbmVyLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gY29udGFpbmVyLnBhcmVudEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0xlZnQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0TGVmdCA9IGFjdGl2ZVNlZ21lbnQub2Zmc2V0TGVmdCAtIHBhZGRpbmdMZWZ0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFdpZHRoID0gYWN0aXZlU2VnbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5V2lkdGggPSBjb250YWluZXIub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSBpZiB3ZSBoYXZlIHZhbGlkIGRpbWVuc2lvbnNcbiAgICAgICAgICAgICAgICBpZiAob2Zmc2V0V2lkdGggPT09IDAgfHwgb3ZlcmxheVdpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJldHJ5IGFmdGVyIGEgc2hvcnQgZGVsYXkgaWYgZWxlbWVudHMgYXJlbid0IHJlbmRlcmVkIHlldFxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQ2xpcFBhdGgoKSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNsaXBMZWZ0ID0gb2Zmc2V0TGVmdDtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwUmlnaHQgPSBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwTGVmdFBlcmNlbnQgPSAoKGNsaXBMZWZ0IC8gb3ZlcmxheVdpZHRoKSAqIDEwMCkudG9GaXhlZCgyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwUmlnaHRQZXJjZW50ID0gKDEwMCAtIChjbGlwUmlnaHQgLyBvdmVybGF5V2lkdGgpICogMTAwKS50b0ZpeGVkKDIpO1xuXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmNsaXBQYXRoID0gYGluc2V0KDAgJHtjbGlwUmlnaHRQZXJjZW50fSUgMCAke2NsaXBMZWZ0UGVyY2VudH0lIHJvdW5kIDRweClgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclJlZlxuICAgIGNsYXNzPVwic2RzLXNlZ21lbnRlZC1jb250cm9sLWNvbnRhaW5lclwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpIHx8ICdTZWdtZW50ZWQgY29udHJvbCdcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgICAgICdzZHMtc2VnbWVudGVkLWNvbnRyb2wtcHJpbWFyeSc6IHN0eWxlID09ICdwcmltYXJ5JyxcbiAgICAgICAgJ3Nkcy1zZWdtZW50ZWQtY29udHJvbC1pbnZlcnRlZCc6IHN0eWxlID09ICdpbnZlcnRlZCcsXG4gICAgICAgICdjbGlwLXBhdGgtZW5hYmxlZCc6IGVuYWJsZUFuaW1hdGlvblxuICAgIH1cIj5cblxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7XCJcbiAgICAgICAgY2xhc3M9XCJzZWdtZW50XCJcbiAgICAgICAgaWQ9XCJ7e2lkRXhwciA/IGl0ZW1baWRFeHByXTogJyd9fVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICBbdGFiaW5kZXhdPVwiaXRlbVt2YWx1ZUV4cHJdID09PSB2YWx1ZSA/IDAgOiAtMVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0U2VnbWVudEFyaWFMYWJlbChpdGVtLCBpbmRleClcIlxuICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaXRlbVt2YWx1ZUV4cHJdID09PSB2YWx1ZVwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpdGVtW3ZhbHVlRXhwcl0gPT0gdmFsdWVcIlxuICAgICAgICBbY2xhc3MudGlnaHQtcGFkZGluZ109XCJzZWdtZW50UGFkZGluZyA9PSAndGlnaHQnXCJcbiAgICAgICAgW3RpdGxlXT1cInRvb2x0aXBFeHByICYmIGl0ZW1bdG9vbHRpcEV4cHJdID8gaXRlbVt0b29sdGlwRXhwcl0gOiAnJ1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvblNlZ21lbnRLZXlkb3duKCRldmVudCwgaXRlbSlcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLWZsZXgtcm93LWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJpY29uRXhwciAmJiBpdGVtW2ljb25FeHByXVwiIFtpY29uXT1cIml0ZW1baWNvbkV4cHJdXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheUV4cHJcIj57e2l0ZW1bZGlzcGxheUV4cHJdfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImVuYWJsZUFuaW1hdGlvblwiXG4gICAgICAgICBjbGFzcz1cInNkcy1jbGlwLXBhdGgtb3ZlcmxheVwiXG4gICAgICAgICAjY2xpcFBhdGhDb250YWluZXJcbiAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgbGFzdCA9IGxhc3Q7XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VnbWVudCBzZWdtZW50LW92ZXJsYXlcIlxuICAgICAgICAgICAgW2NsYXNzLnRpZ2h0LXBhZGRpbmddPVwic2VnbWVudFBhZGRpbmcgPT0gJ3RpZ2h0J1wiXG4gICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1mbGV4LXJvdy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25FeHByICYmIGl0ZW1baWNvbkV4cHJdXCIgW2ljb25dPVwiaXRlbVtpY29uRXhwcl1cIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheUV4cHJcIj57e2l0ZW1bZGlzcGxheUV4cHJdfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Pipe } from '@angular/core';
|
|
3
|
-
import { isSameDay, isSameYear
|
|
3
|
+
import { isSameDay, isSameYear } from 'date-fns';
|
|
4
4
|
import { formatDateTime } from '@spicainternational/ngx-sds-components/src/lib/utils/date-time';
|
|
5
5
|
import differenceInMinutes from 'date-fns/differenceInMinutes';
|
|
6
6
|
|
|
@@ -249,16 +249,13 @@ class SdsDateTimeRangeFormatPipe {
|
|
|
249
249
|
}
|
|
250
250
|
try {
|
|
251
251
|
const start = new Date(startDate);
|
|
252
|
-
|
|
252
|
+
const end = new Date(endDate);
|
|
253
253
|
if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {
|
|
254
254
|
return '';
|
|
255
255
|
}
|
|
256
256
|
const formatter = new Intl.DateTimeFormat(locales, options);
|
|
257
257
|
const formatterWithRange = formatter;
|
|
258
258
|
if (typeof formatterWithRange.formatRange === 'function') {
|
|
259
|
-
if (startOfDay(addDays(start, 1)).getTime() === end.getTime()) {
|
|
260
|
-
end = addDays(end, -1);
|
|
261
|
-
}
|
|
262
259
|
return formatterWithRange.formatRange(start, end);
|
|
263
260
|
}
|
|
264
261
|
else {
|
|
@@ -276,7 +273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
276
273
|
type: Pipe,
|
|
277
274
|
args: [{
|
|
278
275
|
name: 'sdsDateTimeRangeFormat',
|
|
279
|
-
standalone: true
|
|
276
|
+
standalone: true,
|
|
280
277
|
}]
|
|
281
278
|
}] });
|
|
282
279
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-date-pipes.mjs","sources":["../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-formats.constants.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-period-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-duration.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-compare.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.ts"],"sourcesContent":["/**\n * Common Intl.DateTimeFormatOptions constants for consistent date/time formatting\n */\n\n// Date formats\nexport const DATE_NUMERIC_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric'\n};\n\nexport const DATE_SHORT_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n};\n\nexport const DATE_LONG_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n};\n\nexport const DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n weekday: 'long',\n ...DATE_LONG_MONTH_OPTIONS,\n};\n\nexport const DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n weekday: 'short',\n ...DATE_LONG_MONTH_OPTIONS,\n};\n\n\n// export const SHORT_DATE_WITH_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'short',\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// // Long date formats\n// export const LONG_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long',\n// year: 'numeric',\n// month: 'long',\n// day: 'numeric'\n// };\n\n\n\n\n\n// Time formats\nexport const TIME_HOUR_NUMERIC_OPTION: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: '2-digit'\n};\n\nexport const TIME_HOUR_2DIGIT_OPTION: Intl.DateTimeFormatOptions = {\n hour: '2-digit',\n minute: '2-digit'\n};\n\nexport const TIME_HOUR_NUMERIC_SECONDS_OPTION: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit'\n};\n\n// export const TIME_24H_OPTIONS: Intl.DateTimeFormatOptions = {\n// hour: '2-digit',\n// minute: '2-digit',\n// hour12: false\n// };\n\n// export const TIME_WITH_SECONDS_OPTIONS: Intl.DateTimeFormatOptions = {\n// hour: '2-digit',\n// minute: '2-digit',\n// second: '2-digit',\n// hour12: false\n// };\n\n// Date and time combinations\n// export const SHORT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const LONG_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long',\n// year: 'numeric',\n// month: 'long',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const COMPACT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: '2-digit',\n// day: '2-digit',\n// hour: '2-digit',\n// minute: '2-digit',\n// hour12: false\n// };\n\n// Time range specific formats (optimized for ranges)\n\n\n// export const TIME_RANGE_WITH_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// month: 'short',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const DATE_RANGE_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// export const DATE_RANGE_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'long'\n// };\n\n// Special formats\n// export const RELATIVE_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'short',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// export const MONTH_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'long'\n// };\n\n// export const WEEKDAY_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long'\n// };\n\n// export const YEAR_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric'\n// };\n\n// Utility object for easy access\nexport const DATE_TIME_FORMAT_OPTIONS = {\n\n DATE_NUMERIC_MONTH: DATE_NUMERIC_MONTH_OPTIONS,\n DATE_SHORT_MONTH: DATE_SHORT_MONTH_OPTIONS,\n DATE_LONG_MONTH: DATE_LONG_MONTH_OPTIONS,\n\n DATE_LONG_MONTH_LONG_WEEKDAY: DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS,\n DATE_LONG_MONTH_SHORT_WEEKDAY: DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS,\n\n TIME_HOUR_NUMERIC: TIME_HOUR_NUMERIC_OPTION,\n TIME_HOUR_2DIGIT: TIME_HOUR_2DIGIT_OPTION,\n TIME_HOUR_NUMERIC_SECONDS: TIME_HOUR_NUMERIC_SECONDS_OPTION,\n\n // SHORT_DATE_WITH_WEEKDAY: SHORT_DATE_WITH_WEEKDAY_OPTIONS,\n \n // Long formats\n// LONG_DATE_WITH_WEEKDAY: LONG_DATE_WITH_WEEKDAY_OPTIONS,\n\n // Time formats\n// TIME_12H: TIME_12H_OPTIONS,\n// TIME_24H: TIME_24H_OPTIONS,\n// TIME_WITH_SECONDS: TIME_WITH_SECONDS_OPTIONS,\n \n // DateTime combinations\n// SHORT_DATETIME: SHORT_DATETIME_OPTIONS,\n// LONG_DATETIME: LONG_DATETIME_OPTIONS,\n// COMPACT_DATETIME: COMPACT_DATETIME_OPTIONS,\n \n // Range specific\n \n// TIME_RANGE_WITH_DATE: TIME_RANGE_WITH_DATE_OPTIONS,\n// DATE_RANGE_MONTH: DATE_RANGE_MONTH_OPTIONS,\n// DATE_RANGE_YEAR: DATE_RANGE_YEAR_OPTIONS,\n \n // Special\n// RELATIVE_DATE: RELATIVE_DATE_OPTIONS,\n// MONTH_YEAR: MONTH_YEAR_OPTIONS,\n// WEEKDAY_ONLY: WEEKDAY_ONLY_OPTIONS,\n// YEAR_ONLY: YEAR_ONLY_OPTIONS\n} as const;\nexport type DateTimeFormatOptionKeys = keyof typeof DATE_TIME_FORMAT_OPTIONS;\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isSameDay, isSameYear } from 'date-fns';\n\n/**\n * @deprecated This pipe is deprecated and will be removed in a future release. \n * Use sdsDateTimeRangeFormat pipe instead.\n */\n@Pipe({\n name: 'sdsDatePeriodFormat',\n standalone: true,\n})\nexport class SdsDatePeriodFormatPipe implements PipeTransform {\n transform(\n from: Date,\n to: Date,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions,\n omitRedundantSegments: boolean = false,\n periodSeparator: string = '-',\n omitCurrentYear: boolean = false\n ): string {\n if (!from) {\n return '';\n }\n\n if (!to) {\n return from.toLocaleDateString(locales, options);\n }\n\n\n if (isSameDay(from, to)) {\n return from.toLocaleDateString(locales, options);\n } else {\n let fromOptions = {...options};\n let toOptions = {...options};\n\n if (omitRedundantSegments && fromOptions && toOptions) {\n\n // if both dates are in current year -> remove it from format\n const now = new Date();\n if (omitCurrentYear && isSameYear(from, now) && isSameYear(to, now)) {\n fromOptions.year = undefined;\n toOptions.year = undefined;\n } \n\n if (isSameYear(from, to)) {\n // if both dates have same year -> remove it from start data\n fromOptions.year = undefined;\n }\n }\n\n const fromString = from.toLocaleDateString(locales, fromOptions);\n const toString = to.toLocaleDateString(locales, toOptions);\n\n return `${fromString} ${periodSeparator} ${toString}`;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IntlDateTimeFormatOptionPresetType } from '@spicainternational/ngx-sds-components/src/lib/utils/date-time';\nimport { formatDateTime } from '@spicainternational/ngx-sds-components/src/lib/utils/date-time';\n// import { IntlDateTimeFormatOptionPresetType } from '../utils/date-time/intl-date-time-format-options-presets';\n// import { formatDateTime } from '../utils/date-time/date-time-format.function';\n\n\n\n@Pipe({\n name: 'sdsDateFormat',\n standalone: true,\n})\nexport class SdsDateFormatPipe implements PipeTransform {\n\n /**\n * Formats date in given locale.\n *\n * @param date Date to be formatted.\n * @param locale A locale code for the locale format rules to use.\n * @param options An optional Intl.DateTimeFormatOptions parameter that can be used to fine-tune the output.\n * @returns A string with formatted date\n * @see [Intl docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\n *\n * @publicApi\n */\n public transform(\n date: Date | number | string | undefined,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\n ): string {\n return formatDateTime(date, locales, options);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { addDays, startOfDay } from 'date-fns';\n\n@Pipe({\n name: 'sdsDateTimeRangeFormat',\n standalone: true\n})\nexport class SdsDateTimeRangeFormatPipe implements PipeTransform {\n /**\n * Formats a date range using Intl.DateTimeFormat.formatRange\n * @param startDate - The start date of the range\n * @param endDate - The end date of the range\n * @param locales - Locale(s) to use for formatting (optional, defaults to browser locale)\n * @param options - Intl.DateTimeFormatOptions for customizing the format\n * @returns Formatted date range string\n */\n transform(\n startDate: Date | string | number,\n endDate: Date | string | number,\n locales: string | string[],\n options: Intl.DateTimeFormatOptions\n ): string {\n if (!startDate || !endDate) {\n return '';\n }\n\n try {\n const start = new Date(startDate);\n let end = new Date(endDate);\n\n if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {\n return '';\n }\n\n const formatter = new Intl.DateTimeFormat(locales, options);\n const formatterWithRange = formatter as any;\n\n if (typeof formatterWithRange.formatRange === 'function') {\n\n if (startOfDay(addDays(start, 1)).getTime() === end.getTime()) {\n end = addDays(end, -1);\n }\n\n return formatterWithRange.formatRange(start, end);\n } else {\n return `${formatter.format(start)} - ${formatter.format(end)}`;\n }\n } catch (error) {\n return '';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport differenceInMinutes from 'date-fns/differenceInMinutes';\n\n@Pipe({\n name: 'sdsDateTimeRangeDuration',\n standalone: true\n})\nexport class SdsDateTimeRangeDurationPipe implements PipeTransform {\n transform(\n startDate: Date | string | number,\n endDate: Date | string | number,\n //locales: string | string[],\n \n ): string {\n\n if (!startDate || !endDate) {\n return '';\n }\n\n try {\n const start = new Date(startDate);\n const end = new Date(endDate); \n \n // not yet supported in all browsers\n // const formatter = new Intl.DurationFormat(locales, options);\n\n const totalMinutes = differenceInMinutes(end, start);\n const hours = Math.floor(totalMinutes / 60);\n const minutes = totalMinutes % 60;\n\n return `${hours}:${minutes.toString().padStart(2, '0')}`;\n } catch (error) {\n return '';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sdsDateCompare',\n standalone: true\n})\nexport class SdsDateComparePipe implements PipeTransform {\n transform(\n date1: Date | string | number,\n date2: Date | string | number,\n operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte'\n ): boolean {\n const d1 = new Date(date1);\n const d2 = new Date(date2);\n\n switch (operator) {\n case 'gt':\n return d1 > d2;\n case 'lt':\n return d1 < d2;\n case 'eq':\n return d1.getTime() === d2.getTime();\n case 'gte':\n return d1 >= d2;\n case 'lte':\n return d1 <= d2;\n default:\n return false;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-date-pipes.mjs","sources":["../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-formats.constants.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-period-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-duration.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-compare.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.ts"],"sourcesContent":["/**\n * Common Intl.DateTimeFormatOptions constants for consistent date/time formatting\n */\n\n// Date formats\nexport const DATE_NUMERIC_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric'\n};\n\nexport const DATE_SHORT_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n};\n\nexport const DATE_LONG_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n};\n\nexport const DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n weekday: 'long',\n ...DATE_LONG_MONTH_OPTIONS,\n};\n\nexport const DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n weekday: 'short',\n ...DATE_LONG_MONTH_OPTIONS,\n};\n\n\n// export const SHORT_DATE_WITH_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'short',\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// // Long date formats\n// export const LONG_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long',\n// year: 'numeric',\n// month: 'long',\n// day: 'numeric'\n// };\n\n\n\n\n\n// Time formats\nexport const TIME_HOUR_NUMERIC_OPTION: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: '2-digit'\n};\n\nexport const TIME_HOUR_2DIGIT_OPTION: Intl.DateTimeFormatOptions = {\n hour: '2-digit',\n minute: '2-digit'\n};\n\nexport const TIME_HOUR_NUMERIC_SECONDS_OPTION: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit'\n};\n\n// export const TIME_24H_OPTIONS: Intl.DateTimeFormatOptions = {\n// hour: '2-digit',\n// minute: '2-digit',\n// hour12: false\n// };\n\n// export const TIME_WITH_SECONDS_OPTIONS: Intl.DateTimeFormatOptions = {\n// hour: '2-digit',\n// minute: '2-digit',\n// second: '2-digit',\n// hour12: false\n// };\n\n// Date and time combinations\n// export const SHORT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const LONG_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long',\n// year: 'numeric',\n// month: 'long',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const COMPACT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: '2-digit',\n// day: '2-digit',\n// hour: '2-digit',\n// minute: '2-digit',\n// hour12: false\n// };\n\n// Time range specific formats (optimized for ranges)\n\n\n// export const TIME_RANGE_WITH_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// month: 'short',\n// day: 'numeric',\n// hour: 'numeric',\n// minute: '2-digit',\n// hour12: true\n// };\n\n// export const DATE_RANGE_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// export const DATE_RANGE_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'long'\n// };\n\n// Special formats\n// export const RELATIVE_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'short',\n// month: 'short',\n// day: 'numeric'\n// };\n\n// export const MONTH_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric',\n// month: 'long'\n// };\n\n// export const WEEKDAY_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\n// weekday: 'long'\n// };\n\n// export const YEAR_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\n// year: 'numeric'\n// };\n\n// Utility object for easy access\nexport const DATE_TIME_FORMAT_OPTIONS = {\n\n DATE_NUMERIC_MONTH: DATE_NUMERIC_MONTH_OPTIONS,\n DATE_SHORT_MONTH: DATE_SHORT_MONTH_OPTIONS,\n DATE_LONG_MONTH: DATE_LONG_MONTH_OPTIONS,\n\n DATE_LONG_MONTH_LONG_WEEKDAY: DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS,\n DATE_LONG_MONTH_SHORT_WEEKDAY: DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS,\n\n TIME_HOUR_NUMERIC: TIME_HOUR_NUMERIC_OPTION,\n TIME_HOUR_2DIGIT: TIME_HOUR_2DIGIT_OPTION,\n TIME_HOUR_NUMERIC_SECONDS: TIME_HOUR_NUMERIC_SECONDS_OPTION,\n\n // SHORT_DATE_WITH_WEEKDAY: SHORT_DATE_WITH_WEEKDAY_OPTIONS,\n \n // Long formats\n// LONG_DATE_WITH_WEEKDAY: LONG_DATE_WITH_WEEKDAY_OPTIONS,\n\n // Time formats\n// TIME_12H: TIME_12H_OPTIONS,\n// TIME_24H: TIME_24H_OPTIONS,\n// TIME_WITH_SECONDS: TIME_WITH_SECONDS_OPTIONS,\n \n // DateTime combinations\n// SHORT_DATETIME: SHORT_DATETIME_OPTIONS,\n// LONG_DATETIME: LONG_DATETIME_OPTIONS,\n// COMPACT_DATETIME: COMPACT_DATETIME_OPTIONS,\n \n // Range specific\n \n// TIME_RANGE_WITH_DATE: TIME_RANGE_WITH_DATE_OPTIONS,\n// DATE_RANGE_MONTH: DATE_RANGE_MONTH_OPTIONS,\n// DATE_RANGE_YEAR: DATE_RANGE_YEAR_OPTIONS,\n \n // Special\n// RELATIVE_DATE: RELATIVE_DATE_OPTIONS,\n// MONTH_YEAR: MONTH_YEAR_OPTIONS,\n// WEEKDAY_ONLY: WEEKDAY_ONLY_OPTIONS,\n// YEAR_ONLY: YEAR_ONLY_OPTIONS\n} as const;\nexport type DateTimeFormatOptionKeys = keyof typeof DATE_TIME_FORMAT_OPTIONS;\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isSameDay, isSameYear } from 'date-fns';\n\n/**\n * @deprecated This pipe is deprecated and will be removed in a future release. \n * Use sdsDateTimeRangeFormat pipe instead.\n */\n@Pipe({\n name: 'sdsDatePeriodFormat',\n standalone: true,\n})\nexport class SdsDatePeriodFormatPipe implements PipeTransform {\n transform(\n from: Date,\n to: Date,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions,\n omitRedundantSegments: boolean = false,\n periodSeparator: string = '-',\n omitCurrentYear: boolean = false\n ): string {\n if (!from) {\n return '';\n }\n\n if (!to) {\n return from.toLocaleDateString(locales, options);\n }\n\n\n if (isSameDay(from, to)) {\n return from.toLocaleDateString(locales, options);\n } else {\n let fromOptions = {...options};\n let toOptions = {...options};\n\n if (omitRedundantSegments && fromOptions && toOptions) {\n\n // if both dates are in current year -> remove it from format\n const now = new Date();\n if (omitCurrentYear && isSameYear(from, now) && isSameYear(to, now)) {\n fromOptions.year = undefined;\n toOptions.year = undefined;\n } \n\n if (isSameYear(from, to)) {\n // if both dates have same year -> remove it from start data\n fromOptions.year = undefined;\n }\n }\n\n const fromString = from.toLocaleDateString(locales, fromOptions);\n const toString = to.toLocaleDateString(locales, toOptions);\n\n return `${fromString} ${periodSeparator} ${toString}`;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IntlDateTimeFormatOptionPresetType } from '@spicainternational/ngx-sds-components/src/lib/utils/date-time';\nimport { formatDateTime } from '@spicainternational/ngx-sds-components/src/lib/utils/date-time';\n// import { IntlDateTimeFormatOptionPresetType } from '../utils/date-time/intl-date-time-format-options-presets';\n// import { formatDateTime } from '../utils/date-time/date-time-format.function';\n\n\n\n@Pipe({\n name: 'sdsDateFormat',\n standalone: true,\n})\nexport class SdsDateFormatPipe implements PipeTransform {\n\n /**\n * Formats date in given locale.\n *\n * @param date Date to be formatted.\n * @param locale A locale code for the locale format rules to use.\n * @param options An optional Intl.DateTimeFormatOptions parameter that can be used to fine-tune the output.\n * @returns A string with formatted date\n * @see [Intl docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\n *\n * @publicApi\n */\n public transform(\n date: Date | number | string | undefined,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\n ): string {\n return formatDateTime(date, locales, options);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sdsDateTimeRangeFormat',\n standalone: true,\n})\nexport class SdsDateTimeRangeFormatPipe implements PipeTransform {\n /**\n * Formats a date range using Intl.DateTimeFormat.formatRange\n * @param startDate - The start date of the range\n * @param endDate - The end date of the range\n * @param locales - Locale(s) to use for formatting (optional, defaults to browser locale)\n * @param options - Intl.DateTimeFormatOptions for customizing the format\n * @returns Formatted date range string\n */\n transform(\n startDate: Date | string | number,\n endDate: Date | string | number,\n locales: string | string[],\n options: Intl.DateTimeFormatOptions,\n ): string {\n if (!startDate || !endDate) {\n return '';\n }\n\n try {\n const start = new Date(startDate);\n const end = new Date(endDate);\n\n if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {\n return '';\n }\n\n const formatter = new Intl.DateTimeFormat(locales, options);\n const formatterWithRange = formatter as any;\n\n if (typeof formatterWithRange.formatRange === 'function') {\n return formatterWithRange.formatRange(start, end);\n } else {\n return `${formatter.format(start)} - ${formatter.format(end)}`;\n }\n } catch (error) {\n return '';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport differenceInMinutes from 'date-fns/differenceInMinutes';\n\n@Pipe({\n name: 'sdsDateTimeRangeDuration',\n standalone: true\n})\nexport class SdsDateTimeRangeDurationPipe implements PipeTransform {\n transform(\n startDate: Date | string | number,\n endDate: Date | string | number,\n //locales: string | string[],\n \n ): string {\n\n if (!startDate || !endDate) {\n return '';\n }\n\n try {\n const start = new Date(startDate);\n const end = new Date(endDate); \n \n // not yet supported in all browsers\n // const formatter = new Intl.DurationFormat(locales, options);\n\n const totalMinutes = differenceInMinutes(end, start);\n const hours = Math.floor(totalMinutes / 60);\n const minutes = totalMinutes % 60;\n\n return `${hours}:${minutes.toString().padStart(2, '0')}`;\n } catch (error) {\n return '';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sdsDateCompare',\n standalone: true\n})\nexport class SdsDateComparePipe implements PipeTransform {\n transform(\n date1: Date | string | number,\n date2: Date | string | number,\n operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte'\n ): boolean {\n const d1 = new Date(date1);\n const d2 = new Date(date2);\n\n switch (operator) {\n case 'gt':\n return d1 > d2;\n case 'lt':\n return d1 < d2;\n case 'eq':\n return d1.getTime() === d2.getTime();\n case 'gte':\n return d1 >= d2;\n case 'lte':\n return d1 <= d2;\n default:\n return false;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -662,7 +662,6 @@ class SdsProductHomeComponent {
|
|
|
662
662
|
this.headerClick = new EventEmitter();
|
|
663
663
|
this.ICON_CLOSE = faArrowLeftFromLine;
|
|
664
664
|
this.ICON_OPEN = faArrowRightFromLine;
|
|
665
|
-
this.ICON_SIDEBAR = faArrowLeftFromLine; //faSidebar;
|
|
666
665
|
this.isCollapsed = model(false);
|
|
667
666
|
this.sideBarInstanceName = input('');
|
|
668
667
|
}
|
|
@@ -679,7 +678,7 @@ class SdsProductHomeComponent {
|
|
|
679
678
|
this.isCollapsed.set(!this.isCollapsed());
|
|
680
679
|
}
|
|
681
680
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsProductHomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
682
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SdsProductHomeComponent, isStandalone: true, selector: "sds-product-home", inputs: { logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: false, isRequired: false, transformFunction: null }, logoAltText: { classPropertyName: "logoAltText", publicName: "logoAltText", isSignal: false, isRequired: false, transformFunction: null }, moduleTitle: { classPropertyName: "moduleTitle", publicName: "moduleTitle", isSignal: false, isRequired: false, transformFunction: null }, showAppSwitcher: { classPropertyName: "showAppSwitcher", publicName: "showAppSwitcher", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherProductCode: { classPropertyName: "appSwitcherProductCode", publicName: "appSwitcherProductCode", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherUserProductCodes: { classPropertyName: "appSwitcherUserProductCodes", publicName: "appSwitcherUserProductCodes", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherTenantProducts: { classPropertyName: "appSwitcherTenantProducts", publicName: "appSwitcherTenantProducts", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherSwitchText: { classPropertyName: "appSwitcherSwitchText", publicName: "appSwitcherSwitchText", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherDiscoverText: { classPropertyName: "appSwitcherDiscoverText", publicName: "appSwitcherDiscoverText", isSignal: false, isRequired: false, transformFunction: null }, textOpen: { classPropertyName: "textOpen", publicName: "textOpen", isSignal: true, isRequired: false, transformFunction: null }, textClose: { classPropertyName: "textClose", publicName: "textClose", isSignal: true, isRequired: false, transformFunction: null }, allowHeaderClick: { classPropertyName: "allowHeaderClick", publicName: "allowHeaderClick", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, sideBarInstanceName: { classPropertyName: "sideBarInstanceName", publicName: "sideBarInstanceName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick", isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n
|
|
681
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SdsProductHomeComponent, isStandalone: true, selector: "sds-product-home", inputs: { logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: false, isRequired: false, transformFunction: null }, logoAltText: { classPropertyName: "logoAltText", publicName: "logoAltText", isSignal: false, isRequired: false, transformFunction: null }, moduleTitle: { classPropertyName: "moduleTitle", publicName: "moduleTitle", isSignal: false, isRequired: false, transformFunction: null }, showAppSwitcher: { classPropertyName: "showAppSwitcher", publicName: "showAppSwitcher", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherProductCode: { classPropertyName: "appSwitcherProductCode", publicName: "appSwitcherProductCode", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherUserProductCodes: { classPropertyName: "appSwitcherUserProductCodes", publicName: "appSwitcherUserProductCodes", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherTenantProducts: { classPropertyName: "appSwitcherTenantProducts", publicName: "appSwitcherTenantProducts", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherSwitchText: { classPropertyName: "appSwitcherSwitchText", publicName: "appSwitcherSwitchText", isSignal: false, isRequired: false, transformFunction: null }, appSwitcherDiscoverText: { classPropertyName: "appSwitcherDiscoverText", publicName: "appSwitcherDiscoverText", isSignal: false, isRequired: false, transformFunction: null }, textOpen: { classPropertyName: "textOpen", publicName: "textOpen", isSignal: true, isRequired: false, transformFunction: null }, textClose: { classPropertyName: "textClose", publicName: "textClose", isSignal: true, isRequired: false, transformFunction: null }, allowHeaderClick: { classPropertyName: "allowHeaderClick", publicName: "allowHeaderClick", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, sideBarInstanceName: { classPropertyName: "sideBarInstanceName", publicName: "sideBarInstanceName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productSwitched: "productSwitched", headerClick: "headerClick", isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n [icon]=\"isCollapsed() ? ICON_OPEN : ICON_CLOSE\" \n [fixedWidth]=\"true\"\n >\n </fa-icon>\n </button>\n \n</div>\n", styles: [".product-header{padding-left:.75rem!important}.product-header .app-switcher{height:2rem;width:2rem}.product-header .product-title{margin-top:.15rem}.product-header .product-logo-container{height:calc(1.5rem + 2px)}.product-header .product-logo-container.collapsed{width:calc(1.5rem + 2px);overflow-x:hidden}.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}.product-header .toggle-collapsed-button{height:2rem;width:2rem;border:0;background:transparent;appearance:none}.product-header .toggle-collapsed-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}:host{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: SdsAppSwitcherComponent, selector: "sds-app-switcher", inputs: ["productCode", "userProductCodes", "tenantProducts", "switchText", "discoverText", "ariaLabel"], outputs: ["productClick"] }] }); }
|
|
683
682
|
}
|
|
684
683
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsProductHomeComponent, decorators: [{
|
|
685
684
|
type: Component,
|
|
@@ -687,7 +686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
687
686
|
NgIf,
|
|
688
687
|
FontAwesomeModule,
|
|
689
688
|
SdsAppSwitcherComponent
|
|
690
|
-
], template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n
|
|
689
|
+
], template: "<div \n class=\"product-header pb-2 mb-2 align-items-start gap-2\"\n >\n @if(!isCollapsed()) {\n <sds-app-switcher\n *ngIf=\"showAppSwitcher\"\n class=\"app-switcher text-gray-800 sds-fs-93 sds-hoverable sds-rounded-2 p-1 d-flex align-items-center justify-content-center\"\n [productCode]=\"appSwitcherProductCode\"\n [userProductCodes]=\"appSwitcherUserProductCodes\"\n [tenantProducts]=\"appSwitcherTenantProducts\"\n [switchText]=\"appSwitcherSwitchText\"\n [discoverText]=\"appSwitcherDiscoverText\"\n (productClick)=\"onProductClick($event)\"\n >\n </sds-app-switcher>\n \n <div \n class=\"sds-flex-grow-shrink product-title\"\n (click)=\"onHeaderClick()\"\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\n [title]=\"moduleTitle && isCollapsed() ? moduleTitle : ''\"\n >\n <div \n class=\"product-logo-container\"\n [class.collapsed]=\"isCollapsed()\"\n >\n <img\n class=\"product-logo\"\n [src]=\"logoUrl\" \n [alt]=\"logoAltText\"\n > \n </div>\n\n @if(moduleTitle && !isCollapsed()) {\n <h6 class=\"mt-2\">\n {{moduleTitle}}\n </h6>\n }\n </div>\n }\n\n <button\n type=\"button\"\n class=\"\n toggle-collapsed-button \n text-gray-800 sds-fs-93 \n sds-hoverable sds-rounded-2 \n p-1 ml-2\n d-flex align-items-center justify-content-center\n sds-cursor-pointer\n \" \n (click)=\"toggleState()\" \n [attr.aria-label]=\"isCollapsed() ? textOpen() : textClose()\"\n [title]=\"isCollapsed() ? textOpen() : textClose()\" \n >\n <fa-icon \n [icon]=\"isCollapsed() ? ICON_OPEN : ICON_CLOSE\" \n [fixedWidth]=\"true\"\n >\n </fa-icon>\n </button>\n \n</div>\n", styles: [".product-header{padding-left:.75rem!important}.product-header .app-switcher{height:2rem;width:2rem}.product-header .product-title{margin-top:.15rem}.product-header .product-logo-container{height:calc(1.5rem + 2px)}.product-header .product-logo-container.collapsed{width:calc(1.5rem + 2px);overflow-x:hidden}.product-header .product-logo{height:1.5rem}.product-header h6{font-size:.8rem}.product-header .toggle-collapsed-button{height:2rem;width:2rem;border:0;background:transparent;appearance:none}.product-header .toggle-collapsed-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}:host{width:100%}\n"] }]
|
|
691
690
|
}], ctorParameters: () => [], propDecorators: { logoUrl: [{
|
|
692
691
|
type: Input
|
|
693
692
|
}], logoAltText: [{
|