@testgorilla/tgo-ui 2.21.9 → 2.21.10

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.
@@ -1,26 +1,24 @@
1
- import { OnChanges, OnDestroy, TemplateRef } from '@angular/core';
2
- import { TabsComponent } from "./tabs.component";
1
+ import { OnInit } from '@angular/core';
3
2
  import { IconName } from '../icon/icon.model';
4
3
  import { Tab } from './tabs.model';
5
4
  import * as i0 from "@angular/core";
6
- export declare class TabDirective implements OnChanges, OnDestroy {
7
- private tabsComponent;
8
- private template;
9
- tabLabel: string;
10
- tabName: string;
11
- iconLeft: IconName;
12
- iconRight: IconName;
13
- disabled: boolean;
14
- canLeave?: (ctx?: {
5
+ export declare class TabDirective implements OnInit {
6
+ tabLabel: import("@angular/core").InputSignal<string>;
7
+ tabName: import("@angular/core").InputSignal<string>;
8
+ iconLeft: import("@angular/core").InputSignal<IconName | undefined>;
9
+ iconRight: import("@angular/core").InputSignal<IconName | undefined>;
10
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, string>;
11
+ canLeave: import("@angular/core").InputSignal<((ctx?: {
15
12
  currentTab: Tab;
16
13
  nextTab: Tab;
17
- }) => boolean | Promise<boolean>;
18
- linkUrl?: string;
19
- constructor(tabsComponent: TabsComponent, template: TemplateRef<any>);
20
- ngOnChanges(): void;
14
+ }) => boolean | Promise<boolean>) | undefined>;
15
+ linkUrl: import("@angular/core").InputSignal<string | undefined>;
16
+ private tabsComponent;
17
+ private template;
18
+ private syncProps;
19
+ private cleanup;
20
+ ngOnInit(): void;
21
21
  private addTab;
22
- ngOnDestroy(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<TabDirective, [{ host: true; }, null]>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<TabDirective, "[uiTab]", never, { "tabLabel": { "alias": "tabLabel"; "required": true; }; "tabName": { "alias": "tabName"; "required": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; }; "iconRight": { "alias": "iconRight"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "canLeave": { "alias": "canLeave"; "required": false; }; "linkUrl": { "alias": "linkUrl"; "required": false; }; }, {}, never, never, false, never>;
25
- static ngAcceptInputType_disabled: unknown;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabDirective, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TabDirective, "ng-template[uiTab]", never, { "tabLabel": { "alias": "tabLabel"; "required": true; "isSignal": true; }; "tabName": { "alias": "tabName"; "required": true; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "iconRight": { "alias": "iconRight"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "canLeave": { "alias": "canLeave"; "required": false; "isSignal": true; }; "linkUrl": { "alias": "linkUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
24
  }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { Tab, TabsType } from "./tabs.model";
3
- import { ApplicationTheme } from "../../models/application-theme.model";
2
+ import { Tab, TabsType } from './tabs.model';
3
+ import { ApplicationTheme } from '../../models/application-theme.model';
4
4
  import { Observable } from 'rxjs';
5
5
  import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';
6
6
  import * as i0 from "@angular/core";
@@ -65,6 +65,7 @@ export declare class TabsComponent {
65
65
  indexOf(tabName: string): number;
66
66
  trackByTabName(index: number, tab: Tab): string;
67
67
  removeTab(tabName: string): void;
68
+ updateTab(tabName: string, tab: Partial<Omit<Tab, 'tabName'>>): void;
68
69
  static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, [{ optional: true; }, null]>;
69
70
  static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "ui-tabs", never, { "companyColor": { "alias": "companyColor"; "required": false; }; "type": { "alias": "type"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "headerContentPadding": { "alias": "headerContentPadding"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, { "selectedTabIndex": "selectedTabIndex"; "selectedTab": "selectedTab"; }, never, never, false, never>;
70
71
  static ngAcceptInputType_headerContentPadding: number;
@@ -6,6 +6,6 @@ import * as i4 from "@angular/material/tabs";
6
6
  import * as i5 from "../icon/icon.component.module";
7
7
  export declare class TabsComponentModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponentModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<TabsComponentModule, [typeof i1.TabsComponent, typeof i2.TabDirective], [typeof i3.CommonModule, typeof i4.MatTabsModule, typeof i5.IconComponentModule], [typeof i1.TabsComponent, typeof i2.TabDirective]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TabsComponentModule, [typeof i1.TabsComponent], [typeof i2.TabDirective, typeof i3.CommonModule, typeof i4.MatTabsModule, typeof i5.IconComponentModule], [typeof i1.TabsComponent, typeof i2.TabDirective]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<TabsComponentModule>;
11
11
  }
@@ -1,55 +1,54 @@
1
- import { booleanAttribute, Directive, Host, Input } from '@angular/core';
1
+ import { booleanAttribute, DestroyRef, Directive, effect, inject, input, TemplateRef } from '@angular/core';
2
+ import { TabsComponent } from './tabs.component';
2
3
  import * as i0 from "@angular/core";
3
- import * as i1 from "./tabs.component";
4
4
  export class TabDirective {
5
- constructor(tabsComponent, template) {
6
- this.tabsComponent = tabsComponent;
7
- this.template = template;
5
+ constructor() {
6
+ this.tabLabel = input.required();
7
+ this.tabName = input.required();
8
+ this.iconLeft = input();
9
+ this.iconRight = input();
10
+ this.disabled = input(false, { transform: booleanAttribute });
11
+ this.canLeave = input();
12
+ this.linkUrl = input();
13
+ this.tabsComponent = inject(TabsComponent);
14
+ this.template = inject(TemplateRef);
15
+ this.syncProps = effect(() => {
16
+ this.tabsComponent.updateTab(this.tabName(), {
17
+ tabLabel: this.tabLabel(),
18
+ iconLeft: this.iconLeft(),
19
+ iconRight: this.iconRight(),
20
+ disabled: this.disabled(),
21
+ canLeave: this.canLeave(),
22
+ linkUrl: this.linkUrl(),
23
+ });
24
+ });
25
+ this.cleanup = inject(DestroyRef).onDestroy(() => {
26
+ this.tabsComponent.removeTab(this.tabName());
27
+ });
8
28
  }
9
- ngOnChanges() {
29
+ ngOnInit() {
10
30
  this.addTab();
11
31
  }
12
32
  addTab() {
13
33
  this.tabsComponent.addTab({
14
- tabLabel: this.tabLabel,
15
- tabName: this.tabName,
16
- iconLeft: this.iconLeft,
17
- iconRight: this.iconRight,
18
- disabled: this.disabled,
34
+ tabLabel: this.tabLabel(),
35
+ tabName: this.tabName(),
36
+ iconLeft: this.iconLeft(),
37
+ iconRight: this.iconRight(),
38
+ disabled: this.disabled(),
19
39
  contentTemplateRef: this.template,
20
- canLeave: this.canLeave,
21
- linkUrl: this.linkUrl,
40
+ canLeave: this.canLeave(),
41
+ linkUrl: this.linkUrl(),
22
42
  });
23
43
  }
24
- ngOnDestroy() {
25
- this.tabsComponent.removeTab(this.tabName);
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, deps: [{ token: i1.TabsComponent, host: true }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: TabDirective, selector: "[uiTab]", inputs: { tabLabel: "tabLabel", tabName: "tabName", iconLeft: "iconLeft", iconRight: "iconRight", disabled: ["disabled", "disabled", booleanAttribute], canLeave: "canLeave", linkUrl: "linkUrl" }, usesOnChanges: true, ngImport: i0 }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: TabDirective, isStandalone: true, selector: "ng-template[uiTab]", inputs: { tabLabel: { classPropertyName: "tabLabel", publicName: "tabLabel", isSignal: true, isRequired: true, transformFunction: null }, tabName: { classPropertyName: "tabName", publicName: "tabName", isSignal: true, isRequired: true, transformFunction: null }, iconLeft: { classPropertyName: "iconLeft", publicName: "iconLeft", isSignal: true, isRequired: false, transformFunction: null }, iconRight: { classPropertyName: "iconRight", publicName: "iconRight", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, canLeave: { classPropertyName: "canLeave", publicName: "canLeave", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
29
46
  }
30
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, decorators: [{
31
48
  type: Directive,
32
49
  args: [{
33
- selector: '[uiTab]'
50
+ standalone: true,
51
+ selector: 'ng-template[uiTab]',
34
52
  }]
35
- }], ctorParameters: () => [{ type: i1.TabsComponent, decorators: [{
36
- type: Host
37
- }] }, { type: i0.TemplateRef }], propDecorators: { tabLabel: [{
38
- type: Input,
39
- args: [{ required: true }]
40
- }], tabName: [{
41
- type: Input,
42
- args: [{ required: true }]
43
- }], iconLeft: [{
44
- type: Input
45
- }], iconRight: [{
46
- type: Input
47
- }], disabled: [{
48
- type: Input,
49
- args: [{ transform: booleanAttribute }]
50
- }], canLeave: [{
51
- type: Input
52
- }], linkUrl: [{
53
- type: Input
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy90YWJzL3RhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFxQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUTVHLE1BQU0sT0FBTyxZQUFZO0lBU3ZCLFlBQ2tCLGFBQTRCLEVBQ3BDLFFBQTBCO1FBRGxCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBRXBDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBbENVLFlBQVk7bUdBQVosWUFBWSw0SkFLSCxnQkFBZ0I7OzRGQUx6QixZQUFZO2tCQUh4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO2lCQUNwQjs7MEJBV0ksSUFBSTttRUFUb0IsUUFBUTtzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tIFwiLi90YWJzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgVGFiIH0gZnJvbSAnLi90YWJzLm1vZGVsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3VpVGFiXSdcbn0pXG5leHBvcnQgY2xhc3MgVGFiRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25MZWZ0OiBJY29uTmFtZTtcbiAgQElucHV0KCkgaWNvblJpZ2h0OiBJY29uTmFtZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5MZWF2ZT86IChjdHg/OiB7Y3VycmVudFRhYjogVGFiLCBuZXh0VGFiOiBUYWJ9KSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcbiAgQElucHV0KCkgbGlua1VybD86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASG9zdCgpIHByaXZhdGUgdGFic0NvbXBvbmVudDogVGFic0NvbXBvbmVudCxcbiAgICBwcml2YXRlIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICApIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkVGFiKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFRhYigpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnNDb21wb25lbnQuYWRkVGFiKHtcbiAgICAgIHRhYkxhYmVsOiB0aGlzLnRhYkxhYmVsLFxuICAgICAgdGFiTmFtZTogdGhpcy50YWJOYW1lLFxuICAgICAgaWNvbkxlZnQ6IHRoaXMuaWNvbkxlZnQsXG4gICAgICBpY29uUmlnaHQ6IHRoaXMuaWNvblJpZ2h0LFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICBjb250ZW50VGVtcGxhdGVSZWY6IHRoaXMudGVtcGxhdGUsXG4gICAgICBjYW5MZWF2ZTogdGhpcy5jYW5MZWF2ZSxcbiAgICAgIGxpbmtVcmw6IHRoaXMubGlua1VybCxcbiAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJzQ29tcG9uZW50LnJlbW92ZVRhYih0aGlzLnRhYk5hbWUpO1xuICB9XG59XG4iXX0=
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy90YWJzL3RhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLFlBQVk7SUFKekI7UUFLRSxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssRUFBWSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxLQUFLLEVBQVksQ0FBQztRQUM5QixhQUFRLEdBQUcsS0FBSyxDQUFrQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGFBQVEsR0FBRyxLQUFLLEVBQTJFLENBQUM7UUFDNUYsWUFBTyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0IsY0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUMzQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO2FBQ3hCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUssWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0tBa0JKO0lBaEJDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFDVSxZQUFZO21HQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYiB9IGZyb20gJy4vdGFicy5tb2RlbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3VpVGFiXScsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHRhYkxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICB0YWJOYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBpY29uTGVmdCA9IGlucHV0PEljb25OYW1lPigpO1xuICBpY29uUmlnaHQgPSBpbnB1dDxJY29uTmFtZT4oKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBzdHJpbmc+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgY2FuTGVhdmUgPSBpbnB1dDwoY3R4PzogeyBjdXJyZW50VGFiOiBUYWI7IG5leHRUYWI6IFRhYiB9KSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj4oKTtcbiAgbGlua1VybCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwcml2YXRlIHRhYnNDb21wb25lbnQgPSBpbmplY3QoVGFic0NvbXBvbmVudCk7XG4gIHByaXZhdGUgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuXG4gIHByaXZhdGUgc3luY1Byb3BzID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnRhYnNDb21wb25lbnQudXBkYXRlVGFiKHRoaXMudGFiTmFtZSgpLCB7XG4gICAgICB0YWJMYWJlbDogdGhpcy50YWJMYWJlbCgpLFxuICAgICAgaWNvbkxlZnQ6IHRoaXMuaWNvbkxlZnQoKSxcbiAgICAgIGljb25SaWdodDogdGhpcy5pY29uUmlnaHQoKSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkKCksXG4gICAgICBjYW5MZWF2ZTogdGhpcy5jYW5MZWF2ZSgpLFxuICAgICAgbGlua1VybDogdGhpcy5saW5rVXJsKCksXG4gICAgfSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY2xlYW51cCA9IGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgIHRoaXMudGFic0NvbXBvbmVudC5yZW1vdmVUYWIodGhpcy50YWJOYW1lKCkpO1xuICB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFRhYigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUYWIoKTogdm9pZCB7XG4gICAgdGhpcy50YWJzQ29tcG9uZW50LmFkZFRhYih7XG4gICAgICB0YWJMYWJlbDogdGhpcy50YWJMYWJlbCgpLFxuICAgICAgdGFiTmFtZTogdGhpcy50YWJOYW1lKCksXG4gICAgICBpY29uTGVmdDogdGhpcy5pY29uTGVmdCgpLFxuICAgICAgaWNvblJpZ2h0OiB0aGlzLmljb25SaWdodCgpLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSxcbiAgICAgIGNvbnRlbnRUZW1wbGF0ZVJlZjogdGhpcy50ZW1wbGF0ZSxcbiAgICAgIGNhbkxlYXZlOiB0aGlzLmNhbkxlYXZlKCksXG4gICAgICBsaW5rVXJsOiB0aGlzLmxpbmtVcmwoKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -107,7 +107,7 @@ export class TabsComponent {
107
107
  }
108
108
  addTab(tab) {
109
109
  this.tabs.push(tab);
110
- this.tabs.forEach((v, index) => this.tabIndexMap[v.tabName] = index);
110
+ this.tabs.forEach((v, index) => (this.tabIndexMap[v.tabName] = index));
111
111
  }
112
112
  onTabChange(ev) {
113
113
  const selectedTab = this.tabs[ev.index];
@@ -134,7 +134,13 @@ export class TabsComponent {
134
134
  if (index !== undefined) {
135
135
  this.tabs.splice(index, 1);
136
136
  delete this.tabIndexMap[tabName];
137
- this.tabs.forEach((v, index) => this.tabIndexMap[v.tabName] = index);
137
+ this.tabs.forEach((v, index) => (this.tabIndexMap[v.tabName] = index));
138
+ }
139
+ }
140
+ updateTab(tabName, tab) {
141
+ const index = this.tabIndexMap[tabName];
142
+ if (index !== undefined) {
143
+ this.tabs[index] = { ...this.tabs[index], ...tab };
138
144
  }
139
145
  }
140
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -179,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
179
185
  type: ViewChild,
180
186
  args: ['tabGroup', { static: true }]
181
187
  }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU9yRSxNQUFNLE9BQU8sYUFBYTtJQThEeEIsWUFDNkUsZUFBaUMsRUFDaEUsU0FBOEI7UUFEQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDaEUsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUEvRDVFOzs7Ozs7V0FNRztRQUVNLGlCQUFZLEdBQWtCLFNBQVMsQ0FBQztRQUNqRDs7Ozs7O1dBTUc7UUFDTSxTQUFJLEdBQWEsWUFBWSxDQUFDO1FBRXZDOzs7OztXQUtHO1FBQ00sc0JBQWlCLEdBQUcsR0FBRyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBR0gseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBRTlCOzs7O1dBSUc7UUFDbUMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFM0Q7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGdCQUFXLEdBQUcs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QkFBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRTtnQkFRdkIsYUFBYTtzQkFBbEQsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFTM0IsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYiwgVGFic1R5cGUgfSBmcm9tIFwiLi90YWJzLm1vZGVsXCI7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbFwiO1xuaW1wb3J0IHsgSVNfTU9CSUxFX1RPS0VOIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2lzLW1vYmlsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRUYWIsIE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgRU5URVIsIGhhc01vZGlmaWVyS2V5LCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBUYWJzLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1jb2xvcicpXG4gIEBJbnB1dCgpIGNvbXBhbnlDb2xvcjogc3RyaW5nIHwgbnVsbCA9ICcjNDZBOTk3JztcbiAgLyoqXG4gICAqIFR5cGUgdGhlIFRhYnMuXG4gICAqIERlZmF1bHRzIHVuZGVybGluZWQuXG4gICAqXG4gICAqIEB0eXBlIHtUYWJzVHlwZX1cbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IFRhYnNUeXBlID0gJ3VuZGVybGluZWQnO1xuXG4gIC8qKlxuICAgKiBBbmltYXRpb24gZHVyYXRpb24gd2hlbiBzd2l0Y2hpbmcgdGFic1xuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYW5pbWF0aW9uRHVyYXRpb24gPSAzMDA7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhZGRpbmcgZm9yIGNvbnRlbnQgYW5kIGhlYWRlclxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWhlYWRlci1jb250ZW50LXBhZGRpbmcnKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogbnVtYmVyKTogc3RyaW5nID0+IHZhbHVlICsgJ3B4JyB9KVxuICBoZWFkZXJDb250ZW50UGFkZGluZyA9ICczMnB4JztcblxuICAvKipcbiAgICogU2V0cyB0aGUgZHluYW1pYyBoZWlnaHQgb2YgdGhlIHRhYlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZHluYW1pY0hlaWdodCA9IHRydWU7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkVGFiSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkVGFiID0gbmV3IEV2ZW50RW1pdHRlcjxUYWI+KCk7XG5cbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG5cbiAgcHJvdGVjdGVkIHRhYnM6IFRhYltdID0gW107XG4gIHJlYWRvbmx5IHRhYkluZGV4ID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgdGFiSW5kZXhNYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgQEluamVjdChJU19NT0JJTEVfVE9LRU4pIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHRhYkhlYWRlciA9ICh0aGlzLnRhYkdyb3VwIGFzIGFueSkuX3RhYkhlYWRlcjtcbiAgICAgIHRhYkhlYWRlci5faGFuZGxlS2V5ZG93biA9IGFzeW5jIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkge1xuICAgICAgICAgIGNhc2UgRU5URVI6XG4gICAgICAgICAgY2FzZSBTUEFDRTpcbiAgICAgICAgICAgIGNvbnN0IHRhYkxhYmVsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0O1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFRhYiA9IHRoaXMudGFic1t0aGlzLnRhYkluZGV4KCldO1xuICAgICAgICAgICAgY29uc3QgbmV4dFRhYiA9IHRoaXMudGFicy5maW5kKHRhYiA9PiB0YWIudGFiTGFiZWwgPT09IHRhYkxhYmVsKTtcblxuICAgICAgICAgICAgaWYgKCFuZXh0VGFiKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2FuTGVhdmUgPSAoYXdhaXQgY3VycmVudFRhYi5jYW5MZWF2ZT8uKHtjdXJyZW50VGFiLCBuZXh0VGFifSkpID8/IHRydWU7XG4gICAgICAgICAgICBpZiAoY3VycmVudFRhYi50YWJOYW1lICE9PSBuZXh0VGFiLnRhYk5hbWUgJiYgY2FuTGVhdmUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV4dFRhYkluZGV4ID0gdGhpcy50YWJJbmRleE1hcFtuZXh0VGFiLnRhYk5hbWVdO1xuICAgICAgICAgICAgICB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IG5leHRUYWJJbmRleDtcbiAgICAgICAgICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gbmV4dFRhYkluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRhYkhlYWRlci5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAodGhpcy50YWJHcm91cCBhcyBhbnkpLl9oYW5kbGVDbGljayA9IGFzeW5jIChcbiAgICAgICAgdGFiOiBNYXRUYWIsXG4gICAgICAgIHRhYkhlYWRlcjogYW55LFxuICAgICAgICBpbmRleDogbnVtYmVyXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkIHx8IGN1cnJlbnRJbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSBjdXJyZW50SW5kZXgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudFRhYiA9IHRoaXMudGFic1t0aGlzLnRhYkluZGV4KCldO1xuICAgICAgICBjb25zdCBuZXh0VGFiID0gdGhpcy50YWJzW2luZGV4XTtcbiAgICAgICAgY29uc3QgY2FuTGVhdmUgPSAoYXdhaXQgY3VycmVudFRhYi5jYW5MZWF2ZT8uKHtjdXJyZW50VGFiLCBuZXh0VGFifSkpID8/IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggIT0gaW5kZXggJiYgY2FuTGVhdmUpIHtcbiAgICAgICAgICB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgYWRkVGFiKHRhYjogVGFiKTogdm9pZCB7XG4gICAgdGhpcy50YWJzLnB1c2godGFiKTtcbiAgICB0aGlzLnRhYnMuZm9yRWFjaCgodiwgaW5kZXgpID0+IHRoaXMudGFiSW5kZXhNYXBbdi50YWJOYW1lXSA9IGluZGV4KTtcbiAgfVxuXG4gIG9uVGFiQ2hhbmdlKGV2OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkVGFiID0gdGhpcy50YWJzW2V2LmluZGV4XTtcbiAgICB0aGlzLnRhYkluZGV4LnNldCh0aGlzLnRhYkluZGV4TWFwW3NlbGVjdGVkVGFiLnRhYk5hbWVdKTtcbiAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXguZW1pdChldi5pbmRleCk7XG4gICAgdGhpcy5zZWxlY3RlZFRhYi5lbWl0KHNlbGVjdGVkVGFiKTtcbiAgfVxuXG4gIHNlbGVjdFRhYih0YWJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFiSW5kZXhNYXBbdGFiTmFtZV07XG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGFiSW5kZXguc2V0KGluZGV4KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleC5lbWl0KGluZGV4KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIuZW1pdCh0aGlzLnRhYnNbaW5kZXhdKTtcbiAgICB9XG4gIH1cblxuICBpbmRleE9mKHRhYk5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudGFiSW5kZXhNYXBbdGFiTmFtZV0gPz8gLTE7XG4gIH1cblxuICB0cmFja0J5VGFiTmFtZShpbmRleDogbnVtYmVyLCB0YWI6IFRhYik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRhYi50YWJOYW1lO1xuICB9XG5cbiAgcmVtb3ZlVGFiKHRhYk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50YWJJbmRleE1hcFt0YWJOYW1lXTtcbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50YWJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBkZWxldGUgdGhpcy50YWJJbmRleE1hcFt0YWJOYW1lXTtcbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh2LCBpbmRleCkgPT4gdGhpcy50YWJJbmRleE1hcFt2LnRhYk5hbWVdID0gaW5kZXgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXBcbiAgI3RhYkdyb3VwXG4gIGhlYWRlclBvc2l0aW9uPVwiYWJvdmVcIlxuICBjbGFzcz1cInRhYnMtY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwiJ3RhYnMtdHlwZS0nICsgKChpc01vYmlsZSQgfCBhc3luYykgPyAndW5kZXJsaW5lZCcgOiB0eXBlKVwiXG4gIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICBbZHluYW1pY0hlaWdodF09XCJkeW5hbWljSGVpZ2h0XCJcbiAgW3NlbGVjdGVkSW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gIFthbmltYXRpb25EdXJhdGlvbl09XCJhbmltYXRpb25EdXJhdGlvblwiXG4gIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyB0cmFja0J5OiB0cmFja0J5VGFiTmFtZVwiIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWQgPz8gZmFsc2VcIj5cbiAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgIDxhIGNsYXNzPVwidGFiLW5hbWVcIiBbdGFiaW5kZXhdPVwiMFwiIFtocmVmXT1cInRhYj8ubGlua1VybCA/IHRhYi5saW5rVXJsIDogJyMnIFwiIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgICAgICA8dWktaWNvbiBbc2l6ZV09XCInMjQnXCIgW3RhYmluZGV4XT1cIjFcIiBjbGFzcz1cImxlZnQtaWNvblwiIFtuYW1lXT1cInRhYi5pY29uTGVmdCFcIiAqbmdJZj1cInRhYj8uaWNvbkxlZnRcIj48L3VpLWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyB0YWIudGFiTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDx1aS1pY29uIFtzaXplXT1cIicyNCdcIiBbdGFiaW5kZXhdPVwiMlwiIGNsYXNzPVwicmlnaHQtaWNvblwiIFtuYW1lXT1cInRhYi5pY29uUmlnaHQhXCIgKm5nSWY9XCJ0YWI/Lmljb25SaWdodFwiPjwvdWktaWNvbj5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU9yRSxNQUFNLE9BQU8sYUFBYTtJQStEeEIsWUFDNkUsZUFBaUMsRUFDaEUsU0FBOEI7UUFEQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDaEUsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFoRTVFOzs7Ozs7V0FNRztRQUdILGlCQUFZLEdBQWtCLFNBQVMsQ0FBQztRQUN4Qzs7Ozs7O1dBTUc7UUFDTSxTQUFJLEdBQWEsWUFBWSxDQUFDO1FBRXZDOzs7OztXQUtHO1FBQ00sc0JBQWlCLEdBQUcsR0FBRyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBR0gseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBRTlCOzs7O1dBSUc7UUFDcUMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFN0Q7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGdCQUFXLEdBQUcs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LGdCQUFnQixxWUNuRXRDLHVrQ0FzQkE7OzRGREVhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUzs7MEJBb0VoQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzs7MEJBQ3ZELE1BQU07MkJBQUMsZUFBZTt5Q0F2RHpCLFlBQVk7c0JBRlgsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVVOLG9CQUFvQjtzQkFGbkIsV0FBVzt1QkFBQyxnQ0FBZ0M7O3NCQUM1QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFO2dCQVFyQixhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVM3QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRWtDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFiLCBUYWJzVHlwZSB9IGZyb20gJy4vdGFicy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IElTX01PQklMRV9UT0tFTiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9pcy1tb2JpbGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0VGFiLCBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEVOVEVSLCBoYXNNb2RpZmllcktleSwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnQge1xuICAvKipcbiAgICogQ29sb3Igb2YgdGhlIFRhYnMuXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWNvbG9yJylcbiAgQElucHV0KClcbiAgY29tcGFueUNvbG9yOiBzdHJpbmcgfCBudWxsID0gJyM0NkE5OTcnO1xuICAvKipcbiAgICogVHlwZSB0aGUgVGFicy5cbiAgICogRGVmYXVsdHMgdW5kZXJsaW5lZC5cbiAgICpcbiAgICogQHR5cGUge1RhYnNUeXBlfVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdHlwZTogVGFic1R5cGUgPSAndW5kZXJsaW5lZCc7XG5cbiAgLyoqXG4gICAqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHN3aXRjaGluZyB0YWJzXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhbmltYXRpb25EdXJhdGlvbiA9IDMwMDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFkZGluZyBmb3IgY29udGVudCBhbmQgaGVhZGVyXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0taGVhZGVyLWNvbnRlbnQtcGFkZGluZycpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcgPT4gdmFsdWUgKyAncHgnIH0pXG4gIGhlYWRlckNvbnRlbnRQYWRkaW5nID0gJzMycHgnO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkeW5hbWljIGhlaWdodCBvZiB0aGUgdGFiXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgVGFic0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGR5bmFtaWNIZWlnaHQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFRhYkluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFRhYiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuXG4gIHByb3RlY3RlZCB0YWJzOiBUYWJbXSA9IFtdO1xuICByZWFkb25seSB0YWJJbmRleCA9IHNpZ25hbCgwKTtcbiAgcHJvdGVjdGVkIHRhYkluZGV4TWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIEBJbmplY3QoSVNfTU9CSUxFX1RPS0VOKSBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCB0YWJIZWFkZXIgPSAodGhpcy50YWJHcm91cCBhcyBhbnkpLl90YWJIZWFkZXI7XG4gICAgICB0YWJIZWFkZXIuX2hhbmRsZUtleWRvd24gPSBhc3luYyAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGhhc01vZGlmaWVyS2V5KGV2ZW50KSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgICAgICBjYXNlIEVOVEVSOlxuICAgICAgICAgIGNhc2UgU1BBQ0U6XG4gICAgICAgICAgICBjb25zdCB0YWJMYWJlbCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRUYWIgPSB0aGlzLnRhYnNbdGhpcy50YWJJbmRleCgpXTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRUYWIgPSB0aGlzLnRhYnMuZmluZCh0YWIgPT4gdGFiLnRhYkxhYmVsID09PSB0YWJMYWJlbCk7XG5cbiAgICAgICAgICAgIGlmICghbmV4dFRhYikge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbkxlYXZlID0gKGF3YWl0IGN1cnJlbnRUYWIuY2FuTGVhdmU/Lih7IGN1cnJlbnRUYWIsIG5leHRUYWIgfSkpID8/IHRydWU7XG4gICAgICAgICAgICBpZiAoY3VycmVudFRhYi50YWJOYW1lICE9PSBuZXh0VGFiLnRhYk5hbWUgJiYgY2FuTGVhdmUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV4dFRhYkluZGV4ID0gdGhpcy50YWJJbmRleE1hcFtuZXh0VGFiLnRhYk5hbWVdO1xuICAgICAgICAgICAgICB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IG5leHRUYWJJbmRleDtcbiAgICAgICAgICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gbmV4dFRhYkluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRhYkhlYWRlci5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAodGhpcy50YWJHcm91cCBhcyBhbnkpLl9oYW5kbGVDbGljayA9IGFzeW5jICh0YWI6IE1hdFRhYiwgdGFiSGVhZGVyOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkIHx8IGN1cnJlbnRJbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSBjdXJyZW50SW5kZXgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudFRhYiA9IHRoaXMudGFic1t0aGlzLnRhYkluZGV4KCldO1xuICAgICAgICBjb25zdCBuZXh0VGFiID0gdGhpcy50YWJzW2luZGV4XTtcbiAgICAgICAgY29uc3QgY2FuTGVhdmUgPSAoYXdhaXQgY3VycmVudFRhYi5jYW5MZWF2ZT8uKHsgY3VycmVudFRhYiwgbmV4dFRhYiB9KSkgPz8gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAhPSBpbmRleCAmJiBjYW5MZWF2ZSkge1xuICAgICAgICAgIHRhYkhlYWRlci5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBhZGRUYWIodGFiOiBUYWIpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnMucHVzaCh0YWIpO1xuICAgIHRoaXMudGFicy5mb3JFYWNoKCh2LCBpbmRleCkgPT4gKHRoaXMudGFiSW5kZXhNYXBbdi50YWJOYW1lXSA9IGluZGV4KSk7XG4gIH1cblxuICBvblRhYkNoYW5nZShldjogTWF0VGFiQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFRhYiA9IHRoaXMudGFic1tldi5pbmRleF07XG4gICAgdGhpcy50YWJJbmRleC5zZXQodGhpcy50YWJJbmRleE1hcFtzZWxlY3RlZFRhYi50YWJOYW1lXSk7XG4gICAgdGhpcy5zZWxlY3RlZFRhYkluZGV4LmVtaXQoZXYuaW5kZXgpO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIuZW1pdChzZWxlY3RlZFRhYik7XG4gIH1cblxuICBzZWxlY3RUYWIodGFiTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkluZGV4TWFwW3RhYk5hbWVdO1xuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRhYkluZGV4LnNldChpbmRleCk7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXguZW1pdChpbmRleCk7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFiLmVtaXQodGhpcy50YWJzW2luZGV4XSk7XG4gICAgfVxuICB9XG5cbiAgaW5kZXhPZih0YWJOYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRhYkluZGV4TWFwW3RhYk5hbWVdID8/IC0xO1xuICB9XG5cbiAgdHJhY2tCeVRhYk5hbWUoaW5kZXg6IG51bWJlciwgdGFiOiBUYWIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0YWIudGFiTmFtZTtcbiAgfVxuXG4gIHJlbW92ZVRhYih0YWJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFiSW5kZXhNYXBbdGFiTmFtZV07XG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGFicy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgZGVsZXRlIHRoaXMudGFiSW5kZXhNYXBbdGFiTmFtZV07XG4gICAgICB0aGlzLnRhYnMuZm9yRWFjaCgodiwgaW5kZXgpID0+ICh0aGlzLnRhYkluZGV4TWFwW3YudGFiTmFtZV0gPSBpbmRleCkpO1xuICAgIH1cbiAgfVxuICB1cGRhdGVUYWIodGFiTmFtZTogc3RyaW5nLCB0YWI6IFBhcnRpYWw8T21pdDxUYWIsICd0YWJOYW1lJz4+KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkluZGV4TWFwW3RhYk5hbWVdO1xuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRhYnNbaW5kZXhdID0geyAuLi50aGlzLnRhYnNbaW5kZXhdLCAuLi50YWIgfTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtdGFiLWdyb3VwXG4gICN0YWJHcm91cFxuICBoZWFkZXJQb3NpdGlvbj1cImFib3ZlXCJcbiAgY2xhc3M9XCJ0YWJzLWNvbnRhaW5lclwiXG4gIFtuZ0NsYXNzXT1cIid0YWJzLXR5cGUtJyArICgoaXNNb2JpbGUkIHwgYXN5bmMpID8gJ3VuZGVybGluZWQnIDogdHlwZSlcIlxuICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgW2R5bmFtaWNIZWlnaHRdPVwiZHluYW1pY0hlaWdodFwiXG4gIFtzZWxlY3RlZEluZGV4XT1cInRhYkluZGV4KClcIlxuICBbYW5pbWF0aW9uRHVyYXRpb25dPVwiYW5pbWF0aW9uRHVyYXRpb25cIlxuICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxtYXQtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgdHJhY2tCeTogdHJhY2tCeVRhYk5hbWVcIiBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkID8/IGZhbHNlXCI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8YSBjbGFzcz1cInRhYi1uYW1lXCIgW3RhYmluZGV4XT1cIjBcIiBbaHJlZl09XCJ0YWI/LmxpbmtVcmwgPyB0YWIubGlua1VybCA6ICcjJyBcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAgPHVpLWljb24gW3NpemVdPVwiJzI0J1wiIFt0YWJpbmRleF09XCIxXCIgY2xhc3M9XCJsZWZ0LWljb25cIiBbbmFtZV09XCJ0YWIuaWNvbkxlZnQhXCIgKm5nSWY9XCJ0YWI/Lmljb25MZWZ0XCI+PC91aS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgdGFiLnRhYkxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8dWktaWNvbiBbc2l6ZV09XCInMjQnXCIgW3RhYmluZGV4XT1cIjJcIiBjbGFzcz1cInJpZ2h0LWljb25cIiBbbmFtZV09XCJ0YWIuaWNvblJpZ2h0IVwiICpuZ0lmPVwidGFiPy5pY29uUmlnaHRcIj48L3VpLWljb24+XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
@@ -1,33 +1,21 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { TabsComponent } from './tabs.component';
4
- import { MatTabsModule } from "@angular/material/tabs";
5
- import { IconComponentModule } from "../icon/icon.component.module";
4
+ import { MatTabsModule } from '@angular/material/tabs';
5
+ import { IconComponentModule } from '../icon/icon.component.module';
6
6
  import { TabDirective } from './tab.directive';
7
7
  import * as i0 from "@angular/core";
8
8
  export class TabsComponentModule {
9
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, declarations: [TabsComponent,
11
- TabDirective], imports: [CommonModule,
12
- MatTabsModule,
13
- IconComponentModule], exports: [TabsComponent, TabDirective] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, imports: [CommonModule,
15
- MatTabsModule,
16
- IconComponentModule] }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, declarations: [TabsComponent], imports: [TabDirective, CommonModule, MatTabsModule, IconComponentModule], exports: [TabsComponent, TabDirective] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, imports: [CommonModule, MatTabsModule, IconComponentModule] }); }
17
12
  }
18
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, decorators: [{
19
14
  type: NgModule,
20
15
  args: [{
21
- declarations: [
22
- TabsComponent,
23
- TabDirective
24
- ],
25
- imports: [
26
- CommonModule,
27
- MatTabsModule,
28
- IconComponentModule
29
- ],
30
- exports: [TabsComponent, TabDirective]
16
+ declarations: [TabsComponent],
17
+ imports: [TabDirective, CommonModule, MatTabsModule, IconComponentModule],
18
+ exports: [TabsComponent, TabDirective],
31
19
  }]
32
20
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWdCL0MsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsaUJBVjVCLGFBQWE7WUFDYixZQUFZLGFBR1osWUFBWTtZQUNaLGFBQWE7WUFDYixtQkFBbUIsYUFFWCxhQUFhLEVBQUUsWUFBWTtnSEFFMUIsbUJBQW1CLFlBTjVCLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1COzs0RkFJVixtQkFBbUI7a0JBWi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFic1wiO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi90YWIuZGlyZWN0aXZlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYnNDb21wb25lbnQsXG4gICAgVGFiRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtUYWJzQ29tcG9uZW50LCBUYWJEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnRNb2R1bGUgeyB9XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU8vQyxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFKZixhQUFhLGFBQ2xCLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixhQUM5RCxhQUFhLEVBQUUsWUFBWTtnSEFFMUIsbUJBQW1CLFlBSE4sWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUI7OzRGQUc3RCxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQztvQkFDekUsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBUYWJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUYWJzQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1RhYkRpcmVjdGl2ZSwgQ29tbW9uTW9kdWxlLCBNYXRUYWJzTW9kdWxlLCBJY29uQ29tcG9uZW50TW9kdWxlXSxcbiAgZXhwb3J0czogW1RhYnNDb21wb25lbnQsIFRhYkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { trigger, transition, animate, style, state } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, Component, ViewEncapsulation, Optional, Inject, HostBinding, Input, EventEmitter, ViewChild, Output, Pipe, ChangeDetectionStrategy, NgModule, Self, Directive, HostListener, forwardRef, booleanAttribute, ViewContainerRef, InjectionToken, inject, PLATFORM_ID, signal, Host, ElementRef } from '@angular/core';
3
+ import { Injectable, Component, ViewEncapsulation, Optional, Inject, HostBinding, Input, EventEmitter, ViewChild, Output, Pipe, ChangeDetectionStrategy, NgModule, Self, Directive, HostListener, forwardRef, booleanAttribute, ViewContainerRef, InjectionToken, inject, PLATFORM_ID, signal, input, TemplateRef, effect, DestroyRef, ElementRef } from '@angular/core';
4
4
  import * as i1$1 from '@angular/platform-browser';
5
5
  import * as i1$2 from '@angular/common';
6
6
  import { CommonModule, NgIf, NgForOf, NgClass, NgTemplateOutlet, formatDate, isPlatformBrowser, NgOptimizedImage } from '@angular/common';
@@ -10860,7 +10860,7 @@ class TabsComponent {
10860
10860
  }
10861
10861
  addTab(tab) {
10862
10862
  this.tabs.push(tab);
10863
- this.tabs.forEach((v, index) => this.tabIndexMap[v.tabName] = index);
10863
+ this.tabs.forEach((v, index) => (this.tabIndexMap[v.tabName] = index));
10864
10864
  }
10865
10865
  onTabChange(ev) {
10866
10866
  const selectedTab = this.tabs[ev.index];
@@ -10887,7 +10887,13 @@ class TabsComponent {
10887
10887
  if (index !== undefined) {
10888
10888
  this.tabs.splice(index, 1);
10889
10889
  delete this.tabIndexMap[tabName];
10890
- this.tabs.forEach((v, index) => this.tabIndexMap[v.tabName] = index);
10890
+ this.tabs.forEach((v, index) => (this.tabIndexMap[v.tabName] = index));
10891
+ }
10892
+ }
10893
+ updateTab(tabName, tab) {
10894
+ const index = this.tabIndexMap[tabName];
10895
+ if (index !== undefined) {
10896
+ this.tabs[index] = { ...this.tabs[index], ...tab };
10891
10897
  }
10892
10898
  }
10893
10899
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -10934,80 +10940,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
10934
10940
  }] } });
10935
10941
 
10936
10942
  class TabDirective {
10937
- constructor(tabsComponent, template) {
10938
- this.tabsComponent = tabsComponent;
10939
- this.template = template;
10943
+ constructor() {
10944
+ this.tabLabel = input.required();
10945
+ this.tabName = input.required();
10946
+ this.iconLeft = input();
10947
+ this.iconRight = input();
10948
+ this.disabled = input(false, { transform: booleanAttribute });
10949
+ this.canLeave = input();
10950
+ this.linkUrl = input();
10951
+ this.tabsComponent = inject(TabsComponent);
10952
+ this.template = inject(TemplateRef);
10953
+ this.syncProps = effect(() => {
10954
+ this.tabsComponent.updateTab(this.tabName(), {
10955
+ tabLabel: this.tabLabel(),
10956
+ iconLeft: this.iconLeft(),
10957
+ iconRight: this.iconRight(),
10958
+ disabled: this.disabled(),
10959
+ canLeave: this.canLeave(),
10960
+ linkUrl: this.linkUrl(),
10961
+ });
10962
+ });
10963
+ this.cleanup = inject(DestroyRef).onDestroy(() => {
10964
+ this.tabsComponent.removeTab(this.tabName());
10965
+ });
10940
10966
  }
10941
- ngOnChanges() {
10967
+ ngOnInit() {
10942
10968
  this.addTab();
10943
10969
  }
10944
10970
  addTab() {
10945
10971
  this.tabsComponent.addTab({
10946
- tabLabel: this.tabLabel,
10947
- tabName: this.tabName,
10948
- iconLeft: this.iconLeft,
10949
- iconRight: this.iconRight,
10950
- disabled: this.disabled,
10972
+ tabLabel: this.tabLabel(),
10973
+ tabName: this.tabName(),
10974
+ iconLeft: this.iconLeft(),
10975
+ iconRight: this.iconRight(),
10976
+ disabled: this.disabled(),
10951
10977
  contentTemplateRef: this.template,
10952
- canLeave: this.canLeave,
10953
- linkUrl: this.linkUrl,
10978
+ canLeave: this.canLeave(),
10979
+ linkUrl: this.linkUrl(),
10954
10980
  });
10955
10981
  }
10956
- ngOnDestroy() {
10957
- this.tabsComponent.removeTab(this.tabName);
10958
- }
10959
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, deps: [{ token: TabsComponent, host: true }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10960
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: TabDirective, selector: "[uiTab]", inputs: { tabLabel: "tabLabel", tabName: "tabName", iconLeft: "iconLeft", iconRight: "iconRight", disabled: ["disabled", "disabled", booleanAttribute], canLeave: "canLeave", linkUrl: "linkUrl" }, usesOnChanges: true, ngImport: i0 }); }
10982
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10983
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: TabDirective, isStandalone: true, selector: "ng-template[uiTab]", inputs: { tabLabel: { classPropertyName: "tabLabel", publicName: "tabLabel", isSignal: true, isRequired: true, transformFunction: null }, tabName: { classPropertyName: "tabName", publicName: "tabName", isSignal: true, isRequired: true, transformFunction: null }, iconLeft: { classPropertyName: "iconLeft", publicName: "iconLeft", isSignal: true, isRequired: false, transformFunction: null }, iconRight: { classPropertyName: "iconRight", publicName: "iconRight", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, canLeave: { classPropertyName: "canLeave", publicName: "canLeave", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
10961
10984
  }
10962
10985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabDirective, decorators: [{
10963
10986
  type: Directive,
10964
10987
  args: [{
10965
- selector: '[uiTab]'
10988
+ standalone: true,
10989
+ selector: 'ng-template[uiTab]',
10966
10990
  }]
10967
- }], ctorParameters: () => [{ type: TabsComponent, decorators: [{
10968
- type: Host
10969
- }] }, { type: i0.TemplateRef }], propDecorators: { tabLabel: [{
10970
- type: Input,
10971
- args: [{ required: true }]
10972
- }], tabName: [{
10973
- type: Input,
10974
- args: [{ required: true }]
10975
- }], iconLeft: [{
10976
- type: Input
10977
- }], iconRight: [{
10978
- type: Input
10979
- }], disabled: [{
10980
- type: Input,
10981
- args: [{ transform: booleanAttribute }]
10982
- }], canLeave: [{
10983
- type: Input
10984
- }], linkUrl: [{
10985
- type: Input
10986
- }] } });
10991
+ }] });
10987
10992
 
10988
10993
  class TabsComponentModule {
10989
10994
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10990
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, declarations: [TabsComponent,
10991
- TabDirective], imports: [CommonModule,
10992
- MatTabsModule,
10993
- IconComponentModule], exports: [TabsComponent, TabDirective] }); }
10994
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, imports: [CommonModule,
10995
- MatTabsModule,
10996
- IconComponentModule] }); }
10995
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, declarations: [TabsComponent], imports: [TabDirective, CommonModule, MatTabsModule, IconComponentModule], exports: [TabsComponent, TabDirective] }); }
10996
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, imports: [CommonModule, MatTabsModule, IconComponentModule] }); }
10997
10997
  }
10998
10998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponentModule, decorators: [{
10999
10999
  type: NgModule,
11000
11000
  args: [{
11001
- declarations: [
11002
- TabsComponent,
11003
- TabDirective
11004
- ],
11005
- imports: [
11006
- CommonModule,
11007
- MatTabsModule,
11008
- IconComponentModule
11009
- ],
11010
- exports: [TabsComponent, TabDirective]
11001
+ declarations: [TabsComponent],
11002
+ imports: [TabDirective, CommonModule, MatTabsModule, IconComponentModule],
11003
+ exports: [TabsComponent, TabDirective],
11011
11004
  }]
11012
11005
  }] });
11013
11006