@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260217-1620

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 (145) hide show
  1. package/fesm2022/energycap-components.mjs +379 -354
  2. package/fesm2022/energycap-components.mjs.map +1 -1
  3. package/lib/controls/button/copy-button-base.directive.d.ts +1 -1
  4. package/lib/controls/date-input/date-input.component.d.ts +1 -1
  5. package/lib/controls/form-control-base.d.ts +1 -1
  6. package/lib/core/date-time-helper.d.ts +2 -2
  7. package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
  8. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
  9. package/lib/display/resizable/resizable-base.d.ts +1 -1
  10. package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
  11. package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
  12. package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
  13. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
  14. package/package.json +1 -3
  15. package/schematics/utilities/typescript.js +3 -4
  16. package/schematics/utilities/typescript.js.map +1 -1
  17. package/schematics/utilities/workspace.d.ts +0 -8
  18. package/schematics/utilities/workspace.js +48 -71
  19. package/schematics/utilities/workspace.js.map +1 -1
  20. package/esm2022/energycap-components.mjs +0 -5
  21. package/esm2022/lib/components.module.mjs +0 -425
  22. package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
  23. package/esm2022/lib/controls/button/button.component.mjs +0 -114
  24. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  25. package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
  26. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  27. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
  28. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
  29. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
  30. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  31. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
  32. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  33. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  34. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  35. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  36. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  37. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  38. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  39. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  40. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  41. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
  42. package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
  43. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  44. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  45. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
  46. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  47. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  48. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  49. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
  50. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  51. package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
  52. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  53. package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
  54. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  55. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  56. package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
  57. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  58. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  59. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
  60. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  61. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  62. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  63. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  64. package/esm2022/lib/core/cache.service.mjs +0 -105
  65. package/esm2022/lib/core/custom-validators.mjs +0 -29
  66. package/esm2022/lib/core/date-time-helper.mjs +0 -228
  67. package/esm2022/lib/core/error.service.mjs +0 -61
  68. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  69. package/esm2022/lib/core/scroll.service.mjs +0 -89
  70. package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
  71. package/esm2022/lib/core/telemetry.service.mjs +0 -38
  72. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  73. package/esm2022/lib/core/validation-patterns.mjs +0 -31
  74. package/esm2022/lib/core/window.service.mjs +0 -186
  75. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
  76. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  77. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  78. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  79. package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
  80. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  81. package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
  82. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
  83. package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
  84. package/esm2022/lib/display/help/help-types.mjs +0 -2
  85. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  86. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
  87. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
  88. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
  89. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  90. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  91. package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
  92. package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
  93. package/esm2022/lib/display/splash/splash.component.mjs +0 -61
  94. package/esm2022/lib/display/splash/splash.service.mjs +0 -35
  95. package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
  96. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  97. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
  98. package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
  99. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  100. package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
  101. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  102. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  103. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  104. package/esm2022/lib/display/table/table.component.mjs +0 -257
  105. package/esm2022/lib/display/tags/tag.mjs +0 -18
  106. package/esm2022/lib/display/tags/tags.component.mjs +0 -82
  107. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  108. package/esm2022/lib/display/toast/toast-types.mjs +0 -8
  109. package/esm2022/lib/display/toast/toast.service.mjs +0 -35
  110. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  111. package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
  112. package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
  113. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  114. package/esm2022/lib/display/tree/tree.component.mjs +0 -139
  115. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  116. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  117. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  118. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
  119. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  120. package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
  121. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
  122. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  123. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  124. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  125. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  126. package/esm2022/lib/shared/display.mjs +0 -6
  127. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  128. package/esm2022/lib/shared/json-helper.mjs +0 -19
  129. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  130. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  131. package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
  132. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
  133. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  134. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
  135. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
  136. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
  137. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  138. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
  139. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
  140. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
  141. package/esm2022/lib/shared/user-preference.service.mjs +0 -17
  142. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  143. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
  144. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
  145. package/esm2022/public-api.mjs +0 -115
