@villedemontreal/angular-ui 15.3.1 → 16.0.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 (122) hide show
  1. package/{esm2020 → esm2022}/lib/alert/alert.component.mjs +16 -16
  2. package/{esm2020 → esm2022}/lib/alert/module.mjs +13 -13
  3. package/{esm2020 → esm2022}/lib/avatar/avatar.component.mjs +7 -7
  4. package/{esm2020 → esm2022}/lib/avatar/module.mjs +5 -5
  5. package/{esm2020 → esm2022}/lib/badge/badge.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/badge/module.mjs +5 -5
  7. package/{esm2020 → esm2022}/lib/bao.module.mjs +57 -57
  8. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/breadcrumb/module.mjs +5 -5
  10. package/esm2022/lib/button/button.component.mjs +100 -0
  11. package/{esm2020 → esm2022}/lib/button/module.mjs +5 -5
  12. package/{esm2020 → esm2022}/lib/card/card.component.mjs +16 -16
  13. package/{esm2020 → esm2022}/lib/card/module.mjs +13 -13
  14. package/{esm2020 → esm2022}/lib/checkbox/checkbox-group.component.mjs +4 -4
  15. package/esm2022/lib/checkbox/checkbox.component.mjs +304 -0
  16. package/{esm2020 → esm2022}/lib/checkbox/module.mjs +9 -9
  17. package/{esm2020 → esm2022}/lib/common-components/error-text/errorText.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/common-components/guiding-text/guidingText.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/common-components/label-text/labelText.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/common-components/module.mjs +11 -11
  21. package/{esm2020 → esm2022}/lib/common-components/title-text/titleText.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/dropdown-menu/dropdown-menu.component.mjs +22 -22
  23. package/{esm2020 → esm2022}/lib/dropdown-menu/module.mjs +17 -17
  24. package/esm2022/lib/file/file-input.component.mjs +319 -0
  25. package/{esm2020 → esm2022}/lib/file/file-intl.mjs +7 -7
  26. package/{esm2020 → esm2022}/lib/file/file-preview.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/file/module.mjs +19 -19
  28. package/{esm2020 → esm2022}/lib/header-info/header-info.component.mjs +19 -19
  29. package/{esm2020 → esm2022}/lib/header-info/module.mjs +15 -15
  30. package/{esm2020 → esm2022}/lib/hyperlink/hyperlink.component.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/hyperlink/module.mjs +5 -5
  32. package/{esm2020 → esm2022}/lib/icon/bao-icon-registry.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/icon/module.mjs +5 -5
  35. package/{esm2020 → esm2022}/lib/list/list.component.mjs +16 -16
  36. package/{esm2020 → esm2022}/lib/list/module.mjs +13 -13
  37. package/{esm2020 → esm2022}/lib/modal/modal-container.mjs +8 -8
  38. package/{esm2020 → esm2022}/lib/modal/modal-directives.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/modal/modal.mjs +7 -7
  40. package/{esm2020 → esm2022}/lib/modal/module.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/radio/module.mjs +19 -19
  42. package/{esm2020 → esm2022}/lib/radio/radio-group.component.mjs +11 -11
  43. package/{esm2020 → esm2022}/lib/radio/radio.component.mjs +13 -13
  44. package/esm2022/lib/snack-bar/module.mjs +51 -0
  45. package/{esm2020 → esm2022}/lib/snack-bar/simple-snack-bar.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/snack-bar/snack-bar-container.mjs +10 -5
  47. package/{esm2020 → esm2022}/lib/snack-bar/snack-bar.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/summary/list-summary.component.mjs +7 -7
  49. package/{esm2020 → esm2022}/lib/summary/module.mjs +11 -11
  50. package/{esm2020 → esm2022}/lib/summary/summary.component.mjs +7 -7
  51. package/{esm2020 → esm2022}/lib/system-header/module.mjs +9 -9
  52. package/esm2022/lib/system-header/system-header.component.mjs +130 -0
  53. package/{esm2020 → esm2022}/lib/tabs/module.mjs +11 -11
  54. package/{esm2020 → esm2022}/lib/tabs/tabs.component.mjs +13 -13
  55. package/{esm2020 → esm2022}/lib/tag/module.mjs +5 -5
  56. package/{esm2020 → esm2022}/lib/tag/tag.component.mjs +4 -4
  57. package/{fesm2020 → fesm2022}/villedemontreal-angular-ui.mjs +508 -501
  58. package/fesm2022/villedemontreal-angular-ui.mjs.map +1 -0
  59. package/lib/alert/alert.component.d.ts +1 -1
  60. package/lib/avatar/avatar.component.d.ts +1 -1
  61. package/lib/badge/badge.component.d.ts +1 -1
  62. package/lib/button/button.component.d.ts +4 -4
  63. package/lib/card/card.component.d.ts +1 -1
  64. package/lib/checkbox/checkbox-group.component.d.ts +1 -1
  65. package/lib/checkbox/checkbox.component.d.ts +1 -1
  66. package/lib/common-components/label-text/labelText.component.d.ts +1 -1
  67. package/lib/dropdown-menu/dropdown-menu.component.d.ts +2 -2
  68. package/lib/file/file-input.component.d.ts +1 -1
  69. package/lib/file/file-preview.component.d.ts +1 -1
  70. package/lib/header-info/header-info.component.d.ts +1 -1
  71. package/lib/hyperlink/hyperlink.component.d.ts +1 -1
  72. package/lib/icon/icon.component.d.ts +1 -1
  73. package/lib/modal/modal-directives.d.ts +1 -1
  74. package/lib/radio/radio-group.component.d.ts +1 -1
  75. package/lib/radio/radio.component.d.ts +1 -1
  76. package/lib/summary/summary.component.d.ts +1 -1
  77. package/lib/system-header/system-header.component.d.ts +4 -3
  78. package/lib/tabs/tabs.component.d.ts +1 -1
  79. package/lib/tag/tag.component.d.ts +1 -1
  80. package/package.json +13 -19
  81. package/esm2020/lib/button/button.component.mjs +0 -100
  82. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -304
  83. package/esm2020/lib/file/file-input.component.mjs +0 -319
  84. package/esm2020/lib/snack-bar/module.mjs +0 -52
  85. package/esm2020/lib/system-header/system-header.component.mjs +0 -128
  86. package/fesm2015/villedemontreal-angular-ui.mjs +0 -6119
  87. package/fesm2015/villedemontreal-angular-ui.mjs.map +0 -1
  88. package/fesm2020/villedemontreal-angular-ui.mjs.map +0 -1
  89. /package/{esm2020 → esm2022}/lib/alert/index.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/avatar/index.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/breadcrumb/index.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/card/index.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/checkbox/index.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/common-components/index.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/core/breakpoints.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/core/colors.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/core/index.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/dropdown-menu/index.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/file/index.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/header-info/index.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/hyperlink/index.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/icon/icons-dictionary.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/icon/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/list/index.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/modal/modal-config.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/modal/modal-ref.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/radio/index.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/shared/enum/display-mode.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/snack-bar/index.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/snack-bar/snack-bar-animations.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/snack-bar/snack-bar-config.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/snack-bar/snack-bar-ref.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/summary/index.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/system-header/index.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/tabs/index.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/tag/index.mjs +0 -0
  121. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  122. /package/{esm2020 → esm2022}/villedemontreal-angular-ui.mjs +0 -0
