@flywheel-io/vision 1.7.3 → 1.8.0

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.
Files changed (49) hide show
  1. package/components/checkbox/checkbox.component.d.ts +15 -10
  2. package/components/checkbox/checkbox.module.d.ts +2 -1
  3. package/components/contained-input/contained-input.component.d.ts +8 -1
  4. package/components/date-input/date-input.component.d.ts +6 -1
  5. package/components/menu/menu-item/menu-item.component.d.ts +2 -1
  6. package/components/menu/menu.module.d.ts +3 -1
  7. package/components/radio/radio-group.component.d.ts +32 -0
  8. package/components/radio/radio.component.d.ts +17 -0
  9. package/components/radio/radio.module.d.ts +10 -0
  10. package/components/section-heading/back-button/back-button.component.d.ts +3 -1
  11. package/components/section-heading/section-heading.component.d.ts +2 -1
  12. package/components/table/cell.d.ts +63 -0
  13. package/components/table/row.d.ts +60 -0
  14. package/components/table/table-dense.component.d.ts +11 -0
  15. package/components/table/table.component.d.ts +11 -0
  16. package/components/table/table.module.d.ts +12 -0
  17. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  18. package/esm2020/components/alert/alert.component.mjs +3 -3
  19. package/esm2020/components/avatar/avatar.component.mjs +3 -3
  20. package/esm2020/components/button-toggle/button-toggle.component.mjs +16 -10
  21. package/esm2020/components/checkbox/checkbox.component.mjs +54 -17
  22. package/esm2020/components/checkbox/checkbox.module.mjs +10 -3
  23. package/esm2020/components/contained-input/contained-input.component.mjs +34 -5
  24. package/esm2020/components/date-input/date-input.component.mjs +39 -2
  25. package/esm2020/components/layouts/grid/grid.component.mjs +3 -1
  26. package/esm2020/components/menu/menu-item/menu-item.component.mjs +8 -3
  27. package/esm2020/components/menu/menu.module.mjs +11 -3
  28. package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +1 -1
  29. package/esm2020/components/phone-input/phone-input.component.mjs +1 -1
  30. package/esm2020/components/radio/radio-group.component.mjs +117 -0
  31. package/esm2020/components/radio/radio.component.mjs +51 -0
  32. package/esm2020/components/radio/radio.module.mjs +36 -0
  33. package/esm2020/components/section-heading/back-button/back-button.component.mjs +15 -5
  34. package/esm2020/components/section-heading/section-heading.component.mjs +5 -3
  35. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +1 -1
  36. package/esm2020/components/select-menu/select-menu.component.mjs +1 -1
  37. package/esm2020/components/table/cell.mjs +151 -0
  38. package/esm2020/components/table/row.mjs +170 -0
  39. package/esm2020/components/table/table-dense.component.mjs +38 -0
  40. package/esm2020/components/table/table.component.mjs +38 -0
  41. package/esm2020/components/table/table.module.mjs +91 -0
  42. package/esm2020/components/wrapped-input/wrapped-input.component.mjs +3 -3
  43. package/esm2020/public-api.mjs +12 -1
  44. package/fesm2015/flywheel-io-vision.mjs +893 -103
  45. package/fesm2015/flywheel-io-vision.mjs.map +1 -1
  46. package/fesm2020/flywheel-io-vision.mjs +892 -103
  47. package/fesm2020/flywheel-io-vision.mjs.map +1 -1
  48. package/package.json +2 -2
  49. package/public-api.d.ts +11 -0
@@ -1,16 +1,21 @@
1
+ import { ControlValueAccessor } from '@angular/forms';
1
2
  import * as i0 from "@angular/core";
