@cuby-ui/core 0.0.478 → 0.0.479

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.
@@ -0,0 +1,27 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { CuiSvgModule } from "../../../components/svg";
3
+ import { CuiThemeService } from "../../../services";
4
+ import { AsyncPipe } from "@angular/common";
5
+ import { TranslocoDirective } from "@jsverse/transloco";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../components/svg/svg.component";
8
+ export class ButtonChangeThemeComponent {
9
+ constructor() {
10
+ this.cuiThemeService = inject(CuiThemeService);
11
+ this.theme$ = this.cuiThemeService.asObservable();
12
+ }
13
+ onChangeTheme(theme) {
14
+ this.cuiThemeService.next(theme);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonChangeThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonChangeThemeComponent, isStandalone: true, selector: "cui-button-change-theme", ngImport: i0, template: "@let currentTheme = theme$ | async;\n\n<ng-container *transloco=\"let t\">\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.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.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</ng-container>\n", styles: [".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%}.group-sub-button{display:flex;gap:4px}.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}.button-select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"], dependencies: [{ kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonChangeThemeComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'cui-button-change-theme', standalone: true, imports: [
22
+ CuiSvgModule,
23
+ AsyncPipe,
24
+ TranslocoDirective
25
+ ], template: "@let currentTheme = theme$ | async;\n\n<ng-container *transloco=\"let t\">\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.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.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</ng-container>\n", styles: [".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%}.group-sub-button{display:flex;gap:4px}.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}.button-select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"] }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWNoYW5nZS10aGVtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvYnV0dG9uLWNoYW5nZS10aGVtZS9idXR0b24tY2hhbmdlLXRoZW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9idXR0b24tY2hhbmdlLXRoZW1lL2J1dHRvbi1jaGFuZ2UtdGhlbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBVyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7OztBQWF0RCxNQUFNLE9BQU8sMEJBQTBCO0lBWHZDO1FBWXFCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0tBS25FO0lBSGEsYUFBYSxDQUFDLEtBQWU7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FOUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixtRkNqQnZDLDRxQ0FrQ0EsNmxCRHhCUSxZQUFZLG1LQUNaLFNBQVMsOENBQ1Qsa0JBQWtCOzs0RkFLYiwwQkFBMEI7a0JBWHRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDTDt3QkFDTCxZQUFZO3dCQUNaLFNBQVM7d0JBQ1Qsa0JBQWtCO3FCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDdWlTdmdNb2R1bGV9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3N2Z1wiO1xuaW1wb3J0IHtDdWlUaGVtZSwgQ3VpVGhlbWVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXNcIjtcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1RyYW5zbG9jb0RpcmVjdGl2ZX0gZnJvbSBcIkBqc3ZlcnNlL3RyYW5zbG9jb1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktYnV0dG9uLWNoYW5nZS10aGVtZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlTdmdNb2R1bGUsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlXG4gICAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1jaGFuZ2UtdGhlbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnV0dG9uLWNoYW5nZS10aGVtZS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ2hhbmdlVGhlbWVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpVGhlbWVTZXJ2aWNlID0gaW5qZWN0KEN1aVRoZW1lU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lJCA9IHRoaXMuY3VpVGhlbWVTZXJ2aWNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlVGhlbWUodGhlbWU6IEN1aVRoZW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpVGhlbWVTZXJ2aWNlLm5leHQodGhlbWUpO1xuICAgIH1cbn1cbiIsIkBsZXQgY3VycmVudFRoZW1lID0gdGhlbWUkIHwgYXN5bmM7XG5cbjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG48YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25QYWxldHRlU21cIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1hbmQtc3ViLWJ1dHRvblwiPlxuICAgICAgICAgICAge3sgdCgnU1dJVENIX1RIRU1FJykgfX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXNlbGVjdF09XCJjdXJyZW50VGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uTW9vblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTUwMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2RhcmsnKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXNlbGVjdF09XCJjdXJyZW50VGhlbWUgPT09ICdsaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lci1zdWItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblN1blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTUwMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2xpZ2h0JylcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './button-change-theme.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvYnV0dG9uLWNoYW5nZS10aGVtZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24tY2hhbmdlLXRoZW1lLmNvbXBvbmVudCc7XG4iXX0=
@@ -25,4 +25,5 @@ export * from './render-dynamic-modal';
25
25
  export * from './resources-block';
26
26
  export * from './utility-info-readonly';
27
27
  export * from './inserted';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpU3RhdGVkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGF0ZWQtbG9hZGVyJztcbmV4cG9ydCB7IEN1aUNpcmNsZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY2lyY2xlLWxvYWRlcic7XG5leHBvcnQgeyBDdWlMaW5lYXJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpbmVhci1sb2FkZXInO1xuZXhwb3J0IHsgQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2RlbGV0ZS1tb2RhbCc7XG5leHBvcnQgeyBDdWlDYXRlZ29yaWVzQ29tcG9uZW50LCBDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4vY2F0ZWdvcmllcyc7XG5leHBvcnQgeyBDdWlDaGVja2xpc3RCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrJztcbmV4cG9ydCB7IEN1aUluc3RydWN0aW9uUmVhZG9ubHlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi1yZWFkb25seS1pbmZvJztcbmV4cG9ydCB7IEN1aUNyaXRlcmlvbkluZm9Db21wb25lbnQgfSBmcm9tICcuL2NyaXRlcmlvbi1pbmZvJztcbmV4cG9ydCB7IEN1aUluc3RydWN0aW9uSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vaW5zdHJ1Y3Rpb24taW5mbyc7XG5leHBvcnQgeyBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQnO1xuZXhwb3J0IHsgQ3VpRnJhbWVyUHJldmlld0NvbXBvbmVudCwgQ3VpSW1hZ2VVcmwgfSBmcm9tICcuL2ZyYW1lci1wcmV2aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vaW5zdHJ1Y3Rpb24taW5mby1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0eS1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYWN0aW9uLWNvbnRleHQtbWVudSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2lnbmVlLXJvbGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2lnbmVlLXJvbGVzLXRhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1kaXZpZGVkLXNlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1oZWFkZXItaW5zZXJ0ZWQtYnV0dG9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWluZm8tdGFiJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtb3BlcmF0aW9uLXBhcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1yZXNvdXJjZXMtdGFiJztcbmV4cG9ydCAqIGZyb20gJy4vcmVuZGVyLWR5bmFtaWMtbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZXMtYmxvY2snO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5LWluZm8tcmVhZG9ubHknO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNlcnRlZCc7XG4iXX0=
28
+ export * from './instruction-readonly-info';
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlTdGF0ZWRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3N0YXRlZC1sb2FkZXInO1xuZXhwb3J0IHsgQ3VpQ2lyY2xlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jaXJjbGUtbG9hZGVyJztcbmV4cG9ydCB7IEN1aUxpbmVhckxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbGluZWFyLWxvYWRlcic7XG5leHBvcnQgeyBDdWlEZWxldGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLW1vZGFsJztcbmV4cG9ydCB7IEN1aUNhdGVnb3JpZXNDb21wb25lbnQsIEN1aVNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYXRlZ29yaWVzJztcbmV4cG9ydCB7IEN1aUNoZWNrbGlzdEJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2xpc3QtYmxvY2snO1xuZXhwb3J0IHsgQ3VpSW5zdHJ1Y3Rpb25SZWFkb25seUluZm9Db21wb25lbnQgfSBmcm9tICcuL2luc3RydWN0aW9uLXJlYWRvbmx5LWluZm8nO1xuZXhwb3J0IHsgQ3VpQ3JpdGVyaW9uSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY3JpdGVyaW9uLWluZm8nO1xuZXhwb3J0IHsgQ3VpSW5zdHJ1Y3Rpb25JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi1pbmZvJztcbmV4cG9ydCB7IEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5leHBvcnQgeyBDdWlGcmFtZXJQcmV2aWV3Q29tcG9uZW50LCBDdWlJbWFnZVVybCB9IGZyb20gJy4vZnJhbWVyLXByZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnN0cnVjdGlvbi1pbmZvLWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5LW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vYXNzaWduZWUtcm9sZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzaWduZWUtcm9sZXMtdGFicyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWRpdmlkZWQtc2VjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWhlYWRlci1pbnNlcnRlZC1idXR0b25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtaW5mby10YWInO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1vcGVyYXRpb24tcGFydCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLXJlc291cmNlcy10YWInO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXItZHluYW1pYy1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlcy1ibG9jayc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxpdHktaW5mby1yZWFkb25seSc7XG5leHBvcnQgKiBmcm9tICcuL2luc2VydGVkJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zdHJ1Y3Rpb24tcmVhZG9ubHktaW5mbyc7XG4iXX0=
@@ -3,25 +3,23 @@ import { ChangeDetectionStrategy, Component, effect, inject, output, signal } fr
3
3
  import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
4
4
  import { CUI_WINDOW } from '@cuby-ui/cdk';
5
5
  import { CuiButtonModule, CuiContextMenuModule, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiLetterBoxComponent, CuiSvgModule } from '../../../components';
6
- import { CuiThemeService } from '../../../services';
7
6
  import { CuiActivityItemComponent } from './activity-item';
8
7
  import { CUI_ACTIVITY_SERVICE_TOKEN } from './user-action-context.option';
9
8
  import { CuiAuthService } from '../../../providers';
10
9
  import { CompanyItemComponent } from './company-item';
10
+ import { ButtonChangeThemeComponent } from "../button-change-theme";
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "../../../components/svg/svg.component";
13
13
  export class CuiUserActionContextMenuComponent {
14
14
  constructor() {
15
15
  this.translocoService = inject(TranslocoService);
16
16
  this.cuiWindow = inject(CUI_WINDOW);
17
- this.cuiThemeService = inject(CuiThemeService);
18
17
  this.cuiAuthService = inject(CuiAuthService);
19
18
  this.cuiActivityService = inject(CUI_ACTIVITY_SERVICE_TOKEN);
20
19
  this.authData = this.cuiAuthService.getAccessTokenData();
21
20
  this.langs = this.translocoService.getAvailableLangs();
22
21
  this.email = this.authData.email;
23
22
  this.fullName = this.authData.name;
24
- this.theme$ = this.cuiThemeService.asObservable();
25
23
  this.lang$ = this.translocoService.langChanges$;
26
24
  this.isOpen = signal(false);
27
25
  this.companies = this.cuiActivityService.companies;
@@ -38,9 +36,6 @@ export class CuiUserActionContextMenuComponent {
38
36
  onGoToPlatform() {
39
37
  this.cuiWindow.location.href = `${this.cuiWindow.location.origin}/${"cuby-platform" /* CuiApiUrl.Platform */}`;
40
38
  }
41
- onChangeTheme(theme) {
42
- this.cuiThemeService.next(theme);
43
- }
44
39
  onChangeLang(lang) {
45
40
  if (typeof lang === 'string') {
46
41
  this.translocoService.setActiveLang(lang);
@@ -62,7 +57,7 @@ export class CuiUserActionContextMenuComponent {
62
57
  });
63
58
  }
64
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", outputs: { currentActivityChange: "currentActivityChange" }, 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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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" }, { kind: "component", type: CompanyItemComponent, selector: "cui-company-item", inputs: ["company", "selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", outputs: { currentActivityChange: "currentActivityChange" }, ngImport: i0, template: "@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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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 <cui-button-change-theme />\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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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" }, { kind: "component", type: CompanyItemComponent, selector: "cui-company-item", inputs: ["company", "selected"] }, { kind: "component", type: ButtonChangeThemeComponent, selector: "cui-button-change-theme" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
61
  }
67
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
68
63
  type: Component,
@@ -77,7 +72,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
77
72
  CuiActivityItemComponent,
78
73
  AsyncPipe,
79
74
  CompanyItemComponent,
80
- CuiActivityItemComponent
81
- ], 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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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"] }]
75
+ CuiActivityItemComponent,
76
+ ButtonChangeThemeComponent,
77
+ ButtonChangeThemeComponent
78
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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 <cui-button-change-theme />\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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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"] }]
82
79
  }], ctorParameters: () => [] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF3QnRELE1B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LCtMQUNsQixZQUFZLHdLQUNaLG9CQUFvQixvSkFDcEIsMkJBQTJCLDBHQUMzQixxQkFBcUIsa0hBQ3JCLGVBQWUsOEJBQ2Ysb0JBQW9CLCtCQUNwQix3QkFBd0IsNEZBQ3hCLFNBQVMsOENBQ1Qsb0JBQW9COzs0RkFPZixpQ0FBaUM7a0JBcEI3QyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1A7d0JBQ0wsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQix3QkFBd0I7cUJBQzNCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ0RlZmluaXRpb24sIFRyYW5zbG9jb0RpcmVjdGl2ZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBDVUlfV0lORE9XIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUFwaVVybCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmltcG9ydCB7XG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudCxcbiAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgQ3VpU3ZnTW9kdWxlXG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBDdWlFeGNoYW5nZVRva2VuU2Vzc2lvbiwgQ3VpVGhlbWUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdWlBY3Rpdml0eUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjdGl2aXR5LWl0ZW0nO1xuaW1wb3J0IHsgQ1VJX0FDVElWSVRZX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuL3VzZXItYWN0aW9uLWNvbnRleHQub3B0aW9uJztcbmltcG9ydCB7IEN1aUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzJztcbmltcG9ydCB7IENvbXBhbnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYW55LWl0ZW0nO1xuaW1wb3J0IHsgQ3VpVXNlckNvbXBhbnlBY3Rpdml0eSB9IGZyb20gJ0BjdWJ5LXVpL2FwaS9wbGF0Zm9ybS9tb2RlbHMvdXNlci1jb21wYW55LWFwaS5vcHRpb25zJztcbmltcG9ydCB7IEN1aUFjdGl2aXR5SW1wbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktdXNlci1hY3Rpb24tY29udGV4dC1tZW51JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlTdmdNb2R1bGUsXG4gICAgICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcm9wZG93bldyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIEN1aUxldHRlckJveENvbXBvbmVudCxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpQWN0aXZpdHlJdGVtQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIENvbXBhbnlJdGVtQ29tcG9uZW50LFxuICAgICAgICBDdWlBY3Rpdml0eUl0ZW1Db21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aVVzZXJBY3Rpb25Db250ZXh0TWVudUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpV2luZG93ID0gaW5qZWN0KENVSV9XSU5ET1cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpVGhlbWVTZXJ2aWNlID0gaW5qZWN0KEN1aVRoZW1lU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlBdXRoU2VydmljZSA9IGluamVjdChDdWlBdXRoU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlBY3Rpdml0eVNlcnZpY2UgPSBpbmplY3QoQ1VJX0FDVElWSVRZX1NFUlZJQ0VfVE9LRU4pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoRGF0YSA9IHRoaXMuY3VpQXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW5EYXRhPEN1aUV4Y2hhbmdlVG9rZW5TZXNzaW9uPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhbmdzID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmdzKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVtYWlsID0gdGhpcy5hdXRoRGF0YS5lbWFpbDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnVsbE5hbWUgPSB0aGlzLmF1dGhEYXRhLm5hbWU7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGhlbWUkID0gdGhpcy5jdWlUaGVtZVNlcnZpY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhbmckID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmxhbmdDaGFuZ2VzJDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wYW5pZXMgPSB0aGlzLmN1aUFjdGl2aXR5U2VydmljZS5jb21wYW5pZXM7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudEFjdGl2aXR5Q2hhbmdlID0gb3V0cHV0PEN1aVVzZXJDb21wYW55QWN0aXZpdHkgfCBudWxsPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmluaXRBY3Rpdml0eURhdGEoKTtcbiAgICAgICAgdGhpcy5maW5kQ3VycmVudEFjdGl2aXR5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1aUF1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvZ2dsZU9wZW5TdGF0ZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChvcGVuKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Hb1RvUGxhdGZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpV2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmN1aVdpbmRvdy5sb2NhdGlvbi5vcmlnaW59LyR7Q3VpQXBpVXJsLlBsYXRmb3JtfWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlVGhlbWUodGhlbWU6IEN1aVRoZW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpVGhlbWVTZXJ2aWNlLm5leHQodGhlbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZUxhbmcobGFuZzogc3RyaW5nIHwgTGFuZ0RlZmluaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcobGFuZyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS5zZXRBY3RpdmVMYW5nKGxhbmcubGFiZWwpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaW5kQ3VycmVudEFjdGl2aXR5KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcGFuaWVzID0gdGhpcy5jb21wYW5pZXMoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY29tcGFueSBvZiBjb21wYW5pZXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFjdGl2aXR5IG9mIGNvbXBhbnkuY29udGV4dHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmNoZWNrSXNDdXJyZW50QWN0aXZpdHkoYWN0aXZpdHkuYWN0aXZpdHlJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRBY3Rpdml0eUNoYW5nZS5lbWl0KGFjdGl2aXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5Q2hhbmdlLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgY3VycmVudFRoZW1lID0gdGhlbWUkIHwgYXN5bmM7XG5AbGV0IGN1cnJlbnRMYW5nID0gbGFuZyQgfCBhc3luYztcblxuPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbY3VpRHJvcGRvd25dPVwiY29udGVudFwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0XCJcbiAgICAgICAgKGlzT3BlbmVkKT1cIm9uVG9nZ2xlT3BlblN0YXRlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgQGlmIChpc09wZW4oKSkge1xuICAgICAgICAgICAgPGN1aS1kcm9wZG93bi13cmFwcGVyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIzMDBweFwiXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PVwiNTAwcHhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgI2Ryb3Bkb3duQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid3JhcHBlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2stbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWxldHRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xldHRlcl09XCJmdWxsTmFtZVswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInN1YnRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3cmFwcGVyLXBsYXRmb3JtIGJsb2NrLXBsYXRmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkdvVG9QbGF0Zm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbkxvZ29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtOTAwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57eyB0KCdDVUJZX1BMQVRGT1JNJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbXBhbnkgb2YgY29tcGFuaWVzKCk7IHRyYWNrIGNvbXBhbnkuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWNvbXBhbnktaXRlbSBbY29tcGFueV09XCJjb21wYW55XCIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWFjdGl2aXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGFjdGl2aXR5IG9mIGNvbXBhbnkuY29udGV4dHM7IHRyYWNrIGFjdGl2aXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWFjdGl2aXR5LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGl2aXR5LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpdml0eV09XCJhY3Rpdml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhbnlJZF09XCJjb21wYW55LmNvbXBhbnlJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlLXRleHRcIj57eyB0KCdZT1VfRE9OVF9IQVZFX0FDVElWSVRZX0lOX1RISVNfQ09NUEFOWScpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlLXRleHRcIj57eyB0KCdZT1VfRE9OVF9IQVZFX0NPTVBBTlknKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnIGljb249XCJjdWlJY29uUGFsZXR0ZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1NXSVRDSF9USEVNRScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtc3ViLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zdWItYnV0dG9uX19zZWxlY3RdPVwiY3VycmVudFRoZW1lID09PSAnZGFyaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lci1zdWItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbk1vb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVRoZW1lKCdkYXJrJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zdWItYnV0dG9uX19zZWxlY3RdPVwiY3VycmVudFRoZW1lID09PSAnbGlnaHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25TdW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVRoZW1lKCdsaWdodCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnIGljb249XCJjdWlJY29uR2xvYmVTbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWFuZC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0KCdMQU5HVUFHRScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtc3ViLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxhbmcgb2YgbGFuZ3M7IHRyYWNrIGxhbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zdWItYnV0dG9uX19zZWxlY3RdPVwiY3VycmVudExhbmcgPT09IGxhbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VMYW5nKGxhbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFuZyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvdXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnIGljb249XCJjdWlJY29uTG9nT3V0U21cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1hbmQtc3ViLWJ1dHRvblwiPnt7IHQoJ0xPR19PVVQnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9jdWktZHJvcGRvd24td3JhcHBlcj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQXdCcEUs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Y0FDNUIsSUFBSSxXQUNQO3dCQUNMLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDN0IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYW5nRGVmaW5pdGlvbiwgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IENVSV9XSU5ET1cgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpQXBpVXJsIH0gZnJvbSAnQGN1YnktdWkvYXBpJztcblxuaW1wb3J0IHtcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgQ3VpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgIEN1aUxldHRlckJveENvbXBvbmVudCxcbiAgICBDdWlTdmdNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1aUV4Y2hhbmdlVG9rZW5TZXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ3VpQWN0aXZpdHlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpdml0eS1pdGVtJztcbmltcG9ydCB7IENVSV9BQ1RJVklUWV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi91c2VyLWFjdGlvbi1jb250ZXh0Lm9wdGlvbic7XG5pbXBvcnQgeyBDdWlBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyBDb21wYW55SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcGFueS1pdGVtJztcbmltcG9ydCB7IEN1aVVzZXJDb21wYW55QWN0aXZpdHkgfSBmcm9tICdAY3VieS11aS9hcGkvcGxhdGZvcm0vbW9kZWxzL3VzZXItY29tcGFueS1hcGkub3B0aW9ucyc7XG5pbXBvcnQgeyBCdXR0b25DaGFuZ2VUaGVtZUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tY2hhbmdlLXRoZW1lXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXVzZXItYWN0aW9uLWNvbnRleHQtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBDb21wYW55SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQWN0aXZpdHlJdGVtQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25DaGFuZ2VUaGVtZUNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ2hhbmdlVGhlbWVDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aVVzZXJBY3Rpb25Db250ZXh0TWVudUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpV2luZG93ID0gaW5qZWN0KENVSV9XSU5ET1cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQXV0aFNlcnZpY2UgPSBpbmplY3QoQ3VpQXV0aFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQWN0aXZpdHlTZXJ2aWNlID0gaW5qZWN0KENVSV9BQ1RJVklUWV9TRVJWSUNFX1RPS0VOKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aERhdGEgPSB0aGlzLmN1aUF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuRGF0YTxDdWlFeGNoYW5nZVRva2VuU2Vzc2lvbj4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYW5ncyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBdmFpbGFibGVMYW5ncygpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbWFpbCA9IHRoaXMuYXV0aERhdGEuZW1haWw7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZ1bGxOYW1lID0gdGhpcy5hdXRoRGF0YS5uYW1lO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhbmckID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmxhbmdDaGFuZ2VzJDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wYW5pZXMgPSB0aGlzLmN1aUFjdGl2aXR5U2VydmljZS5jb21wYW5pZXM7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudEFjdGl2aXR5Q2hhbmdlID0gb3V0cHV0PEN1aVVzZXJDb21wYW55QWN0aXZpdHkgfCBudWxsPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmluaXRBY3Rpdml0eURhdGEoKTtcbiAgICAgICAgdGhpcy5maW5kQ3VycmVudEFjdGl2aXR5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1aUF1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvZ2dsZU9wZW5TdGF0ZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChvcGVuKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Hb1RvUGxhdGZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpV2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmN1aVdpbmRvdy5sb2NhdGlvbi5vcmlnaW59LyR7Q3VpQXBpVXJsLlBsYXRmb3JtfWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlTGFuZyhsYW5nOiBzdHJpbmcgfCBMYW5nRGVmaW5pdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGxhbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhsYW5nKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcobGFuZy5sYWJlbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRDdXJyZW50QWN0aXZpdHkoKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wYW5pZXMgPSB0aGlzLmNvbXBhbmllcygpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjb21wYW55IG9mIGNvbXBhbmllcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYWN0aXZpdHkgb2YgY29tcGFueS5jb250ZXh0cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jdWlBY3Rpdml0eVNlcnZpY2UuY2hlY2tJc0N1cnJlbnRBY3Rpdml0eShhY3Rpdml0eS5hY3Rpdml0eUlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEFjdGl2aXR5Q2hhbmdlLmVtaXQoYWN0aXZpdHkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZpdHlDaGFuZ2UuZW1pdChudWxsKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBjdXJyZW50TGFuZyA9IGxhbmckIHwgYXN5bmM7XG5cbjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2N1aURyb3Bkb3duXT1cImNvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInNlbGVjdFwiXG4gICAgICAgIChpc09wZW5lZCk9XCJvblRvZ2dsZU9wZW5TdGF0ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIDxjdWktZHJvcGRvd24td3JhcHBlclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzAwcHhcIlxuICAgICAgICAgICAgICAgIG1heEhlaWdodD1cIjUwMHB4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICNkcm9wZG93bkNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1sZXR0ZXItYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZXR0ZXJdPVwiZnVsbE5hbWVbMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hhcGVdPVwiJ3JvdW5kZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRpdGxlLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzdWJ0aXRsZS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid3JhcHBlci1wbGF0Zm9ybSBibG9jay1wbGF0Zm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Hb1RvUGxhdGZvcm0oKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Mb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTkwMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgdCgnQ1VCWV9QTEFURk9STScpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1jb21wYW55XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChjb21wYW55IG9mIGNvbXBhbmllcygpOyB0cmFjayBjb21wYW55LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1jb21wYW55LWl0ZW0gW2NvbXBhbnldPVwiY29tcGFueVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1hY3Rpdml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChhY3Rpdml0eSBvZiBjb21wYW55LmNvbnRleHRzOyB0cmFjayBhY3Rpdml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1hY3Rpdml0eS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpdml0eS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZpdHldPVwiYWN0aXZpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wYW55SWRdPVwiY29tcGFueS5jb21wYW55SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10aXRsZS10ZXh0XCI+e3sgdCgnWU9VX0RPTlRfSEFWRV9BQ1RJVklUWV9JTl9USElTX0NPTVBBTlknKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10aXRsZS10ZXh0XCI+e3sgdCgnWU9VX0RPTlRfSEFWRV9DT01QQU5ZJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1idXR0b24tY2hhbmdlLXRoZW1lIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25HbG9iZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ0xBTkdVQUdFJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1zdWItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGFuZyBvZiBsYW5nczsgdHJhY2sgbGFuZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29udGFpbmVyLXN1Yi1idXR0b25fX3NlbGVjdF09XCJjdXJyZW50TGFuZyA9PT0gbGFuZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lci1zdWItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZUxhbmcobGFuZylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsYW5nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ291dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25Mb2dPdXRTbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWFuZC1zdWItYnV0dG9uXCI+e3sgdCgnTE9HX09VVCcpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2N1aS1kcm9wZG93bi13cmFwcGVyPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -10490,18 +10490,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
10490
10490
  }, template: "<div\n class=\"title-company\"\n (click)=\"onGoToCompany()\"\n [cuiTooltip]=\"company().name\"\n>\n <button\n type=\"button\"\n class=\"company-button\"\n >\n <cui-letter-box\n [letter]=\"company().name[0]\"\n [backgroundColor]=\"'var(--cui-orange-500)'\"\n size=\"md\"\n />\n <div class=\"text\">\n <span class=\"title\">{{ company().name }}</span>\n <span class=\"sub-title\">{{ 'COMPANY' | transloco }}</span>\n </div>\n </button>\n\n @if (isSelected()) {\n <div class=\"icon-wrapper\">\n <cui-svg\n [icon]=\"'cuiIconCheck'\"\n color=\"var(--cui-info)\"\n />\n </div>\n }\n</div>\n", styles: [":host(.selected){background:var(--cui-badge-blue-bg);border-radius:8px}.title-company{display:flex;justify-content:space-between}.title-company:hover{width:100%;border-radius:8px;background-color:var(--cui-badge-light-blue-bg)}.company-button{display:flex;gap:8px;align-items:center;padding-left:4px;height:36px;color:var(--cui-base-900)}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px}.title{display:flex;flex-direction:column;font-weight:500;font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cui-base-900);align-items:flex-start}.sub-title{font-weight:400;font-size:12px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cui-base-400)}.text{display:flex;flex-direction:column;align-items:flex-start}\n"] }]
