@cuby-ui/core 0.0.385 → 0.0.387
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/components/tabs/index.d.ts +1 -0
- package/components/tabs/tabs.provider.d.ts +3 -0
- package/esm2022/components/tabs/index.mjs +2 -1
- package/esm2022/components/tabs/tabs.component.mjs +4 -4
- package/esm2022/components/tabs/tabs.provider.mjs +10 -0
- package/esm2022/widgets/user-action-context-menu/user-action-context-menu.component.mjs +3 -3
- package/fesm2022/cuby-ui-core.mjs +12 -5
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { CuiTabsComponent } from './tabs.component';
|
|
2
2
|
export { CUI_TABS_SERVICE_TOKEN } from './tabs.options';
|
|
3
|
-
|
|
3
|
+
export { provideCuiTabs } from './tabs.provider';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQWlDLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpVGFic0NvbXBvbmVudCB9IGZyb20gJy4vdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ3VpVGFiT3B0aW9ucywgQ3VpVGFic1NlcnZpY2UsIENVSV9UQUJTX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuL3RhYnMub3B0aW9ucyc7XG5leHBvcnQgeyBwcm92aWRlQ3VpVGFicyB9IGZyb20gJy4vdGFicy5wcm92aWRlcic7XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, effect, inject, input } from '@angular/core';
|
|
3
|
-
import { CuiTabsServiceImpl } from './services';
|
|
4
3
|
import { CUI_TABS_SERVICE_TOKEN } from './tabs.options';
|
|
4
|
+
import { provideCuiTabs } from './tabs.provider';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class CuiTabsComponent {
|
|
7
7
|
constructor() {
|
|
@@ -32,10 +32,10 @@ export class CuiTabsComponent {
|
|
|
32
32
|
}, { allowSignalWrites: true });
|
|
33
33
|
}
|
|
34
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiTabsComponent, isStandalone: true, selector: "cui-tabs", inputs: { headerSlot: { classPropertyName: "headerSlot", publicName: "headerSlot", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiTabsComponent, isStandalone: true, selector: "cui-tabs", inputs: { headerSlot: { classPropertyName: "headerSlot", publicName: "headerSlot", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideCuiTabs()], ngImport: i0, template: "@if (headerSlot(); as header) {\n <ng-container\n [ngTemplateOutlet]=\"header\"\n [ngTemplateOutletContext]=\"{ $implicit: buttons }\"\n />\n} @else {\n <header class=\"header\">\n <ng-container [ngTemplateOutlet]=\"buttons\" />\n </header>\n}\n\n<ng-template #buttons>\n @for (tab of tabs(); track tab.id) {\n <button\n type=\"button\"\n class=\"button\"\n (click)=\"onSelectTab($event, tab)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"tab.button\"\n [ngTemplateOutletContext]=\"{ $implicit: tab.data, isActive: tab.id === activeTab()?.id }\"\n />\n </button>\n }\n</ng-template>\n\n@if (activeTab()?.content; as content) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"{ $implicit: activeTab()?.data }\"\n />\n}\n", styles: [":host{display:flex;flex-direction:column}.header{display:flex}.button{display:contents}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
36
|
}
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTabsComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
|
-
args: [{ selector: 'cui-tabs', imports: [NgTemplateOutlet], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
39
|
+
args: [{ selector: 'cui-tabs', imports: [NgTemplateOutlet], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideCuiTabs()], template: "@if (headerSlot(); as header) {\n <ng-container\n [ngTemplateOutlet]=\"header\"\n [ngTemplateOutletContext]=\"{ $implicit: buttons }\"\n />\n} @else {\n <header class=\"header\">\n <ng-container [ngTemplateOutlet]=\"buttons\" />\n </header>\n}\n\n<ng-template #buttons>\n @for (tab of tabs(); track tab.id) {\n <button\n type=\"button\"\n class=\"button\"\n (click)=\"onSelectTab($event, tab)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"tab.button\"\n [ngTemplateOutletContext]=\"{ $implicit: tab.data, isActive: tab.id === activeTab()?.id }\"\n />\n </button>\n }\n</ng-template>\n\n@if (activeTab()?.content; as content) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"{ $implicit: activeTab()?.data }\"\n />\n}\n", styles: [":host{display:flex;flex-direction:column}.header{display:flex}.button{display:contents}\n"] }]
|
|
40
40
|
}], ctorParameters: () => [] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsc0JBQXNCLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVdqRCxNQUFNLE9BQU8sZ0JBQWdCO0lBU3pCO1FBUmlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFM0MsU0FBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUUxQyxlQUFVLEdBQUcsS0FBSyxFQUF3QixDQUFDO1FBQzNDLGtCQUFhLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRzdDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBWSxFQUFFLEdBQWtCO1FBQ2xELElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLE1BQU0sQ0FDRixHQUFHLEVBQUU7WUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUVsQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakMsT0FBTztZQUNYLENBQUM7WUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM5QixDQUFDO0lBQ04sQ0FBQzsrR0F2Q1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsMFZBRmQsQ0FBQyxjQUFjLEVBQUUsQ0FBQywwQkNkakMsbzVCQWdDQSxtSkR2QmMsZ0JBQWdCOzs0RkFPakIsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNJLFVBQVUsV0FDWCxDQUFDLGdCQUFnQixDQUFDLGNBQ2YsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDVUlfVEFCU19TRVJWSUNFX1RPS0VOLCB0eXBlIEN1aVRhYk9wdGlvbnMgfSBmcm9tICcuL3RhYnMub3B0aW9ucyc7XG5pbXBvcnQgeyBwcm92aWRlQ3VpVGFicyB9IGZyb20gJy4vdGFicy5wcm92aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXRhYnMnLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAndGFicy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICd0YWJzLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlQ3VpVGFicygpXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlUYWJzQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYnNTZXJ2aWNlID0gaW5qZWN0KENVSV9UQUJTX1NFUlZJQ0VfVE9LRU4pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnMgPSB0aGlzLnRhYnNTZXJ2aWNlLnRhYnM7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZVRhYiA9IHRoaXMudGFic1NlcnZpY2UuYWN0aXZlVGFiO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGhlYWRlclNsb3QgPSBpbnB1dDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleCA9IGlucHV0PG51bWJlcj4oMCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0U2VsZWN0ZWRUYWJFZmZlY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TZWxlY3RUYWIoZXZlbnQ6IEV2ZW50LCB0YWI6IEN1aVRhYk9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFic1NlcnZpY2Uuc2V0KHRhYik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2VsZWN0ZWRUYWJFZmZlY3QoKSB7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJbmRleCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMudGFicygpLmxlbmd0aDtcblxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkIHx8ICFsZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gbGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0YWIgaW5kZXgnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNTZXJ2aWNlLnNldCh0aGlzLnRhYnMoKVtpbmRleF0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIkBpZiAoaGVhZGVyU2xvdCgpOyBhcyBoZWFkZXIpIHtcbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogYnV0dG9ucyB9XCJcbiAgICAvPlxufSBAZWxzZSB7XG4gICAgPGhlYWRlciBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbnNcIiAvPlxuICAgIDwvaGVhZGVyPlxufVxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnM+XG4gICAgQGZvciAodGFiIG9mIHRhYnMoKTsgdHJhY2sgdGFiLmlkKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VGFiKCRldmVudCwgdGFiKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRhYi5kYXRhLCBpc0FjdGl2ZTogdGFiLmlkID09PSBhY3RpdmVUYWIoKT8uaWQgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKGFjdGl2ZVRhYigpPy5jb250ZW50OyBhcyBjb250ZW50KSB7XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBhY3RpdmVUYWIoKT8uZGF0YSB9XCJcbiAgICAvPlxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { inject } from "@angular/core";
|
|
2
|
+
import { CuiTabsServiceImpl } from "./services";
|
|
3
|
+
import { CUI_TABS_SERVICE_TOKEN } from "./tabs.options";
|
|
4
|
+
export function provideCuiTabs(Implementation = CuiTabsServiceImpl) {
|
|
5
|
+
return {
|
|
6
|
+
provide: CUI_TABS_SERVICE_TOKEN,
|
|
7
|
+
useFactory: () => inject(CUI_TABS_SERVICE_TOKEN, { optional: true, skipSelf: true }) ?? new Implementation(),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90YWJzL3RhYnMucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixNQUFNLFVBQVUsY0FBYyxDQUFDLGlCQUErQyxrQkFBa0I7SUFDNUYsT0FBTztRQUNILE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxjQUFjLEVBQUU7S0FDL0csQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEN1aVRhYnNTZXJ2aWNlSW1wbCB9IGZyb20gXCIuL3NlcnZpY2VzXCI7XG5pbXBvcnQgeyBDVUlfVEFCU19TRVJWSUNFX1RPS0VOLCBDdWlBYnN0cmFjdFRhYnNTZXJ2aWNlIH0gZnJvbSBcIi4vdGFicy5vcHRpb25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ3VpVGFicyhJbXBsZW1lbnRhdGlvbjogVHlwZTxDdWlBYnN0cmFjdFRhYnNTZXJ2aWNlPiA9IEN1aVRhYnNTZXJ2aWNlSW1wbCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBDVUlfVEFCU19TRVJWSUNFX1RPS0VOLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBpbmplY3QoQ1VJX1RBQlNfU0VSVklDRV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSkgPz8gbmV3IEltcGxlbWVudGF0aW9uKCksXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -47,7 +47,7 @@ export class CuiUserActionContextMenuComponent {
|
|
|
47
47
|
this.translocoService.setActiveLang(lang.label);
|
|
48
48
|
}
|
|
49
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n class=\"activity-item\"\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_ACTIVITY_IN_THIS_COMPANY') }}</div>\n }\n </div>\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_COMPANY') }}</div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('SWITCH_THEME') }}\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('LANGUAGE') }}\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">{{ t('LOG_OUT') }}</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:8px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;text-transform:capitalize;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}.block-platform{display:flex;gap:8px;color:var(--cui-base-900);cursor:pointer}.sub-title-text{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900);text-align:center}.activity-item{border-radius:8px;cursor:pointer}.activity-item:hover{background-color:var(--cui-badge-light-blue-bg)}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiDropdownWrapperComponent, selector: "cui-dropdown-wrapper", inputs: ["title", "width", "maxHeight"] }, { kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiActivityItemComponent, selector: "cui-activity-item", inputs: ["activity", "companyId"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
@@ -62,6 +62,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
62
62
|
CuiActivityItemComponent,
|
|
63
63
|
AsyncPipe,
|
|
64
64
|
CuiEmptyStateComponent
|
|
65
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n
|
|
65
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n class=\"activity-item\"\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_ACTIVITY_IN_THIS_COMPANY') }}</div>\n }\n </div>\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_COMPANY') }}</div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('SWITCH_THEME') }}\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('LANGUAGE') }}\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">{{ t('LOG_OUT') }}</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:8px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;text-transform:capitalize;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}.block-platform{display:flex;gap:8px;color:var(--cui-base-900);cursor:pointer}.sub-title-text{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900);text-align:center}.activity-item{border-radius:8px;cursor:pointer}.activity-item:hover{background-color:var(--cui-badge-light-blue-bg)}\n"] }]
|
|
66
66
|
}], ctorParameters: () => [] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUNILGVBQWUsRUFBRSxvQkFBb0IsRUFDckMsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFlBQVksRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQXNCakQsTUFBTSxPQUFPLGlDQUFpQztJQW9CMUM7UUFuQmlCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0Isb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQTJCLENBQUM7UUFFM0UsVUFBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xELFVBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFBO1FBRXJELFdBQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLFVBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBRTNDLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFHN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVTLFFBQVE7UUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFUyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSx3Q0FBa0IsRUFBRSxDQUFDO0lBQzdGLENBQUM7SUFFUyxhQUFhLENBQUMsS0FBZTtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTZCO1FBQ2hELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUxQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBaERRLGlDQUFpQzttR0FBakMsaUNBQWlDLHdGQ3hDOUMsb2pNQTRIQSxpaUREbkdRLGtCQUFrQiwrTEFDbEIsWUFBWSx3S0FDWixvQkFBb0Isb0pBQ3BCLDJCQUEyQiwwR0FDM0IscUJBQXFCLGtIQUNyQixlQUFlLDhCQUNmLG9CQUFvQiwrQkFDcEIsd0JBQXdCLDRGQUN4QixTQUFTOzs0RkFPSixpQ0FBaUM7a0JBbkI3QyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1A7d0JBQ0wsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3FCQUN6QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYW5nRGVmaW5pdGlvbiwgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHtDVUlfV0lORE9XfSBmcm9tIFwiQGN1YnktdWkvY2RrXCI7XG5pbXBvcnQge0N1aUFwaVVybH0gZnJvbSBcIkBjdWJ5LXVpL2FwaVwiO1xuXG5pbXBvcnQge1xuICAgIEN1aUJ1dHRvbk1vZHVsZSwgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgQ3VpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQ3VpTGV0dGVyQm94Q29tcG9uZW50LFxuICAgIEN1aVN2Z01vZHVsZVxufSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xuaW1wb3J0IHR5cGUgeyBDdWlFeGNoYW5nZVRva2VuU2Vzc2lvbiwgQ3VpVGhlbWUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlBY3Rpdml0eUl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpdml0eS1pdGVtXCI7XG5pbXBvcnQgeyBDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4vdXNlci1hY3Rpb24tY29udGV4dC5vcHRpb24nO1xuaW1wb3J0IHsgQ3VpQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXVzZXItYWN0aW9uLWNvbnRleHQtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBDdWlFbXB0eVN0YXRlQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVXNlckFjdGlvbkNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlXaW5kb3cgPSBpbmplY3QoQ1VJX1dJTkRPVyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ3VpVGhlbWVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFjdGl2aXR5U2VydmljZSA9IGluamVjdChDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhEYXRhID0gdGhpcy5jdWlBdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkRhdGE8Q3VpRXhjaGFuZ2VUb2tlblNlc3Npb24+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3MgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QXZhaWxhYmxlTGFuZ3MoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1haWwgPSB0aGlzLmF1dGhEYXRhLmVtYWlsO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmdWxsTmFtZSA9IHRoaXMuYXV0aERhdGEubmFtZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFueUlkID0gdGhpcy5hdXRoRGF0YS5lbXBsb3llZV9zZXNzaW9uPy5jb21wYW55SWRcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZSQgPSB0aGlzLmN1aVRoZW1lU2VydmljZS5hc09ic2VydmFibGUoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZyQgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UubGFuZ0NoYW5nZXMkO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbXBhbmllcyA9IHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmNvbXBhbmllcztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmN1aUFjdGl2aXR5U2VydmljZS5pbml0QWN0aXZpdHlEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1aUF1dGhTZXJ2aWNlLmxvZ091dCgpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9nZ2xlT3BlblN0YXRlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KG9wZW4pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkdvVG9QbGF0Zm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdWlXaW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3RoaXMuY3VpV2luZG93LmxvY2F0aW9uLm9yaWdpbn0vJHtDdWlBcGlVcmwuUGxhdGZvcm19YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2VUaGVtZSh0aGVtZTogQ3VpVGhlbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdWlUaGVtZVNlcnZpY2UubmV4dCh0aGVtZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlTGFuZyhsYW5nOiBzdHJpbmcgfCBMYW5nRGVmaW5pdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGxhbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhsYW5nKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcobGFuZy5sYWJlbCk7XG4gICAgfVxufVxuIiwiQGxldCBjdXJyZW50VGhlbWUgPSB0aGVtZSQgfCBhc3luYztcbkBsZXQgY3VycmVudExhbmcgPSBsYW5nJCB8IGFzeW5jO1xuXG48bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtjdWlEcm9wZG93bl09XCJjb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3RcIlxuICAgICAgICAoaXNPcGVuZWQpPVwib25Ub2dnbGVPcGVuU3RhdGUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudC8+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIDxjdWktZHJvcGRvd24td3JhcHBlciB3aWR0aD1cIjMwMHB4XCIgbWF4SGVpZ2h0PVwiNTAwcHhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICNkcm9wZG93bkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1sZXR0ZXItYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZXR0ZXJdPVwiZnVsbE5hbWVbMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hhcGVdPVwiJ3JvdW5kZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInN1YnRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW1haWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlciBibG9jay1wbGF0Zm9ybVwiIChjbGljayk9XCJvbkdvVG9QbGF0Zm9ybSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uTG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS05MDApXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57eyB0KCdDVUJZX1BMQVRGT1JNJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbXBhbnkgb2YgY29tcGFuaWVzKCk7IHRyYWNrIGNvbXBhbnkuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aXRsZS1jb21wYW55XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbXBhbnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtYWN0aXZpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYWN0aXZpdHkgb2YgY29tcGFueS5jb250ZXh0czsgdHJhY2sgYWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktYWN0aXZpdHktaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpdml0eV09XCJhY3Rpdml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhbnlJZF09XCJjb21wYW55SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10aXRsZS10ZXh0XCI+e3sgdCgnWU9VX0RPTlRfSEFWRV9BQ1RJVklUWV9JTl9USElTX0NPTVBBTlknKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10aXRsZS10ZXh0XCI+e3sgdCgnWU9VX0RPTlRfSEFWRV9DT01QQU5ZJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvblBhbGV0dGVTbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWFuZC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0KCdTV0lUQ0hfVEhFTUUnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRUaGVtZSA9PT0gJ2RhcmsnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Nb29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VUaGVtZSgnZGFyaycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRUaGVtZSA9PT0gJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uU3VuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VUaGVtZSgnbGlnaHQnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkdsb2JlU21cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1hbmQtc3ViLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnTEFOR1VBR0UnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsYW5nIG9mIGxhbmdzOyB0cmFjayBsYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRMYW5nID09PSBsYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxhbmcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Mb2dvdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkxvZ091dFNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj57eyB0KCdMT0dfT1VUJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvY3VpLWRyb3Bkb3duLXdyYXBwZXI+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHeEMsT0FBTyxFQUNILGVBQWUsRUFBRSxvQkFBb0IsRUFDckMsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFlBQVksRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQXNCakQsTUFBTSxPQUFPLGlDQUFpQztJQW9CMUM7UUFuQmlCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0Isb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQTJCLENBQUM7UUFFM0UsVUFBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xELFVBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFBO1FBRXJELFdBQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLFVBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBRTNDLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFHN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVTLFFBQVE7UUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFUyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSx3Q0FBa0IsRUFBRSxDQUFDO0lBQzdGLENBQUM7SUFFUyxhQUFhLENBQUMsS0FBZTtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTZCO1FBQ2hELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUxQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBaERRLGlDQUFpQzttR0FBakMsaUNBQWlDLHdGQ3hDOUMseW9NQTZIQSxzcEREcEdRLGtCQUFrQiwrTEFDbEIsWUFBWSx3S0FDWixvQkFBb0Isb0pBQ3BCLDJCQUEyQiwwR0FDM0IscUJBQXFCLGtIQUNyQixlQUFlLDhCQUNmLG9CQUFvQiwrQkFDcEIsd0JBQXdCLDRGQUN4QixTQUFTOzs0RkFPSixpQ0FBaUM7a0JBbkI3QyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1A7d0JBQ0wsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3FCQUN6QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYW5nRGVmaW5pdGlvbiwgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHtDVUlfV0lORE9XfSBmcm9tIFwiQGN1YnktdWkvY2RrXCI7XG5pbXBvcnQge0N1aUFwaVVybH0gZnJvbSBcIkBjdWJ5LXVpL2FwaVwiO1xuXG5pbXBvcnQge1xuICAgIEN1aUJ1dHRvbk1vZHVsZSwgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgQ3VpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQ3VpTGV0dGVyQm94Q29tcG9uZW50LFxuICAgIEN1aVN2Z01vZHVsZVxufSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xuaW1wb3J0IHR5cGUgeyBDdWlFeGNoYW5nZVRva2VuU2Vzc2lvbiwgQ3VpVGhlbWUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlBY3Rpdml0eUl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpdml0eS1pdGVtXCI7XG5pbXBvcnQgeyBDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4vdXNlci1hY3Rpb24tY29udGV4dC5vcHRpb24nO1xuaW1wb3J0IHsgQ3VpQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXVzZXItYWN0aW9uLWNvbnRleHQtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBDdWlFbXB0eVN0YXRlQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVXNlckFjdGlvbkNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlXaW5kb3cgPSBpbmplY3QoQ1VJX1dJTkRPVyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ3VpVGhlbWVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFjdGl2aXR5U2VydmljZSA9IGluamVjdChDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhEYXRhID0gdGhpcy5jdWlBdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkRhdGE8Q3VpRXhjaGFuZ2VUb2tlblNlc3Npb24+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3MgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QXZhaWxhYmxlTGFuZ3MoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1haWwgPSB0aGlzLmF1dGhEYXRhLmVtYWlsO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmdWxsTmFtZSA9IHRoaXMuYXV0aERhdGEubmFtZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFueUlkID0gdGhpcy5hdXRoRGF0YS5lbXBsb3llZV9zZXNzaW9uPy5jb21wYW55SWRcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZSQgPSB0aGlzLmN1aVRoZW1lU2VydmljZS5hc09ic2VydmFibGUoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZyQgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UubGFuZ0NoYW5nZXMkO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbXBhbmllcyA9IHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmNvbXBhbmllcztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmN1aUFjdGl2aXR5U2VydmljZS5pbml0QWN0aXZpdHlEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1aUF1dGhTZXJ2aWNlLmxvZ091dCgpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9nZ2xlT3BlblN0YXRlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KG9wZW4pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkdvVG9QbGF0Zm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdWlXaW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3RoaXMuY3VpV2luZG93LmxvY2F0aW9uLm9yaWdpbn0vJHtDdWlBcGlVcmwuUGxhdGZvcm19YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2VUaGVtZSh0aGVtZTogQ3VpVGhlbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdWlUaGVtZVNlcnZpY2UubmV4dCh0aGVtZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlTGFuZyhsYW5nOiBzdHJpbmcgfCBMYW5nRGVmaW5pdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGxhbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhsYW5nKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcobGFuZy5sYWJlbCk7XG4gICAgfVxufVxuIiwiQGxldCBjdXJyZW50VGhlbWUgPSB0aGVtZSQgfCBhc3luYztcbkBsZXQgY3VycmVudExhbmcgPSBsYW5nJCB8IGFzeW5jO1xuXG48bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtjdWlEcm9wZG93bl09XCJjb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3RcIlxuICAgICAgICAoaXNPcGVuZWQpPVwib25Ub2dnbGVPcGVuU3RhdGUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudC8+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIDxjdWktZHJvcGRvd24td3JhcHBlciB3aWR0aD1cIjMwMHB4XCIgbWF4SGVpZ2h0PVwiNTAwcHhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICNkcm9wZG93bkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1sZXR0ZXItYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZXR0ZXJdPVwiZnVsbE5hbWVbMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hhcGVdPVwiJ3JvdW5kZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInN1YnRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW1haWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlciBibG9jay1wbGF0Zm9ybVwiIChjbGljayk9XCJvbkdvVG9QbGF0Zm9ybSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uTG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS05MDApXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57eyB0KCdDVUJZX1BMQVRGT1JNJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbXBhbnkgb2YgY29tcGFuaWVzKCk7IHRyYWNrIGNvbXBhbnkuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aXRsZS1jb21wYW55XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbXBhbnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtYWN0aXZpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYWN0aXZpdHkgb2YgY29tcGFueS5jb250ZXh0czsgdHJhY2sgYWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWFjdGl2aXR5LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpdml0eS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2aXR5XT1cImFjdGl2aXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhbnlJZF09XCJjb21wYW55SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGl0bGUtdGV4dFwiPnt7IHQoJ1lPVV9ET05UX0hBVkVfQUNUSVZJVFlfSU5fVEhJU19DT01QQU5ZJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGl0bGUtdGV4dFwiPnt7IHQoJ1lPVV9ET05UX0hBVkVfQ09NUEFOWScpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2stYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25QYWxldHRlU21cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1hbmQtc3ViLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnU1dJVENIX1RIRU1FJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29udGFpbmVyLXN1Yi1idXR0b25fX3NlbGVjdF09XCJjdXJyZW50VGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uTW9vblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTUwMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2RhcmsnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29udGFpbmVyLXN1Yi1idXR0b25fX3NlbGVjdF09XCJjdXJyZW50VGhlbWUgPT09ICdsaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lci1zdWItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblN1blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTUwMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2xpZ2h0JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25HbG9iZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ0xBTkdVQUdFJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGFuZyBvZiBsYW5nczsgdHJhY2sgbGFuZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29udGFpbmVyLXN1Yi1idXR0b25fX3NlbGVjdF09XCJjdXJyZW50TGFuZyA9PT0gbGFuZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lci1zdWItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZUxhbmcobGFuZylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsYW5nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTG9nb3V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25Mb2dPdXRTbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWFuZC1zdWItYnV0dG9uXCI+e3sgdCgnTE9HX09VVCcpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2N1aS1kcm9wZG93bi13cmFwcGVyPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -4132,6 +4132,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4132
4132
|
type: Injectable
|
|
4133
4133
|
}] });
|
|
4134
4134
|
|
|
4135
|
+
function provideCuiTabs(Implementation = CuiTabsServiceImpl) {
|
|
4136
|
+
return {
|
|
4137
|
+
provide: CUI_TABS_SERVICE_TOKEN,
|
|
4138
|
+
useFactory: () => inject(CUI_TABS_SERVICE_TOKEN, { optional: true, skipSelf: true }) ?? new Implementation(),
|
|
4139
|
+
};
|
|
4140
|
+
}
|
|
4141
|
+
|
|
4135
4142
|
class CuiTabsComponent {
|
|
4136
4143
|
constructor() {
|
|
4137
4144
|
this.tabsService = inject(CUI_TABS_SERVICE_TOKEN);
|
|
@@ -4161,11 +4168,11 @@ class CuiTabsComponent {
|
|
|
4161
4168
|
}, { allowSignalWrites: true });
|
|
4162
4169
|
}
|
|
4163
4170
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiTabsComponent, isStandalone: true, selector: "cui-tabs", inputs: { headerSlot: { classPropertyName: "headerSlot", publicName: "headerSlot", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
4171
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiTabsComponent, isStandalone: true, selector: "cui-tabs", inputs: { headerSlot: { classPropertyName: "headerSlot", publicName: "headerSlot", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideCuiTabs()], ngImport: i0, template: "@if (headerSlot(); as header) {\n <ng-container\n [ngTemplateOutlet]=\"header\"\n [ngTemplateOutletContext]=\"{ $implicit: buttons }\"\n />\n} @else {\n <header class=\"header\">\n <ng-container [ngTemplateOutlet]=\"buttons\" />\n </header>\n}\n\n<ng-template #buttons>\n @for (tab of tabs(); track tab.id) {\n <button\n type=\"button\"\n class=\"button\"\n (click)=\"onSelectTab($event, tab)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"tab.button\"\n [ngTemplateOutletContext]=\"{ $implicit: tab.data, isActive: tab.id === activeTab()?.id }\"\n />\n </button>\n }\n</ng-template>\n\n@if (activeTab()?.content; as content) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"{ $implicit: activeTab()?.data }\"\n />\n}\n", styles: [":host{display:flex;flex-direction:column}.header{display:flex}.button{display:contents}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4165
4172
|
}
|
|
4166
4173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTabsComponent, decorators: [{
|
|
4167
4174
|
type: Component,
|
|
4168
|
-
args: [{ selector: 'cui-tabs', imports: [NgTemplateOutlet], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
4175
|
+
args: [{ selector: 'cui-tabs', imports: [NgTemplateOutlet], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideCuiTabs()], template: "@if (headerSlot(); as header) {\n <ng-container\n [ngTemplateOutlet]=\"header\"\n [ngTemplateOutletContext]=\"{ $implicit: buttons }\"\n />\n} @else {\n <header class=\"header\">\n <ng-container [ngTemplateOutlet]=\"buttons\" />\n </header>\n}\n\n<ng-template #buttons>\n @for (tab of tabs(); track tab.id) {\n <button\n type=\"button\"\n class=\"button\"\n (click)=\"onSelectTab($event, tab)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"tab.button\"\n [ngTemplateOutletContext]=\"{ $implicit: tab.data, isActive: tab.id === activeTab()?.id }\"\n />\n </button>\n }\n</ng-template>\n\n@if (activeTab()?.content; as content) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"{ $implicit: activeTab()?.data }\"\n />\n}\n", styles: [":host{display:flex;flex-direction:column}.header{display:flex}.button{display:contents}\n"] }]
|
|
4169
4176
|
}], ctorParameters: () => [] });
|
|
4170
4177
|
|
|
4171
4178
|
class CuiTextareaComponent {
|
|
@@ -10458,7 +10465,7 @@ class CuiUserActionContextMenuComponent {
|
|
|
10458
10465
|
this.translocoService.setActiveLang(lang.label);
|
|
10459
10466
|
}
|
|
10460
10467
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10461
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n
|
|
10468
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n class=\"activity-item\"\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_ACTIVITY_IN_THIS_COMPANY') }}</div>\n }\n </div>\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_COMPANY') }}</div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('SWITCH_THEME') }}\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('LANGUAGE') }}\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">{{ t('LOG_OUT') }}</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:8px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;text-transform:capitalize;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}.block-platform{display:flex;gap:8px;color:var(--cui-base-900);cursor:pointer}.sub-title-text{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900);text-align:center}.activity-item{border-radius:8px;cursor:pointer}.activity-item:hover{background-color:var(--cui-badge-light-blue-bg)}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiDropdownWrapperComponent, selector: "cui-dropdown-wrapper", inputs: ["title", "width", "maxHeight"] }, { kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiActivityItemComponent, selector: "cui-activity-item", inputs: ["activity", "companyId"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10462
10469
|
}
|
|
10463
10470
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
|
|
10464
10471
|
type: Component,
|
|
@@ -10473,12 +10480,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10473
10480
|
CuiActivityItemComponent,
|
|
10474
10481
|
AsyncPipe,
|
|
10475
10482
|
CuiEmptyStateComponent
|
|
10476
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n
|
|
10483
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\" maxHeight=\"500px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"wrapper block-platform\" (click)=\"onGoToPlatform()\">\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"/>\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n class=\"activity-item\"\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_ACTIVITY_IN_THIS_COMPANY') }}</div>\n }\n </div>\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_COMPANY') }}</div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('SWITCH_THEME') }}\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('LANGUAGE') }}\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">{{ t('LOG_OUT') }}</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:8px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;text-transform:capitalize;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}.block-platform{display:flex;gap:8px;color:var(--cui-base-900);cursor:pointer}.sub-title-text{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900);text-align:center}.activity-item{border-radius:8px;cursor:pointer}.activity-item:hover{background-color:var(--cui-badge-light-blue-bg)}\n"] }]
|
|
10477
10484
|
}], ctorParameters: () => [] });
|
|
10478
10485
|
|
|
10479
10486
|
/**
|
|
10480
10487
|
* Generated bundle index. Do not edit.
|
|
10481
10488
|
*/
|
|
10482
10489
|
|
|
10483
|
-
export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl };
|
|
10490
|
+
export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl, provideCuiTabs };
|
|
10484
10491
|
//# sourceMappingURL=cuby-ui-core.mjs.map
|