design-angular-kit 1.0.2 → 1.1.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 (104) hide show
  1. package/README.md +4 -3
  2. package/assets/i18n/en.json +6 -0
  3. package/assets/i18n/it.json +6 -0
  4. package/esm2022/lib/abstracts/abstract-form.component.mjs +3 -3
  5. package/esm2022/lib/abstracts/abstract.component.mjs +3 -3
  6. package/esm2022/lib/components/core/accordion/accordion.component.mjs +3 -3
  7. package/esm2022/lib/components/core/alert/alert.component.mjs +3 -3
  8. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +6 -6
  9. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +6 -6
  10. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +3 -3
  11. package/esm2022/lib/components/core/avatar/avatar.module.mjs +4 -4
  12. package/esm2022/lib/components/core/badge/badge.directive.mjs +3 -3
  13. package/esm2022/lib/components/core/button/button.directive.mjs +14 -4
  14. package/esm2022/lib/components/core/callout/callout.component.mjs +3 -3
  15. package/esm2022/lib/components/core/card/card.component.mjs +3 -3
  16. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +3 -3
  17. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +3 -3
  18. package/esm2022/lib/components/core/carousel/carousel.module.mjs +4 -4
  19. package/esm2022/lib/components/core/chip/chip.component.mjs +5 -5
  20. package/esm2022/lib/components/core/collapse/collapse.component.mjs +3 -3
  21. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +3 -3
  22. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +3 -3
  23. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +3 -3
  24. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +4 -4
  25. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +3 -3
  26. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +3 -3
  27. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +4 -4
  28. package/esm2022/lib/components/core/forward/forward.directive.mjs +3 -3
  29. package/esm2022/lib/components/core/link/link.component.mjs +3 -3
  30. package/esm2022/lib/components/core/list/list/list.component.mjs +3 -3
  31. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +3 -3
  32. package/esm2022/lib/components/core/list/list.module.mjs +4 -4
  33. package/esm2022/lib/components/core/modal/modal.component.mjs +3 -3
  34. package/esm2022/lib/components/core/notifications/notifications.component.mjs +3 -3
  35. package/esm2022/lib/components/core/pagination/pagination.component.mjs +3 -3
  36. package/esm2022/lib/components/core/popover/popover.directive.mjs +5 -5
  37. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +3 -3
  38. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +3 -3
  39. package/esm2022/lib/components/core/spinner/spinner.component.mjs +3 -3
  40. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +4 -4
  41. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +3 -3
  42. package/esm2022/lib/components/core/steppers/steppers.module.mjs +4 -4
  43. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +16 -7
  44. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +3 -3
  45. package/esm2022/lib/components/core/tab/tab.module.mjs +4 -4
  46. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +3 -3
  47. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +3 -3
  48. package/esm2022/lib/components/core/table/table.component.mjs +3 -3
  49. package/esm2022/lib/components/core/table/table.module.mjs +4 -4
  50. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +76 -0
  51. package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
  52. package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
  53. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +3 -3
  54. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +3 -3
  55. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +3 -3
  56. package/esm2022/lib/components/form/form.module.mjs +4 -4
  57. package/esm2022/lib/components/form/input/input.component.mjs +7 -4
  58. package/esm2022/lib/components/form/password-input/password-input.component.mjs +3 -3
  59. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +3 -3
  60. package/esm2022/lib/components/form/range/range.component.mjs +3 -3
  61. package/esm2022/lib/components/form/rating/rating.component.mjs +3 -3
  62. package/esm2022/lib/components/form/select/select.component.mjs +3 -3
  63. package/esm2022/lib/components/form/textarea/textarea.component.mjs +3 -3
  64. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +3 -3
  65. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +3 -3
  66. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +4 -4
  67. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +3 -3
  68. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
  69. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  70. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +4 -4
  71. package/esm2022/lib/components/navigation/header/header.component.mjs +12 -5
  72. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +3 -3
  73. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +3 -3
  74. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +3 -3
  75. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +4 -4
  76. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +3 -3
  77. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +3 -3
  78. package/esm2022/lib/components/utils/icon/icon.component.mjs +3 -3
  79. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +3 -3
  80. package/esm2022/lib/design-angular-kit.module.mjs +15 -9
  81. package/esm2022/lib/interfaces/core.mjs +1 -1
  82. package/esm2022/lib/interfaces/icon.mjs +2 -1
  83. package/esm2022/lib/pipes/date-ago.pipe.mjs +3 -3
  84. package/esm2022/lib/pipes/duration.pipe.mjs +3 -3
  85. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +3 -3
  86. package/esm2022/lib/services/notification/notification.service.mjs +3 -3
  87. package/esm2022/lib/utils/regex.mjs +5 -1
  88. package/esm2022/lib/validators/it-validators.mjs +8 -2
  89. package/esm2022/public_api.mjs +4 -1
  90. package/fesm2022/design-angular-kit.mjs +419 -263
  91. package/fesm2022/design-angular-kit.mjs.map +1 -1
  92. package/lib/components/core/button/button.directive.d.ts +6 -1
  93. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +5 -2
  94. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +66 -0
  95. package/lib/components/core/timeline/timeline.component.d.ts +21 -0
  96. package/lib/components/core/timeline/timeline.module.d.ts +8 -0
  97. package/lib/components/navigation/header/header.component.d.ts +2 -0
  98. package/lib/design-angular-kit.module.d.ts +16 -15
  99. package/lib/interfaces/core.d.ts +17 -0
  100. package/lib/interfaces/icon.d.ts +1 -1
  101. package/lib/utils/regex.d.ts +4 -0
  102. package/lib/validators/it-validators.d.ts +4 -0
  103. package/package.json +8 -8
  104. package/public_api.d.ts +3 -0