@@ -72,5 +72,5 @@ export declare class BaoAlertComponent implements OnChanges {
72
72
  alertTitleIcon(value: string): any;
73
73
  onDismissClicked(): void;
74
74
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoAlertComponent, never>;
75
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoAlertComponent, "bao-alert", never, { "type": "type"; "dismissible": "dismissible"; }, { "dismiss": "dismiss"; }, never, ["*"], false, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoAlertComponent, "bao-alert", never, { "type": { "alias": "type"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; }, { "dismiss": "dismiss"; }, never, ["*"], false, never>;
76
76
  }
@@ -22,5 +22,5 @@ export declare class BaoAvatarComponent implements AfterViewInit {
22
22
  private setProfileName;
23
23
  private formatInitials;
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoAvatarComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoAvatarComponent, "bao-avatar", never, { "profileName": "profileName"; "color": "color"; }, {}, never, ["bao-avatar-content, [bao-avatar-content]"], false, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoAvatarComponent, "bao-avatar", never, { "profileName": { "alias": "profileName"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, ["bao-avatar-content, [bao-avatar-content]"], false, never>;
26
26
  }
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class BaoBadgeComponent {
3
3
  type: '' | 'success' | 'danger' | 'warning' | 'info';
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoBadgeComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoBadgeComponent, "bao-badge", never, { "type": "type"; }, {}, never, ["*"], false, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoBadgeComponent, "bao-badge", never, { "type": { "alias": "type"; "required": false; }; }, {}, never, ["*"], false, never>;
6
6
  }
@@ -1,6 +1,6 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, ElementRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class BaoButtonComponent implements AfterViewInit {
3
+ export declare class BaoButtonComponent implements AfterContentInit {
4
4
  private elementRef;
5
5
  private cdr;
6
6
  /**
@@ -41,7 +41,7 @@ export declare class BaoButtonComponent implements AfterViewInit {
41
41
  rightIcon: boolean;
42
42
  constructor(elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
43
43
  get nativeElement(): HTMLElement;
44
- ngAfterViewInit(): void;
44
+ ngAfterContentInit(): void;
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoButtonComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoButtonComponent, "button[bao-button]", never, { "displayType": "displayType"; "level": "level"; "size": "size"; "loading": "loading"; "reversed": "reversed"; "loadingSpinnerAriaLabel": "loadingSpinnerAriaLabel"; "fullWidth": "fullWidth"; }, {}, never, ["*"], false, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoButtonComponent, "button[bao-button]", never, { "displayType": { "alias": "displayType"; "required": false; }; "level": { "alias": "level"; "required": false; }; "size": { "alias": "size"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "reversed": { "alias": "reversed"; "required": false; }; "loadingSpinnerAriaLabel": { "alias": "loadingSpinnerAriaLabel"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; }, {}, never, ["*"], false, never>;
47
47
  }
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
12
12
  export declare class BaoCardComponent {
13
13
  padding: 'normal' | 'large';
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoCardComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoCardComponent, "bao-card, [bao-card], [baoCard]", never, { "padding": "padding"; }, {}, never, ["bao-card-header", "bao-card-content"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoCardComponent, "bao-card, [bao-card], [baoCard]", never, { "padding": { "alias": "padding"; "required": false; }; }, {}, never, ["bao-card-header", "bao-card-content"], false, never>;
16
16
  }
17
17
  /**
18
18
  * Header of a card, needed as it's used as a selector in the API.
@@ -21,5 +21,5 @@ export declare class BaoCheckboxGroupComponent implements AfterViewInit {
21
21
  private setAriaDescribedByToDescription;
22
22
  private showAriaDescribedBy;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoCheckboxGroupComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoCheckboxGroupComponent, "bao-checkbox-group, [bao-checkbox-group]", never, { "id": "id"; }, {}, never, ["*", "bao-error, [bao-error], bao-guiding-text, [bao-guiding-text]"], false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoCheckboxGroupComponent, "bao-checkbox-group, [bao-checkbox-group]", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*", "bao-error, [bao-error], bao-guiding-text, [bao-guiding-text]"], false, never>;
25
25
  }
@@ -144,7 +144,7 @@ export declare class BaoCheckboxComponent implements ControlValueAccessor, After
144
144
  private onModelChange;
145
145
  private onTouch;
146
146
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoCheckboxComponent, never>;
147
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoCheckboxComponent, "bao-checkbox, [bao-checkbox]", never, { "id": "id"; "ariaLabel": "aria-label"; "brandBorder": "brandBorder"; "inline": "inline"; "name": "name"; "hiddenLabel": "hiddenLabel"; "checked": "checked"; "disabled": "disabled"; "required": "required"; "indeterminate": "indeterminate"; }, { "change": "change"; "indeterminateChange": "indeterminateChange"; }, never, ["*", "bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]"], false, never>;
147
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoCheckboxComponent, "bao-checkbox, [bao-checkbox]", never, { "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "brandBorder": { "alias": "brandBorder"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "name": { "alias": "name"; "required": false; }; "hiddenLabel": { "alias": "hiddenLabel"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "change": "change"; "indeterminateChange": "indeterminateChange"; }, never, ["*", "bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]"], false, never>;
148
148
  }
149
149
  export declare class BaoCheckBoxDescription {
150
150
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoCheckBoxDescription, never>;
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class BaoLabelTextComponent {
3
3
  required: boolean;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoLabelTextComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoLabelTextComponent, "bao-label, [bao-label]", never, { "required": "required"; }, {}, never, ["*"], false, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoLabelTextComponent, "bao-label, [bao-label]", never, { "required": { "alias": "required"; "required": false; }; }, {}, never, ["*"], false, never>;
6
6
  }
@@ -31,7 +31,7 @@ export declare class BaoDropdownMenuItem implements AfterViewInit, OnChanges {
31
31
  */
32
32
  private propagateClick;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoDropdownMenuItem, never>;
34
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaoDropdownMenuItem, "bao-dropdown-menu-item, [bao-dropdown-menu-item]", never, { "disabled": "disabled"; }, { "itemClicked": "itemClicked"; }, never, never, false, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaoDropdownMenuItem, "bao-dropdown-menu-item, [bao-dropdown-menu-item]", never, { "disabled": { "alias": "disabled"; "required": false; }; }, { "itemClicked": "itemClicked"; }, never, never, false, never>;
35
35
  }
36
36
  export declare class BaoDropdownMenuComponent implements AfterContentInit, AfterViewInit {
37
37
  private cdr;
@@ -133,7 +133,7 @@ export declare class BaoDropdownMenuTrigger implements AfterViewInit, OnDestroy
133
133
  private createOverlay;
134
134
  private getOverlayConfig;
135
135
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoDropdownMenuTrigger, never>;
136
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaoDropdownMenuTrigger, "bao-dropdown-menu-trigger, [bao-dropdown-menu-trigger], [baoDropdownMenuTriggerFor]", never, { "menu": "baoDropdownMenuTriggerFor"; }, {}, never, never, false, never>;
136
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaoDropdownMenuTrigger, "bao-dropdown-menu-trigger, [bao-dropdown-menu-trigger], [baoDropdownMenuTriggerFor]", never, { "menu": { "alias": "baoDropdownMenuTriggerFor"; "required": false; }; }, {}, never, never, false, never>;
137
137
  }
138
138
  /**
139
139
  * Sections of list items in menu. Apply proper styling to section's title if there is one.
@@ -99,7 +99,7 @@ export declare class BaoFileInputComponent implements AfterContentInit, AfterVie
99
99
  private setDescribedByAttribute;
100
100
  private setErrorTextsAttribute;
101
101
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoFileInputComponent, never>;
102
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoFileInputComponent, "bao-file-input, [bao-file-input]", never, { "inputId": "id"; "label": "label"; "size": "size"; "maximalFileSize": "maximalFileSize"; "acceptedMIMETypes": "acceptedMIMETypes"; "required": "required"; "disabled": "disabled"; }, { "uploadedFile": "uploadedFile"; }, ["_files", "_errorForm"], ["bao-guiding-text", "bao-file-dropzone-instructions", "bao-error", "*"], false, never>;
102
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoFileInputComponent, "bao-file-input, [bao-file-input]", never, { "inputId": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "maximalFileSize": { "alias": "maximalFileSize"; "required": false; }; "acceptedMIMETypes": { "alias": "acceptedMIMETypes"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "uploadedFile": "uploadedFile"; }, ["_files", "_errorForm"], ["bao-guiding-text", "bao-file-dropzone-instructions", "bao-error", "*"], false, never>;
103
103
  }
104
104
  export declare class BaoFileDropDirective {
105
105
  fileDrop: EventEmitter<File>;
@@ -25,5 +25,5 @@ export declare class BaoFilePreviewComponent implements AfterContentInit {
25
25
  private formatSize;
26
26
  private getSizeAndUnit;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoFilePreviewComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoFilePreviewComponent, "bao-file-preview, [bao-file-preview]", never, { "file": "file"; "isLoading": "isLoading"; }, {}, never, ["bao-icon", "button[bao-button]", "baoDropdownTriggerFor"], false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoFilePreviewComponent, "bao-file-preview, [bao-file-preview]", never, { "file": { "alias": "file"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, {}, never, ["bao-icon", "button[bao-button]", "baoDropdownTriggerFor"], false, never>;
29
29
  }
@@ -15,7 +15,7 @@ export declare class BaoHeaderInfoComponent {
15
15
  imageUrl: string;
16
16
  brandBorder: boolean;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoHeaderInfoComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoHeaderInfoComponent, "bao-header-info", never, { "notch": "notch"; "imageUrl": "imageUrl"; "brandBorder": "brandBorder"; }, {}, never, ["bao-header-info-title-group", "*"], false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoHeaderInfoComponent, "bao-header-info", never, { "notch": { "alias": "notch"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "brandBorder": { "alias": "brandBorder"; "required": false; }; }, {}, never, ["bao-header-info-title-group", "*"], false, never>;
19
19
  }
20
20
  export declare class BaoHeaderInfoTitleGroupComponent {
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoHeaderInfoTitleGroupComponent, never>;
@@ -13,5 +13,5 @@ export declare class BaoHyperlinkComponent implements AfterViewInit {
13
13
  private setIcon;
14
14
  private addIconClass;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoHyperlinkComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoHyperlinkComponent, "bao-hyperlink, [bao-hyperlink]", never, { "size": "size"; }, {}, never, ["*"], false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoHyperlinkComponent, "bao-hyperlink, [bao-hyperlink]", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], false, never>;
17
17
  }
@@ -39,5 +39,5 @@ export declare class BaoIconComponent implements OnDestroy {
39
39
  private addTitleToSVG;
40
40
  private generateUniqueTitleId;
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoIconComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoIconComponent, "bao-icon", ["baoIcon"], { "color": "color"; "size": "size"; "svgIcon": "svgIcon"; "title": "title"; }, {}, never, ["*"], false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoIconComponent, "bao-icon", ["baoIcon"], { "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], false, never>;
43
43
  }
@@ -21,5 +21,5 @@ export declare class BaoModalClose implements OnInit, OnChanges {
21
21
  ngOnChanges(changes: SimpleChanges): void;
22
22
  _onButtonClick(event: MouseEvent): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoModalClose, [{ optional: true; }, null, null]>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaoModalClose, "[bao-modal-close], [baoModalClose]", ["BaoModalClose"], { "ariaLabel": "aria-label"; "type": "type"; "dialogResult": "bao-modal-close"; "_baoModalClose": "baoModalClose"; }, {}, never, never, false, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaoModalClose, "[bao-modal-close], [baoModalClose]", ["BaoModalClose"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dialogResult": { "alias": "bao-modal-close"; "required": false; }; "_baoModalClose": { "alias": "baoModalClose"; "required": false; }; }, {}, never, never, false, never>;
25
25
  }
@@ -106,5 +106,5 @@ export declare class BaoRadioButtonGroupComponent implements AfterContentInit, C
106
106
  private showAriaDescribedBy;
107
107
  private onTouch;
108
108
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoRadioButtonGroupComponent, never>;
109
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoRadioButtonGroupComponent, "bao-radio-button-group, [bao-radio-button-group], [baoRadioButtonGroup]", ["baoRadioGroup"], { "id": "id"; "name": "name"; "value": "value"; "selected": "selected"; "disabled": "disabled"; "required": "required"; }, { "change": "change"; }, ["staticContainer"], ["*", "bao-error, [bao-error], bao-guiding-text, [bao-guiding-text]"], false, never>;
109
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoRadioButtonGroupComponent, "bao-radio-button-group, [bao-radio-button-group], [baoRadioButtonGroup]", ["baoRadioGroup"], { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "change": "change"; }, ["staticContainer"], ["*", "bao-error, [bao-error], bao-guiding-text, [bao-guiding-text]"], false, never>;
110
110
  }
@@ -104,7 +104,7 @@ export declare class BaoRadioButtonComponent implements AfterViewInit, OnInit, O
104
104
  /** Unregister function for radioDispatcher */
105
105
  private _removeUniqueSelectionListener;
106
106
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoRadioButtonComponent, [{ optional: true; }, null, null, null, null]>;
107
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoRadioButtonComponent, "bao-radio-button, [bao-radio-button]", never, { "id": "id"; "ariaLabel": "aria-label"; "brandBorder": "brandBorder"; "inline": "inline"; "name": "name"; "hiddenLabel": "hiddenLabel"; "checked": "checked"; "value": "value"; "disabled": "disabled"; "required": "required"; }, { "change": "change"; }, never, ["*", "bao-radio-button-description, [bao-radio-button-description], [baoRadioButtonDescription]"], false, never>;
107
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoRadioButtonComponent, "bao-radio-button, [bao-radio-button]", never, { "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "brandBorder": { "alias": "brandBorder"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "name": { "alias": "name"; "required": false; }; "hiddenLabel": { "alias": "hiddenLabel"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "change": "change"; }, never, ["*", "bao-radio-button-description, [bao-radio-button-description], [baoRadioButtonDescription]"], false, never>;
108
108
  }
109
109
  export declare class BaoRadioDescription {
110
110
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoRadioDescription, never>;
@@ -39,7 +39,7 @@ export declare class BaoSummaryComponent implements OnInit, AfterViewInit {
39
39
  setAriaDescribedByToDescription(): void;
40
40
  private elementNode;
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoSummaryComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoSummaryComponent, "bao-summary, [bao-summary], [baoSummary]", never, { "displayMode": "displayMode"; "id": "id"; }, {}, never, ["bao-label", "bao-guiding-text, [bao-guiding-text]", "bao-title-text, [bao-title-text]", "bao-summary-description", "bao-list-summary, [bao-list-summary], [baoListSummary]", "button[bao-button]", "bao-error, [bao-error]"], false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoSummaryComponent, "bao-summary, [bao-summary], [baoSummary]", never, { "displayMode": { "alias": "displayMode"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, never, ["bao-label", "bao-guiding-text, [bao-guiding-text]", "bao-title-text, [bao-title-text]", "bao-summary-description", "bao-list-summary, [bao-list-summary], [baoListSummary]", "button[bao-button]", "bao-error, [bao-error]"], false, never>;
43
43
  }
44
44
  export declare class BaoSummaryDescription {
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoSummaryDescription, never>;
@@ -1,5 +1,5 @@
1
1
  import { BreakpointObserver } from '@angular/cdk/layout';
2
- import { AfterViewInit, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * This component is dynamically added to replace breadcrumb when System Header is viewed on tablet or mobile screens.
@@ -12,7 +12,7 @@ export declare class BaoBackNavigationComponent implements OnChanges {
12
12
  constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>);
13
13
  ngOnChanges(changes: SimpleChanges): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoBackNavigationComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoBackNavigationComponent, "bao-back-navigation-component", never, { "link": "link"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoBackNavigationComponent, "bao-back-navigation-component", never, { "link": { "alias": "link"; "required": false; }; }, {}, never, never, false, never>;
16
16
  }
17
17
  /**
18
18
  * This directive is to mark the template where the BaoBackNavigationComponent should be dynamically inserted,
@@ -25,12 +25,13 @@ export declare class BaoBackNavigationInsert {
25
25
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaoBackNavigationInsert, "[backNavigationInsert]", never, {}, {}, never, never, false, never>;
26
26
  }
27
27
  export declare class BaoSystemHeaderComponent implements AfterViewInit, OnInit {
28
+ private cd;
28
29
  private breakpointObserver;
29
30
  private renderer;
30
31
  private textContainer;
31
32
  private backButtonInsert;
32
33
  screenType: 'mobile' | 'tablet' | 'desktop';
33
- constructor(breakpointObserver: BreakpointObserver, renderer: Renderer2);
34
+ constructor(cd: ChangeDetectorRef, breakpointObserver: BreakpointObserver, renderer: Renderer2);
34
35
  get textContainerChildren(): Element[];
35
36
  ngOnInit(): void;
36
37
  ngAfterViewInit(): void;
@@ -74,7 +74,7 @@ export declare class BaoTablistComponent implements AfterViewInit, AfterContentI
74
74
  */
75
75
  private getNextActivableTabIndex;
76
76
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoTablistComponent, never>;
77
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoTablistComponent, "bao-tablist, [bao-tablist]", never, { "size": "size"; "ariaLabel": "ariaLabel"; }, { "activeTabChange": "activeTabChange"; }, ["tabHeaders"], ["*"], false, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoTablistComponent, "bao-tablist, [bao-tablist]", never, { "size": { "alias": "size"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "activeTabChange": "activeTabChange"; }, ["tabHeaders"], ["*"], false, never>;
78
78
  }
79
79
  export declare class BaoTabsContainer implements AfterViewInit, AfterContentInit, OnDestroy {
80
80
  private renderer;
@@ -21,5 +21,5 @@ export declare class BaoTagComponent implements AfterViewInit {
21
21
  private addHiddenText;
22
22
  private addIconClass;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<BaoTagComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<BaoTagComponent, "bao-tag, [bao-tag], [baoTag]", never, { "type": "type"; "variant": "variant"; "hiddenText": "hiddenText"; }, {}, never, ["bao-icon", "*"], false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaoTagComponent, "bao-tag, [bao-tag], [baoTag]", never, { "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "hiddenText": { "alias": "hiddenText"; "required": false; }; }, {}, never, ["bao-icon", "*"], false, never>;
25
25
  }
package/package.json CHANGED
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "@villedemontreal/angular-ui",
3
- "version": "15.3.1",
3
+ "version": "16.0.0",
4
+ "dependencies": {
5
+ "tslib": "^2.3.0"
6
+ },
4
7
  "peerDependencies": {
5
- "@angular/cdk": ">=15.0.0 <16.0.0",
6
- "@angular/common": ">=15.0.0 <16.0.0",
7
- "@angular/core": ">=15.0.0 <16.0.0",
8
- "@angular/forms": ">=15.0.0 <16.0.0"
8
+ "@angular/cdk": ">=16.0.0 <17.0.0",
9
+ "@angular/common": ">=16.0.0 <17.0.0",
10
+ "@angular/core": ">=16.0.0 <17.0.0",
11
+ "@angular/forms": ">=16.0.0 <17.0.0"
9
12
  },
10
- "module": "fesm2015/villedemontreal-angular-ui.mjs",
11
- "es2020": "fesm2020/villedemontreal-angular-ui.mjs",
12
- "esm2020": "esm2020/villedemontreal-angular-ui.mjs",
13
- "fesm2020": "fesm2020/villedemontreal-angular-ui.mjs",
14
- "fesm2015": "fesm2015/villedemontreal-angular-ui.mjs",
13
+ "module": "fesm2022/villedemontreal-angular-ui.mjs",
15
14
  "typings": "index.d.ts",
16
15
  "exports": {
17
16
  "./package.json": {
@@ -19,15 +18,10 @@
19
18
  },
20
19
  ".": {
21
20
  "types": "./index.d.ts",
22
- "esm2020": "./esm2020/villedemontreal-angular-ui.mjs",
23
- "es2020": "./fesm2020/villedemontreal-angular-ui.mjs",
24
- "es2015": "./fesm2015/villedemontreal-angular-ui.mjs",
25
- "node": "./fesm2015/villedemontreal-angular-ui.mjs",
26
- "default": "./fesm2020/villedemontreal-angular-ui.mjs"
21
+ "esm2022": "./esm2022/villedemontreal-angular-ui.mjs",
22
+ "esm": "./esm2022/villedemontreal-angular-ui.mjs",
23
+ "default": "./fesm2022/villedemontreal-angular-ui.mjs"
27
24
  }
28
25
  },
29
- "sideEffects": false,
30
- "dependencies": {
31
- "tslib": "^2.3.0"
32
- }
26
+ "sideEffects": false
33
27
  }
@@ -1,100 +0,0 @@
1
- /*
2
- * Copyright (c) 2023 Ville de Montreal. All rights reserved.
3
- * Licensed under the MIT license.
4
- * See LICENSE file in the project root for full license information.
5
- */
6
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "../icon/icon.component";
10
- const BAO_ICON_NODE_NAME = 'BAO-ICON';
11
- const LOADING_SPINNER_CLASS = 'loading-spinner';
12
- export class BaoButtonComponent {
13
- constructor(elementRef, cdr) {
14
- this.elementRef = elementRef;
15
- this.cdr = cdr;
16
- /**
17
- * The display type of the button
18
- */
19
- this.displayType = 'utility';
20
- /**
21
- * The hierarchy level of the button
22
- */
23
- this.level = 'primary';
24
- /**
25
- * The size of the button
26
- */
27
- this.size = 'medium';
28
- /**
29
- * Flag to set the button in loading state
30
- */
31
- this.loading = false;
32
- /**
33
- * Flag to set the button reversed color mode
34
- */
35
- this.reversed = false;
36
- /**
37
- * The aria-label of the loading spinner if it displayed alone
38
- */
39
- this.loadingSpinnerAriaLabel = 'chargement';
40
- /**
41
- * Allows the button to grow to the width of it's container
42
- */
43
- this.fullWidth = false;
44
- /**
45
- * If there is no text, some margin/padding will be different, i.e. for the spinner
46
- */
47
- this.noText = false;
48
- /**
49
- * If the icon is on the right of the label, the loading spinner will need to be on the right of the label
50
- */
51
- this.rightIcon = false;
52
- }
53
- get nativeElement() {
54
- return this.elementRef.nativeElement;
55
- }
56
- ngAfterViewInit() {
57
- const childNodes = Array.from(this.nativeElement.childNodes);
58
- const textIndex = childNodes.findIndex(c => c.nodeType === Node.TEXT_NODE);
59
- this.noText = textIndex === -1;
60
- const iconIdex = childNodes.findIndex(c => c.nodeName === BAO_ICON_NODE_NAME &&
61
- !c.classList.contains(LOADING_SPINNER_CLASS));
62
- this.rightIcon = iconIdex > textIndex;
63
- this.cdr.detectChanges();
64
- }
65
- }
66
- BaoButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: BaoButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
67
- BaoButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: BaoButtonComponent, selector: "button[bao-button]", inputs: { displayType: "displayType", level: "level", size: "size", loading: "loading", reversed: "reversed", loadingSpinnerAriaLabel: "loadingSpinnerAriaLabel", fullWidth: "fullWidth" }, host: { properties: { "class.bao-button-utility": "displayType === \"utility\"", "class.bao-button-editorial": "displayType === \"editorial\"", "class.bao-button-primary": "level === \"primary\"", "class.bao-button-secondary": "level === \"secondary\"", "class.bao-button-tertiary": "level === \"tertiary\"", "class.bao-button-large": "size === \"large\"", "class.bao-button-medium": "size === \"medium\"", "class.bao-button-small": "size === \"small\"", "class.bao-button-reversed": "reversed === true", "class.bao-button-loading": "loading === true", "class.bao-button-no-text": "noText === true", "class.bao-button-full-width": "fullWidth === true" }, classAttribute: "bao-button" }, ngImport: i0, template: "<bao-icon\n *ngIf=\"loading && !rightIcon\"\n class=\"loading-spinner\"\n svgIcon=\"icon-spinner\"\n [title]=\"loadingSpinnerAriaLabel\"\n></bao-icon>\n<ng-content></ng-content>\n<bao-icon\n *ngIf=\"loading && rightIcon\"\n class=\"loading-spinner loading-spinner-right\"\n svgIcon=\"icon-spinner\"\n [title]=\"loadingSpinnerAriaLabel\"\n></bao-icon>\n", styles: [".bao-button{font-weight:700;font-size:.875rem;line-height:1.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center}.bao-button.bao-button-full-width{width:100%;display:block}.bao-button span{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-button:focus{outline:none;box-shadow:0 0 0 .1875rem #98bcde}.bao-button:focus.bao-button-reversed{outline:none;box-shadow:0 0 0 .1875rem #98bcde;box-shadow:0 0 0 .1875rem #ffffff4d}.bao-button:disabled,.bao-button.bao-button-loading{cursor:not-allowed}.bao-button.bao-button-utility{border-radius:.25rem;padding:.5625rem 1rem}.bao-button.bao-button-utility:disabled.bao-button-secondary,.bao-button.bao-button-utility:disabled.bao-button-tertiary{color:#adb2bd}.bao-button.bao-button-primary{background-color:#097d6c;border:solid .0625rem #097d6c;color:#fff}.bao-button.bao-button-primary.bao-button-reversed{background-color:#fff;border:solid .0625rem #ffffff;color:#000}.bao-button.bao-button-primary:hover{background-color:#075b4f}.bao-button.bao-button-primary:hover.bao-button-reversed{background-color:#eefaf8;color:#097d6c}.bao-button.bao-button-primary:focus.bao-button-reversed{background-color:#eefaf8;color:#097d6c}.bao-button.bao-button-primary:disabled,.bao-button.bao-button-primary.bao-button-loading{color:#637381;background-color:#dee2e6;border:solid .0625rem #dee2e6}.bao-button.bao-button-primary:disabled.bao-button-reversed,.bao-button.bao-button-primary.bao-button-loading.bao-button-reversed{background-color:#ffffff4d;border:solid .0625rem gba(#ffffff,.3);color:#ffffff80}.bao-button.bao-button-secondary{background-color:#fff0;color:#097d6c;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary.bao-button-reversed{background-color:#fff0;color:#fff;border:solid .0625rem rgba(206,212,218,.5)}.bao-button.bao-button-secondary:hover{border:solid .0625rem #097d6c;background-color:#eefaf8}.bao-button.bao-button-secondary:hover.bao-button-reversed{background-color:#fff0;color:#fff;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary:focus{border:solid .0625rem #097d6c;background-color:#eefaf8}.bao-button.bao-button-secondary:focus.bao-button-reversed{background-color:#ffffff4d;color:#fff;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary:disabled,.bao-button.bao-button-secondary.bao-button-loading{color:#637381}.bao-button.bao-button-secondary:disabled:hover,.bao-button.bao-button-secondary.bao-button-loading:hover{border-color:#ced4da;background-color:#fff}.bao-button.bao-button-secondary:disabled:hover.bao-button-reversed,.bao-button.bao-button-secondary.bao-button-loading:hover.bao-button-reversed{border:solid .0625rem rgba(206,212,218,.5);background-color:#fff0;color:#637381}.bao-button.bao-button-secondary:disabled:focus,.bao-button.bao-button-secondary.bao-button-loading:focus{border-color:#ced4da;background-color:#fff}.bao-button.bao-button-secondary:disabled:focus.bao-button-reversed,.bao-button.bao-button-secondary.bao-button-loading:focus.bao-button-reversed{background-color:#fff0}.bao-button.bao-button-tertiary{border:solid .0625rem rgba(255,255,255,.0001);background-color:#fff0;color:#097d6c}.bao-button.bao-button-tertiary.bao-button-reversed{color:#fff}.bao-button.bao-button-tertiary:hover{background-color:#eefaf8}.bao-button.bao-button-tertiary:hover.bao-button-reversed{background-color:#ffffff4d;color:#fff}.bao-button.bao-button-tertiary:focus{background-color:#eefaf8}.bao-button.bao-button-tertiary:focus.bao-button-reversed{background-color:#ffffff4d;color:#fff}.bao-button.bao-button-tertiary:disabled,.bao-button.bao-button-tertiary.bao-button-loading{color:#637381}.bao-button.bao-button-tertiary:disabled:hover,.bao-button.bao-button-tertiary.bao-button-loading:hover{background-color:#fff0}.bao-button.bao-button-tertiary:disabled:hover.bao-button-reversed,.bao-button.bao-button-tertiary.bao-button-loading:hover.bao-button-reversed{color:#637381}.bao-button.bao-button-tertiary:disabled:focus,.bao-button.bao-button-tertiary.bao-button-loading:focus{background-color:#fff0}.bao-button.bao-button-tertiary:disabled:focus.bao-button-reversed,.bao-button.bao-button-tertiary.bao-button-loading:focus.bao-button-reversed{color:#637381}.bao-button.bao-button-editorial{border-radius:1.25rem;padding:.625rem 2rem}.bao-button.bao-button-editorial.bao-button-small{padding:.4375rem 1rem}.bao-button.bao-button-editorial.bao-button-large{border-radius:4rem;font-weight:700;font-size:1rem;line-height:1.5rem;padding:.9375rem 2rem}.bao-button.bao-button-editorial.bao-button-medium{padding:.5625rem 2rem}.bao-button.bao-button-editorial:disabled.bao-button-secondary,.bao-button.bao-button-editorial:disabled.bao-button-tertiary{color:#adb2bd}.bao-button.bao-button-small{font-weight:700;font-size:.75rem;line-height:1rem;padding:.4375rem}.bao-button.bao-button-small span{font-weight:700;font-size:.75rem;line-height:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bao-button .loading-spinner{margin-right:.5rem;margin-left:-.5rem}.bao-button .loading-spinner-right{margin-right:-.5rem;margin-left:.5rem}.bao-button.bao-button-no-text .loading-spinner-right{margin:-.125rem -.5625rem}.bao-button.bao-button-small .loading-spinner{width:1rem;height:1rem;margin-right:.25rem;margin-left:0}.bao-button.bao-button-small .loading-spinner-right{margin-right:0;margin-left:.25rem}.bao-button.bao-button-loading>bao-icon:not(.loading-spinner){display:none}.bao-button>.bao-button-no-text.bao-button-loading>.loading-spinner{margin:-.125rem -.5625rem}.bao-button>bao-icon{margin:-.125rem 0rem}.bao-button>bao-icon:first-child:not(.loading-spinner){margin-right:.5rem;margin-left:-.5rem}.bao-button>bao-icon:last-child:not(.loading-spinner){margin-left:.5rem;margin-right:-.5rem}.bao-button>bao-icon:first-child:last-child:not(.loading-spinner){margin:-.125rem -.5625rem}.bao-button.bao-button-small>bao-icon{height:1rem;width:1rem;margin:-.125rem 0rem}.bao-button.bao-button-small>bao-icon:first-child:not(.loading-spinner){margin-left:0rem;margin-right:.25rem}.bao-button.bao-button-small>bao-icon:last-child:not(.loading-spinner){margin-left:.25rem;margin-right:0rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BaoIconComponent, selector: "bao-icon", inputs: ["color", "size", "svgIcon", "title"], exportAs: ["baoIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: BaoButtonComponent, decorators: [{
69
- type: Component,
70
- args: [{ selector: 'button[bao-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
71
- class: 'bao-button',
72
- '[class.bao-button-utility]': 'displayType === "utility"',
73
- '[class.bao-button-editorial]': 'displayType === "editorial"',
74
- '[class.bao-button-primary]': 'level === "primary"',
75
- '[class.bao-button-secondary]': 'level === "secondary"',
76
- '[class.bao-button-tertiary]': 'level === "tertiary"',
77
- '[class.bao-button-large]': 'size === "large"',
78
- '[class.bao-button-medium]': 'size === "medium"',
79
- '[class.bao-button-small]': 'size === "small"',
80
- '[class.bao-button-reversed]': 'reversed === true',
81
- '[class.bao-button-loading]': 'loading === true',
82
- '[class.bao-button-no-text]': 'noText === true',
83
- '[class.bao-button-full-width]': 'fullWidth === true'
84
- }, template: "<bao-icon\n *ngIf=\"loading && !rightIcon\"\n class=\"loading-spinner\"\n svgIcon=\"icon-spinner\"\n [title]=\"loadingSpinnerAriaLabel\"\n></bao-icon>\n<ng-content></ng-content>\n<bao-icon\n *ngIf=\"loading && rightIcon\"\n class=\"loading-spinner loading-spinner-right\"\n svgIcon=\"icon-spinner\"\n [title]=\"loadingSpinnerAriaLabel\"\n></bao-icon>\n", styles: [".bao-button{font-weight:700;font-size:.875rem;line-height:1.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center}.bao-button.bao-button-full-width{width:100%;display:block}.bao-button span{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-button:focus{outline:none;box-shadow:0 0 0 .1875rem #98bcde}.bao-button:focus.bao-button-reversed{outline:none;box-shadow:0 0 0 .1875rem #98bcde;box-shadow:0 0 0 .1875rem #ffffff4d}.bao-button:disabled,.bao-button.bao-button-loading{cursor:not-allowed}.bao-button.bao-button-utility{border-radius:.25rem;padding:.5625rem 1rem}.bao-button.bao-button-utility:disabled.bao-button-secondary,.bao-button.bao-button-utility:disabled.bao-button-tertiary{color:#adb2bd}.bao-button.bao-button-primary{background-color:#097d6c;border:solid .0625rem #097d6c;color:#fff}.bao-button.bao-button-primary.bao-button-reversed{background-color:#fff;border:solid .0625rem #ffffff;color:#000}.bao-button.bao-button-primary:hover{background-color:#075b4f}.bao-button.bao-button-primary:hover.bao-button-reversed{background-color:#eefaf8;color:#097d6c}.bao-button.bao-button-primary:focus.bao-button-reversed{background-color:#eefaf8;color:#097d6c}.bao-button.bao-button-primary:disabled,.bao-button.bao-button-primary.bao-button-loading{color:#637381;background-color:#dee2e6;border:solid .0625rem #dee2e6}.bao-button.bao-button-primary:disabled.bao-button-reversed,.bao-button.bao-button-primary.bao-button-loading.bao-button-reversed{background-color:#ffffff4d;border:solid .0625rem gba(#ffffff,.3);color:#ffffff80}.bao-button.bao-button-secondary{background-color:#fff0;color:#097d6c;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary.bao-button-reversed{background-color:#fff0;color:#fff;border:solid .0625rem rgba(206,212,218,.5)}.bao-button.bao-button-secondary:hover{border:solid .0625rem #097d6c;background-color:#eefaf8}.bao-button.bao-button-secondary:hover.bao-button-reversed{background-color:#fff0;color:#fff;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary:focus{border:solid .0625rem #097d6c;background-color:#eefaf8}.bao-button.bao-button-secondary:focus.bao-button-reversed{background-color:#ffffff4d;color:#fff;border:solid .0625rem #ced4da}.bao-button.bao-button-secondary:disabled,.bao-button.bao-button-secondary.bao-button-loading{color:#637381}.bao-button.bao-button-secondary:disabled:hover,.bao-button.bao-button-secondary.bao-button-loading:hover{border-color:#ced4da;background-color:#fff}.bao-button.bao-button-secondary:disabled:hover.bao-button-reversed,.bao-button.bao-button-secondary.bao-button-loading:hover.bao-button-reversed{border:solid .0625rem rgba(206,212,218,.5);background-color:#fff0;color:#637381}.bao-button.bao-button-secondary:disabled:focus,.bao-button.bao-button-secondary.bao-button-loading:focus{border-color:#ced4da;background-color:#fff}.bao-button.bao-button-secondary:disabled:focus.bao-button-reversed,.bao-button.bao-button-secondary.bao-button-loading:focus.bao-button-reversed{background-color:#fff0}.bao-button.bao-button-tertiary{border:solid .0625rem rgba(255,255,255,.0001);background-color:#fff0;color:#097d6c}.bao-button.bao-button-tertiary.bao-button-reversed{color:#fff}.bao-button.bao-button-tertiary:hover{background-color:#eefaf8}.bao-button.bao-button-tertiary:hover.bao-button-reversed{background-color:#ffffff4d;color:#fff}.bao-button.bao-button-tertiary:focus{background-color:#eefaf8}.bao-button.bao-button-tertiary:focus.bao-button-reversed{background-color:#ffffff4d;color:#fff}.bao-button.bao-button-tertiary:disabled,.bao-button.bao-button-tertiary.bao-button-loading{color:#637381}.bao-button.bao-button-tertiary:disabled:hover,.bao-button.bao-button-tertiary.bao-button-loading:hover{background-color:#fff0}.bao-button.bao-button-tertiary:disabled:hover.bao-button-reversed,.bao-button.bao-button-tertiary.bao-button-loading:hover.bao-button-reversed{color:#637381}.bao-button.bao-button-tertiary:disabled:focus,.bao-button.bao-button-tertiary.bao-button-loading:focus{background-color:#fff0}.bao-button.bao-button-tertiary:disabled:focus.bao-button-reversed,.bao-button.bao-button-tertiary.bao-button-loading:focus.bao-button-reversed{color:#637381}.bao-button.bao-button-editorial{border-radius:1.25rem;padding:.625rem 2rem}.bao-button.bao-button-editorial.bao-button-small{padding:.4375rem 1rem}.bao-button.bao-button-editorial.bao-button-large{border-radius:4rem;font-weight:700;font-size:1rem;line-height:1.5rem;padding:.9375rem 2rem}.bao-button.bao-button-editorial.bao-button-medium{padding:.5625rem 2rem}.bao-button.bao-button-editorial:disabled.bao-button-secondary,.bao-button.bao-button-editorial:disabled.bao-button-tertiary{color:#adb2bd}.bao-button.bao-button-small{font-weight:700;font-size:.75rem;line-height:1rem;padding:.4375rem}.bao-button.bao-button-small span{font-weight:700;font-size:.75rem;line-height:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bao-button .loading-spinner{margin-right:.5rem;margin-left:-.5rem}.bao-button .loading-spinner-right{margin-right:-.5rem;margin-left:.5rem}.bao-button.bao-button-no-text .loading-spinner-right{margin:-.125rem -.5625rem}.bao-button.bao-button-small .loading-spinner{width:1rem;height:1rem;margin-right:.25rem;margin-left:0}.bao-button.bao-button-small .loading-spinner-right{margin-right:0;margin-left:.25rem}.bao-button.bao-button-loading>bao-icon:not(.loading-spinner){display:none}.bao-button>.bao-button-no-text.bao-button-loading>.loading-spinner{margin:-.125rem -.5625rem}.bao-button>bao-icon{margin:-.125rem 0rem}.bao-button>bao-icon:first-child:not(.loading-spinner){margin-right:.5rem;margin-left:-.5rem}.bao-button>bao-icon:last-child:not(.loading-spinner){margin-left:.5rem;margin-right:-.5rem}.bao-button>bao-icon:first-child:last-child:not(.loading-spinner){margin:-.125rem -.5625rem}.bao-button.bao-button-small>bao-icon{height:1rem;width:1rem;margin:-.125rem 0rem}.bao-button.bao-button-small>bao-icon:first-child:not(.loading-spinner){margin-left:0rem;margin-right:.25rem}.bao-button.bao-button-small>bao-icon:last-child:not(.loading-spinner){margin-left:.25rem;margin-right:0rem}\n"] }]
85
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { displayType: [{
86
- type: Input
87
- }], level: [{
88
- type: Input
89
- }], size: [{
90
- type: Input
91
- }], loading: [{
92
- type: Input
93
- }], reversed: [{
94
- type: Input
95
- }], loadingSpinnerAriaLabel: [{
96
- type: Input
97
- }], fullWidth: [{
98
- type: Input
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXZCLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsaUJBQWlCLENBQUM7QUErQmhELE1BQU0sT0FBTyxrQkFBa0I7SUF3QzdCLFlBQ1UsVUFBbUMsRUFDbkMsR0FBc0I7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6Q2hDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBNEIsU0FBUyxDQUFDO1FBQ2pFOztXQUVHO1FBQ2EsVUFBSyxHQUF5QyxTQUFTLENBQUM7UUFDeEU7O1dBRUc7UUFDYSxTQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUM5RDs7V0FFRztRQUNhLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEM7O1dBRUc7UUFDYSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pDOztXQUVHO1FBQ2EsNEJBQXVCLEdBQUcsWUFBWSxDQUFDO1FBQ3ZEOztXQUVHO1FBQ2EsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQzs7V0FFRztRQUNJLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdEI7O1dBRUc7UUFDSSxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBS3RCLENBQUM7SUFFSixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FDRixDQUFDLENBQUMsUUFBUSxLQUFLLGtCQUFrQjtZQUNqQyxDQUFFLENBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0dBNURVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHE2QkMvQy9CLDBXQWFBOzJGRGtDYSxrQkFBa0I7a0JBN0I5QixTQUFTOytCQVFFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxZQUFZO3dCQUNuQiw0QkFBNEIsRUFBRSwyQkFBMkI7d0JBQ3pELDhCQUE4QixFQUFFLDZCQUE2Qjt3QkFDN0QsNEJBQTRCLEVBQUUscUJBQXFCO3dCQUNuRCw4QkFBOEIsRUFBRSx1QkFBdUI7d0JBQ3ZELDZCQUE2QixFQUFFLHNCQUFzQjt3QkFDckQsMEJBQTBCLEVBQUUsa0JBQWtCO3dCQUM5QywyQkFBMkIsRUFBRSxtQkFBbUI7d0JBQ2hELDBCQUEwQixFQUFFLGtCQUFrQjt3QkFDOUMsNkJBQTZCLEVBQUUsbUJBQW1CO3dCQUNsRCw0QkFBNEIsRUFBRSxrQkFBa0I7d0JBQ2hELDRCQUE0QixFQUFFLGlCQUFpQjt3QkFDL0MsK0JBQStCLEVBQUUsb0JBQW9CO3FCQUN0RDtpSUFNZSxXQUFXO3NCQUExQixLQUFLO2dCQUlVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBSVUsSUFBSTtzQkFBbkIsS0FBSztnQkFJVSxPQUFPO3NCQUF0QixLQUFLO2dCQUlVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBSVUsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUlVLFNBQVM7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIzIFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IEJBT19JQ09OX05PREVfTkFNRSA9ICdCQU8tSUNPTic7XG5jb25zdCBMT0FESU5HX1NQSU5ORVJfQ0xBU1MgPSAnbG9hZGluZy1zcGlubmVyJztcblxuQENvbXBvbmVudCh7XG4gIC8qKlxuICAgKiBUaGVyZSBhcmUgYSBmZXcgY2FzZXMgd2hlcmUgeW91IGdpdmUgYSBjb21wb25lbnQgYW4gYXR0cmlidXRlLCBzdWNoIGFzXG4gICAqIHdoZW4geW91IHdhbnQgdG8gYXVnbWVudCBhIGJ1aWx0LWluIGVsZW1lbnQuIEZvciBleGFtcGxlLCBNYXRlcmlhbCBEZXNpZ25cbiAgICogdXNlcyB0aGlzIHRlY2huaXF1ZSB3aXRoIDxidXR0b24gbWF0LWJ1dHRvbj4uIEhvd2V2ZXIsIHlvdSB3b3VsZG4ndFxuICAgKiB1c2UgdGhpcyB0ZWNobmlxdWUgb24gYSBjdXN0b20gZWxlbWVudC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYnV0dG9uW2Jhby1idXR0b25dJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLWJ1dHRvbicsXG4gICAgJ1tjbGFzcy5iYW8tYnV0dG9uLXV0aWxpdHldJzogJ2Rpc3BsYXlUeXBlID09PSBcInV0aWxpdHlcIicsXG4gICAgJ1tjbGFzcy5iYW8tYnV0dG9uLWVkaXRvcmlhbF0nOiAnZGlzcGxheVR5cGUgPT09IFwiZWRpdG9yaWFsXCInLFxuICAgICdbY2xhc3MuYmFvLWJ1dHRvbi1wcmltYXJ5XSc6ICdsZXZlbCA9PT0gXCJwcmltYXJ5XCInLFxuICAgICdbY2xhc3MuYmFvLWJ1dHRvbi1zZWNvbmRhcnldJzogJ2xldmVsID09PSBcInNlY29uZGFyeVwiJyxcbiAgICAnW2NsYXNzLmJhby1idXR0b24tdGVydGlhcnldJzogJ2xldmVsID09PSBcInRlcnRpYXJ5XCInLFxuICAgICdbY2xhc3MuYmFvLWJ1dHRvbi1sYXJnZV0nOiAnc2l6ZSA9PT0gXCJsYXJnZVwiJyxcbiAgICAnW2NsYXNzLmJhby1idXR0b24tbWVkaXVtXSc6ICdzaXplID09PSBcIm1lZGl1bVwiJyxcbiAgICAnW2NsYXNzLmJhby1idXR0b24tc21hbGxdJzogJ3NpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5iYW8tYnV0dG9uLXJldmVyc2VkXSc6ICdyZXZlcnNlZCA9PT0gdHJ1ZScsXG4gICAgJ1tjbGFzcy5iYW8tYnV0dG9uLWxvYWRpbmddJzogJ2xvYWRpbmcgPT09IHRydWUnLFxuICAgICdbY2xhc3MuYmFvLWJ1dHRvbi1uby10ZXh0XSc6ICdub1RleHQgPT09IHRydWUnLFxuICAgICdbY2xhc3MuYmFvLWJ1dHRvbi1mdWxsLXdpZHRoXSc6ICdmdWxsV2lkdGggPT09IHRydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSB0eXBlIG9mIHRoZSBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5VHlwZTogJ3V0aWxpdHknIHwgJ2VkaXRvcmlhbCcgPSAndXRpbGl0eSc7XG4gIC8qKlxuICAgKiBUaGUgaGllcmFyY2h5IGxldmVsIG9mIHRoZSBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBsZXZlbDogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknID0gJ3ByaW1hcnknO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgPSAnbWVkaXVtJztcbiAgLyoqXG4gICAqIEZsYWcgdG8gc2V0IHRoZSBidXR0b24gaW4gbG9hZGluZyBzdGF0ZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEZsYWcgdG8gc2V0IHRoZSBidXR0b24gcmV2ZXJzZWQgY29sb3IgbW9kZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJldmVyc2VkID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGUgYXJpYS1sYWJlbCBvZiB0aGUgbG9hZGluZyBzcGlubmVyIGlmIGl0IGRpc3BsYXllZCBhbG9uZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmdTcGlubmVyQXJpYUxhYmVsID0gJ2NoYXJnZW1lbnQnO1xuICAvKipcbiAgICogQWxsb3dzIHRoZSBidXR0b24gdG8gZ3JvdyB0byB0aGUgd2lkdGggb2YgaXQncyBjb250YWluZXJcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogSWYgdGhlcmUgaXMgbm8gdGV4dCwgc29tZSBtYXJnaW4vcGFkZGluZyB3aWxsIGJlIGRpZmZlcmVudCwgaS5lLiBmb3IgdGhlIHNwaW5uZXJcbiAgICovXG4gIHB1YmxpYyBub1RleHQgPSBmYWxzZTtcblxuICAvKipcbiAgICogSWYgdGhlIGljb24gaXMgb24gdGhlIHJpZ2h0IG9mIHRoZSBsYWJlbCwgdGhlIGxvYWRpbmcgc3Bpbm5lciB3aWxsIG5lZWQgdG8gYmUgb24gdGhlIHJpZ2h0IG9mIHRoZSBsYWJlbFxuICAgKi9cbiAgcHVibGljIHJpZ2h0SWNvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gQXJyYXkuZnJvbSh0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgY29uc3QgdGV4dEluZGV4ID0gY2hpbGROb2Rlcy5maW5kSW5kZXgoYyA9PiBjLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSk7XG4gICAgdGhpcy5ub1RleHQgPSB0ZXh0SW5kZXggPT09IC0xO1xuICAgIGNvbnN0IGljb25JZGV4ID0gY2hpbGROb2Rlcy5maW5kSW5kZXgoXG4gICAgICBjID0+XG4gICAgICAgIGMubm9kZU5hbWUgPT09IEJBT19JQ09OX05PREVfTkFNRSAmJlxuICAgICAgICAhKGMgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucyhMT0FESU5HX1NQSU5ORVJfQ0xBU1MpXG4gICAgKTtcbiAgICB0aGlzLnJpZ2h0SWNvbiA9IGljb25JZGV4ID4gdGV4dEluZGV4O1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGJhby1pY29uXG4gICpuZ0lmPVwibG9hZGluZyAmJiAhcmlnaHRJY29uXCJcbiAgY2xhc3M9XCJsb2FkaW5nLXNwaW5uZXJcIlxuICBzdmdJY29uPVwiaWNvbi1zcGlubmVyXCJcbiAgW3RpdGxlXT1cImxvYWRpbmdTcGlubmVyQXJpYUxhYmVsXCJcbj48L2Jhby1pY29uPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGJhby1pY29uXG4gICpuZ0lmPVwibG9hZGluZyAmJiByaWdodEljb25cIlxuICBjbGFzcz1cImxvYWRpbmctc3Bpbm5lciBsb2FkaW5nLXNwaW5uZXItcmlnaHRcIlxuICBzdmdJY29uPVwiaWNvbi1zcGlubmVyXCJcbiAgW3RpdGxlXT1cImxvYWRpbmdTcGlubmVyQXJpYUxhYmVsXCJcbj48L2Jhby1pY29uPlxuIl19