@@ -1,44 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { DaySelectionStrategy } from "./date-input-selection-strategies/day-selection-strategy";
3
- import { Last28DaysSelectionStrategy } from "./date-input-selection-strategies/last-28-days-selection-strategy";
4
- import { Last7DaysSelectionStrategy } from "./date-input-selection-strategies/last-7-days-selection-strategy";
5
- import { MonthSelectionStrategy } from "./date-input-selection-strategies/month-selection-strategy";
6
- import { QuarterSelectionStrategy } from "./date-input-selection-strategies/quarter-selection-strategy";
7
- import { RangeSelectionStrategy } from "./date-input-selection-strategies/range-selection-strategy";
8
- import { YearSelectionStrategy } from "./date-input-selection-strategies/year-selection-strategy";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../shared/display/pipes/date-display.pipe";
11
- export var DateInput;
12
- (function (DateInput) {
13
- function isSelectionSingleDate(selection) {
14
- return selection instanceof Date || typeof selection === 'string';
15
- }
16
- DateInput.isSelectionSingleDate = isSelectionSingleDate;
17
- function isSelectionRange(selection) {
18
- return !!selection && !isSelectionSingleDate(selection);
19
- }
20
- DateInput.isSelectionRange = isSelectionRange;
21
- class SelectionStrategies {
22
- constructor(dateDisplayPipe) {
23
- this.dateDisplayPipe = dateDisplayPipe;
24
- this._range = new RangeSelectionStrategy();
25
- this._day = new DaySelectionStrategy(this.dateDisplayPipe);
26
- this._last7Days = new Last7DaysSelectionStrategy(this._range);
27
- this._last28Days = new Last28DaysSelectionStrategy(this._range);
28
- this._month = new MonthSelectionStrategy();
29
- this._quarter = new QuarterSelectionStrategy();
30
- this._year = new YearSelectionStrategy();
31
- }
32
- get range() { return this._range; }
33
- get day() { return this._day; }
34
- get last7Days() { return this._last7Days; }
35
- get last28Days() { return this._last28Days; }
36
- get month() { return this._month; }
37
- get quarter() { return this._quarter; }
38
- get year() { return this._year; }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionStrategies, deps: [{ token: i1.DateDisplayPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionStrategies }); }
41
- }
42
- DateInput.SelectionStrategies = SelectionStrategies;
43
- })(DateInput || (DateInput = {}));
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kYXRlLWlucHV0L2RhdGUtaW5wdXQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7O0FBRWxHLE1BQU0sS0FBVyxTQUFTLENBa0V6QjtBQWxFRCxXQUFpQixTQUFTO0lBY3hCLFNBQWdCLHFCQUFxQixDQUFDLFNBQTRCO1FBQ2hFLE9BQU8sU0FBUyxZQUFZLElBQUksSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUM7SUFDcEUsQ0FBQztJQUZlLCtCQUFxQix3QkFFcEMsQ0FBQTtJQUVELFNBQWdCLGdCQUFnQixDQUFDLFNBQTRCO1FBQzNELE9BQU8sQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFGZSwwQkFBZ0IsbUJBRS9CLENBQUE7SUFtQkQsTUFDYSxtQkFBbUI7UUFDOUIsWUFDVSxlQUFnQztZQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7WUFHbEMsV0FBTSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUd0QyxTQUFJLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFHdEQsZUFBVSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBR3pELGdCQUFXLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFHM0QsV0FBTSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUd0QyxhQUFRLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBRzNDLFVBQUssR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFwQnZDLENBQUM7UUFHTCxJQUFXLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRzFDLElBQVcsR0FBRyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHdEMsSUFBVyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUdsRCxJQUFXLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3BELElBQVcsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFHMUMsSUFBVyxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUc5QyxJQUFXLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO21IQXhCN0IsbUJBQW1CO3VIQUFuQixtQkFBbUI7O0lBQW5CLDZCQUFtQixzQkF5Qi9CLENBQUE7QUFDSCxDQUFDLEVBbEVnQixTQUFTLEtBQVQsU0FBUyxRQWtFekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IERhdGVEaXNwbGF5UGlwZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZGlzcGxheS9waXBlcy9kYXRlLWRpc3BsYXkucGlwZVwiO1xuaW1wb3J0IHsgRGF0ZUlucHV0U2VsZWN0aW9uU3RyYXRlZ3lCYXNlIH0gZnJvbSBcIi4vZGF0ZS1pbnB1dC1zZWxlY3Rpb24tc3RyYXRlZ2llcy9kYXRlLWlucHV0LXNlbGVjdGlvbi1zdHJhdGVneS1iYXNlXCI7XG5pbXBvcnQgeyBEYXlTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gXCIuL2RhdGUtaW5wdXQtc2VsZWN0aW9uLXN0cmF0ZWdpZXMvZGF5LXNlbGVjdGlvbi1zdHJhdGVneVwiO1xuaW1wb3J0IHsgTGFzdDI4RGF5c1NlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIi4vZGF0ZS1pbnB1dC1zZWxlY3Rpb24tc3RyYXRlZ2llcy9sYXN0LTI4LWRheXMtc2VsZWN0aW9uLXN0cmF0ZWd5XCI7XG5pbXBvcnQgeyBMYXN0N0RheXNTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gXCIuL2RhdGUtaW5wdXQtc2VsZWN0aW9uLXN0cmF0ZWdpZXMvbGFzdC03LWRheXMtc2VsZWN0aW9uLXN0cmF0ZWd5XCI7XG5pbXBvcnQgeyBNb250aFNlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIi4vZGF0ZS1pbnB1dC1zZWxlY3Rpb24tc3RyYXRlZ2llcy9tb250aC1zZWxlY3Rpb24tc3RyYXRlZ3lcIjtcbmltcG9ydCB7IFF1YXJ0ZXJTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gXCIuL2RhdGUtaW5wdXQtc2VsZWN0aW9uLXN0cmF0ZWdpZXMvcXVhcnRlci1zZWxlY3Rpb24tc3RyYXRlZ3lcIjtcbmltcG9ydCB7IFJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiLi9kYXRlLWlucHV0LXNlbGVjdGlvbi1zdHJhdGVnaWVzL3JhbmdlLXNlbGVjdGlvbi1zdHJhdGVneVwiO1xuaW1wb3J0IHsgWWVhclNlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIi4vZGF0ZS1pbnB1dC1zZWxlY3Rpb24tc3RyYXRlZ2llcy95ZWFyLXNlbGVjdGlvbi1zdHJhdGVneVwiO1xuXG5leHBvcnQgbmFtZXNwYWNlIERhdGVJbnB1dCB7XG4gIGV4cG9ydCB0eXBlIEZvcm1Nb2RlbCA9IEZvcm1Db250cm9sPFNlbGVjdGlvbiB8IG51bGw+O1xuXG4gIGV4cG9ydCB0eXBlIFRleHRib3hHcm91cCA9IEZvcm1Hcm91cDx7XG4gICAgdGV4dGJveDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgdGV4dGJveDI6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICB9PjtcblxuICBleHBvcnQgdHlwZSBSYW5nZSA9IHsgc3RhcnQ6IERhdGUgfCBudWxsOyBlbmQ6IERhdGUgfCBudWxsIH07XG5cbiAgZXhwb3J0IHR5cGUgU2VsZWN0aW9uID0gRGF0ZSB8IFJhbmdlO1xuXG4gIGV4cG9ydCB0eXBlIFNlbGVjdGlvbk1vZGUgPSAnZGF5JyB8ICdsYXN0N0RheXMnIHwgJ2xhc3QyOERheXMnIHwgJ21vbnRoJyB8ICdxdWFydGVyJyB8ICd5ZWFyJyB8ICdyYW5nZSc7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uU2luZ2xlRGF0ZShzZWxlY3Rpb24/OiBTZWxlY3Rpb24gfCBudWxsKTogc2VsZWN0aW9uIGlzIERhdGUge1xuICAgIHJldHVybiBzZWxlY3Rpb24gaW5zdGFuY2VvZiBEYXRlIHx8IHR5cGVvZiBzZWxlY3Rpb24gPT09ICdzdHJpbmcnO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uPzogU2VsZWN0aW9uIHwgbnVsbCk6IHNlbGVjdGlvbiBpcyBSYW5nZSB7XG4gICAgcmV0dXJuICEhc2VsZWN0aW9uICYmICFpc1NlbGVjdGlvblNpbmdsZURhdGUoc2VsZWN0aW9uKTtcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIFBhcnNpbmdPcHRpb25zID0ge1xuICAgIC8qKlxuICAgICAqIFdoZW4gY29uZmlndXJlZCwgdGhlIHBhcnNlciB3aWxsIHNoaWZ0IHRoZSBwYXJzZWQgZGF0ZSB0byB0aGUgY3VycmVudCB5ZWFyIGlmIHRoZSBkYXRlIGlzIGJlbG93IHRoaXMgZGF0ZS5cbiAgICAgKiBUaGlzIGlzIHVzZWQgdG8gcHJldmVudCB0aGUgY2FsZW5kYXJzIGZyb20gc2hvd2luZyB1bmhlbHBmdWwgZGF0ZXMgaW4gdGhlIGRpc3RhbnQgcGFzdCBiZWZvcmUgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIGluIHRoZSBkYXRlLlxuICAgICAqL1xuICAgIHNoaWZ0VG9DdXJyZW50WWVhcklmQmVsb3c/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFdoZW4gdHJ1ZSwgdGhlIHJhbmdlIHNlbGVjdGlvbiBtb2RlcyAocmFuZ2UsIGxhc3Q3RGF5cywgbGFzdDI4RGF5cykgd2lsbCBrZXkgb2ZmIG9mIHRoZSBlbmQgZGF0ZSBzdHJpbmcgdG8gZGV0ZXJtaW5lIHRoZSBzZWxlY3Rpb24gcmFuZ2UuXG4gICAgICovXG4gICAgcGFyc2VGcm9tRW5kPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBTdG9wcyB0aGUgcGFyc2VyIGZyb20gYXV0b21hdGljYWxseSBjb21wbGV0aW5nIHRoZSBkYXRlIHJhbmdlIHdoZW4gdGhlcmUgaXMgb25seSBhIHN0YXJ0IG9yIGFuIGVuZCBkYXRlLlxuICAgICAqIE9ubHkgYXBwbGljYWJsZSB0byB0aGUgZml4ZWQgbGVuZ3RoIHJhbmdlIHNlbGVjdGlvbiBtb2RlcyAobGFzdDdEYXlzLCBsYXN0MjhEYXlzKS5cbiAgICAgKi9cbiAgICBwcmV2ZW50QXV0b0NvbXBsZXRlPzogYm9vbGVhbjtcbiAgfTtcblxuICBASW5qZWN0YWJsZSgpXG4gIGV4cG9ydCBjbGFzcyBTZWxlY3Rpb25TdHJhdGVnaWVzIGltcGxlbWVudHMgUmVjb3JkPFNlbGVjdGlvbk1vZGUsIERhdGVJbnB1dFNlbGVjdGlvblN0cmF0ZWd5QmFzZT4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBkYXRlRGlzcGxheVBpcGU6IERhdGVEaXNwbGF5UGlwZVxuICAgICkgeyB9XG4gICAgXG4gICAgcHJpdmF0ZSBfcmFuZ2UgPSBuZXcgUmFuZ2VTZWxlY3Rpb25TdHJhdGVneSgpO1xuICAgIHB1YmxpYyBnZXQgcmFuZ2UoKSB7IHJldHVybiB0aGlzLl9yYW5nZTsgfVxuICAgIFxuICAgIHByaXZhdGUgX2RheSA9IG5ldyBEYXlTZWxlY3Rpb25TdHJhdGVneSh0aGlzLmRhdGVEaXNwbGF5UGlwZSk7XG4gICAgcHVibGljIGdldCBkYXkoKSB7IHJldHVybiB0aGlzLl9kYXk7IH1cbiAgXG4gICAgcHJpdmF0ZSBfbGFzdDdEYXlzID0gbmV3IExhc3Q3RGF5c1NlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX3JhbmdlKTtcbiAgICBwdWJsaWMgZ2V0IGxhc3Q3RGF5cygpIHsgcmV0dXJuIHRoaXMuX2xhc3Q3RGF5czsgfVxuICBcbiAgICBwcml2YXRlIF9sYXN0MjhEYXlzID0gbmV3IExhc3QyOERheXNTZWxlY3Rpb25TdHJhdGVneSh0aGlzLl9yYW5nZSk7XG4gICAgcHVibGljIGdldCBsYXN0MjhEYXlzKCkgeyByZXR1cm4gdGhpcy5fbGFzdDI4RGF5czsgfVxuICBcbiAgICBwcml2YXRlIF9tb250aCA9IG5ldyBNb250aFNlbGVjdGlvblN0cmF0ZWd5KCk7XG4gICAgcHVibGljIGdldCBtb250aCgpIHsgcmV0dXJuIHRoaXMuX21vbnRoOyB9XG4gIFxuICAgIHByaXZhdGUgX3F1YXJ0ZXIgPSBuZXcgUXVhcnRlclNlbGVjdGlvblN0cmF0ZWd5KCk7XG4gICAgcHVibGljIGdldCBxdWFydGVyKCkgeyByZXR1cm4gdGhpcy5fcXVhcnRlcjsgfVxuICBcbiAgICBwdWJsaWMgX3llYXIgPSBuZXcgWWVhclNlbGVjdGlvblN0cmF0ZWd5KCk7XG4gICAgcHVibGljIGdldCB5ZWFyKCkgeyByZXR1cm4gdGhpcy5feWVhcjsgfVxuICB9XG59XG4iXX0=
@@ -1,243 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { PopupContainerDirective } from '../../shared/directives/popup/popup-container.directive';
5
- import { MenuComponent } from '../menu/menu.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "../button/button.component";
9
- import * as i3 from "../../display/view-overlay/view-overlay.component";
10
- import * as i4 from "../menu/menu.component";
11
- import * as i5 from "../../shared/directives/popup/popup-container.directive";
12
- export class DropdownComponent {
13
- constructor() {
14
- /**
15
- * Automatically focus the dropdown toggle button
16
- */
17
- this.autofocus = false;
18
- /**
19
- * Controls the display status overlay for the menu
20
- */
21
- this.status = { status: 'hasData', message: '' };
22
- /**
23
- * Disable the button to prevent the menu from being opened
24
- */
25
- this.disabled = false;
26
- /**
27
- * The button type, defaults to icon
28
- */
29
- this.buttonType = 'icon';
30
- /**
31
- * Adds a tooltip to the dropdown toggle button. Should only be used when
32
- * the toggle buttonType is 'icon'
33
- */
34
- this.buttonTitle = '';
35
- /**
36
- * Display a caret with the button label or icon
37
- */
38
- this.showArrow = true;
39
- /**
40
- * Items to display in the menu
41
- */
42
- this.items = [];
43
- /**
44
- * The menu item template
45
- */
46
- this.menuTemplateType = 'label';
47
- /**
48
- * Fix position the menu instead of absolute. Useful when the dropdown is in a
49
- * dialog
50
- */
51
- this.popupFixed = false;
52
- /**
53
- * Used to set the menu buttons state to pending
54
- */
55
- this.pending = false;
56
- /**
57
- * Emits an event when a menu item is selected
58
- */
59
- this.itemSelected = new EventEmitter();
60
- /**
61
- * Emits an event when the popup menu opens
62
- */
63
- this.popupOpened = new EventEmitter();
64
- /**
65
- * The status of the menu
66
- */
67
- this.menuStatus = 'hidden';
68
- /** Item to highlight when the menu is opened, used when the user
69
- * opens the menu via the keyboard
70
- */
71
- this.highlightedItem = null;
72
- /** Used to know if the menu was toggled via the keyboard */
73
- this.isKeyboardEvent = false;
74
- /**
75
- * Unsubscribe any active subscriptions when the component is destroyed
76
- */
77
- this.componentDestroyed = new Subject();
78
- }
79
- /**
80
- * Subscribe to changes to the menu status
81
- */
82
- ngOnInit() {
83
- this.popup.popperStatusChange
84
- .pipe(takeUntil(this.componentDestroyed))
85
- .subscribe((event) => {
86
- this.menuStatus = event;
87
- if (this.menuStatus === 'visible') {
88
- this.popupOpened.emit();
89
- }
90
- });
91
- }
92
- /**
93
- * Set up the popup
94
- */
95
- ngAfterViewInit() {
96
- let popperOptions = {
97
- modifiers: {
98
- preventOverflow: {
99
- boundariesElement: 'viewport'
100
- }
101
- },
102
- placement: 'bottom-end'
103
- };
104
- if (this.menuPosition === 'left') {
105
- popperOptions.placement = 'bottom-start';
106
- }
107
- if (this.popupFixed) {
108
- popperOptions.onCreate = () => {
109
- this.popup.fixPosition();
110
- };
111
- popperOptions.onUpdate = () => {
112
- // Hide the popup when the dropdown changes position due to window resize
113
- // or container scrolling
114
- this.popup.hide();
115
- };
116
- }
117
- this.popup.popperOptions = popperOptions;
118
- }
119
- /**
120
- * Unsubscribe to any active subscriptions
121
- */
122
- ngOnDestroy() {
123
- this.componentDestroyed.next();
124
- this.componentDestroyed.unsubscribe();
125
- }
126
- /**
127
- * Open and close the menu
128
- */
129
- toggleMenu(event) {
130
- if (event) {
131
- event.stopPropagation();
132
- }
133
- if (!this.disabled) {
134
- if (this.menuStatus === 'hidden') {
135
- if (this.isKeyboardEvent && this.items.length) {
136
- // Setup the first item in the list to highlight when opening the
137
- // menu via the keyboard, ignoring headings
138
- this.highlightedItem = this.items.find(item => item.display !== 'heading') || null;
139
- }
140
- this.popup.show();
141
- }
142
- else {
143
- this.popup.hide();
144
- // Reset the highlighted item and our keyboard flag
145
- // when we close the popup
146
- this.highlightedItem = null;
147
- this.isKeyboardEvent = false;
148
- }
149
- }
150
- }
151
- /**
152
- * Emit the selected item when it changes and close the menu
153
- */
154
- selectedChanged(item) {
155
- this.itemSelected.emit(item);
156
- this.toggleMenu();
157
- }
158
- /**
159
- * Closes the menu if the tab key is pressed
160
- */
161
- keyNavigate(event) {
162
- switch (event.key) {
163
- case 'Enter':
164
- this.isKeyboardEvent = true;
165
- break;
166
- case 'Escape':
167
- case 'Tab':
168
- if (this.menuStatus === 'visible') {
169
- this.toggleMenu(event);
170
- }
171
- break;
172
- default:
173
- return;
174
- }
175
- }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownComponent, selector: "ec-dropdown", inputs: { id: "id", autofocus: "autofocus", status: "status", disabled: "disabled", label: "label", icon: "icon", buttonType: "buttonType", buttonAlignment: "buttonAlignment", buttonTitle: "buttonTitle", tabindex: "tabindex", showArrow: "showArrow", items: "items", menuTemplateType: "menuTemplateType", menuTitle: "menuTitle", menuHeight: "menuHeight", menuWidth: "menuWidth", menuMinWidth: "menuMinWidth", menuPosition: "menuPosition", menuFooter: "menuFooter", popupFixed: "popupFixed", buttonCustomTemplate: "buttonCustomTemplate", pending: "pending" }, outputs: { itemSelected: "itemSelected", popupOpened: "popupOpened" }, host: { properties: { "class.is-pending": "this.pending" } }, viewQueries: [{ propertyName: "menuEl", first: true, predicate: MenuComponent, descendants: true, read: ElementRef }, { propertyName: "popup", first: true, predicate: PopupContainerDirective, descendants: true, static: true }, { propertyName: "dropdownToggleButton", first: true, predicate: ["dropdownToggle"], descendants: true }], ngImport: i0, template: "<div class=\"control\">\n <ec-button [disabled]=\"disabled\"\n id=\"{{id}}_toggle\"\n #dropdownToggle\n [ngClass]=\"{'has-arrow':showArrow, 'active': menuStatus === 'visible', 'text-left': buttonAlignment === 'left', 'text-right': buttonAlignment === 'right'}\"\n *ecPopup=\"dropdownMenu\"\n [label]=\"label\"\n [icon]=\"icon\"\n [tabindex]=\"tabindex\"\n [type]=\"buttonType\"\n [customTemplate]=\"buttonCustomTemplate\"\n [pending]=\"pending\"\n title=\"{{buttonTitle}}\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [autofocus]=\"autofocus\">\n </ec-button>\n <span class=\"arrow is-{{buttonType}}\"\n *ngIf=\"showArrow\"\n [class.is-disabled]=\"disabled\">\n <i class=\"ec-icon icon-caret-down\" [class.flip-y]=\"menuStatus === 'visible'\"></i>\n </span>\n</div>\n\n<ng-template #dropdownMenu>\n <div id=\"{{id}}_popup\"\n class=\"popup\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <!-- Dropdown Menu Title -->\n <header id=\"{{id}}_title\"\n class=\"text-heading-2 px-2 my-2\"\n *ngIf=\"menuTitle\">{{menuTitle}}\n </header>\n <!-- Dropdown Menu -->\n <ec-menu id=\"{{id}}_menu\"\n [class.wrap-items]=\"menuWidth\"\n [templateType]=\"menuTemplateType\"\n [style.width]=\"menuWidth ? menuWidth + 'px' : 'auto'\"\n [style.min-width]=\"menuMinWidth ? menuMinWidth + 'px' : 'auto'\"\n [style.height]=\"menuHeight ? menuHeight + 'px' : 'auto'\"\n [items]=\"items\"\n [showNoItems]=\"true\"\n [enableKeyNav]=\"true\"\n [highlightedItem]=\"highlightedItem\"\n [dropdownToggleButton]=\"dropdownToggleButton.buttonElement\"\n (selectedChanged)=\"selectedChanged($event)\">\n </ec-menu>\n <footer *ngIf=\"menuFooter\">{{menuFooter}}</footer>\n </div>\n</ng-template>", styles: [":host{display:inline-block;box-sizing:border-box;vertical-align:top}:host(.font-size-inherit) ec-button{font-size:inherit}:host(.font-size-inherit) ec-button ::ng-deep button{font-size:inherit}:host(.fill){display:block;height:100%;width:100%}:host(.fill) .control{display:block;height:100%;width:100%}:host(.fill) .control ec-button{display:block;height:100%;width:100%}:host(.fill) .control ec-button ::ng-deep button{display:block;height:100%;width:100%;display:flex}:host(.fill) ec-menu{min-width:100%}:host(.td-fill){position:absolute;left:0;top:0}:host(.td-fill) ec-button ::ng-deep button{padding-left:.375rem;padding-right:.375rem;font-size:.75rem}:host(.is-action) ec-button,:host(.is-action) .arrow{color:var(--ec-color-interactive)}:host(.is-condensed) ec-button ::ng-deep button{height:1.5rem}:host(.is-condensed) ec-button.has-arrow ::ng-deep button{padding:0 1.125rem 0 .25rem}:host(.is-condensed) ec-button.has-arrow~.arrow{right:.375rem}:host(.d-block) ec-button{display:block}:host(.d-block) ec-button ::ng-deep button{width:100%}:host(.is-pending) .arrow{opacity:0}:host-context(th){color:var(--ec-color-primary-dark)}.control{position:relative}ec-button{display:block}ec-button.has-arrow~.arrow{position:absolute;top:0;right:.5rem;height:100%;display:flex;align-items:center;pointer-events:none;width:.625rem;z-index:1}ec-button.has-arrow~.arrow .ec-icon{color:var(--ec-color-icon);width:auto;transition:color .3s ease}ec-button.has-arrow~.arrow.is-link .ec-icon{color:var(--ec-button-color-text, var(--ec-color-link))}ec-button.has-arrow~.arrow.is-primary .ec-icon{color:var(--ec-button-color-primary, var(--ec-color-primary-light))}ec-button.has-arrow~.arrow.is-common .ec-icon,ec-button.has-arrow~.arrow.is-secondary .ec-icon{color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}ec-button.has-arrow~.arrow.is-text .ec-icon{color:var(--ec-button-color-text, var(--ec-color-primary-dark))}ec-button.has-arrow~.arrow.is-disabled .ec-icon{opacity:.5}ec-button.has-arrow.active~.arrow.is-primary .ec-icon,ec-button.has-arrow.active~.arrow.is-secondary .ec-icon,ec-button.has-arrow.active~.arrow.is-text .ec-icon,ec-button.has-arrow.active~.arrow.is-link .ec-icon{color:var(--ec-button-color-active, var(--ec-color-primary-dark))}ec-button.has-arrow ::ng-deep button{width:auto;padding-right:1.25rem}ec-button.has-arrow ::ng-deep button:not(.ec-button-custom){padding-left:.5rem}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;z-index:var(--ec-z-index-popup);text-align:start}.popup>header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup footer{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);border-top:var(--ec-border-width) solid var(--ec-border-color);padding:.1875rem .5rem;line-height:1.2}ec-menu ::ng-deep ul{max-height:50vh}ec-menu ::ng-deep li{white-space:nowrap}ec-menu.wrap-items ::ng-deep li{white-space:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i3.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i4.MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "directive", type: i5.PopupContainerDirective, selector: "[ecPopup]", inputs: ["ecPopup", "options"] }] }); }
178
- }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownComponent, decorators: [{
180
- type: Component,
181
- args: [{ selector: 'ec-dropdown', template: "<div class=\"control\">\n <ec-button [disabled]=\"disabled\"\n id=\"{{id}}_toggle\"\n #dropdownToggle\n [ngClass]=\"{'has-arrow':showArrow, 'active': menuStatus === 'visible', 'text-left': buttonAlignment === 'left', 'text-right': buttonAlignment === 'right'}\"\n *ecPopup=\"dropdownMenu\"\n [label]=\"label\"\n [icon]=\"icon\"\n [tabindex]=\"tabindex\"\n [type]=\"buttonType\"\n [customTemplate]=\"buttonCustomTemplate\"\n [pending]=\"pending\"\n title=\"{{buttonTitle}}\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [autofocus]=\"autofocus\">\n </ec-button>\n <span class=\"arrow is-{{buttonType}}\"\n *ngIf=\"showArrow\"\n [class.is-disabled]=\"disabled\">\n <i class=\"ec-icon icon-caret-down\" [class.flip-y]=\"menuStatus === 'visible'\"></i>\n </span>\n</div>\n\n<ng-template #dropdownMenu>\n <div id=\"{{id}}_popup\"\n class=\"popup\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <!-- Dropdown Menu Title -->\n <header id=\"{{id}}_title\"\n class=\"text-heading-2 px-2 my-2\"\n *ngIf=\"menuTitle\">{{menuTitle}}\n </header>\n <!-- Dropdown Menu -->\n <ec-menu id=\"{{id}}_menu\"\n [class.wrap-items]=\"menuWidth\"\n [templateType]=\"menuTemplateType\"\n [style.width]=\"menuWidth ? menuWidth + 'px' : 'auto'\"\n [style.min-width]=\"menuMinWidth ? menuMinWidth + 'px' : 'auto'\"\n [style.height]=\"menuHeight ? menuHeight + 'px' : 'auto'\"\n [items]=\"items\"\n [showNoItems]=\"true\"\n [enableKeyNav]=\"true\"\n [highlightedItem]=\"highlightedItem\"\n [dropdownToggleButton]=\"dropdownToggleButton.buttonElement\"\n (selectedChanged)=\"selectedChanged($event)\">\n </ec-menu>\n <footer *ngIf=\"menuFooter\">{{menuFooter}}</footer>\n </div>\n</ng-template>", styles: [":host{display:inline-block;box-sizing:border-box;vertical-align:top}:host(.font-size-inherit) ec-button{font-size:inherit}:host(.font-size-inherit) ec-button ::ng-deep button{font-size:inherit}:host(.fill){display:block;height:100%;width:100%}:host(.fill) .control{display:block;height:100%;width:100%}:host(.fill) .control ec-button{display:block;height:100%;width:100%}:host(.fill) .control ec-button ::ng-deep button{display:block;height:100%;width:100%;display:flex}:host(.fill) ec-menu{min-width:100%}:host(.td-fill){position:absolute;left:0;top:0}:host(.td-fill) ec-button ::ng-deep button{padding-left:.375rem;padding-right:.375rem;font-size:.75rem}:host(.is-action) ec-button,:host(.is-action) .arrow{color:var(--ec-color-interactive)}:host(.is-condensed) ec-button ::ng-deep button{height:1.5rem}:host(.is-condensed) ec-button.has-arrow ::ng-deep button{padding:0 1.125rem 0 .25rem}:host(.is-condensed) ec-button.has-arrow~.arrow{right:.375rem}:host(.d-block) ec-button{display:block}:host(.d-block) ec-button ::ng-deep button{width:100%}:host(.is-pending) .arrow{opacity:0}:host-context(th){color:var(--ec-color-primary-dark)}.control{position:relative}ec-button{display:block}ec-button.has-arrow~.arrow{position:absolute;top:0;right:.5rem;height:100%;display:flex;align-items:center;pointer-events:none;width:.625rem;z-index:1}ec-button.has-arrow~.arrow .ec-icon{color:var(--ec-color-icon);width:auto;transition:color .3s ease}ec-button.has-arrow~.arrow.is-link .ec-icon{color:var(--ec-button-color-text, var(--ec-color-link))}ec-button.has-arrow~.arrow.is-primary .ec-icon{color:var(--ec-button-color-primary, var(--ec-color-primary-light))}ec-button.has-arrow~.arrow.is-common .ec-icon,ec-button.has-arrow~.arrow.is-secondary .ec-icon{color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}ec-button.has-arrow~.arrow.is-text .ec-icon{color:var(--ec-button-color-text, var(--ec-color-primary-dark))}ec-button.has-arrow~.arrow.is-disabled .ec-icon{opacity:.5}ec-button.has-arrow.active~.arrow.is-primary .ec-icon,ec-button.has-arrow.active~.arrow.is-secondary .ec-icon,ec-button.has-arrow.active~.arrow.is-text .ec-icon,ec-button.has-arrow.active~.arrow.is-link .ec-icon{color:var(--ec-button-color-active, var(--ec-color-primary-dark))}ec-button.has-arrow ::ng-deep button{width:auto;padding-right:1.25rem}ec-button.has-arrow ::ng-deep button:not(.ec-button-custom){padding-left:.5rem}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;z-index:var(--ec-z-index-popup);text-align:start}.popup>header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup footer{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);border-top:var(--ec-border-width) solid var(--ec-border-color);padding:.1875rem .5rem;line-height:1.2}ec-menu ::ng-deep ul{max-height:50vh}ec-menu ::ng-deep li{white-space:nowrap}ec-menu.wrap-items ::ng-deep li{white-space:normal}\n"] }]
182
- }], ctorParameters: () => [], propDecorators: { id: [{
183
- type: Input
184
- }], autofocus: [{
185
- type: Input
186
- }], status: [{
187
- type: Input
188
- }], disabled: [{
189
- type: Input
190
- }], label: [{
191
- type: Input
192
- }], icon: [{
193
- type: Input
194
- }], buttonType: [{
195
- type: Input
196
- }], buttonAlignment: [{
197
- type: Input
198
- }], buttonTitle: [{
199
- type: Input
200
- }], tabindex: [{
201
- type: Input
202
- }], showArrow: [{
203
- type: Input
204
- }], items: [{
205
- type: Input
206
- }], menuTemplateType: [{
207
- type: Input
208
- }], menuTitle: [{
209
- type: Input
210
- }], menuHeight: [{
211
- type: Input
212
- }], menuWidth: [{
213
- type: Input
214
- }], menuMinWidth: [{
215
- type: Input
216
- }], menuPosition: [{
217
- type: Input
218
- }], menuFooter: [{
219
- type: Input
220
- }], popupFixed: [{
221
- type: Input
222
- }], buttonCustomTemplate: [{
223
- type: Input
224
- }], pending: [{
225
- type: HostBinding,
226
- args: ['class.is-pending']
227
- }, {
228
- type: Input
229
- }], itemSelected: [{
230
- type: Output
231
- }], popupOpened: [{
232
- type: Output
233
- }], menuEl: [{
234
- type: ViewChild,
235
- args: [MenuComponent, { read: ElementRef }]
236
- }], popup: [{
237
- type: ViewChild,
238
- args: [PopupContainerDirective, { static: true }]
239
- }], dropdownToggleButton: [{
240
- type: ViewChild,
241
- args: ['dropdownToggle']
242
- }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFlLE1BQU0seURBQXlELENBQUM7QUFHL0csT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQU9uRixNQUFNLE9BQU8saUJBQWlCO0lBZ0s1QjtRQXpKQTs7V0FFRztRQUNhLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDYSxXQUFNLEdBQWtCLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFFekU7O1dBRUc7UUFDYSxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBWXpDOztXQUVHO1FBQ2EsZUFBVSxHQUFnQixNQUFNLENBQUM7UUFRakQ7OztXQUdHO1FBQ2EsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFPekM7O1dBRUc7UUFDYSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFDOztXQUVHO1FBQ2EsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztR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QUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBTVUsZUFBZTtzQkFBOUIsS0FBSztnQkFNVSxXQUFXO3NCQUExQixLQUFLO2dCQUtVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBS1UsU0FBUztzQkFBeEIsS0FBSztnQkFLVSxLQUFLO3NCQUFwQixLQUFLO2dCQUtVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFNVSxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBS1UsU0FBUztzQkFBeEIsS0FBSztnQkFLVSxZQUFZO3NCQUEzQixLQUFLO2dCQUtVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBS1UsVUFBVTtzQkFBekIsS0FBSztnQkFNVSxVQUFVO3NCQUF6QixLQUFLO2dCQUtVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFNVSxPQUFPO3NCQUR0QixXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLEtBQUs7Z0JBS1csWUFBWTtzQkFBNUIsTUFBTTtnQkFLVSxXQUFXO3NCQUEzQixNQUFNO2dCQWtCaUQsTUFBTTtzQkFBN0QsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtnQixLQUFLO3NCQUFsRSxTQUFTO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLaEIsb0JBQW9CO3NCQUF2RCxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBQb3BwZXIgZnJvbSAncG9wcGVyLmpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUG9wdXBDb250YWluZXJEaXJlY3RpdmUsIFBvcHVwU3RhdHVzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2RpcmVjdGl2ZXMvcG9wdXAvcG9wdXAtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEaXNwbGF5U3RhdHVzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Rpc3BsYXknO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBCdXR0b25UeXBlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCwgTWVudUl0ZW0sIE1lbnVUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWMtZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBCYXNlIGlkIGZvciB0aGUgY29tcG9uZW50J3Mgc3ViLWVsZW1lbnRzXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgdGhlIGRyb3Bkb3duIHRvZ2dsZSBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvZm9jdXMgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ29udHJvbHMgdGhlIGRpc3BsYXkgc3RhdHVzIG92ZXJsYXkgZm9yIHRoZSBtZW51XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgc3RhdHVzPzpEaXNwbGF5U3RhdHVzID0ge3N0YXR1czogJ2hhc0RhdGEnLCBtZXNzYWdlOiAnJ307XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGJ1dHRvbiB0byBwcmV2ZW50IHRoZSBtZW51IGZyb20gYmVpbmcgb3BlbmVkXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6Ym9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsYWJlbCBmb3IgdGhlIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpY29uIGZvciB0aGUgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1dHRvbiB0eXBlLCBkZWZhdWx0cyB0byBpY29uXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uVHlwZT86IEJ1dHRvblR5cGUgPSAnaWNvbic7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsbHkgYWxpZ24gdGhlIGxhYmVsIG9mIHRoZSBidXR0b24gdG8gdGhlIGxlZnQgb3IgcmlnaHQuIElmIG5vdCBzZXQsXG4gICAqIHdpbGwgYmUgY2VudGVyZWQuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uQWxpZ25tZW50PzogJ2xlZnQnIHwgJ3JpZ2h0JztcblxuICAvKipcbiAgICogQWRkcyBhIHRvb2x0aXAgdG8gdGhlIGRyb3Bkb3duIHRvZ2dsZSBidXR0b24uIFNob3VsZCBvbmx5IGJlIHVzZWQgd2hlblxuICAgKiB0aGUgdG9nZ2xlIGJ1dHRvblR5cGUgaXMgJ2ljb24nXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uVGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFiaW5kZXggb2YgdGhlIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHRhYmluZGV4PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGEgY2FyZXQgd2l0aCB0aGUgYnV0dG9uIGxhYmVsIG9yIGljb25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXJyb3c6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBJdGVtcyB0byBkaXNwbGF5IGluIHRoZSBtZW51XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIG1lbnUgaXRlbSB0ZW1wbGF0ZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVUZW1wbGF0ZVR5cGU6IE1lbnVUZW1wbGF0ZVR5cGUgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGEgaGVhZGVyIG9uIHRoZSBtZW51XG4gICAqIEBkZXByZWNhdGVkIHVzZSBmaXJzdCBtZW51IGl0ZW0gd2l0aCBkaXNwbGF5IHNldCB0byAnaGVhZGluZycgaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVUaXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IGEgZml4ZWQgaGVpZ2h0IGZvciB0aGUgbWVudSwgYXV0byBieSBkZWZhdWx0XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWVudUhlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogU2V0IGEgZml4ZWQgd2lkdGggaW4gcGl4ZWxzIGZvciB0aGUgbWVudSwgYXV0byBieSBkZWZhdWx0XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWVudVdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZXQgYSBtaW4td2lkdGggaW4gcGl4ZWxzIG9uIHRoZSBtZW51LiBJdCB3aWxsIGV4cGFuZCBpZiB0aGUgY29udGVudCBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbi13aWR0aFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVNaW5XaWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogUGluIHRoZSBtZW51IHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBidXR0b24uIFJpZ2h0IGJ5IGRlZmF1bHRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBtZW51UG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xuXG4gIC8qKlxuICAgKiBTdGlja3kgZm9vdGVyIHRvIGRpc3BsYXkgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcG9wdXAgbWVudVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVGb290ZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpeCBwb3NpdGlvbiB0aGUgbWVudSBpbnN0ZWFkIG9mIGFic29sdXRlLiBVc2VmdWwgd2hlbiB0aGUgZHJvcGRvd24gaXMgaW4gYVxuICAgKiBkaWFsb2dcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBwb3B1cEZpeGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3MgYSBjdXN0b20gdGVtcGxhdGUgdG8gdGhlIHRvZ2dsZSBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBidXR0b25DdXN0b21UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICogVXNlZCB0byBzZXQgdGhlIG1lbnUgYnV0dG9ucyBzdGF0ZSB0byBwZW5kaW5nXG4gICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtcGVuZGluZycpXG4gIEBJbnB1dCgpIHB1YmxpYyBwZW5kaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gYSBtZW51IGl0ZW0gaXMgc2VsZWN0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8TWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51SXRlbT4oKTtcblxuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgcG9wdXAgbWVudSBvcGVuc1xuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBwb3B1cE9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBtZW51XG4gICAqL1xuICBwdWJsaWMgbWVudVN0YXR1czogUG9wdXBTdGF0dXMgPSAnaGlkZGVuJztcblxuICAvKiogSXRlbSB0byBoaWdobGlnaHQgd2hlbiB0aGUgbWVudSBpcyBvcGVuZWQsIHVzZWQgd2hlbiB0aGUgdXNlclxuICAgKiAgb3BlbnMgdGhlIG1lbnUgdmlhIHRoZSBrZXlib2FyZFxuICAgKi9cbiAgcHVibGljIGhpZ2hsaWdodGVkSXRlbTogTWVudUl0ZW0gfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlZCB0byBrbm93IGlmIHRoZSBtZW51IHdhcyB0b2dnbGVkIHZpYSB0aGUga2V5Ym9hcmQgKi9cbiAgcHJpdmF0ZSBpc0tleWJvYXJkRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW50ZXJuYWwgcmVmZXJlbmNlIHRvIHRoZSBtZW51IGVsZW1lbnRcbiAgICovXG4gIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgbWVudUVsITpFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCByZWZlcmVuY2UgdG8gdGhlIHBvcHVwIGRpcmVjdGl2ZVxuICAgKi9cbiAgQFZpZXdDaGlsZChQb3B1cENvbnRhaW5lckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBwb3B1cCE6IFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBHZXQgYSByZWZlcmVuY2UgdG8gdGhlIHRvZ2dsZSBidXR0b25cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duVG9nZ2xlJykgcHVibGljIGRyb3Bkb3duVG9nZ2xlQnV0dG9uITogQnV0dG9uQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSBhbnkgYWN0aXZlIHN1YnNjcmlwdGlvbnMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZFxuICAgKi9cbiAgcHJpdmF0ZSBjb21wb25lbnREZXN0cm95ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGNoYW5nZXMgdG8gdGhlIG1lbnUgc3RhdHVzXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wb3B1cC5wb3BwZXJTdGF0dXNDaGFuZ2VcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxuICAgIC5zdWJzY3JpYmUoKGV2ZW50OiAndmlzaWJsZScgfCAnaGlkZGVuJykgPT4ge1xuICAgICAgdGhpcy5tZW51U3RhdHVzID0gZXZlbnQ7XG4gICAgICBpZih0aGlzLm1lbnVTdGF0dXMgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnBvcHVwT3BlbmVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIHBvcHVwXG4gICAqL1xuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGxldCBwb3BwZXJPcHRpb25zOiBQb3BwZXIuUG9wcGVyT3B0aW9ucyA9IHtcblx0XHRcdG1vZGlmaWVyczoge1xuXHRcdFx0XHRwcmV2ZW50T3ZlcmZsb3c6IHtcblx0XHRcdFx0XHRib3VuZGFyaWVzRWxlbWVudDogJ3ZpZXdwb3J0J1xuXHRcdFx0XHR9XG4gICAgICB9LFxuICAgICAgcGxhY2VtZW50OiAnYm90dG9tLWVuZCdcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMubWVudVBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgIHBvcHBlck9wdGlvbnMucGxhY2VtZW50ID0gJ2JvdHRvbS1zdGFydCc7XG4gICAgfVxuXG5cbiAgICBpZiAodGhpcy5wb3B1cEZpeGVkKSB7XG4gICAgICBwb3BwZXJPcHRpb25zLm9uQ3JlYXRlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnBvcHVwLmZpeFBvc2l0aW9uKCk7XG4gICAgICB9XG5cblx0XHRcdHBvcHBlck9wdGlvbnMub25VcGRhdGUgPSAoKSA9PiB7XG4gICAgICAgIC8vIEhpZGUgdGhlIHBvcHVwIHdoZW4gdGhlIGRyb3Bkb3duIGNoYW5nZXMgcG9zaXRpb24gZHVlIHRvIHdpbmRvdyByZXNpemVcbiAgICAgICAgLy8gb3IgY29udGFpbmVyIHNjcm9sbGluZ1xuICAgICAgICB0aGlzLnBvcHVwLmhpZGUoKTtcblx0XHRcdH1cbiAgICB9XG5cbiAgICB0aGlzLnBvcHVwLnBvcHBlck9wdGlvbnMgPSBwb3BwZXJPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuc3Vic2NyaWJlIHRvIGFueSBhY3RpdmUgc3Vic2NyaXB0aW9uc1xuICAgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmNvbXBvbmVudERlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gYW5kIGNsb3NlIHRoZSBtZW51XG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlTWVudShldmVudD86RXZlbnQpOnZvaWQge1xuICAgIGlmIChldmVudCkge1xuXHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5tZW51U3RhdHVzID09PSAnaGlkZGVuJykge1xuICAgICAgICBpZiAodGhpcy5pc0tleWJvYXJkRXZlbnQgJiYgdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAvLyBTZXR1cCB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCB0byBoaWdobGlnaHQgd2hlbiBvcGVuaW5nIHRoZVxuICAgICAgICAgIC8vIG1lbnUgdmlhIHRoZSBrZXlib2FyZCwgaWdub3JpbmcgaGVhZGluZ3NcblxuICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWRJdGVtID0gdGhpcy5pdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5kaXNwbGF5ICE9PSAnaGVhZGluZycpIHx8IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wb3B1cC5zaG93KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBvcHVwLmhpZGUoKTtcblxuICAgICAgICAvLyBSZXNldCB0aGUgaGlnaGxpZ2h0ZWQgaXRlbSBhbmQgb3VyIGtleWJvYXJkIGZsYWdcbiAgICAgICAgLy8gd2hlbiB3ZSBjbG9zZSB0aGUgcG9wdXBcbiAgICAgICAgdGhpcy5oaWdobGlnaHRlZEl0ZW0gPSBudWxsO1xuICAgICAgICB0aGlzLmlzS2V5Ym9hcmRFdmVudCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gaXQgY2hhbmdlcyBhbmQgY2xvc2UgdGhlIG1lbnVcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RlZENoYW5nZWQoaXRlbTpNZW51SXRlbSk6dm9pZCB7XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChpdGVtKTtcbiAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1lbnUgaWYgdGhlIHRhYiBrZXkgaXMgcHJlc3NlZFxuICAgKi9cbiAgcHVibGljIGtleU5hdmlnYXRlKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5pc0tleWJvYXJkRXZlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5tZW51U3RhdHVzID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udHJvbFwiPlxuICA8ZWMtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgaWQ9XCJ7e2lkfX1fdG9nZ2xlXCJcbiAgICAgICAgICAgICAjZHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hhcy1hcnJvdyc6c2hvd0Fycm93LCAnYWN0aXZlJzogbWVudVN0YXR1cyA9PT0gJ3Zpc2libGUnLCAndGV4dC1sZWZ0JzogYnV0dG9uQWxpZ25tZW50ID09PSAnbGVmdCcsICd0ZXh0LXJpZ2h0JzogYnV0dG9uQWxpZ25tZW50ID09PSAncmlnaHQnfVwiXG4gICAgICAgICAgICAgKmVjUG9wdXA9XCJkcm9wZG93bk1lbnVcIlxuICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcbiAgICAgICAgICAgICBbY3VzdG9tVGVtcGxhdGVdPVwiYnV0dG9uQ3VzdG9tVGVtcGxhdGVcIlxuICAgICAgICAgICAgIFtwZW5kaW5nXT1cInBlbmRpbmdcIlxuICAgICAgICAgICAgIHRpdGxlPVwie3tidXR0b25UaXRsZX19XCJcbiAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJrZXlOYXZpZ2F0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuICA8L2VjLWJ1dHRvbj5cbiAgPHNwYW4gY2xhc3M9XCJhcnJvdyBpcy17e2J1dHRvblR5cGV9fVwiXG4gICAgICAgICpuZ0lmPVwic2hvd0Fycm93XCJcbiAgICAgICAgW2NsYXNzLmlzLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tY2FyZXQtZG93blwiIFtjbGFzcy5mbGlwLXldPVwibWVudVN0YXR1cyA9PT0gJ3Zpc2libGUnXCI+PC9pPlxuICA8L3NwYW4+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bk1lbnU+XG4gIDxkaXYgaWQ9XCJ7e2lkfX1fcG9wdXBcIlxuICAgICAgIGNsYXNzPVwicG9wdXBcIlxuICAgICAgIGVjT3ZlcmxheVxuICAgICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxuICAgICAgIFttZXNzYWdlXT1cInN0YXR1cz8ubWVzc2FnZVwiXG4gICAgICAgW2Rpc3BsYXlBc01hc2tdPVwidHJ1ZVwiPlxuICAgIDwhLS0gRHJvcGRvd24gTWVudSBUaXRsZSAtLT5cbiAgICA8aGVhZGVyIGlkPVwie3tpZH19X3RpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1oZWFkaW5nLTIgcHgtMiBteS0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwibWVudVRpdGxlXCI+e3ttZW51VGl0bGV9fVxuICAgIDwvaGVhZGVyPlxuICAgIDwhLS0gRHJvcGRvd24gTWVudSAtLT5cbiAgICA8ZWMtbWVudSBpZD1cInt7aWR9fV9tZW51XCJcbiAgICAgICAgICAgICBbY2xhc3Mud3JhcC1pdGVtc109XCJtZW51V2lkdGhcIlxuICAgICAgICAgICAgIFt0ZW1wbGF0ZVR5cGVdPVwibWVudVRlbXBsYXRlVHlwZVwiXG4gICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIm1lbnVXaWR0aCA/IG1lbnVXaWR0aCArICdweCcgOiAnYXV0bydcIlxuICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGhdPVwibWVudU1pbldpZHRoID8gbWVudU1pbldpZHRoICsgJ3B4JyA6ICdhdXRvJ1wiXG4gICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJtZW51SGVpZ2h0ID8gbWVudUhlaWdodCArICdweCcgOiAnYXV0bydcIlxuICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgW3Nob3dOb0l0ZW1zXT1cInRydWVcIlxuICAgICAgICAgICAgIFtlbmFibGVLZXlOYXZdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgW2hpZ2hsaWdodGVkSXRlbV09XCJoaWdobGlnaHRlZEl0ZW1cIlxuICAgICAgICAgICAgIFtkcm9wZG93blRvZ2dsZUJ1dHRvbl09XCJkcm9wZG93blRvZ2dsZUJ1dHRvbi5idXR0b25FbGVtZW50XCJcbiAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2VkKT1cInNlbGVjdGVkQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPC9lYy1tZW51PlxuICAgIDxmb290ZXIgKm5nSWY9XCJtZW51Rm9vdGVyXCI+e3ttZW51Rm9vdGVyfX08L2Zvb3Rlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==