@@ -33,7 +33,7 @@ export class ItPopoverDirective {
33
33
  */
34
34
  set popoverContainer(container) {
35
35
  if (container) {
36
- this.element.setAttribute('data-container', container);
36
+ this.element.setAttribute('data-bs-container', container);
37
37
  }
38
38
  }
39
39
  /**
@@ -138,10 +138,10 @@ export class ItPopoverDirective {
138
138
  update() {
139
139
  this.popover?.disable();
140
140
  }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItPopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
142
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.2", type: ItPopoverDirective, isStandalone: true, selector: "[itPopover]", inputs: { content: ["itPopover", "content"], popoverTitle: "popoverTitle", popoverPlacement: "popoverPlacement", popoverContainer: "popoverContainer", popoverHtml: ["popoverHtml", "popoverHtml", inputToBoolean], popoverTrigger: "popoverTrigger" }, outputs: { showEvent: "showEvent", shownEvent: "shownEvent", hideEvent: "hideEvent", hiddenEvent: "hiddenEvent", insertedEvent: "insertedEvent" }, exportAs: ["itPopover"], ngImport: i0 }); }
141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
142
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: ItPopoverDirective, isStandalone: true, selector: "[itPopover]", inputs: { content: ["itPopover", "content"], popoverTitle: "popoverTitle", popoverPlacement: "popoverPlacement", popoverContainer: "popoverContainer", popoverHtml: ["popoverHtml", "popoverHtml", inputToBoolean], popoverTrigger: "popoverTrigger" }, outputs: { showEvent: "showEvent", shownEvent: "shownEvent", hideEvent: "hideEvent", hiddenEvent: "hiddenEvent", insertedEvent: "insertedEvent" }, exportAs: ["itPopover"], ngImport: i0 }); }
143
143
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItPopoverDirective, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPopoverDirective, decorators: [{
145
145
  type: Directive,
146
146
  args: [{
147
147
  standalone: true,
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
173
173
  }], insertedEvent: [{
174
174
  type: Output
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU96RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFlO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLFlBQVksQ0FBQyxLQUF5QjtRQUNqRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUEyQjtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUFzQztRQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE9BQU8s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O0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQS9KVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrUEEwQ1QsY0FBYzs7MkZBMUN2QixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7K0VBTXlCLE9BQU87c0JBQTlCLEtBQUs7dUJBQUMsV0FBVztnQkFRTCxZQUFZO3NCQUF4QixLQUFLO2dCQVdPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBVW9DLFdBQVc7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQVV2QixjQUFjO3NCQUExQixLQUFLO2dCQVNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tpdFBvcG92ZXJdJyxcbiAgZXhwb3J0QXM6ICdpdFBvcG92ZXInLFxufSlcbmV4cG9ydCBjbGFzcyBJdFBvcG92ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIGNvbnRlbnRcbiAgICogQHBhcmFtIGNvbnRlbnQgdGhlIHBvcG92ZXIgY29udGVudFxuICAgKi9cbiAgQElucHV0KCdpdFBvcG92ZXInKSBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWNvbnRlbnQnLCBjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHBvcG92ZXIgdGl0bGVcbiAgICogQHBhcmFtIHRpdGxlIHRoZSBwb3BvdmVyIHRpdGxlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclRpdGxlKHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgdGl0bGUpO1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1vcmlnaW5hbC10aXRsZScsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIHBsYWNlbWVudFxuICAgKiBAcGFyYW0gcGxhY2VtZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclBsYWNlbWVudChwbGFjZW1lbnQ6IEVsZW1lbnRQbGFjZW1lbnQpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyB0aGUgcG9wb3ZlciB0byBhIHNwZWNpZmljIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBjb250YWluZXJcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb3BvdmVyQ29udGFpbmVyKGNvbnRhaW5lcjogJ2JvZHknIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1jb250YWluZXInLCBjb250YWluZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGl0bGUgY29udGFpbnMgaHRtbFxuICAgKiBAcGFyYW0gaHRtbCB0cnVlIGlmIGNvbnRhaW4gaHRtbFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzZXQgcG9wb3Zlckh0bWwoaHRtbDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtaHRtbCcsIGh0bWwgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgcG9wb3ZlciBpcyB0cmlnZ2VyZWRcbiAgICogLSAnaG92ZXInOiBUbyBvcGVuIHRoZSBQb3BvdmVyIG9uIGhvdmVyIG9mIHRoZSBtb3VzZSBvdmVyIHRoZSBlbGVtZW50XG4gICAqIC0gJ2ZvY3VzJzogVG8gaWdub3JlIHBvcG92ZXJzIG9uIHRoZSB1c2VyJ3MgbmV4dCBjbGljayBvZiBhbiBlbGVtZW50IG90aGVyIHRoYW4gdGhlIHRvZ2dsZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gdHJpZ2dlclxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBvcG92ZXJUcmlnZ2VyKHRyaWdnZXI6ICdjbGljaycgfCAnaG92ZXInIHwgJ2ZvY3VzJyB8ICdtYW51YWwnIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRyaWdnZXIpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdHJpZ2dlcicsIHRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHNob3cgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzaG93RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHRvb2x0aXAgaGFzIGJlZW4gbWFkZSB2aXNpYmxlIHRvIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIHNob3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgaW1tZWRpYXRlbHkgd2hlbiB0aGUgaGlkZSBtZXRob2QgaXMgY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGhpZGVFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyByYWlzZWQgd2hlbiB0aGUgdG9vbHRpcCBoYXMgZmluaXNoZWQgYmVpbmcgaGlkZGVuIGZyb20gdGhlIHVzZXIgKGl0IHdpbGwgd2FpdCBmb3IgdGhlIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgaGlkZGVuRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXIgdGhlIHNob3cgZXZlbnQgd2hlbiB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgQE91dHB1dCgpIGluc2VydGVkRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwb3BvdmVyPzogUG9wb3ZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdG9nZ2xlJywgJ3BvcG92ZXInKTtcbiAgICB0aGlzLnBvcG92ZXIgPSBQb3BvdmVyLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcy5lbGVtZW50KTtcblxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3dFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3duLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3duRXZlbnQuZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmhpZGVFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5oaWRkZW5FdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2luc2VydGVkLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmluc2VydGVkRXZlbnQuZW1pdChldmVudCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBvcG92ZXIgb2YgYW4gaXRlbS5cbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIHBvcG92ZXIgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIC8gRGVhY3RpdmF0ZSB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8udG9nZ2xlKCk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgYW5kIGRlc3Ryb3lzIHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGEgY2hhbmNlIHRvIGJlIHNob3duLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmVuYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIGFiaWxpdHkgdG8gc2hvdyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGlzIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGVFbmFibGVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQncyBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc2FibGUoKTtcbiAgfVxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU96RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFlO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLFlBQVksQ0FBQyxLQUF5QjtRQUNqRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUEyQjtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUFzQztRQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE9BQU8s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O0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQS9KVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrUEEwQ1QsY0FBYzs7MkZBMUN2QixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7K0VBTXlCLE9BQU87c0JBQTlCLEtBQUs7dUJBQUMsV0FBVztnQkFRTCxZQUFZO3NCQUF4QixLQUFLO2dCQVdPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBVW9DLFdBQVc7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQVV2QixjQUFjO3NCQUExQixLQUFLO2dCQVNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tpdFBvcG92ZXJdJyxcbiAgZXhwb3J0QXM6ICdpdFBvcG92ZXInLFxufSlcbmV4cG9ydCBjbGFzcyBJdFBvcG92ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIGNvbnRlbnRcbiAgICogQHBhcmFtIGNvbnRlbnQgdGhlIHBvcG92ZXIgY29udGVudFxuICAgKi9cbiAgQElucHV0KCdpdFBvcG92ZXInKSBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWNvbnRlbnQnLCBjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHBvcG92ZXIgdGl0bGVcbiAgICogQHBhcmFtIHRpdGxlIHRoZSBwb3BvdmVyIHRpdGxlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclRpdGxlKHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgdGl0bGUpO1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1vcmlnaW5hbC10aXRsZScsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIHBsYWNlbWVudFxuICAgKiBAcGFyYW0gcGxhY2VtZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclBsYWNlbWVudChwbGFjZW1lbnQ6IEVsZW1lbnRQbGFjZW1lbnQpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyB0aGUgcG9wb3ZlciB0byBhIHNwZWNpZmljIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBjb250YWluZXJcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb3BvdmVyQ29udGFpbmVyKGNvbnRhaW5lcjogJ2JvZHknIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1jb250YWluZXInLCBjb250YWluZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGl0bGUgY29udGFpbnMgaHRtbFxuICAgKiBAcGFyYW0gaHRtbCB0cnVlIGlmIGNvbnRhaW4gaHRtbFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzZXQgcG9wb3Zlckh0bWwoaHRtbDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtaHRtbCcsIGh0bWwgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgcG9wb3ZlciBpcyB0cmlnZ2VyZWRcbiAgICogLSAnaG92ZXInOiBUbyBvcGVuIHRoZSBQb3BvdmVyIG9uIGhvdmVyIG9mIHRoZSBtb3VzZSBvdmVyIHRoZSBlbGVtZW50XG4gICAqIC0gJ2ZvY3VzJzogVG8gaWdub3JlIHBvcG92ZXJzIG9uIHRoZSB1c2VyJ3MgbmV4dCBjbGljayBvZiBhbiBlbGVtZW50IG90aGVyIHRoYW4gdGhlIHRvZ2dsZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gdHJpZ2dlclxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBvcG92ZXJUcmlnZ2VyKHRyaWdnZXI6ICdjbGljaycgfCAnaG92ZXInIHwgJ2ZvY3VzJyB8ICdtYW51YWwnIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRyaWdnZXIpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdHJpZ2dlcicsIHRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHNob3cgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzaG93RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHRvb2x0aXAgaGFzIGJlZW4gbWFkZSB2aXNpYmxlIHRvIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIHNob3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgaW1tZWRpYXRlbHkgd2hlbiB0aGUgaGlkZSBtZXRob2QgaXMgY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGhpZGVFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyByYWlzZWQgd2hlbiB0aGUgdG9vbHRpcCBoYXMgZmluaXNoZWQgYmVpbmcgaGlkZGVuIGZyb20gdGhlIHVzZXIgKGl0IHdpbGwgd2FpdCBmb3IgdGhlIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgaGlkZGVuRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXIgdGhlIHNob3cgZXZlbnQgd2hlbiB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgQE91dHB1dCgpIGluc2VydGVkRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwb3BvdmVyPzogUG9wb3ZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdG9nZ2xlJywgJ3BvcG92ZXInKTtcbiAgICB0aGlzLnBvcG92ZXIgPSBQb3BvdmVyLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcy5lbGVtZW50KTtcblxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3dFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3duLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3duRXZlbnQuZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmhpZGVFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5oaWRkZW5FdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2luc2VydGVkLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmluc2VydGVkRXZlbnQuZW1pdChldmVudCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBvcG92ZXIgb2YgYW4gaXRlbS5cbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIHBvcG92ZXIgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIC8gRGVhY3RpdmF0ZSB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8udG9nZ2xlKCk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgYW5kIGRlc3Ryb3lzIHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGEgY2hhbmNlIHRvIGJlIHNob3duLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmVuYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIGFiaWxpdHkgdG8gc2hvdyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGlzIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGVFbmFibGVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQncyBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc2FibGUoKTtcbiAgfVxufVxuIl19
@@ -13,10 +13,10 @@ export class ItProgressBarComponent {
13
13
  }
14
14
  return ` bg-${this.color}`;
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItProgressBarComponent, isStandalone: true, selector: "it-progress-bar", inputs: { value: "value", showLabel: ["showLabel", "showLabel", inputToBoolean], indeterminate: ["indeterminate", "indeterminate", inputToBoolean], color: "color" }, ngImport: i0, template: "<div class=\"progress-bar-wrapper\">\n @if (showLabel) {\n <div class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{ 'it.core.progress' | translate }} </span>{{ value }}%\n </div>\n }\n <div class=\"progress\" [class.progress-color]=\"!!color\" [class.progress-indeterminate]=\"indeterminate\">\n @if (indeterminate) {\n <div class=\"progress-bar{{ bgColor }}\" role=\"progressbar\"></div>\n } @else {\n <div\n class=\"progress-bar{{ bgColor }}\"\n role=\"progressbar\"\n [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItProgressBarComponent, isStandalone: true, selector: "it-progress-bar", inputs: { value: "value", showLabel: ["showLabel", "showLabel", inputToBoolean], indeterminate: ["indeterminate", "indeterminate", inputToBoolean], color: "color" }, ngImport: i0, template: "<div class=\"progress-bar-wrapper\">\n @if (showLabel) {\n <div class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{ 'it.core.progress' | translate }} </span>{{ value }}%\n </div>\n }\n <div class=\"progress\" [class.progress-color]=\"!!color\" [class.progress-indeterminate]=\"indeterminate\">\n @if (indeterminate) {\n <div class=\"progress-bar{{ bgColor }}\" role=\"progressbar\"></div>\n } @else {\n <div\n class=\"progress-bar{{ bgColor }}\"\n role=\"progressbar\"\n [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItProgressBarComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressBarComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ standalone: true, selector: 'it-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule], template: "<div class=\"progress-bar-wrapper\">\n @if (showLabel) {\n <div class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{ 'it.core.progress' | translate }} </span>{{ value }}%\n </div>\n }\n <div class=\"progress\" [class.progress-color]=\"!!color\" [class.progress-indeterminate]=\"indeterminate\">\n @if (indeterminate) {\n <div class=\"progress-bar{{ bgColor }}\" role=\"progressbar\"></div>\n } @else {\n <div\n class=\"progress-bar{{ bgColor }}\"\n role=\"progressbar\"\n [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n }\n </div>\n</div>\n" }]
22
22
  }], propDecorators: { value: [{
@@ -11,10 +11,10 @@ export class ItProgressButtonComponent {
11
11
  get isIndeterminate() {
12
12
  return typeof this.progress !== 'number' && !!this.progress;
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItProgressButtonComponent, isStandalone: true, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n@if (isProgress) {\n <it-progress-bar [value]=\"progressValue\" [indeterminate]=\"isIndeterminate\" [color]=\"progressColor\"></it-progress-bar>\n}\n", dependencies: [{ kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItProgressButtonComponent, isStandalone: true, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n@if (isProgress) {\n <it-progress-bar [value]=\"progressValue\" [indeterminate]=\"isIndeterminate\" [color]=\"progressColor\"></it-progress-bar>\n}\n", dependencies: [{ kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItProgressButtonComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressButtonComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ standalone: true, selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItProgressBarComponent], template: "<ng-content></ng-content>\n\n@if (isProgress) {\n <it-progress-bar [value]=\"progressValue\" [indeterminate]=\"isIndeterminate\" [color]=\"progressColor\"></it-progress-bar>\n}\n" }]
20
20
  }], propDecorators: { progress: [{
@@ -11,10 +11,10 @@ export class ItSpinnerComponent {
11
11
  */
12
12
  this.active = true;
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItSpinnerComponent, isStandalone: true, selector: "it-spinner", inputs: { active: ["active", "active", inputToBoolean], small: ["small", "small", inputToBoolean], double: ["double", "double", inputToBoolean] }, ngImport: i0, template: "<div class=\"progress-spinner\" [class.progress-spinner-double]=\"double\" [class.progress-spinner-active]=\"active\" [class.size-sm]=\"small\">\n @if (double) {\n <div class=\"progress-spinner-inner\"></div>\n <div class=\"progress-spinner-inner\"></div>\n }\n <span class=\"visually-hidden\">{{ 'it.core.loading' | translate }}...</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSpinnerComponent, isStandalone: true, selector: "it-spinner", inputs: { active: ["active", "active", inputToBoolean], small: ["small", "small", inputToBoolean], double: ["double", "double", inputToBoolean] }, ngImport: i0, template: "<div class=\"progress-spinner\" [class.progress-spinner-double]=\"double\" [class.progress-spinner-active]=\"active\" [class.size-sm]=\"small\">\n @if (double) {\n <div class=\"progress-spinner-inner\"></div>\n <div class=\"progress-spinner-inner\"></div>\n }\n <span class=\"visually-hidden\">{{ 'it.core.loading' | translate }}...</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSpinnerComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSpinnerComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ standalone: true, selector: 'it-spinner', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule], template: "<div class=\"progress-spinner\" [class.progress-spinner-double]=\"double\" [class.progress-spinner-active]=\"active\" [class.size-sm]=\"small\">\n @if (double) {\n <div class=\"progress-spinner-inner\"></div>\n <div class=\"progress-spinner-inner\"></div>\n }\n <span class=\"visually-hidden\">{{ 'it.core.loading' | translate }}...</span>\n</div>\n" }]
20
20
  }], propDecorators: { active: [{
@@ -49,10 +49,10 @@ export class ItSteppersContainerComponent {
49
49
  ngOnDestroy() {
50
50
  this.stepsSubscriptions?.forEach(step => step.unsubscribe());
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItSteppersContainerComponent, isStandalone: true, selector: "it-steppers-container", inputs: { activeStep: "activeStep", showHeader: ["showHeader", "showHeader", inputToBoolean], dark: ["dark", "dark", inputToBoolean], steppersNumber: ["steppersNumber", "steppersNumber", inputToBoolean], progressStyle: "progressStyle", progressColor: "progressColor", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], disableBackButton: ["disableBackButton", "disableBackButton", inputToBoolean], showForwardButton: ["showForwardButton", "showForwardButton", inputToBoolean], disableForwardButton: ["disableForwardButton", "disableForwardButton", inputToBoolean], showConfirmButton: ["showConfirmButton", "showConfirmButton", inputToBoolean], disableConfirmButton: ["disableConfirmButton", "disableConfirmButton", inputToBoolean], confirmLoading: ["confirmLoading", "confirmLoading", inputToBoolean], showSaveButton: ["showSaveButton", "showSaveButton", inputToBoolean], disableSaveButton: ["disableSaveButton", "disableSaveButton", inputToBoolean], saveLoading: ["saveLoading", "saveLoading", inputToBoolean] }, outputs: { backClick: "backClick", forwardClick: "forwardClick", confirmClick: "confirmClick", saveClick: "saveClick" }, queries: [{ propertyName: "steps", predicate: ItSteppersItemComponent }], ngImport: i0, template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "component", type: ItProgressButtonComponent, selector: "button[itButton][progress]", inputs: ["progress", "progressColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSteppersContainerComponent, isStandalone: true, selector: "it-steppers-container", inputs: { activeStep: "activeStep", showHeader: ["showHeader", "showHeader", inputToBoolean], dark: ["dark", "dark", inputToBoolean], steppersNumber: ["steppersNumber", "steppersNumber", inputToBoolean], progressStyle: "progressStyle", progressColor: "progressColor", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], disableBackButton: ["disableBackButton", "disableBackButton", inputToBoolean], showForwardButton: ["showForwardButton", "showForwardButton", inputToBoolean], disableForwardButton: ["disableForwardButton", "disableForwardButton", inputToBoolean], showConfirmButton: ["showConfirmButton", "showConfirmButton", inputToBoolean], disableConfirmButton: ["disableConfirmButton", "disableConfirmButton", inputToBoolean], confirmLoading: ["confirmLoading", "confirmLoading", inputToBoolean], showSaveButton: ["showSaveButton", "showSaveButton", inputToBoolean], disableSaveButton: ["disableSaveButton", "disableSaveButton", inputToBoolean], saveLoading: ["saveLoading", "saveLoading", inputToBoolean] }, outputs: { backClick: "backClick", forwardClick: "forwardClick", confirmClick: "confirmClick", saveClick: "saveClick" }, queries: [{ propertyName: "steps", predicate: ItSteppersItemComponent }], ngImport: i0, template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "component", type: ItProgressButtonComponent, selector: "button[itButton][progress]", inputs: ["progress", "progressColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersContainerComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersContainerComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ standalone: true, selector: 'it-steppers-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet, TranslateModule, ItButtonDirective, ItProgressBarComponent, ItProgressButtonComponent], template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n" }]
58
58
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { activeStep: [{
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
113
113
  }], saveClick: [{
114
114
  type: Output
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBUzVELE1BQU0sT0FBTyw0QkFBNEI7SUEr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QkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsb0JBQW9CO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxpQkFBaUI7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLG9CQUFvQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBS0UsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsaUJBQWlCO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLRSxXQUFXO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLTSxLQUFLO3NCQUE5QyxlQUFlO3VCQUFDLHVCQUF1QjtnQkFNOUIsU0FBUztzQkFBbEIsTUFBTTtnQkFNRyxZQUFZO3NCQUFyQixNQUFNO2dCQU1HLFlBQVk7c0JBQXJCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtc3RlcHBlcnMtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXJzLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBUcmFuc2xhdGVNb2R1bGUsIEl0QnV0dG9uRGlyZWN0aXZlLCBJdFByb2dyZXNzQmFyQ29tcG9uZW50LCBJdFByb2dyZXNzQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSXRTdGVwcGVyc0NvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aXZlIHN0ZXAgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IHRoZSBzdGVwIGluZGV4XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhY3RpdmVTdGVwITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzdGVwcGVyIGhlYWRlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEYXJrIHN0eWxlXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRhcms/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWxzIHByZXNlbnQgaW4gdGhlIGhlYWRlciBzdGVwcyBjYW4gYmUgYW50aWNpcGF0ZWQgYnkgdGhlIHJlbGF0aXZlIG9yZGluYWwgbnVtYmVyLlxuICAgKiBAZWZ1YWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHN0ZXBwZXJzTnVtYmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIHN0eWxlXG4gICAqIC08Yj5wcm9ncmVzczwvYj46IFNob3cgcHJvZ3Jlc3MgYmFyIC0gWW91IGNhbiBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlIGBwcm9ncmVzc0NvbG9yYCBhdHRyaWJ1dGVcbiAgICogLTxiPmRvdHM8L2I+OiBTaG93IHByb2dyZXNzIGRvdHNcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gZG9uJ3Qgc2hvdyBwcm9ncmVzc1xuICAgKi9cbiAgQElucHV0KCkgcHJvZ3Jlc3NTdHlsZTogJ3Byb2dyZXNzJyB8ICdkb3RzJyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3VzdG9taXplIHByb2dyZXNzIGNvbG9yXG4gICAqL1xuICBASW5wdXQoKSBwcm9ncmVzc0NvbG9yOiBQcm9ncmVzc0JhckNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBiYWNrIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dCYWNrQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgYmFjayBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUJhY2tCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBmb3J3YXJkIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dGb3J3YXJkQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZm9yd2FyZCBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUZvcndhcmRCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBjb25maXJtIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93Q29uZmlybUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGNvbmZpcm0gYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVDb25maXJtQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgY29uZmlybSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgY29uZmlybUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzYXZlIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93U2F2ZUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHNhdmUgYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVTYXZlQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgc2F2ZSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2F2ZUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcHBlciBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFN0ZXBwZXJzSXRlbUNvbXBvbmVudCkgc3RlcHM/OiBRdWVyeUxpc3Q8SXRTdGVwcGVyc0l0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBPbiBiYWNrIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgYmFja0NsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICAvKipcbiAgICogT24gZm9yd2FyZCBidXR0b24gY2xpY2tcbiAgICogQGV2ZW50IGFjdGl2ZVN0ZXAgdGhlIGN1cnJlbnQgc3RlcCBpbmRleFxuICAgKi9cbiAgQE91dHB1dCgpIGZvcndhcmRDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj47XG5cbiAgLyoqXG4gICAqIE9uIGNvbmZpcm0gYnV0dG9uIGNsaWNrXG4gICAqIEBldmVudCBhY3RpdmVTdGVwIHRoZSBjdXJyZW50IHN0ZXAgaW5kZXhcbiAgICovXG4gIEBPdXRwdXQoKSBjb25maXJtQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBPbiBzYXZlIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICBwcml2YXRlIHN0ZXBzU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5iYWNrQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICB0aGlzLmZvcndhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIHRoaXMuY29uZmlybUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgdGhpcy5zYXZlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzPy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2hlbiBzdGVwcyBjaGFuZ2VzIChkeW5hbWljIGFkZC9yZW1vdmUpXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwc1N1YnNjcmlwdGlvbnM/LmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTsgLy8gUmVtb3ZlIG9sZCBzdWJzY3JpcHRpb25zXG4gICAgICAgIHRoaXMuc3RlcHNTdWJzY3JpcHRpb25zID0gdGhpcy5zdGVwcz8ubWFwKHN0ZXAgPT5cbiAgICAgICAgICBzdGVwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gc3RlcCBhdHRyaWJ1dGVzIGNoYW5nZXNcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7IC8vIEZvcmNlIHVwZGF0ZSBodG1sIHJlbmRlclxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdGVwID0+IHN0ZXAudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGVwcGVyc1wiIFtjbGFzcy5iZy1kYXJrXT1cImRhcmtcIj5cbiAgQGlmIChzaG93SGVhZGVyKSB7XG4gICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLWhlYWRlclwiPlxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8dWw+XG4gICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcC5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxsaSBbY2xhc3MuY29uZmlybWVkXT1cImkgPCBhY3RpdmVTdGVwXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCIgW2NsYXNzLm5vLWxpbmVdPVwiaSA9PT0gYWN0aXZlU3RlcCAmJiBzdGVwcGVyc051bWJlclwiPlxuICAgICAgICAgICAgICBAaWYgKHN0ZXAuaWNvbiAmJiAhc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8aXQtaWNvbiBbbGFiZWxXYXJpYV09XCInaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlXCIgW25hbWVdPVwic3RlcC5pY29uXCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChpIDwgYWN0aXZlU3RlcCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5zdGVwJyB8IHRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxuICAgICAgICAgICAgICBAaWYgKGkgPCBhY3RpdmVTdGVwICYmICFzdGVwcGVyc051bWJlcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja0ljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKGkgPT09IGFjdGl2ZVN0ZXApIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7ICdpdC5jb3JlLmFjdGl2ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgfVxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLWluZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgQGlmICghc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgIHt7IGFjdGl2ZVN0ZXAgKyAxICsgJy8nICsgc3RlcHMubGVuZ3RoIH19XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayBzdGVwLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIj57eyBpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc3RlcHM/LmdldChhY3RpdmVTdGVwKTsgYXMgc3RlcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVycy1jb250ZW50XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RlcC5odG1sQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChzaG93QmFja0J1dHRvbiB8fCBzaG93U2F2ZUJ1dHRvbiB8fCBzaG93Rm9yd2FyZEJ1dHRvbiB8fCBzaG93Q29uZmlybUJ1dHRvbiB8fCAhIXByb2dyZXNzU3R5bGUpIHtcbiAgICA8bmF2IGNsYXNzPVwic3RlcHBlcnMtbmF2XCI+XG4gICAgICBAaWYgKHNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1wcmV2XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJhY2tCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIDxpdC1pY29uIFtsYWJlbFdhcmlhXT1cIidpdC5jb3JlLmJhY2snIHwgdHJhbnNsYXRlXCIgbmFtZT1cImNoZXZyb24tbGVmdFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB7eyAnaXQuY29yZS5iYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoISFwcm9ncmVzc1N0eWxlICYmIHN0ZXBzKSB7XG4gICAgICAgIEBpZiAocHJvZ3Jlc3NTdHlsZSA9PT0gJ2RvdHMnKSB7XG4gICAgICAgICAgPHVsIGNsYXNzPVwic3RlcHBlcnMtZG90c1wiPlxuICAgICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdpdC5jb3JlLnN0ZXAtb2YnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnQ6IGFjdGl2ZVN0ZXAgKyAxLCBhdmFpbGFibGU6IHN0ZXBzPy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAge3sgaSA8IGFjdGl2ZVN0ZXAgPyAnLSAnICsgKCdpdC5jb3JlLmNvbmZpcm1lZCcgfCB0cmFuc2xhdGUpIDogJycgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLXByb2dyZXNzXCI+XG4gICAgICAgICAgICA8aXQtcHJvZ3Jlc3MtYmFyIFtjb2xvcl09XCJwcm9ncmVzc0NvbG9yXCIgW3ZhbHVlXT1cIihhY3RpdmVTdGVwIC8gKHN0ZXBzPy5sZW5ndGggfHwgMSkpICogMTAwXCI+PC9pdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd1NhdmVCdXR0b24pIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGl0QnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1zYXZlXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwic2F2ZUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlTG9hZGluZyB8fCBkaXNhYmxlU2F2ZUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNhdmVDbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmdlbmVyYWwuc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dGb3J3YXJkQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1uZXh0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUZvcndhcmRCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJmb3J3YXJkQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIHt7ICdpdC5jb3JlLmZvcndhcmQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuZm9yd2FyZCcgfCB0cmFuc2xhdGVcIiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dDb25maXJtQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVycy1idG4tY29uZmlybSBkLWxnLWJsb2NrXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwiY29uZmlybUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maXJtTG9hZGluZyB8fCBkaXNhYmxlQ29uZmlybUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1DbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmNvcmUuY29uZmlybScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9uYXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NoZWNrSWNvbj5cbiAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuY29uZmlybWVkJyB8IHRyYW5zbGF0ZVwiIG5hbWU9XCJjaGVja1wiIGNsYXNzPVwic3RlcHBlcnMtc3VjY2Vzc1wiPjwvaXQtaWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBUzVELE1BQU0sT0FBTyw0QkFBNEI7SUEr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QkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsb0JBQW9CO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxpQkFBaUI7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLG9CQUFvQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBS0UsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsaUJBQWlCO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLRSxXQUFXO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLTSxLQUFLO3NCQUE5QyxlQUFlO3VCQUFDLHVCQUF1QjtnQkFNOUIsU0FBUztzQkFBbEIsTUFBTTtnQkFNRyxZQUFZO3NCQUFyQixNQUFNO2dCQU1HLFlBQVk7c0JBQXJCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtc3RlcHBlcnMtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXJzLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBUcmFuc2xhdGVNb2R1bGUsIEl0QnV0dG9uRGlyZWN0aXZlLCBJdFByb2dyZXNzQmFyQ29tcG9uZW50LCBJdFByb2dyZXNzQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSXRTdGVwcGVyc0NvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aXZlIHN0ZXAgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IHRoZSBzdGVwIGluZGV4XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhY3RpdmVTdGVwITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzdGVwcGVyIGhlYWRlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEYXJrIHN0eWxlXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRhcms/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWxzIHByZXNlbnQgaW4gdGhlIGhlYWRlciBzdGVwcyBjYW4gYmUgYW50aWNpcGF0ZWQgYnkgdGhlIHJlbGF0aXZlIG9yZGluYWwgbnVtYmVyLlxuICAgKiBAZWZ1YWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHN0ZXBwZXJzTnVtYmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIHN0eWxlXG4gICAqIC08Yj5wcm9ncmVzczwvYj46IFNob3cgcHJvZ3Jlc3MgYmFyIC0gWW91IGNhbiBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlIGBwcm9ncmVzc0NvbG9yYCBhdHRyaWJ1dGVcbiAgICogLTxiPmRvdHM8L2I+OiBTaG93IHByb2dyZXNzIGRvdHNcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gZG9uJ3Qgc2hvdyBwcm9ncmVzc1xuICAgKi9cbiAgQElucHV0KCkgcHJvZ3Jlc3NTdHlsZTogJ3Byb2dyZXNzJyB8ICdkb3RzJyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3VzdG9taXplIHByb2dyZXNzIGNvbG9yXG4gICAqL1xuICBASW5wdXQoKSBwcm9ncmVzc0NvbG9yOiBQcm9ncmVzc0JhckNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBiYWNrIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dCYWNrQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgYmFjayBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUJhY2tCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBmb3J3YXJkIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dGb3J3YXJkQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZm9yd2FyZCBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUZvcndhcmRCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBjb25maXJtIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93Q29uZmlybUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGNvbmZpcm0gYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVDb25maXJtQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgY29uZmlybSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgY29uZmlybUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzYXZlIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93U2F2ZUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHNhdmUgYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVTYXZlQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgc2F2ZSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2F2ZUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcHBlciBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFN0ZXBwZXJzSXRlbUNvbXBvbmVudCkgc3RlcHM/OiBRdWVyeUxpc3Q8SXRTdGVwcGVyc0l0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBPbiBiYWNrIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgYmFja0NsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICAvKipcbiAgICogT24gZm9yd2FyZCBidXR0b24gY2xpY2tcbiAgICogQGV2ZW50IGFjdGl2ZVN0ZXAgdGhlIGN1cnJlbnQgc3RlcCBpbmRleFxuICAgKi9cbiAgQE91dHB1dCgpIGZvcndhcmRDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj47XG5cbiAgLyoqXG4gICAqIE9uIGNvbmZpcm0gYnV0dG9uIGNsaWNrXG4gICAqIEBldmVudCBhY3RpdmVTdGVwIHRoZSBjdXJyZW50IHN0ZXAgaW5kZXhcbiAgICovXG4gIEBPdXRwdXQoKSBjb25maXJtQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBPbiBzYXZlIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICBwcml2YXRlIHN0ZXBzU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5iYWNrQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICB0aGlzLmZvcndhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIHRoaXMuY29uZmlybUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgdGhpcy5zYXZlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzPy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2hlbiBzdGVwcyBjaGFuZ2VzIChkeW5hbWljIGFkZC9yZW1vdmUpXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwc1N1YnNjcmlwdGlvbnM/LmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTsgLy8gUmVtb3ZlIG9sZCBzdWJzY3JpcHRpb25zXG4gICAgICAgIHRoaXMuc3RlcHNTdWJzY3JpcHRpb25zID0gdGhpcy5zdGVwcz8ubWFwKHN0ZXAgPT5cbiAgICAgICAgICBzdGVwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gc3RlcCBhdHRyaWJ1dGVzIGNoYW5nZXNcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7IC8vIEZvcmNlIHVwZGF0ZSBodG1sIHJlbmRlclxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdGVwID0+IHN0ZXAudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGVwcGVyc1wiIFtjbGFzcy5iZy1kYXJrXT1cImRhcmtcIj5cbiAgQGlmIChzaG93SGVhZGVyKSB7XG4gICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLWhlYWRlclwiPlxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8dWw+XG4gICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcC5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxsaSBbY2xhc3MuY29uZmlybWVkXT1cImkgPCBhY3RpdmVTdGVwXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCIgW2NsYXNzLm5vLWxpbmVdPVwiaSA9PT0gYWN0aXZlU3RlcCAmJiBzdGVwcGVyc051bWJlclwiPlxuICAgICAgICAgICAgICBAaWYgKHN0ZXAuaWNvbiAmJiAhc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8aXQtaWNvbiBbbGFiZWxXYXJpYV09XCInaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlXCIgW25hbWVdPVwic3RlcC5pY29uXCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChpIDwgYWN0aXZlU3RlcCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5zdGVwJyB8IHRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxuICAgICAgICAgICAgICBAaWYgKGkgPCBhY3RpdmVTdGVwICYmICFzdGVwcGVyc051bWJlcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja0ljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKGkgPT09IGFjdGl2ZVN0ZXApIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7ICdpdC5jb3JlLmFjdGl2ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgfVxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLWluZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgQGlmICghc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgIHt7IGFjdGl2ZVN0ZXAgKyAxICsgJy8nICsgc3RlcHMubGVuZ3RoIH19XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayBzdGVwLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIj57eyBpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc3RlcHM/LmdldChhY3RpdmVTdGVwKTsgYXMgc3RlcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVycy1jb250ZW50XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RlcC5odG1sQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChzaG93QmFja0J1dHRvbiB8fCBzaG93U2F2ZUJ1dHRvbiB8fCBzaG93Rm9yd2FyZEJ1dHRvbiB8fCBzaG93Q29uZmlybUJ1dHRvbiB8fCAhIXByb2dyZXNzU3R5bGUpIHtcbiAgICA8bmF2IGNsYXNzPVwic3RlcHBlcnMtbmF2XCI+XG4gICAgICBAaWYgKHNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1wcmV2XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJhY2tCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIDxpdC1pY29uIFtsYWJlbFdhcmlhXT1cIidpdC5jb3JlLmJhY2snIHwgdHJhbnNsYXRlXCIgbmFtZT1cImNoZXZyb24tbGVmdFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB7eyAnaXQuY29yZS5iYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoISFwcm9ncmVzc1N0eWxlICYmIHN0ZXBzKSB7XG4gICAgICAgIEBpZiAocHJvZ3Jlc3NTdHlsZSA9PT0gJ2RvdHMnKSB7XG4gICAgICAgICAgPHVsIGNsYXNzPVwic3RlcHBlcnMtZG90c1wiPlxuICAgICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdpdC5jb3JlLnN0ZXAtb2YnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnQ6IGFjdGl2ZVN0ZXAgKyAxLCBhdmFpbGFibGU6IHN0ZXBzPy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAge3sgaSA8IGFjdGl2ZVN0ZXAgPyAnLSAnICsgKCdpdC5jb3JlLmNvbmZpcm1lZCcgfCB0cmFuc2xhdGUpIDogJycgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLXByb2dyZXNzXCI+XG4gICAgICAgICAgICA8aXQtcHJvZ3Jlc3MtYmFyIFtjb2xvcl09XCJwcm9ncmVzc0NvbG9yXCIgW3ZhbHVlXT1cIihhY3RpdmVTdGVwIC8gKHN0ZXBzPy5sZW5ndGggfHwgMSkpICogMTAwXCI+PC9pdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd1NhdmVCdXR0b24pIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGl0QnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1zYXZlXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwic2F2ZUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlTG9hZGluZyB8fCBkaXNhYmxlU2F2ZUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNhdmVDbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmdlbmVyYWwuc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dGb3J3YXJkQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1uZXh0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUZvcndhcmRCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJmb3J3YXJkQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIHt7ICdpdC5jb3JlLmZvcndhcmQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuZm9yd2FyZCcgfCB0cmFuc2xhdGVcIiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dDb25maXJtQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVycy1idG4tY29uZmlybSBkLWxnLWJsb2NrXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwiY29uZmlybUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maXJtTG9hZGluZyB8fCBkaXNhYmxlQ29uZmlybUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1DbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmNvcmUuY29uZmlybScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9uYXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NoZWNrSWNvbj5cbiAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuY29uZmlybWVkJyB8IHRyYW5zbGF0ZVwiIG5hbWU9XCJjaGVja1wiIGNsYXNzPVwic3RlcHBlcnMtc3VjY2Vzc1wiPjwvaXQtaWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2,10 +2,10 @@ import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } fro
2
2
  import { ItAbstractComponent } from '../../../../abstracts/abstract.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ItSteppersItemComponent extends ItAbstractComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ItSteppersItemComponent, isStandalone: true, selector: "it-steppers-item", inputs: { label: "label", icon: "icon" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItSteppersItemComponent, isStandalone: true, selector: "it-steppers-item", inputs: { label: "label", icon: "icon" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersItemComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersItemComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ standalone: true, selector: 'it-steppers-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
11
  }], propDecorators: { label: [{
@@ -4,11 +4,11 @@ import { ItSteppersItemComponent } from './steppers-item/steppers-item.component
4
4
  import * as i0 from "@angular/core";
5
5
  const steppersComponents = [ItSteppersContainerComponent, ItSteppersItemComponent];
6
6
  export class ItSteppersModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent, ItSteppersItemComponent], exports: [ItSteppersContainerComponent, ItSteppersItemComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent, ItSteppersItemComponent], exports: [ItSteppersContainerComponent, ItSteppersItemComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: steppersComponents,
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChildren, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
2
2
  import { ItTabItemComponent } from '../tab-item/tab-item.component';
3
3
  import { of, startWith, switchMap, tap } from 'rxjs';
4
4
  import { Tab } from 'bootstrap-italia';
@@ -8,6 +8,10 @@ import { ItIconComponent } from '../../../utils/icon/icon.component';
8
8
  import { inputToBoolean } from '../../../../utils/coercion';
9
9
  import * as i0 from "@angular/core";
10
10
  export class ItTabContainerComponent extends ItAbstractComponent {
11
+ constructor() {
12
+ super();
13
+ this.tabSelected = new EventEmitter();
14
+ }
11
15
  ngAfterViewInit() {
12
16
  super.ngAfterViewInit();
13
17
  this.tabs?.changes
@@ -38,13 +42,16 @@ export class ItTabContainerComponent extends ItAbstractComponent {
38
42
  ngOnDestroy() {
39
43
  this.tabSubscriptions?.forEach(sub => sub.unsubscribe());
40
44
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItTabContainerComponent, isStandalone: true, selector: "it-tab-container", inputs: { auto: ["auto", "auto", inputToBoolean], iconText: ["iconText", "iconText", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, queries: [{ propertyName: "tabs", predicate: ItTabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ onTab(tab) {
46
+ this.tabSelected.emit(tab);
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItTabContainerComponent, isStandalone: true, selector: "it-tab-container", inputs: { auto: ["auto", "auto", inputToBoolean], iconText: ["iconText", "iconText", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, outputs: { tabSelected: "tabSelected" }, queries: [{ propertyName: "tabs", predicate: ItTabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
50
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabContainerComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabContainerComponent, decorators: [{
45
52
  type: Component,
46
- args: [{ standalone: true, selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet], template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n" }]
47
- }], propDecorators: { auto: [{
53
+ args: [{ standalone: true, selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet], template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n" }]
54
+ }], ctorParameters: () => [], propDecorators: { auto: [{
48
55
  type: Input,
49
56
  args: [{ transform: inputToBoolean }]
50
57
  }], iconText: [{
@@ -59,5 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
59
66
  }], tabNavLinks: [{
60
67
  type: ViewChildren,
61
68
  args: ['tabNavLinks']
69
+ }], tabSelected: [{
70
+ type: Output
62
71
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsS0FBSyxFQUdMLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBZ0IsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTNUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQTBCckQsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPO2FBQ2YsSUFBSTtRQUNILHlDQUF5QztRQUN6QyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQzNDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsaURBQWlEO1lBQzVGLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQywyQkFBMkI7UUFDdEUsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDdkY7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2Qsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsYUFBYSxFQUN4QyxVQUFVLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUVsRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3RELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQzFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdkIsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxDQUFDO29CQUNILFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsOENBQThDO2dCQUNoRyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7OEdBaEVVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFGQUtkLGNBQWMsc0NBS2QsY0FBYywwQkFLZCxjQUFjLGtEQUtqQixrQkFBa0IsbUpDOUNyQyxvcUNBc0NBLDRDRGRZLGVBQWUsMkhBQUUsZ0JBQWdCOzsyRkFFaEMsdUJBQXVCO2tCQVBuQyxTQUFTO2lDQUNJLElBQUksWUFDTixrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFPTixJQUFJO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLRSxJQUFJO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLQyxJQUFJO3NCQUF4QyxlQUFlO3VCQUFDLGtCQUFrQjtnQkFFRSxXQUFXO3NCQUEvQyxZQUFZO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0VGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBvZiwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWIgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdGFiLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFRhYkNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGFicyBhdXRvbWF0aWNhbGx5IG9jY3VweSB0aGUgZW50aXJlIGF2YWlsYWJsZSB3aWR0aFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBhdXRvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG8gb2J0YWluIHRoZSBjb3JyZWN0IG1hcmdpbiBiZXR3ZWVuIHRleHQgYW5kIGljb24gaW4gdGhlIGhvcml6b250YWxseSBkZXZlbG9wZWQgdGFiXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGljb25UZXh0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGFyayBzdHlsZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkYXJrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRhYiBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFRhYkl0ZW1Db21wb25lbnQpIHRhYnM/OiBRdWVyeUxpc3Q8SXRUYWJJdGVtQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCd0YWJOYXZMaW5rcycpIHByaXZhdGUgdGFiTmF2TGlua3M/OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD4+O1xuXG4gIHByaXZhdGUgdGFiU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy50YWJzPy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2hlbiB0YWJzIGNoYW5nZXMgKGR5bmFtaWMgYWRkL3JlbW92ZSlcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50YWJTdWJzY3JpcHRpb25zPy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7IC8vIFJlbW92ZSBvbGQgc3Vic2NyaXB0aW9uc1xuICAgICAgICAgIHRoaXMudGFiU3Vic2NyaXB0aW9ucyA9IHRoaXMudGFicz8ubWFwKHRhYiA9PlxuICAgICAgICAgICAgdGFiLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7IC8vIERldGVjdENoYW5nZXMgd2hlbiB0YWItaXRlbSBhdHRyaWJ1dGVzIGNoYW5nZXNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7IC8vIEZvcmNlIHVwZGF0ZSBodG1sIHJlbmRlclxuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudGFiTmF2TGlua3M/LmNoYW5nZXMucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSkgfHwgb2YodW5kZWZpbmVkKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBJbml0IHRhYnMgZnJvbSBib290c3RyYXAtaXRhbGlhXG4gICAgICAgIHRoaXMudGFiTmF2TGlua3M/LmZvckVhY2godGFiTmF2TGluayA9PiB7XG4gICAgICAgICAgY29uc3QgdHJpZ2dlckVsID0gdGFiTmF2TGluay5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGFiVHJpZ2dlciA9IFRhYi5nZXRPckNyZWF0ZUluc3RhbmNlKHRyaWdnZXJFbCk7XG5cbiAgICAgICAgICBpZiAodHJpZ2dlckVsLmdldEF0dHJpYnV0ZSgndGFiLWxpc3RlbmVyJykgIT09ICd0cnVlJykge1xuICAgICAgICAgICAgdHJpZ2dlckVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB0YWJUcmlnZ2VyLnNob3coKTtcbiAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cmlnZ2VyRWwuc2V0QXR0cmlidXRlKCd0YWItbGlzdGVuZXInLCAndHJ1ZScpOyAvLyBQcmV2ZW50cyBtdWx0aXBsZSBpbnNlcnRpb24gb2YgdGhlIGxpc3RlbmVyXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJTdWJzY3JpcHRpb25zPy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIkBpZiAodGFicykge1xuICA8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnNcIiBbY2xhc3MuYXV0b109XCJhdXRvXCIgW2NsYXNzLm5hdi10YWJzLWljb24tdGV4dF09XCJpY29uVGV4dFwiIFtjbGFzcy5uYXYtZGFya109XCJkYXJrXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICBAZm9yICh0YWIgb2YgdGFiczsgdHJhY2sgdGFiLmlkKSB7XG4gICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxuICAgICAgICA8YVxuICAgICAgICAgICN0YWJOYXZMaW5rc1xuICAgICAgICAgIFtpZF09XCJ0YWIuaWQgKyAnLXRhYi1saW5rJ1wiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgY2xhc3M9XCJuYXYtbGlua1wiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuYWN0aXZlXCJcbiAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgICAgICBbYXR0ci5ocmVmXT1cIicjJyArIHRhYi5pZCArICctdGFiJ1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJ0YWIuaWQgKyAnLXRhYidcIj5cbiAgICAgICAgICBAaWYgKHRhYi5pY29uKSB7XG4gICAgICAgICAgICA8aXQtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIGNsYXNzPVwibWUtMlwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L3VsPlxufVxuXG5AaWYgKHRhYnMpIHtcbiAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYi5pZCkge1xuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwidGFiLmlkICsgJy10YWInXCJcbiAgICAgICAgY2xhc3M9XCJ0YWItcGFuZSBwLTQgZmFkZSB7eyB0YWIuY2xhc3MgPz8gJycgfX1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICBbY2xhc3Muc2hvd109XCJ0YWIuYWN0aXZlXCJcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYi5pZCArICctdGFiLWxpbmsnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuaHRtbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVM1RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBNEI5RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBTEEsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQU0vRCxDQUFDO0lB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QWtCO2dCQUVFLFdBQVc7c0JBQS9DLFlBQVk7dUJBQUMsYUFBYTtnQkFFakIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0VGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBvZiwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWIgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdGFiLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFRhYkNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGFicyBhdXRvbWF0aWNhbGx5IG9jY3VweSB0aGUgZW50aXJlIGF2YWlsYWJsZSB3aWR0aFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBhdXRvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG8gb2J0YWluIHRoZSBjb3JyZWN0IG1hcmdpbiBiZXR3ZWVuIHRleHQgYW5kIGljb24gaW4gdGhlIGhvcml6b250YWxseSBkZXZlbG9wZWQgdGFiXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGljb25UZXh0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGFyayBzdHlsZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkYXJrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRhYiBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFRhYkl0ZW1Db21wb25lbnQpIHRhYnM/OiBRdWVyeUxpc3Q8SXRUYWJJdGVtQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCd0YWJOYXZMaW5rcycpIHByaXZhdGUgdGFiTmF2TGlua3M/OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD4+O1xuXG4gIEBPdXRwdXQoKSB0YWJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SXRUYWJJdGVtQ29tcG9uZW50PigpO1xuXG4gIHByaXZhdGUgdGFiU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMudGFicz8uY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIFdoZW4gdGFicyBjaGFuZ2VzIChkeW5hbWljIGFkZC9yZW1vdmUpXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudGFiU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpOyAvLyBSZW1vdmUgb2xkIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgICB0aGlzLnRhYlN1YnNjcmlwdGlvbnMgPSB0aGlzLnRhYnM/Lm1hcCh0YWIgPT5cbiAgICAgICAgICAgIHRhYi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gdGFiLWl0ZW0gYXR0cmlidXRlcyBjaGFuZ2VzXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBGb3JjZSB1cGRhdGUgaHRtbCByZW5kZXJcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnRhYk5hdkxpbmtzPy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpIHx8IG9mKHVuZGVmaW5lZCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCB0YWJzIGZyb20gYm9vdHN0cmFwLWl0YWxpYVxuICAgICAgICB0aGlzLnRhYk5hdkxpbmtzPy5mb3JFYWNoKHRhYk5hdkxpbmsgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRhYk5hdkxpbmsubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHRhYlRyaWdnZXIgPSBUYWIuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0cmlnZ2VyRWwpO1xuXG4gICAgICAgICAgaWYgKHRyaWdnZXJFbC5nZXRBdHRyaWJ1dGUoJ3RhYi1saXN0ZW5lcicpICE9PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIHRyaWdnZXJFbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdGFiVHJpZ2dlci5zaG93KCk7XG4gICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdHJpZ2dlckVsLnNldEF0dHJpYnV0ZSgndGFiLWxpc3RlbmVyJywgJ3RydWUnKTsgLy8gUHJldmVudHMgbXVsdGlwbGUgaW5zZXJ0aW9uIG9mIHRoZSBsaXN0ZW5lclxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGFiU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgb25UYWIodGFiOiBJdFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICB0aGlzLnRhYlNlbGVjdGVkLmVtaXQodGFiKTtcbiAgfVxufVxuIiwiQGlmICh0YWJzKSB7XG4gIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIFtjbGFzcy5hdXRvXT1cImF1dG9cIiBbY2xhc3MubmF2LXRhYnMtaWNvbi10ZXh0XT1cImljb25UZXh0XCIgW2NsYXNzLm5hdi1kYXJrXT1cImRhcmtcIiByb2xlPVwidGFibGlzdFwiPlxuICAgIEBmb3IgKHRhYiBvZiB0YWJzOyB0cmFjayB0YWIuaWQpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgI3RhYk5hdkxpbmtzXG4gICAgICAgICAgW2lkXT1cInRhYi5pZCArICctdGFiLWxpbmsnXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmhyZWZdPVwiJyMnICsgdGFiLmlkICsgJy10YWInXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInRhYi5pZCArICctdGFiJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVGFiKHRhYilcIj5cbiAgICAgICAgICBAaWYgKHRhYi5pY29uKSB7XG4gICAgICAgICAgICA8aXQtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIGNsYXNzPVwibWUtMlwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L3VsPlxufVxuXG5AaWYgKHRhYnMpIHtcbiAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYi5pZCkge1xuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwidGFiLmlkICsgJy10YWInXCJcbiAgICAgICAgY2xhc3M9XCJ0YWItcGFuZSBwLTQgZmFkZSB7eyB0YWIuY2xhc3MgPz8gJycgfX1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICBbY2xhc3Muc2hvd109XCJ0YWIuYWN0aXZlXCJcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYi5pZCArICctdGFiLWxpbmsnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuaHRtbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
@@ -14,10 +14,10 @@ export class ItTabItemComponent extends ItAbstractComponent {
14
14
  super.ngAfterViewInit();
15
15
  this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.2", type: ItTabItemComponent, isStandalone: true, selector: "it-tab-item", inputs: { label: "label", icon: "icon", active: ["active", "active", inputToBoolean], disabled: ["disabled", "disabled", inputToBoolean], class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItTabItemComponent, isStandalone: true, selector: "it-tab-item", inputs: { label: "label", icon: "icon", active: ["active", "active", inputToBoolean], disabled: ["disabled", "disabled", inputToBoolean], class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabItemComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabItemComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ standalone: true, selector: 'it-tab-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
23
23
  }], propDecorators: { label: [{
@@ -4,11 +4,11 @@ import { ItTabItemComponent } from './tab-item/tab-item.component';
4
4
  import * as i0 from "@angular/core";
5
5
  const tabComponents = [ItTabContainerComponent, ItTabItemComponent];
6
6
  export class ItTabModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ItTabModule, imports: [ItTabContainerComponent, ItTabItemComponent], exports: [ItTabContainerComponent, ItTabItemComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabModule }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, imports: [ItTabContainerComponent, ItTabItemComponent], exports: [ItTabContainerComponent, ItTabItemComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: tabComponents,
@@ -92,10 +92,10 @@ export class ItSortHeaderComponent {
92
92
  this._changeDetectorRef.markForCheck();
93
93
  });
94
94
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSortHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItSortDirective, optional: true }, { token: IT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.2", type: ItSortHeaderComponent, isStandalone: true, selector: "[it-sort-header]", inputs: { id: ["it-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute], disableSortClear: ["disableSortClear", "disableSortClear", booleanAttribute] }, host: { listeners: { "click": "_handleClick()" }, properties: { "class": "this.sortHeaderClass", "class.it-sort-header-disabled": "this.isDisabled", "attr.aria-sort": "this.ariaSortAttribute" } }, exportAs: ["itSortHeader"], ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div\n class=\"it-sort-header-container it-focus-indicator\"\n [class.it-sort-header-sorted]=\"isSorted\"\n [class.it-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"isDisabled ? null : 0\"\n [attr.role]=\"isDisabled ? null : 'button'\">\n <!--\n We have to keep it due to a large number of screenshot diff failures. It should be removed eventually.\n Note that the difference isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"it-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <it-icon class=\"it-sort-arrow\" size=\"sm\" [name]=\"arrowIconClass\" />\n</div>\n", styles: [".it-sort-header-container{display:flex;cursor:pointer;align-items:center;justify-content:space-between;letter-spacing:normal;outline:0}.it-sort-header-disabled .it-sort-header-container{cursor:default}.it-sort-header-disabled .it-sort-header-container .it-sort-arrow{opacity:0!important;fill-opacity:0!important}.it-sort-header-container:before{margin:-5px}.it-sort-header-container.it-sort-header-position-before{flex-direction:row-reverse;justify-content:left;gap:.5rem}.it-sort-header-container .it-sort-arrow{opacity:0;fill-opacity:0;transition:fill-opacity .3s ease-out,opacity .3s ease-out;-moz-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-webkit-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-o-transition:fill-opacity .3s ease-out,opacity .3s ease-out}.it-sort-header-container:hover .it-sort-arrow{opacity:.5;fill-opacity:.5}.it-sort-header-container.it-sort-header-sorted .it-sort-arrow{opacity:1!important;fill-opacity:1!important}\n"], dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItSortDirective, optional: true }, { token: IT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItSortHeaderComponent, isStandalone: true, selector: "[it-sort-header]", inputs: { id: ["it-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute], disableSortClear: ["disableSortClear", "disableSortClear", booleanAttribute] }, host: { listeners: { "click": "_handleClick()" }, properties: { "class": "this.sortHeaderClass", "class.it-sort-header-disabled": "this.isDisabled", "attr.aria-sort": "this.ariaSortAttribute" } }, exportAs: ["itSortHeader"], ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div\n class=\"it-sort-header-container it-focus-indicator\"\n [class.it-sort-header-sorted]=\"isSorted\"\n [class.it-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"isDisabled ? null : 0\"\n [attr.role]=\"isDisabled ? null : 'button'\">\n <!--\n We have to keep it due to a large number of screenshot diff failures. It should be removed eventually.\n Note that the difference isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"it-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <it-icon class=\"it-sort-arrow\" size=\"sm\" [name]=\"arrowIconClass\" />\n</div>\n", styles: [".it-sort-header-container{display:flex;cursor:pointer;align-items:center;justify-content:space-between;letter-spacing:normal;outline:0}.it-sort-header-disabled .it-sort-header-container{cursor:default}.it-sort-header-disabled .it-sort-header-container .it-sort-arrow{opacity:0!important;fill-opacity:0!important}.it-sort-header-container:before{margin:-5px}.it-sort-header-container.it-sort-header-position-before{flex-direction:row-reverse;justify-content:left;gap:.5rem}.it-sort-header-container .it-sort-arrow{opacity:0;fill-opacity:0;transition:fill-opacity .3s ease-out,opacity .3s ease-out;-moz-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-webkit-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-o-transition:fill-opacity .3s ease-out,opacity .3s ease-out}.it-sort-header-container:hover .it-sort-arrow{opacity:.5;fill-opacity:.5}.it-sort-header-container.it-sort-header-sorted .it-sort-arrow{opacity:1!important;fill-opacity:1!important}\n"], dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSortHeaderComponent, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortHeaderComponent, decorators: [{
99
99
  type: Component,
100
100
  args: [{ selector: '[it-sort-header]', exportAs: 'itSortHeader', standalone: true, imports: [ItIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div\n class=\"it-sort-header-container it-focus-indicator\"\n [class.it-sort-header-sorted]=\"isSorted\"\n [class.it-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"isDisabled ? null : 0\"\n [attr.role]=\"isDisabled ? null : 'button'\">\n <!--\n We have to keep it due to a large number of screenshot diff failures. It should be removed eventually.\n Note that the difference isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"it-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <it-icon class=\"it-sort-arrow\" size=\"sm\" [name]=\"arrowIconClass\" />\n</div>\n", styles: [".it-sort-header-container{display:flex;cursor:pointer;align-items:center;justify-content:space-between;letter-spacing:normal;outline:0}.it-sort-header-disabled .it-sort-header-container{cursor:default}.it-sort-header-disabled .it-sort-header-container .it-sort-arrow{opacity:0!important;fill-opacity:0!important}.it-sort-header-container:before{margin:-5px}.it-sort-header-container.it-sort-header-position-before{flex-direction:row-reverse;justify-content:left;gap:.5rem}.it-sort-header-container .it-sort-arrow{opacity:0;fill-opacity:0;transition:fill-opacity .3s ease-out,opacity .3s ease-out;-moz-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-webkit-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-o-transition:fill-opacity .3s ease-out,opacity .3s ease-out}.it-sort-header-container:hover .it-sort-arrow{opacity:.5;fill-opacity:.5}.it-sort-header-container.it-sort-header-sorted .it-sort-arrow{opacity:1!important;fill-opacity:1!important}\n"] }]
101
101
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ItSortDirective, decorators: [{
@@ -73,10 +73,10 @@ export class ItSortDirective {
73
73
  ngOnDestroy() {
74
74
  this._stateChanges.complete();
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSortDirective, deps: [{ token: IT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
77
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.2", type: ItSortDirective, isStandalone: true, selector: "[itSort]", inputs: { active: ["itSortActive", "active"], start: ["itSortStart", "start"], direction: ["itSortDirection", "direction"], disableSortClear: ["disableSortClear", "disableSortClear", booleanAttribute], sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute] }, outputs: { sortChange: "sortChange" }, host: { properties: { "class": "this.sortDirectiveClass" } }, exportAs: ["itSort"], usesOnChanges: true, ngImport: i0 }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortDirective, deps: [{ token: IT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: ItSortDirective, isStandalone: true, selector: "[itSort]", inputs: { active: ["itSortActive", "active"], start: ["itSortStart", "start"], direction: ["itSortDirection", "direction"], disableSortClear: ["disableSortClear", "disableSortClear", booleanAttribute], sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute] }, outputs: { sortChange: "sortChange" }, host: { properties: { "class": "this.sortDirectiveClass" } }, exportAs: ["itSort"], usesOnChanges: true, ngImport: i0 }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSortDirective, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortDirective, decorators: [{
80
80
  type: Directive,
81
81
  args: [{
82
82
  standalone: true,
@@ -9,10 +9,10 @@ export class ItTableComponent {
9
9
  */
10
10
  this.responsive = 'responsive';
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.2", type: ItTableComponent, isStandalone: true, selector: "it-table", inputs: { color: "color", headColor: "headColor", alignment: "alignment", striped: ["striped", "striped", inputToBoolean], hover: ["hover", "hover", inputToBoolean], bordered: ["bordered", "bordered", inputToBoolean], borderless: ["borderless", "borderless", inputToBoolean], compact: ["compact", "compact", inputToBoolean], captionTop: ["captionTop", "captionTop", inputToBoolean], responsive: "responsive" }, ngImport: i0, template: "<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table\n class=\"table{{ color ? ' table-' + color : '' }}{{ alignment ? ' ' + alignment : '' }}\"\n [class.table-striped]=\"striped\"\n [class.table-hover]=\"hover\"\n [class.table-bordered]=\"bordered\"\n [class.table-borderless]=\"borderless\"\n [class.table-sm]=\"compact\"\n [class.caption-top]=\"captionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n", styles: ["caption:empty{display:none}caption:empty~thead{border-top:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItTableComponent, isStandalone: true, selector: "it-table", inputs: { color: "color", headColor: "headColor", alignment: "alignment", striped: ["striped", "striped", inputToBoolean], hover: ["hover", "hover", inputToBoolean], bordered: ["bordered", "bordered", inputToBoolean], borderless: ["borderless", "borderless", inputToBoolean], compact: ["compact", "compact", inputToBoolean], captionTop: ["captionTop", "captionTop", inputToBoolean], responsive: "responsive" }, ngImport: i0, template: "<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table\n class=\"table{{ color ? ' table-' + color : '' }}{{ alignment ? ' ' + alignment : '' }}\"\n [class.table-striped]=\"striped\"\n [class.table-hover]=\"hover\"\n [class.table-bordered]=\"bordered\"\n [class.table-borderless]=\"borderless\"\n [class.table-sm]=\"compact\"\n [class.caption-top]=\"captionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n", styles: ["caption:empty{display:none}caption:empty~thead{border-top:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTableComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTableComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ standalone: true, selector: 'it-table', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table\n class=\"table{{ color ? ' table-' + color : '' }}{{ alignment ? ' ' + alignment : '' }}\"\n [class.table-striped]=\"striped\"\n [class.table-hover]=\"hover\"\n [class.table-bordered]=\"bordered\"\n [class.table-borderless]=\"borderless\"\n [class.table-sm]=\"compact\"\n [class.caption-top]=\"captionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n", styles: ["caption:empty{display:none}caption:empty~thead{border-top:none!important}\n"] }]
18
18
  }], propDecorators: { color: [{