2
- export declare class FwCheckboxComponent {
3
- checked: boolean;
4
- indeterminate: boolean;
3
+ export declare class FwCheckboxComponent implements ControlValueAccessor {
4
+ checked?: boolean;
5
5
  disabled: boolean;
6
6
  size: 'medium' | 'compact';
7
7
  color: 'primary' | 'secondary';
8
- label: string;
9
- focused: string;
10
- get checkboxStyle(): string;
11
- get labelStyle(): 'label-disabled' | '';
12
- setIndeterminate(): void;
13
- setFocus(focus?: string): void;
8
+ title: string;
9
+ focused: boolean;
10
+ get checkboxStyles(): string[];
11
+ onTouch: () => void;
12
+ onChange: (value: boolean) => void;
13
+ writeValue(checked: boolean): void;
14
+ registerOnChange(fn: any): void;
15
+ registerOnTouched(fn: any): void;
16
+ onModelChange(e: boolean): void;
17
+ setDisabledState(isDisabled: boolean): void;
18
+ handleClick(): void;
14
19
  static ɵfac: i0.ɵɵFactoryDeclaration<FwCheckboxComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<FwCheckboxComponent, "fw-checkbox", never, { "checked": "checked"; "indeterminate": "indeterminate"; "disabled": "disabled"; "size": "size"; "color": "color"; "label": "label"; }, {}, never, never, false>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCheckboxComponent, "fw-checkbox", never, { "checked": "checked"; "disabled": "disabled"; "size": "size"; "color": "color"; "title": "title"; "focused": "focused"; }, {}, never, ["*"], false>;
16
21
  }
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./checkbox.component";
3
3
  import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
4
5
  export declare class FwCheckboxModule {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<FwCheckboxModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<FwCheckboxModule, [typeof i1.FwCheckboxComponent], [typeof i2.CommonModule], [typeof i1.FwCheckboxComponent]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwCheckboxModule, [typeof i1.FwCheckboxComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i3.FormsModule], [typeof i1.FwCheckboxComponent]>;
7
8
  static ɵinj: i0.ɵɵInjectorDeclaration<FwCheckboxModule>;
8
9
  }
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
3
- export declare class FwContainedInputComponent {
4
+ export declare class FwContainedInputComponent implements ControlValueAccessor {
4
5
  title: string;
5
6
  description?: string;
6
7
  status?: string;
@@ -11,6 +12,12 @@ export declare class FwContainedInputComponent {
11
12
  change: EventEmitter<boolean>;
12
13
  clicked(): void;
13
14
  get classes(): string;
15
+ onTouch: () => void;
16
+ onChange: (value: boolean) => void;
17
+ writeValue(checked: boolean): void;
18
+ registerOnChange(fn: any): void;
19
+ registerOnTouched(fn: any): void;
20
+ setDisabledState(isDisabled: boolean): void;
14
21
  static ɵfac: i0.ɵɵFactoryDeclaration<FwContainedInputComponent, never>;
15
22
  static ɵcmp: i0.ɵɵComponentDeclaration<FwContainedInputComponent, "fw-contained-input", never, { "title": "title"; "description": "description"; "status": "status"; "inputPosition": "inputPosition"; "inputVariant": "inputVariant"; "checked": "checked"; "disabled": "disabled"; }, { "change": "change"; }, never, ["fw-avatar", "fw-icon"], false>;
16
23
  }
@@ -20,10 +20,15 @@ export declare class FwDateInputComponent implements ControlValueAccessor {
20
20
  autofocus?: string;
21
21
  autocomplete?: string;
22
22
  error?: boolean;
23
- value: string;
23
+ private _value;
24
+ get value(): string;
25
+ set value(newValue: string);
24
26
  externalControl: FormControl;
25
27
  onTouch: () => void;
26
28
  onChange: (value: string) => void;
29
+ setDate(value: Date): void;
30
+ setDateString(isoValue: string): void;
31
+ isIsoDate(str: any): boolean;
27
32
  writeValue(obj: string): void;
28
33
  registerOnChange(fn: any): void;
29
34
  registerOnTouched(fn: any): void;
@@ -11,6 +11,7 @@ export declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterC
11
11
  iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography';
12
12
  disabled?: boolean;
13
13
  showCheckbox?: boolean;
14
+ checkboxColor?: 'primary' | 'secondary' | 'default';
14
15
  multiSelect?: boolean;
15
16
  hidden?: boolean;
16
17
  showTooltip?: boolean;
@@ -34,5 +35,5 @@ export declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterC
34
35
  toggleSubItemsView(): void;
35
36
  handleClick(evt?: Event): void;
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuItemComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuItemComponent, "fw-menu-item", never, { "value": "value"; "size": "size"; "title": "title"; "description": "description"; "icon": "icon"; "iconColor": "iconColor"; "disabled": "disabled"; "showCheckbox": "showCheckbox"; "multiSelect": "multiSelect"; "hidden": "hidden"; "showTooltip": "showTooltip"; "collapsed": "collapsed"; "href": "href"; "target": "target"; "subItemsOpen": "subItemsOpen"; "focused": "focused"; "selected": "selected"; "variant": "variant"; }, { "click": "click"; }, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-menu-sub-item"], false>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuItemComponent, "fw-menu-item", never, { "value": "value"; "size": "size"; "title": "title"; "description": "description"; "icon": "icon"; "iconColor": "iconColor"; "disabled": "disabled"; "showCheckbox": "showCheckbox"; "checkboxColor": "checkboxColor"; "multiSelect": "multiSelect"; "hidden": "hidden"; "showTooltip": "showTooltip"; "collapsed": "collapsed"; "href": "href"; "target": "target"; "subItemsOpen": "subItemsOpen"; "focused": "focused"; "selected": "selected"; "variant": "variant"; }, { "click": "click"; }, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-menu-sub-item"], false>;
38
39
  }
@@ -14,8 +14,10 @@ import * as i12 from "../icon-button/icon-button.module";
14
14
  import * as i13 from "../icon/icon.module";
15
15
  import * as i14 from "../text-input/text-input.module";
16
16
  import * as i15 from "../tooltip/tooltip.module";
17
+ import * as i16 from "../checkbox/checkbox.module";
18
+ import * as i17 from "../radio/radio.module";
17
19
  export declare class FwMenuModule {
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<FwMenuModule, [typeof i1.FwMenuComponent, typeof i2.FwMenuContainerComponent, typeof i3.FwMenuHeaderComponent, typeof i4.FwMenuItemComponent, typeof i5.FwMenuSeparatorComponent, typeof i6.FwMenuSubItemComponent, typeof i7.FwMenuCloseTriggersDirective], [typeof i8.CdkMenuModule, typeof i9.CommonModule, typeof i10.FormsModule, typeof i11.FwBadgeModule, typeof i12.FwIconButtonModule, typeof i13.FwIconModule, typeof i14.FwTextInputModule, typeof i15.FwTooltipModule], [typeof i1.FwMenuComponent, typeof i2.FwMenuContainerComponent, typeof i3.FwMenuHeaderComponent, typeof i4.FwMenuItemComponent, typeof i5.FwMenuSeparatorComponent, typeof i6.FwMenuSubItemComponent, typeof i7.FwMenuCloseTriggersDirective]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwMenuModule, [typeof i1.FwMenuComponent, typeof i2.FwMenuContainerComponent, typeof i3.FwMenuHeaderComponent, typeof i4.FwMenuItemComponent, typeof i5.FwMenuSeparatorComponent, typeof i6.FwMenuSubItemComponent, typeof i7.FwMenuCloseTriggersDirective], [typeof i8.CdkMenuModule, typeof i9.CommonModule, typeof i10.FormsModule, typeof i11.FwBadgeModule, typeof i12.FwIconButtonModule, typeof i13.FwIconModule, typeof i14.FwTextInputModule, typeof i15.FwTooltipModule, typeof i16.FwCheckboxModule, typeof i17.FwRadioModule], [typeof i1.FwMenuComponent, typeof i2.FwMenuContainerComponent, typeof i3.FwMenuHeaderComponent, typeof i4.FwMenuItemComponent, typeof i5.FwMenuSeparatorComponent, typeof i6.FwMenuSubItemComponent, typeof i7.FwMenuCloseTriggersDirective]>;
20
22
  static ɵinj: i0.ɵɵInjectorDeclaration<FwMenuModule>;
21
23
  }
@@ -0,0 +1,32 @@
1
+ import { AfterContentInit, EventEmitter, OnChanges, OnDestroy, QueryList } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
4
+ import { FwRadioComponent } from './radio.component';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FwRadioGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {
7
+ private sanitizer;
8
+ value: string;
9
+ group: string;
10
+ color?: 'primary' | 'secondary' | 'default';
11
+ size?: 'medium' | 'compact';
12
+ disabled?: boolean;
13
+ direction?: 'horizontal' | 'vertical';
14
+ change: EventEmitter<string>;
15
+ radioButtons: QueryList<FwRadioComponent>;
16
+ get style(): SafeStyle;
17
+ private subscriptions;
18
+ constructor(sanitizer: DomSanitizer);
19
+ ngOnChanges(): void;
20
+ ngOnDestroy(): void;
21
+ ngAfterContentInit(): void;
22
+ updateLayout(): void;
23
+ onTouch: () => void;
24
+ onChange: (value: string) => void;
25
+ writeValue(value: string): void;
26
+ registerOnChange(fn: any): void;
27
+ registerOnTouched(fn: any): void;
28
+ setDisabledState(isDisabled: boolean): void;
29
+ handleChange(value: string): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioGroupComponent, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRadioGroupComponent, "fw-radio-group", never, { "value": "value"; "group": "group"; "color": "color"; "size": "size"; "disabled": "disabled"; "direction": "direction"; }, { "change": "change"; }, ["radioButtons"], ["fw-radio-button"], false>;
32
+ }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FwRadioComponent {
4
+ checked: boolean;
5
+ value: string;
6
+ group: string;
7
+ disabled: boolean;
8
+ size: 'medium' | 'compact';
9
+ color: 'default' | 'primary' | 'secondary';
10
+ title: string;
11
+ focused: boolean;
12
+ change: EventEmitter<string>;
13
+ get radioStyles(): string[];
14
+ handleChange(event: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRadioComponent, "fw-radio-button", never, { "checked": "checked"; "value": "value"; "group": "group"; "disabled": "disabled"; "size": "size"; "color": "color"; "title": "title"; "focused": "focused"; }, { "change": "change"; }, never, ["*"], false>;
17
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./radio.component";
3
+ import * as i2 from "./radio-group.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ export declare class FwRadioModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwRadioModule, [typeof i1.FwRadioComponent, typeof i2.FwRadioGroupComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i4.FormsModule], [typeof i1.FwRadioComponent, typeof i2.FwRadioGroupComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwRadioModule>;
10
+ }
@@ -2,8 +2,10 @@ import { Location } from '@angular/common';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class FwBackButtonComponent {
4
4
  location: Location;
5
+ backFunction?: () => {};
5
6
  class: string;
6
7
  constructor(location: Location);
8
+ handleClick(): void;
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FwBackButtonComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<FwBackButtonComponent, "fw-back-button", never, {}, {}, never, never, false>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwBackButtonComponent, "fw-back-button", never, { "backFunction": "backFunction"; }, {}, never, never, false>;
9
11
  }
@@ -5,8 +5,9 @@ export declare class FwSectionHeadingComponent {
5
5
  title: string;
6
6
  description?: string;
7
7
  backButton?: boolean;
8
+ backFunction?: () => {};
8
9
  icon?: IconType;
9
10
  constructor();
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FwSectionHeadingComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<FwSectionHeadingComponent, "fw-section-heading", never, { "title": "title"; "description": "description"; "backButton": "backButton"; "icon": "icon"; }, {}, never, ["fw-icon", "fw-chip", "p", "*"], false>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSectionHeadingComponent, "fw-section-heading", never, { "title": "title"; "description": "description"; "backButton": "backButton"; "backFunction": "backFunction"; "icon": "icon"; }, {}, never, ["fw-icon", "fw-chip", "p", "*"], false>;
12
13
  }
@@ -0,0 +1,63 @@
1
+ import { CdkCell, CdkCellDef, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef } from '@angular/cdk/table';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Cell definition for the fw-table.
5
+ * Captures the template of a column's data row cell as well as cell-specific properties.
6
+ */
7
+ export declare class FwCellDef extends CdkCellDef {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCellDef, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwCellDef, "[fwCellDef]", never, {}, {}, never, never, true>;
10
+ }
11
+ /**
12
+ * Header cell definition for the fw-table.
13
+ * Captures the template of a column's header cell and as well as cell-specific properties.
14
+ */
15
+ export declare class FwHeaderCellDef extends CdkHeaderCellDef {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderCellDef, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderCellDef, "[fwHeaderCellDef]", never, {}, {}, never, never, true>;
18
+ }
19
+ /**
20
+ * Footer cell definition for the fw-table.
21
+ * Captures the template of a column's footer cell and as well as cell-specific properties.
22
+ */
23
+ export declare class FwFooterCellDef extends CdkFooterCellDef {
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterCellDef, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterCellDef, "[fwFooterCellDef]", never, {}, {}, never, never, true>;
26
+ }
27
+ /**
28
+ * Column definition for the fw-table.
29
+ * Defines a set of cells available for a table column.
30
+ */
31
+ export declare class FwColumnDef extends CdkColumnDef {
32
+ /** Unique name for this column. */
33
+ get name(): string;
34
+ set name(name: string);
35
+ /**
36
+ * Add "fw-column-" prefix in addition to "cdk-column-" prefix.
37
+ * In the future, this will only add "fw-column-" and columnCssClassName
38
+ * will change from type string[] to string.
39
+ * @docs-private
40
+ */
41
+ protected _updateColumnCssClassName(): void;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwColumnDef, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwColumnDef, "[fwColumnDef]", never, { "name": "fwColumnDef"; }, {}, never, never, true>;
44
+ }
45
+ /** Header cell template container that adds the right classes and role. */
46
+ export declare class FwHeaderCell extends CdkHeaderCell {
47
+ class: string;
48
+ role: string;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderCell, never>;
50
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderCell, "fw-header-cell, th[fw-header-cell]", never, {}, {}, never, never, true>;
51
+ }
52
+ /** Footer cell template container that adds the right classes and role. */
53
+ export declare class FwFooterCell extends CdkFooterCell {
54
+ class: string;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterCell, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterCell, "fw-footer-cell, td[fw-footer-cell]", never, {}, {}, never, never, true>;
57
+ }
58
+ /** Cell template container that adds the right classes and role. */
59
+ export declare class FwCell extends CdkCell {
60
+ class: string;
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCell, never>;
62
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwCell, "fw-cell, td[fw-cell]", never, {}, {}, never, never, true>;
63
+ }
@@ -0,0 +1,60 @@
1
+ import { CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef } from '@angular/cdk/table';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Header row definition for the fw-table.
5
+ * Captures the header row's template and other header properties such as the columns to display.
6
+ */
7
+ export declare class FwHeaderRowDef extends CdkHeaderRowDef {
8
+ columns: string[];
9
+ sticky: boolean;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderRowDef, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderRowDef, "[fwHeaderRowDef]", never, { "columns": "fwHeaderRowDef"; "sticky": "fwHeaderRowDefSticky"; }, {}, never, never, false>;
12
+ }
13
+ /**
14
+ * Footer row definition for the fw-table.
15
+ * Captures the footer row's template and other footer properties such as the columns to display.
16
+ */
17
+ export declare class FwFooterRowDef extends CdkFooterRowDef {
18
+ columns: string[];
19
+ sticky: boolean;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterRowDef, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterRowDef, "[fwFooterRowDef]", never, { "columns": "fwFooterRowDef"; "sticky": "fwFooterRowDefSticky"; }, {}, never, never, false>;
22
+ }
23
+ /**
24
+ * Data row definition for the fw-table.
25
+ * Captures the data row's template and other properties such as the columns to display and
26
+ * a when predicate that describes when this row should be used.
27
+ */
28
+ export declare class FwRowDef<T> extends CdkRowDef<T> {
29
+ columns: string[];
30
+ when: (index: number, rowData: T) => boolean;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRowDef<any>, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwRowDef<any>, "[fwRowDef]", never, { "columns": "fwRowDefColumns"; "when": "fwRowDefWhen"; }, {}, never, never, false>;
33
+ }
34
+ /** Header template container that contains the cell outlet. Adds the right class and role. */
35
+ export declare class FwHeaderRow extends CdkHeaderRow {
36
+ class: string;
37
+ role: string;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderRow, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwHeaderRow, "fw-header-row, tr[fw-header-row]", ["fwHeaderRow"], {}, {}, never, never, false>;
40
+ }
41
+ /** Footer template container that contains the cell outlet. Adds the right class and role. */
42
+ export declare class FwFooterRow extends CdkFooterRow {
43
+ class: string;
44
+ role: string;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterRow, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwFooterRow, "fw-footer-row, tr[fw-footer-row]", ["fwFooterRow"], {}, {}, never, never, false>;
47
+ }
48
+ /** Data row template container that contains the cell outlet. Adds the right class and role. */
49
+ export declare class FwRow extends CdkRow {
50
+ class: string;
51
+ role: string;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRow, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRow, "fw-row, tr[fw-row]", ["fwRow"], {}, {}, never, never, false>;
54
+ }
55
+ /** Row that can be used to display a message when no data is shown in the table. */
56
+ export declare class FwNoDataRow extends CdkNoDataRow {
57
+ _contentClassName: string;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNoDataRow, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwNoDataRow, "ng-template[fwNoDataRow]", never, {}, {}, never, never, false>;
60
+ }
@@ -0,0 +1,11 @@
1
+ import { CdkTable } from '@angular/cdk/table';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FwTableDenseComponent<T> extends CdkTable<T> {
4
+ class: string;
5
+ /** Overrides the sticky CSS class set by the `CdkTable`. */
6
+ protected stickyCssClass: string;
7
+ /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
8
+ protected needsPositionStickyOnElement: boolean;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableDenseComponent<any>, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTableDenseComponent<any>, "fw-table-dense, table[fw-table-dense]", ["fwTableDense"], {}, {}, never, never, false>;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { CdkTable } from '@angular/cdk/table';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FwTableComponent<T> extends CdkTable<T> {
4
+ class: string;
5
+ /** Overrides the sticky CSS class set by the `CdkTable`. */
6
+ protected stickyCssClass: string;
7
+ /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
8
+ protected needsPositionStickyOnElement: boolean;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableComponent<any>, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTableComponent<any>, "fw-table, table[fw-table]", ["fwTable"], {}, {}, never, never, false>;
11
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./table.component";
3
+ import * as i2 from "./table-dense.component";
4
+ import * as i3 from "./row";
5
+ import * as i4 from "@angular/cdk/table";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "./cell";
8
+ export declare class FwTableModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTableModule, [typeof i1.FwTableComponent, typeof i2.FwTableDenseComponent, typeof i3.FwRow, typeof i3.FwRowDef, typeof i3.FwFooterRow, typeof i3.FwFooterRowDef, typeof i3.FwHeaderRow, typeof i3.FwHeaderRowDef, typeof i3.FwNoDataRow], [typeof i4.CdkTableModule, typeof i5.CommonModule, typeof i6.FwCell, typeof i6.FwCellDef, typeof i6.FwColumnDef, typeof i6.FwFooterCell, typeof i6.FwFooterCellDef, typeof i6.FwHeaderCell, typeof i6.FwHeaderCellDef], [typeof i6.FwCell, typeof i6.FwCellDef, typeof i6.FwColumnDef, typeof i6.FwFooterCell, typeof i6.FwFooterCellDef, typeof i3.FwFooterRow, typeof i3.FwFooterRowDef, typeof i6.FwHeaderCell, typeof i6.FwHeaderCellDef, typeof i3.FwHeaderRow, typeof i3.FwHeaderRowDef, typeof i3.FwNoDataRow, typeof i3.FwRow, typeof i3.FwRowDef, typeof i1.FwTableComponent, typeof i2.FwTableDenseComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTableModule>;
12
+ }
@@ -4,5 +4,5 @@ export declare class FwWrappedInputComponent {
4
4
  description?: string;
5
5
  get classes(): string;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<FwWrappedInputComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<FwWrappedInputComponent, "fw-wrapped-input", never, { "title": "title"; "description": "description"; }, {}, never, ["fw-form-heading", "fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select"], false>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwWrappedInputComponent, "fw-wrapped-input", never, { "title": "title"; "description": "description"; }, {}, never, ["fw-form-heading", "fw-button-toggle, fw-date-input, fw-text-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select fw-checkbox"], false>;
8
8
  }
@@ -12,10 +12,10 @@ export class FwAlertComponent {
12
12
  }
13
13
  }
14
14
  FwAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- FwAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwAlertComponent, selector: "fw-alert", inputs: { description: "description", icon: "icon", severity: "severity", title: "title", variant: "variant", showClose: "showClose" }, outputs: { close: "close" }, ngImport: i0, template: "<div [ngClass]=\"['alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"alert-icon\">{{ icon }}</fw-icon>\n <div class=\"alert-text\">\n <h4 *ngIf=\"title\">{{ title }}</h4>\n <p *ngIf=\"description\">{{ description }}</p>\n <p>\n <ng-content></ng-content>\n </p>\n </div>\n <div *ngIf=\"showClose\" class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n", styles: [".alert{border-radius:8px;padding:6px 16px;display:flex;box-sizing:border-box;min-height:48px}.alert .alert-icon{padding:7px 12px 7px 0;align-items:flex-start;font-size:22px}.alert .alert-text{padding:6px 0;flex:1;display:flex;flex-direction:column;justify-items:center}.alert h4{margin:3px 0;color:var(--typography-contrast)}.alert p{margin:3px 0 0;color:inherit;font-size:12px;font-weight:400;line-height:16.8px}.alert .close-icon{display:flex;align-items:flex-start;margin-left:16px;gap:16px;margin-top:4px;height:30px}.alert.standard.info{color:var(--primary-base);background-color:var(--primary-hover);border:1px solid var(--primary-border)}.alert.standard.info h4{color:var(--primary-base)}.alert.standard.warning{color:var(--orange-base);background-color:var(--orange-hover);border:1px solid var(--orange-border)}.alert.standard.warning h4{color:var(--orange-base)}.alert.standard.success{color:var(--green-base);background-color:var(--green-hover);border:1px solid var(--green-border)}.alert.standard.success h4{color:var(--green-base)}.alert.standard.error{color:var(--red-base);background-color:var(--red-hover);border:1px solid var(--red-border)}.alert.standard.error h4{color:var(--red-base)}.alert.outlined.info{color:var(--primary-base);border:1px solid var(--primary-base)}.alert.outlined.info h4{color:var(--primary-base)}.alert.outlined.warning{color:var(--orange-base);border:1px solid var(--orange-base)}.alert.outlined.warning h4{color:var(--orange-base)}.alert.outlined.success{color:var(--green-base);border:1px solid var(--green-base)}.alert.outlined.success h4{color:var(--green-base)}.alert.outlined.error{color:var(--red-base);border:1px solid var(--red-base)}.alert.outlined.error h4{color:var(--red-base)}.alert.filled.info{color:var(--typography-contrast);background-color:var(--primary-base)}.alert.filled.warning{color:var(--typography-contrast);background-color:var(--orange-base)}.alert.filled.success{color:var(--typography-contrast);background-color:var(--green-base)}.alert.filled.error{color:var(--typography-contrast);background-color:var(--red-base)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i3.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }] });
15
+ FwAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwAlertComponent, selector: "fw-alert", inputs: { description: "description", icon: "icon", severity: "severity", title: "title", variant: "variant", showClose: "showClose" }, outputs: { close: "close" }, ngImport: i0, template: "<div [ngClass]=\"['alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"alert-icon\">{{ icon }}</fw-icon>\n <div class=\"alert-text\">\n <h4 *ngIf=\"title\">{{ title }}</h4>\n <p *ngIf=\"description\">{{ description }}</p>\n <p>\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n", styles: [".alert{border-radius:8px;padding:6px 16px;display:flex;box-sizing:border-box;min-height:48px}.alert .alert-icon{padding:7px 12px 7px 0;align-items:flex-start;font-size:22px}.alert .alert-text{padding:6px 0;flex:1;display:flex;flex-direction:column;justify-items:center}.alert h4{margin:3px 0;color:var(--typography-contrast)}.alert p{margin:3px 0 0;color:inherit;font-size:12px;font-weight:400;line-height:16.8px}.alert .close-icon{display:flex;align-items:flex-start;margin-left:16px;gap:16px;margin-top:4px;height:30px}.alert .close-icon:empty{display:none}.alert.standard.info{color:var(--primary-base);background-color:var(--primary-hover);border:1px solid var(--primary-border)}.alert.standard.info h4{color:var(--primary-base)}.alert.standard.warning{color:var(--orange-base);background-color:var(--orange-hover);border:1px solid var(--orange-border)}.alert.standard.warning h4{color:var(--orange-base)}.alert.standard.success{color:var(--green-base);background-color:var(--green-hover);border:1px solid var(--green-border)}.alert.standard.success h4{color:var(--green-base)}.alert.standard.error{color:var(--red-base);background-color:var(--red-hover);border:1px solid var(--red-border)}.alert.standard.error h4{color:var(--red-base)}.alert.outlined.info{color:var(--primary-base);border:1px solid var(--primary-base)}.alert.outlined.info h4{color:var(--primary-base)}.alert.outlined.warning{color:var(--orange-base);border:1px solid var(--orange-base)}.alert.outlined.warning h4{color:var(--orange-base)}.alert.outlined.success{color:var(--green-base);border:1px solid var(--green-base)}.alert.outlined.success h4{color:var(--green-base)}.alert.outlined.error{color:var(--red-base);border:1px solid var(--red-base)}.alert.outlined.error h4{color:var(--red-base)}.alert.filled.info{color:var(--typography-contrast);background-color:var(--primary-base)}.alert.filled.warning{color:var(--typography-contrast);background-color:var(--orange-base)}.alert.filled.success{color:var(--typography-contrast);background-color:var(--green-base)}.alert.filled.error{color:var(--typography-contrast);background-color:var(--red-base)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i3.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }] });
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwAlertComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ selector: 'fw-alert', template: "<div [ngClass]=\"['alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"alert-icon\">{{ icon }}</fw-icon>\n <div class=\"alert-text\">\n <h4 *ngIf=\"title\">{{ title }}</h4>\n <p *ngIf=\"description\">{{ description }}</p>\n <p>\n <ng-content></ng-content>\n </p>\n </div>\n <div *ngIf=\"showClose\" class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n", styles: [".alert{border-radius:8px;padding:6px 16px;display:flex;box-sizing:border-box;min-height:48px}.alert .alert-icon{padding:7px 12px 7px 0;align-items:flex-start;font-size:22px}.alert .alert-text{padding:6px 0;flex:1;display:flex;flex-direction:column;justify-items:center}.alert h4{margin:3px 0;color:var(--typography-contrast)}.alert p{margin:3px 0 0;color:inherit;font-size:12px;font-weight:400;line-height:16.8px}.alert .close-icon{display:flex;align-items:flex-start;margin-left:16px;gap:16px;margin-top:4px;height:30px}.alert.standard.info{color:var(--primary-base);background-color:var(--primary-hover);border:1px solid var(--primary-border)}.alert.standard.info h4{color:var(--primary-base)}.alert.standard.warning{color:var(--orange-base);background-color:var(--orange-hover);border:1px solid var(--orange-border)}.alert.standard.warning h4{color:var(--orange-base)}.alert.standard.success{color:var(--green-base);background-color:var(--green-hover);border:1px solid var(--green-border)}.alert.standard.success h4{color:var(--green-base)}.alert.standard.error{color:var(--red-base);background-color:var(--red-hover);border:1px solid var(--red-border)}.alert.standard.error h4{color:var(--red-base)}.alert.outlined.info{color:var(--primary-base);border:1px solid var(--primary-base)}.alert.outlined.info h4{color:var(--primary-base)}.alert.outlined.warning{color:var(--orange-base);border:1px solid var(--orange-base)}.alert.outlined.warning h4{color:var(--orange-base)}.alert.outlined.success{color:var(--green-base);border:1px solid var(--green-base)}.alert.outlined.success h4{color:var(--green-base)}.alert.outlined.error{color:var(--red-base);border:1px solid var(--red-base)}.alert.outlined.error h4{color:var(--red-base)}.alert.filled.info{color:var(--typography-contrast);background-color:var(--primary-base)}.alert.filled.warning{color:var(--typography-contrast);background-color:var(--orange-base)}.alert.filled.success{color:var(--typography-contrast);background-color:var(--green-base)}.alert.filled.error{color:var(--typography-contrast);background-color:var(--red-base)}\n"] }]
18
+ args: [{ selector: 'fw-alert', template: "<div [ngClass]=\"['alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"alert-icon\">{{ icon }}</fw-icon>\n <div class=\"alert-text\">\n <h4 *ngIf=\"title\">{{ title }}</h4>\n <p *ngIf=\"description\">{{ description }}</p>\n <p>\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n", styles: [".alert{border-radius:8px;padding:6px 16px;display:flex;box-sizing:border-box;min-height:48px}.alert .alert-icon{padding:7px 12px 7px 0;align-items:flex-start;font-size:22px}.alert .alert-text{padding:6px 0;flex:1;display:flex;flex-direction:column;justify-items:center}.alert h4{margin:3px 0;color:var(--typography-contrast)}.alert p{margin:3px 0 0;color:inherit;font-size:12px;font-weight:400;line-height:16.8px}.alert .close-icon{display:flex;align-items:flex-start;margin-left:16px;gap:16px;margin-top:4px;height:30px}.alert .close-icon:empty{display:none}.alert.standard.info{color:var(--primary-base);background-color:var(--primary-hover);border:1px solid var(--primary-border)}.alert.standard.info h4{color:var(--primary-base)}.alert.standard.warning{color:var(--orange-base);background-color:var(--orange-hover);border:1px solid var(--orange-border)}.alert.standard.warning h4{color:var(--orange-base)}.alert.standard.success{color:var(--green-base);background-color:var(--green-hover);border:1px solid var(--green-border)}.alert.standard.success h4{color:var(--green-base)}.alert.standard.error{color:var(--red-base);background-color:var(--red-hover);border:1px solid var(--red-border)}.alert.standard.error h4{color:var(--red-base)}.alert.outlined.info{color:var(--primary-base);border:1px solid var(--primary-base)}.alert.outlined.info h4{color:var(--primary-base)}.alert.outlined.warning{color:var(--orange-base);border:1px solid var(--orange-base)}.alert.outlined.warning h4{color:var(--orange-base)}.alert.outlined.success{color:var(--green-base);border:1px solid var(--green-base)}.alert.outlined.success h4{color:var(--green-base)}.alert.outlined.error{color:var(--red-base);border:1px solid var(--red-base)}.alert.outlined.error h4{color:var(--red-base)}.alert.filled.info{color:var(--typography-contrast);background-color:var(--primary-base)}.alert.filled.warning{color:var(--typography-contrast);background-color:var(--orange-base)}.alert.filled.success{color:var(--typography-contrast);background-color:var(--green-base)}.alert.filled.error{color:var(--typography-contrast);background-color:var(--red-base)}\n"] }]
19
19
  }], propDecorators: { description: [{
20
20
  type: Input
21
21
  }], icon: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
31
31
  }], close: [{
32
32
  type: Output
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQVFXLGFBQVEsR0FBOEMsTUFBTSxDQUFDO1FBRTdELFlBQU8sR0FBd0MsVUFBVSxDQUFDO1FBRW5FLDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FDaEU7OzZHQVRZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFOQ1Q3Qixpb0JBbUJBOzJGRFZhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVOzhCQUtYLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0FsZXJ0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgc2V2ZXJpdHk/OiAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InID0gJ2luZm8nO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgdmFyaWFudD86ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnIHwgJ2ZpbGxlZCcgPSAnc3RhbmRhcmQnO1xuICBASW5wdXQoKSBzaG93Q2xvc2U/OiBib29sZWFuO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIlsnYWxlcnQnLCB2YXJpYW50LCBzZXZlcml0eV1cIj5cbiAgPGZ3LWljb24gKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJhbGVydC1pY29uXCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0LXRleHRcIj5cbiAgICA8aDQgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9oND5cbiAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPHA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dDbG9zZVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICA8ZnctaWNvbi1idXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0Nsb3NlXCJcbiAgICAgIGljb249XCJjbG9zZVwiIHNpemU9XCJzbWFsbFwiXG4gICAgICBbY29sb3JdPVwidmFyaWFudD09PSdmaWxsZWQnPydvdmVybGF5JzpzZXZlcml0eVwiXG4gICAgICAoY2xpY2spPVwiY2xvc2U/Y2xvc2UuZW1pdCgpOnVuZGVmaW5lZFwiPlxuICAgIDwvZnctaWNvbi1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQVFXLGFBQVEsR0FBOEMsTUFBTSxDQUFDO1FBRTdELFlBQU8sR0FBd0MsVUFBVSxDQUFDO1FBRW5FLDREQUE0RDtRQUNsRCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FDaEU7OzZHQVRZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFOQ1Q3Qiw2bUJBbUJBOzJGRFZhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVOzhCQUtYLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd0FsZXJ0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgc2V2ZXJpdHk/OiAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InID0gJ2luZm8nO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgdmFyaWFudD86ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnIHwgJ2ZpbGxlZCcgPSAnc3RhbmRhcmQnO1xuICBASW5wdXQoKSBzaG93Q2xvc2U/OiBib29sZWFuO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIlsnYWxlcnQnLCB2YXJpYW50LCBzZXZlcml0eV1cIj5cbiAgPGZ3LWljb24gKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJhbGVydC1pY29uXCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0LXRleHRcIj5cbiAgICA8aDQgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9oND5cbiAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPHA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNsb3NlLWljb25cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgPGZ3LWljb24tYnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dDbG9zZVwiXG4gICAgICBpY29uPVwiY2xvc2VcIiBzaXplPVwic21hbGxcIlxuICAgICAgW2NvbG9yXT1cInZhcmlhbnQ9PT0nZmlsbGVkJz8nb3ZlcmxheSc6c2V2ZXJpdHlcIlxuICAgICAgKGNsaWNrKT1cImNsb3NlP2Nsb3NlLmVtaXQoKTp1bmRlZmluZWRcIj5cbiAgICA8L2Z3LWljb24tYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -26,10 +26,10 @@ export class FwAvatarComponent {
26
26
  }
27
27
  }
28
28
  FwAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- FwAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwAvatarComponent, selector: "fw-avatar", inputs: { color: "color", variant: "variant", content: "content", size: "size", initial: "initial", imageUrl: "imageUrl", imageAltText: "imageAltText", icon: "icon" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n", styles: [":host{display:block}:host .avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}:host .avatar fw-icon{color:var(--typography-contrast);font-size:inherit}:host .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}:host .avatar .initial{font-family:Inter,sans-serif;font-style:normal;font-weight:500;color:var(--typography-contrast);font-size:inherit}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:24px}:host.large{width:48px;height:48px;font-size:22px}:host.large .avatar fw-icon{font-size:32px}:host.x-large{width:96px;height:96px;font-size:36px}:host.x-large .avatar fw-icon{font-size:64px}:host.rounded.small{border-radius:4px}:host.rounded.medium{border-radius:8px}:host.rounded.large{border-radius:12px}:host.rounded.x-large{border-radius:16px}:host.circular{border-radius:64px}.avatar-primary{background:var(--primary-base)}.avatar-slate{background:var(--slate-medium)}.avatar-red{background:var(--red-base)}.avatar-light-slate{background:var(--slate-light)}.avatar-secondary{background:var(--secondary-base)}.avatar-warning{background:var(--orange-base)}.avatar-success{background:var(--green-base)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
29
+ FwAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwAvatarComponent, selector: "fw-avatar", inputs: { color: "color", variant: "variant", content: "content", size: "size", initial: "initial", imageUrl: "imageUrl", imageAltText: "imageAltText", icon: "icon" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n", styles: [":host{display:block}:host .avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}:host .avatar fw-icon{color:var(--typography-contrast);font-size:inherit}:host .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}:host .avatar .initial{font-family:Inter,sans-serif;font-style:normal;font-weight:500;color:var(--typography-contrast);font-size:inherit}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:24px}:host.large{width:48px;height:48px;font-size:22px}:host.large .avatar fw-icon{font-size:32px}:host.x-large{width:96px;height:96px;font-size:36px}:host.x-large .avatar fw-icon{font-size:64px}:host.rounded.small{border-radius:4px}:host.rounded.medium{border-radius:8px}:host.rounded.large{border-radius:12px}:host.rounded.x-large{border-radius:16px}:host.circular{border-radius:64px}.avatar-primary{background:var(--primary-base)}.avatar-slate{background:var(--slate-medium)}.avatar-red{background:var(--red-base)}.avatar-light-slate{background:var(--slate-light)}.avatar-secondary{background:var(--secondary-base)}.avatar-warning{background:var(--orange-base)}.avatar-success{background:var(--green-base)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwAvatarComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'fw-avatar', template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n", styles: [":host{display:block}:host .avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}:host .avatar fw-icon{color:var(--typography-contrast);font-size:inherit}:host .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}:host .avatar .initial{font-family:Inter,sans-serif;font-style:normal;font-weight:500;color:var(--typography-contrast);font-size:inherit}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:24px}:host.large{width:48px;height:48px;font-size:22px}:host.large .avatar fw-icon{font-size:32px}:host.x-large{width:96px;height:96px;font-size:36px}:host.x-large .avatar fw-icon{font-size:64px}:host.rounded.small{border-radius:4px}:host.rounded.medium{border-radius:8px}:host.rounded.large{border-radius:12px}:host.rounded.x-large{border-radius:16px}:host.circular{border-radius:64px}.avatar-primary{background:var(--primary-base)}.avatar-slate{background:var(--slate-medium)}.avatar-red{background:var(--red-base)}.avatar-light-slate{background:var(--slate-light)}.avatar-secondary{background:var(--secondary-base)}.avatar-warning{background:var(--orange-base)}.avatar-success{background:var(--green-base)}\n"] }]
32
+ args: [{ selector: 'fw-avatar', template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n", styles: [":host{display:block}:host .avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}:host .avatar fw-icon{color:var(--typography-contrast);font-size:inherit}:host .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}:host .avatar .initial{font-family:Inter,sans-serif;font-style:normal;font-weight:500;color:var(--typography-contrast);font-size:inherit}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:24px}:host.large{width:48px;height:48px;font-size:22px}:host.large .avatar fw-icon{font-size:32px}:host.x-large{width:96px;height:96px;font-size:36px}:host.x-large .avatar fw-icon{font-size:64px}:host.rounded.small{border-radius:4px}:host.rounded.medium{border-radius:8px}:host.rounded.large{border-radius:12px}:host.rounded.x-large{border-radius:16px}:host.circular{border-radius:64px}.avatar-primary{background:var(--primary-base)}.avatar-slate{background:var(--slate-medium)}.avatar-red{background:var(--red-base)}.avatar-light-slate{background:var(--slate-light)}.avatar-secondary{background:var(--secondary-base)}.avatar-warning{background:var(--orange-base)}.avatar-success{background:var(--green-base)}\n"] }]
33
33
  }], propDecorators: { classes: [{
34
34
  type: HostBinding,
35
35
  args: ['attr.class']
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
50
50
  }], icon: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVVXLFVBQUssR0FBdUYsU0FBUyxDQUFDO1FBQ3RHLFlBQU8sR0FBdUMsVUFBVSxDQUFDO1FBQ3pELFlBQU8sR0FBa0MsTUFBTSxDQUFDO1FBQ2hELFNBQUksR0FBOEMsT0FBTyxDQUFDO1FBQzFELFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsYUFBUSxHQUFZLEVBQUUsQ0FBQztRQUN2QixpQkFBWSxHQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQWMsTUFBTSxDQUFDO1FBRWxDLGtCQUFhLEdBQVksS0FBSyxDQUFDO0tBU2hDO0lBdEJDLElBQStCLE9BQU87UUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQUEsQ0FBQztJQWFGLFNBQVM7UUFDUCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OzhHQXRCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpUkNUOUIseTFCQXdCQTsyRkRmYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFLVSxPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVk7Z0JBSWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYXZhdGFyJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGd0F2YXRhckNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5jbGFzcycpIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLnNpemUsIHRoaXMudmFyaWFudCwgdGhpcy5jb250ZW50XS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9O1xuXG4gIEBJbnB1dCgpIGNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdsaWdodC1zbGF0ZScgfCAnc2xhdGUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSB2YXJpYW50PzogJ2NpcmN1bGFyJyB8ICdyb3VuZGVkJyB8ICdzcXVhcmUnID0gJ2NpcmN1bGFyJztcbiAgQElucHV0KCkgY29udGVudD86ICdpbWFnZScgfCAnaWNvbicgfCAnaW5pdGlhbCcgPSAnaWNvbic7XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3gtbGFyZ2UnID0gJ3NtYWxsJztcbiAgQElucHV0KCkgaW5pdGlhbD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpbWFnZVVybD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpbWFnZUFsdFRleHQ/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlID0gJ3VzZXInO1xuXG4gIGlzSW1hZ2VCcm9rZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBsb2FkSW1hZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ltYWdlQnJva2VuID0gZmFsc2U7XG4gIH1cblxuICBlcnJvckltYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbWFnZUJyb2tlbiA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRlbnRcIj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiIFtuZ0NsYXNzXT1cIlsnYXZhdGFyJywgJ2F2YXRhci0nICsgY29sb3JdXCI+XG4gICAgPGltZ1xuICAgICAgKm5nSWY9XCIhaXNJbWFnZUJyb2tlbiBlbHNlIGRpc3BsYXlJbml0aWFsXCJcbiAgICAgIFtzcmNdPVwiaW1hZ2VVcmxcIlxuICAgICAgW2FsdF09XCJpbWFnZUFsdFRleHRcIlxuICAgICAgKGxvYWQpPVwibG9hZEltYWdlKClcIlxuICAgICAgKGVycm9yKT1cImVycm9ySW1hZ2UoKVwiPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCIgW25nQ2xhc3NdPVwiWydhdmF0YXInLCAnYXZhdGFyLScgK2NvbG9yXVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5SWNvblwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2luaXRpYWwnXCIgW25nQ2xhc3NdPVwiWydhdmF0YXInLCdhdmF0YXItJyArIGNvbG9yXVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5SW5pdGlhbFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Rpc3BsYXlJbml0aWFsPlxuICA8c3BhbiBjbGFzcz1cImluaXRpYWxcIiAqbmdJZj1cImluaXRpYWwgZWxzZSBkaXNwbGF5SWNvblwiPnt7IGluaXRpYWwgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Rpc3BsYXlJY29uPlxuICA8ZnctaWNvbj57eyBpY29uIH19PC9mdy1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVVXLFVBQUssR0FBdUYsU0FBUyxDQUFDO1FBQ3RHLFlBQU8sR0FBdUMsVUFBVSxDQUFDO1FBQ3pELFlBQU8sR0FBa0MsTUFBTSxDQUFDO1FBQ2hELFNBQUksR0FBOEMsT0FBTyxDQUFDO1FBQzFELFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsYUFBUSxHQUFZLEVBQUUsQ0FBQztRQUN2QixpQkFBWSxHQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQWMsTUFBTSxDQUFDO1FBRWxDLGtCQUFhLEdBQVksS0FBSyxDQUFDO0tBU2hDO0lBdEJDLElBQStCLE9BQU87UUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQUEsQ0FBQztJQWFGLFNBQVM7UUFDUCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OzhHQXRCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpUkNUOUIscTFCQXNCQTsyRkRiYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFLVSxPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVk7Z0JBSWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYXZhdGFyJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGd0F2YXRhckNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5jbGFzcycpIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLnNpemUsIHRoaXMudmFyaWFudCwgdGhpcy5jb250ZW50XS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9O1xuXG4gIEBJbnB1dCgpIGNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdsaWdodC1zbGF0ZScgfCAnc2xhdGUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSB2YXJpYW50PzogJ2NpcmN1bGFyJyB8ICdyb3VuZGVkJyB8ICdzcXVhcmUnID0gJ2NpcmN1bGFyJztcbiAgQElucHV0KCkgY29udGVudD86ICdpbWFnZScgfCAnaWNvbicgfCAnaW5pdGlhbCcgPSAnaWNvbic7XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3gtbGFyZ2UnID0gJ3NtYWxsJztcbiAgQElucHV0KCkgaW5pdGlhbD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpbWFnZVVybD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpbWFnZUFsdFRleHQ/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlID0gJ3VzZXInO1xuXG4gIGlzSW1hZ2VCcm9rZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBsb2FkSW1hZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ltYWdlQnJva2VuID0gZmFsc2U7XG4gIH1cblxuICBlcnJvckltYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbWFnZUJyb2tlbiA9IHRydWU7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRlbnRcIj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiIFtuZ0NsYXNzXT1cIlsnYXZhdGFyJywgJ2F2YXRhci0nICsgY29sb3JdXCI+XG4gICAgPGltZ1xuICAgICAgKm5nSWY9XCIhaXNJbWFnZUJyb2tlbiBlbHNlIGRpc3BsYXlJbml0aWFsXCJcbiAgICAgIFtzcmNdPVwiaW1hZ2VVcmxcIlxuICAgICAgW2FsdF09XCJpbWFnZUFsdFRleHRcIlxuICAgICAgKGxvYWQpPVwibG9hZEltYWdlKClcIlxuICAgICAgKGVycm9yKT1cImVycm9ySW1hZ2UoKVwiPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCIgW25nQ2xhc3NdPVwiWydhdmF0YXInLCAnYXZhdGFyLScgK2NvbG9yXVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5SWNvblwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2luaXRpYWwnXCIgW25nQ2xhc3NdPVwiWydhdmF0YXInLCdhdmF0YXItJyArIGNvbG9yXVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaXNwbGF5SW5pdGlhbFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkaXNwbGF5SW5pdGlhbD5cbiAgPHNwYW4gY2xhc3M9XCJpbml0aWFsXCIgKm5nSWY9XCJpbml0aWFsIGVsc2UgZGlzcGxheUljb25cIj57eyBpbml0aWFsIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGlzcGxheUljb24+XG4gIDxmdy1pY29uPnt7IGljb24gfX08L2Z3LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -95,15 +95,21 @@ export class FwButtonToggleComponent {
95
95
  toggle.selected = true;
96
96
  }
97
97
  }