10491
10491
  }] });
10492
10492
 
10493
+ class ButtonChangeThemeComponent {
10494
+ constructor() {
10495
+ this.cuiThemeService = inject(CuiThemeService);
10496
+ this.theme$ = this.cuiThemeService.asObservable();
10497
+ }
10498
+ onChangeTheme(theme) {
10499
+ this.cuiThemeService.next(theme);
10500
+ }
10501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonChangeThemeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10502
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonChangeThemeComponent, isStandalone: true, selector: "cui-button-change-theme", ngImport: i0, template: "@let currentTheme = theme$ | async;\n\n<ng-container *transloco=\"let t\">\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.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.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</ng-container>\n", styles: [".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%}.group-sub-button{display:flex;gap:4px}.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}.button-select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"], dependencies: [{ kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
10503
+ }
10504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonChangeThemeComponent, decorators: [{
10505
+ type: Component,
10506
+ args: [{ selector: 'cui-button-change-theme', standalone: true, imports: [
10507
+ CuiSvgModule,
10508
+ AsyncPipe,
10509
+ TranslocoDirective
10510
+ ], template: "@let currentTheme = theme$ | async;\n\n<ng-container *transloco=\"let t\">\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.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.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</ng-container>\n", styles: [".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%}.group-sub-button{display:flex;gap:4px}.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}.button-select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"] }]
10511
+ }] });
10512
+
10493
10513
  class CuiUserActionContextMenuComponent {
10494
10514
  constructor() {
10495
10515
  this.translocoService = inject(TranslocoService);
10496
10516
  this.cuiWindow = inject(CUI_WINDOW);
10497
- this.cuiThemeService = inject(CuiThemeService);
10498
10517
  this.cuiAuthService = inject(CuiAuthService);
10499
10518
  this.cuiActivityService = inject(CUI_ACTIVITY_SERVICE_TOKEN);
10500
10519
  this.authData = this.cuiAuthService.getAccessTokenData();
10501
10520
  this.langs = this.translocoService.getAvailableLangs();
10502
10521
  this.email = this.authData.email;
10503
10522
  this.fullName = this.authData.name;
10504
- this.theme$ = this.cuiThemeService.asObservable();
10505
10523
  this.lang$ = this.translocoService.langChanges$;
10506
10524
  this.isOpen = signal(false);
10507
10525
  this.companies = this.cuiActivityService.companies;
@@ -10518,9 +10536,6 @@ class CuiUserActionContextMenuComponent {
10518
10536
  onGoToPlatform() {
10519
10537
  this.cuiWindow.location.href = `${this.cuiWindow.location.origin}/${"cuby-platform" /* CuiApiUrl.Platform */}`;
10520
10538
  }
10521
- onChangeTheme(theme) {
10522
- this.cuiThemeService.next(theme);
10523
- }
10524
10539
  onChangeLang(lang) {
10525
10540
  if (typeof lang === 'string') {
10526
10541
  this.translocoService.setActiveLang(lang);
@@ -10542,7 +10557,7 @@ class CuiUserActionContextMenuComponent {
10542
10557
  });
10543
10558
  }
10544
10559
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10545
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", outputs: { currentActivityChange: "currentActivityChange" }, 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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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" }, { kind: "component", type: CompanyItemComponent, selector: "cui-company-item", inputs: ["company", "selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", outputs: { currentActivityChange: "currentActivityChange" }, ngImport: i0, template: "@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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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 <cui-button-change-theme />\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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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" }, { kind: "component", type: CompanyItemComponent, selector: "cui-company-item", inputs: ["company", "selected"] }, { kind: "component", type: ButtonChangeThemeComponent, selector: "cui-button-change-theme" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10546
10561
  }
10547
10562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
10548
10563
  type: Component,
@@ -10557,8 +10572,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
10557
10572
  CuiActivityItemComponent,
10558
10573
  AsyncPipe,
10559
10574
  CompanyItemComponent,
10560
- CuiActivityItemComponent
10561
- ], 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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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"] }]
10575
+ CuiActivityItemComponent,
10576
+ ButtonChangeThemeComponent,
10577
+ ButtonChangeThemeComponent
10578
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@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\n width=\"300px\"\n maxHeight=\"500px\"\n >\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 {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper-platform block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <cui-company-item [company]=\"company\" />\n\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]=\"company.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 <cui-button-change-theme />\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\n type=\"button\"\n (click)=\"onLogout()\"\n >\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}.wrapper-platform{padding:8px 16px;margin-top:4px}.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)}.list-company{display:flex;flex-direction:column;padding:8px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding-top:4px;padding-bottom:4px;border-bottom:solid 1px var(--cui-base-200);margin-bottom:4px}.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}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg);border-radius:8px}.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"] }]
10562
10579
  }], ctorParameters: () => [] });
10563
10580
 
10564
10581
  class AssigneeRoleItemComponent {