98
- const vals = this.toggleButtons.map(tb => {
99
- if (tb.selected) {
100
- return tb.value;
101
- }
102
- else {
103
- return null;
104
- }
105
- }).filter(Boolean);
106
- this.writeValue(vals);
98
+ if (this.multiple) {
99
+ const vals = this.toggleButtons.map(tb => {
100
+ if (tb.selected) {
101
+ return tb.value;
102
+ }
103
+ else {
104
+ return null;
105
+ }
106
+ }).filter(Boolean);
107
+ this.writeValue(vals);
108
+ }
109
+ else {
110
+ const val = this.toggleButtons.find(t => t.selected)?.value;
111
+ this.writeValue(val);
112
+ }
107
113
  });
108
114
  this.subscriptions.push(sub);
109
115
  });
@@ -150,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
150
156
  }], value: [{
151
157
  type: Input
152
158
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFlaEcsTUFBTSxPQUFPLHVCQUF1QjtJQXlCbEMsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFwQm5DLFdBQU0sR0FBeUIsT0FBTyxDQUFDO1FBQ3ZDLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBRS9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFJNUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFlekQsY0FBUyxHQUFHLEdBQVMsRUFBRTtRQUN2QixDQUFDLENBQUM7SUFKRixDQUFDO0lBekJELElBQStCLE9BQU87UUFDcEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUFBLENBQUM7SUFhRixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFFBQTJC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Q3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUc4QixPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVk7Z0JBSWhCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUMrRCxhQUFhO3NCQUFqRixlQUFlO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHekQsTUFBTTtzQkFBZixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3QnV0dG9uVG9nZ2xlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLXRvZ2dsZS1pdGVtL2J1dHRvbi10b2dnbGUtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1idXR0b24tdG9nZ2xlJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJ1dHRvbi10b2dnbGUtaXRlbSxmdy10b29sdGlwXCI+PC9uZy1jb250ZW50PicsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRndCdXR0b25Ub2dnbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndCdXR0b25Ub2dnbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbJ2Z3LWJ1dHRvbi10b2dnbGUnLCB0aGlzLnNpemUsIHRoaXMubGF5b3V0XS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9O1xuXG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnO1xuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBtdWx0aXBsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnc2xhdGUnIHwgJ3NrZWxldG9uJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJztcbiAgQElucHV0KCkgc2VsZWN0ZWRDb2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnc2xhdGUnIHwgJ3NrZWxldG9uJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJztcbiAgQENvbnRlbnRDaGlsZHJlbihGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgdG9nZ2xlQnV0dG9uczogUXVlcnlMaXN0PEZ3QnV0dG9uVG9nZ2xlSXRlbUNvbXBvbmVudD47XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgc3RyaW5nW107XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXRUb2dnbGVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2dnbGVCdXR0b25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybWF0VG9nZ2xlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGZvcm1hdFRvZ2dsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9nZ2xlQnV0dG9ucykge1xuICAgICAgdGhpcy50b2dnbGVCdXR0b25zLmZvckVhY2godG9nZ2xlID0+IHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlLmluZGV4T2YodG9nZ2xlLnZhbHVlKSA+PSAwKSB7XG4gICAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodG9nZ2xlLnZhbHVlID09PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0b2dnbGUuc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgICAgICB0b2dnbGUuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IpIHtcbiAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWRDb2xvciA9IHRoaXMuc2VsZWN0ZWRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRvZ2dsZS5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3ViID0gdG9nZ2xlLmNsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gIXRvZ2dsZS5zZWxlY3RlZDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudG9nZ2xlQnV0dG9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gIXRvZ2dsZS5zZWxlY3RlZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMudG9nZ2xlQnV0dG9ucy5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgICAgIHQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRvZ2dsZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHMgPSB0aGlzLnRvZ2dsZUJ1dHRvbnMubWFwKHRiID0+IHtcbiAgICAgICAgICAgIGlmICh0Yi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdGIudmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFlaEcsTUFBTSxPQUFPLHVCQUF1QjtJQXlCbEMsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFwQm5DLFdBQU0sR0FBeUIsT0FBTyxDQUFDO1FBQ3ZDLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBRS9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFJNUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFlekQsY0FBUyxHQUFHLEdBQVMsRUFBRTtRQUN2QixDQUFDLENBQUM7SUFKRixDQUFDO0lBekJELElBQStCLE9BQU87UUFDcEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUFBLENBQUM7SUFhRixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFFBQTJC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WjtLQUNGLHdEQWFnQiwyQkFBMkIscUVBckJsQyxxRUFBcUU7MkZBVXBFLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxrQkFBa0IsWUFFbEIscUVBQXFFLGlCQUNoRSxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FHOEIsT0FBTztzQkFBckMsV0FBVzt1QkFBQyxZQUFZO2dCQUloQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDK0QsYUFBYTtzQkFBakYsZUFBZTt1QkFBQywyQkFBMkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR3pELE1BQU07c0JBQWYsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi10b2dnbGUtaXRlbS9idXR0b24tdG9nZ2xlLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYnV0dG9uLXRvZ2dsZScsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCBzZWxlY3Q9XCJmdy1idXR0b24tdG9nZ2xlLWl0ZW0sZnctdG9vbHRpcFwiPjwvbmctY29udGVudD4nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZ3QnV0dG9uVG9nZ2xlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNsYXNzJykgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gWydmdy1idXR0b24tdG9nZ2xlJywgdGhpcy5zaXplLCB0aGlzLmxheW91dF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfTtcblxuICBASW5wdXQoKSBsYXlvdXQ/OiAnYmFzaWMnIHwgJ2NvbXBhY3QnID0gJ2Jhc2ljJztcbiAgQElucHV0KCkgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgbXVsdGlwbGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkYW5nZXInIHwgJ3NsYXRlJyB8ICdza2VsZXRvbicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkYW5nZXInIHwgJ3NsYXRlJyB8ICdza2VsZXRvbicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndCdXR0b25Ub2dnbGVJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHRvZ2dsZUJ1dHRvbnM6IFF1ZXJ5TGlzdDxGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQ+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0VG9nZ2xlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9nZ2xlQnV0dG9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZvcm1hdFRvZ2dsZXMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBmb3JtYXRUb2dnbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvZ2dsZUJ1dHRvbnMpIHtcbiAgICAgIHRoaXMudG9nZ2xlQnV0dG9ucy5mb3JFYWNoKHRvZ2dsZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZS5pbmRleE9mKHRvZ2dsZS52YWx1ZSkgPj0gMCkge1xuICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRvZ2dsZS52YWx1ZSA9PT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9nZ2xlLnNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICAgICAgdG9nZ2xlLmNvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvbG9yKSB7XG4gICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkQ29sb3IgPSB0aGlzLnNlbGVjdGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0b2dnbGUuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YiA9IHRvZ2dsZS5jbGljay5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHRvZ2dsZS5zZWxlY3RlZCA9ICF0b2dnbGUuc2VsZWN0ZWQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRvZ2dsZUJ1dHRvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZS5zZWxlY3RlZCA9ICF0b2dnbGUuc2VsZWN0ZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbnMuZm9yRWFjaCh0ID0+IHtcbiAgICAgICAgICAgICAgICB0LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFscyA9IHRoaXMudG9nZ2xlQnV0dG9ucy5tYXAodGIgPT4ge1xuICAgICAgICAgICAgICBpZiAodGIuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGIudmFsdWU7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWxzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdmFsID0gdGhpcy50b2dnbGVCdXR0b25zLmZpbmQodCA9PiB0LnNlbGVjdGVkKT8udmFsdWU7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=