@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,111 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { debounceTime, takeUntil } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../core/window.service";
6
- /**
7
- * Conditionally include content in the DOM based on the width of the viewport. Use to programmatically implement reponsive layouts and prevent duplicate markup and listeners.
8
- * In most scenarios CSS media queries is sufficient to hide/show elements responsively. However, in some cases media queries would result in duplicate markup and listeners
9
- * that could cause undesired side effects and it is preferred to us programmatic elements to achieve the layout.
10
- */
11
- export class IfViewportWidthDirective {
12
- constructor(viewContainer, templateRef, windowService) {
13
- this.viewContainer = viewContainer;
14
- this.templateRef = templateRef;
15
- this.windowService = windowService;
16
- /**
17
- * Used to unsubscribe when the directive is removed from the DOM
18
- */
19
- this.destroyed = new Subject();
20
- /**
21
- * Internally tracks whether the directive and its content is included in the DOM
22
- */
23
- this.isVisible = false;
24
- }
25
- ngOnInit() {
26
- // Window may not available if this code is not being run on a browser platform.
27
- // If there is no window or innerWidth abort initialization
28
- if (this.windowService.innerWidth === undefined) {
29
- return;
30
- }
31
- // Check for required values. If none are set, log error and abort initialization
32
- if (!this.width) {
33
- console.error(`A min or max width was not provided. Provide a value for 'min' or 'max' by assigning a single value or object to the directive. E.g. *ecIfViewportWidth="800" (assigned to min) or *ecIfViewportWidth="{min: 800, max: 1280}"`);
34
- return;
35
- }
36
- else if (typeof this.width === 'number') {
37
- this.minWidth = this.width;
38
- }
39
- else if (this.width !== undefined) {
40
- this.minWidth = this.width.min;
41
- this.maxWidth = this.width.max;
42
- }
43
- if (this.windowService.resized) {
44
- this.windowService.resized.pipe(debounceTime(100), takeUntil(this.destroyed)).subscribe(() => {
45
- this.updateVisibility();
46
- });
47
- }
48
- this.updateVisibility();
49
- }
50
- /**
51
- * Get the current viewport width and determin if the directive's content should be
52
- * included in the DOM based on the min and max width settings
53
- */
54
- updateVisibility() {
55
- const viewportWidth = this.windowService.innerWidth;
56
- if (this.minWidth !== undefined && this.maxWidth !== undefined) {
57
- if (viewportWidth >= this.minWidth && viewportWidth <= this.maxWidth) {
58
- this.show();
59
- }
60
- else {
61
- this.hide();
62
- }
63
- }
64
- else if (this.minWidth !== undefined) {
65
- if (viewportWidth >= this.minWidth) {
66
- this.show();
67
- }
68
- else {
69
- this.hide();
70
- }
71
- }
72
- else if (this.maxWidth !== undefined) {
73
- if (viewportWidth <= this.maxWidth) {
74
- this.show();
75
- }
76
- else {
77
- this.hide();
78
- }
79
- }
80
- }
81
- /**
82
- * Add the directive's content to the DOM
83
- */
84
- show() {
85
- if (!this.isVisible) {
86
- this.viewContainer.createEmbeddedView(this.templateRef);
87
- this.isVisible = true;
88
- }
89
- }
90
- /**
91
- * Remove the directive's content from the DOM
92
- */
93
- hide() {
94
- if (this.isVisible) {
95
- this.viewContainer.clear();
96
- this.isVisible = false;
97
- }
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfViewportWidthDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i1.WindowService }], target: i0.ɵɵFactoryTarget.Directive }); }
100
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: IfViewportWidthDirective, selector: "[ecIfViewportWidth]", inputs: { width: ["ecIfViewportWidth", "width"] }, ngImport: i0 }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfViewportWidthDirective, decorators: [{
103
- type: Directive,
104
- args: [{
105
- selector: '[ecIfViewportWidth]'
106
- }]
107
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i1.WindowService }], propDecorators: { width: [{
108
- type: Input,
109
- args: ['ecIfViewportWidth']
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtdmlld3BvcnQtd2lkdGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2lmLXZpZXdwb3J0LXdpZHRoL2lmLXZpZXdwb3J0LXdpZHRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHekQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFrQ25DLFlBQ1UsYUFBK0IsRUFDL0IsV0FBNkIsRUFDN0IsYUFBNEI7UUFGNUIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWJ0Qzs7V0FFRztRQUNLLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNLLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFNL0IsQ0FBQztJQUVFLFFBQVE7UUFDYixpRkFBaUY7UUFDakYsMkRBQTJEO1FBQzNELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsT0FBTztRQUNULENBQUM7UUFFRCxpRkFBaUY7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQztZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLCtOQUErTixDQUFDLENBQUM7WUFDL08sT0FBTztRQUNULENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUUsR0FBRyxFQUFFO2dCQUM1RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZ0JBQWdCO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVyxDQUFDO1FBRXJELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvRCxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztJQUVILENBQUM7SUFFRDs7T0FFRztJQUNLLElBQUk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxJQUFJO1FBQ1YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQzsrR0FqSFUsd0JBQXdCO21HQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7MklBYW9DLEtBQUs7c0JBQXZDLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS93aW5kb3cuc2VydmljZSc7XG5cbi8qKlxuICogQ29uZGl0aW9uYWxseSBpbmNsdWRlIGNvbnRlbnQgaW4gdGhlIERPTSBiYXNlZCBvbiB0aGUgd2lkdGggb2YgdGhlIHZpZXdwb3J0LiBVc2UgdG8gcHJvZ3JhbW1hdGljYWxseSBpbXBsZW1lbnQgcmVwb25zaXZlIGxheW91dHMgYW5kIHByZXZlbnQgZHVwbGljYXRlIG1hcmt1cCBhbmQgbGlzdGVuZXJzLlxuICogSW4gbW9zdCBzY2VuYXJpb3MgQ1NTIG1lZGlhIHF1ZXJpZXMgaXMgc3VmZmljaWVudCB0byBoaWRlL3Nob3cgZWxlbWVudHMgcmVzcG9uc2l2ZWx5LiBIb3dldmVyLCBpbiBzb21lIGNhc2VzIG1lZGlhIHF1ZXJpZXMgd291bGQgcmVzdWx0IGluIGR1cGxpY2F0ZSBtYXJrdXAgYW5kIGxpc3RlbmVyc1xuICogdGhhdCBjb3VsZCBjYXVzZSB1bmRlc2lyZWQgc2lkZSBlZmZlY3RzIGFuZCBpdCBpcyBwcmVmZXJyZWQgdG8gdXMgcHJvZ3JhbW1hdGljIGVsZW1lbnRzIHRvIGFjaGlldmUgdGhlIGxheW91dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VjSWZWaWV3cG9ydFdpZHRoXSdcbn0pXG5leHBvcnQgY2xhc3MgSWZWaWV3cG9ydFdpZHRoRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0e1xuXG4gIC8qKlxuICAgKiBUaGUgbWluIGFuZCwgb3B0aW9uYWxseSwgbWF4IHdpZHRoIGluIHBpeGVscyB0aGF0IHRoZSB2aWV3cG9ydCBtdXN0IGJlIGluIG9yZGVyIHRvIGluY2x1ZGUgdGhlIGRpcmVjdGl2ZSBhbmQgaXRzIGNvbnRlbnQgaW4gdGhlIERPTS5cbiAgICogQSBzaW5nbGUgbnVtYmVyIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWluIHdpZHRoLCBidXQgYW4gb2JqZWN0IHdpdGggbWluIGFuZCBtYXggbXVzdCBiZSB1c2VkIHRvIHNldCBhIG1pbiBhbmQgbWF4IHdpZHRoIG9yIGp1c3QgYSBtYXggd2lkdGguXG4gICAqIFxuICAgKiBgYGBodG1sXG4gICAqIDxkaXYgKmVjSWZWaWV3cG9ydFdpZHRoPVwiNTAwXCI+Q29udGVudCB0byByZW5kZXIgaWYgdmlld3BvcnQgd2lkdGggaXMgPj0gNTAwcHg8L2Rpdj5cbiAgICogPGRpdiAqZWNJZlZpZXdwb3J0V2lkdGg9XCJ7bWF4OiA4MDB9XCI+Q29udGVudCB0byByZW5kZXIgaWYgdGhlIHZpZXdwb3J0IHdpZHRoIGlzIDw9IDgwMHB4PC9kaXY+XG4gICAqIDxkaXYgKmVjSWZWaWV3cG9ydFdpZHRoPVwie21pbjogNTAwLCBtYXg6IDgwMH1cIj5Db250ZW50IHRvIHJlbmRlciBpZiB0aGUgdmlld3BvcnQgd2lkdGggaXMgYmV0d2VlbiA1MDBweCBhbmQgODAwcHg8L2Rpdj5cbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ2VjSWZWaWV3cG9ydFdpZHRoJykgcHVibGljIHdpZHRoITogbnVtYmVyIHwge21pbj86IG51bWJlcjsgbWF4PzogbnVtYmVyfTtcblxuICAvKiogXG4gICAqIElmIGRlZmluZWQsIHRoZSB3aWR0aCBpbiBwaXhlbHMgdGhhdCB0aGUgdmlld3BvcnQgbXVzdCBiZSB0byBpbmNsdWRlIHRoZSBkaXJlY3RpdmUgYW5kIGl0cyBjb250ZW50IGluIHRoZSBET01cbiAgICovXG4gIHByaXZhdGUgbWluV2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElmIGRlZmluZWQsIHRoZSB3aWR0aCBpbiBwaXhlbHMgdGhhdCB0aGUgdmlld3BvcnQgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB0byBpbmNsdWRlIHRoZSBkaXJlY3RpdmUgYW5kIGl0cyBjb250ZW4gaW4gdGhlIERPTVxuICAgKi9cbiAgcHJpdmF0ZSBtYXhXaWR0aD86IG51bWJlcjtcblxuICAvKiogXG4gICAqIFVzZWQgdG8gdW5zdWJzY3JpYmUgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4gICAqL1xuICBwcml2YXRlIGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqXG4gICAqIEludGVybmFsbHkgdHJhY2tzIHdoZXRoZXIgdGhlIGRpcmVjdGl2ZSBhbmQgaXRzIGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gdGhlIERPTVxuICAgKi9cbiAgcHJpdmF0ZSBpc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIFxuICAgIHByaXZhdGUgd2luZG93U2VydmljZTogV2luZG93U2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXaW5kb3cgbWF5IG5vdCBhdmFpbGFibGUgaWYgdGhpcyBjb2RlIGlzIG5vdCBiZWluZyBydW4gb24gYSBicm93c2VyIHBsYXRmb3JtLiBcbiAgICAvLyBJZiB0aGVyZSBpcyBubyB3aW5kb3cgb3IgaW5uZXJXaWR0aCBhYm9ydCBpbml0aWFsaXphdGlvblxuICAgIGlmICh0aGlzLndpbmRvd1NlcnZpY2UuaW5uZXJXaWR0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIHJlcXVpcmVkIHZhbHVlcy4gSWYgbm9uZSBhcmUgc2V0LCBsb2cgZXJyb3IgYW5kIGFib3J0IGluaXRpYWxpemF0aW9uXG4gICAgaWYgKCF0aGlzLndpZHRoKSAge1xuICAgICAgY29uc29sZS5lcnJvcihgQSBtaW4gb3IgbWF4IHdpZHRoIHdhcyBub3QgcHJvdmlkZWQuIFByb3ZpZGUgYSB2YWx1ZSBmb3IgJ21pbicgb3IgJ21heCcgYnkgYXNzaWduaW5nIGEgc2luZ2xlIHZhbHVlIG9yIG9iamVjdCB0byB0aGUgZGlyZWN0aXZlLiBFLmcuICplY0lmVmlld3BvcnRXaWR0aD1cIjgwMFwiIChhc3NpZ25lZCB0byBtaW4pIG9yICplY0lmVmlld3BvcnRXaWR0aD1cInttaW46IDgwMCwgbWF4OiAxMjgwfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy53aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLndpZHRoO1xuICAgIH0gZWxzZSBpZiAodGhpcy53aWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1pbldpZHRoID0gdGhpcy53aWR0aC5taW47XG4gICAgICB0aGlzLm1heFdpZHRoID0gdGhpcy53aWR0aC5tYXg7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2luZG93U2VydmljZS5yZXNpemVkKSB7XG4gICAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVzaXplZC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XG4gICAgICB9KVxuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgdmlld3BvcnQgd2lkdGggYW5kIGRldGVybWluIGlmIHRoZSBkaXJlY3RpdmUncyBjb250ZW50IHNob3VsZCBiZVxuICAgKiBpbmNsdWRlZCBpbiB0aGUgRE9NIGJhc2VkIG9uIHRoZSBtaW4gYW5kIG1heCB3aWR0aCBzZXR0aW5nc1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSB0aGlzLndpbmRvd1NlcnZpY2UuaW5uZXJXaWR0aCE7XG4gICAgXG4gICAgaWYgKHRoaXMubWluV2lkdGggIT09IHVuZGVmaW5lZCAmJiB0aGlzLm1heFdpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh2aWV3cG9ydFdpZHRoID49IHRoaXMubWluV2lkdGggJiYgdmlld3BvcnRXaWR0aCA8PSB0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLm1pbldpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh2aWV3cG9ydFdpZHRoID49IHRoaXMubWluV2lkdGgpIHtcbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMubWF4V2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHZpZXdwb3J0V2lkdGggPD0gdGhpcy5tYXhXaWR0aCkge1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgfVxuICAgIH1cbiAgICAgIFxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB0aGUgZGlyZWN0aXZlJ3MgY29udGVudCB0byB0aGUgRE9NXG4gICAqL1xuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBkaXJlY3RpdmUncyBjb250ZW50IGZyb20gdGhlIERPTVxuICAgKi9cbiAgcHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,103 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, EventEmitter, Inject, Input, Output } from '@angular/core';
3
- import { fromEvent, Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/a11y";
7
- /**
8
- * A basic helper directive to determine when focus leaves the host element.
9
- *
10
- * NOTE: This directive utilizes hidden anchor elements. These will disrupt tab order for elements
11
- * within a form. It is recommended to only use this directive when you need to redirect focus when
12
- * focus leaves a container. Also make sure this directive is disabled when the focus out events
13
- * are not needed to avoid keyboard nav problems.
14
- */
15
- export class KeyboardNavContainerDirective {
16
- constructor(hostEl, _document, interactivityChecker) {
17
- this.hostEl = hostEl;
18
- this._document = _document;
19
- this.interactivityChecker = interactivityChecker;
20
- this.enabled = true;
21
- this.tabindex = 0;
22
- this.focusOutStart = new EventEmitter();
23
- this.focusOutEnd = new EventEmitter();
24
- this.destroyed = new Subject();
25
- // Create the start and end anchors.
26
- this.startAnchor = this._document.createElement('div');
27
- this.endAnchor = this._document.createElement('div');
28
- // Hide the anchors from screen readers.
29
- this.startAnchor.setAttribute('aria-hidden', 'true');
30
- this.endAnchor.setAttribute('aria-hidden', 'true');
31
- }
32
- ngOnChanges() {
33
- this.toggleAnchors(this.enabled);
34
- }
35
- ngAfterViewInit() {
36
- // Insert the anchors into the DOM before and after the host element.
37
- this.hostEl.nativeElement.parentNode?.insertBefore(this.startAnchor, this.hostEl.nativeElement);
38
- this.hostEl.nativeElement.parentNode?.insertBefore(this.endAnchor, this.hostEl.nativeElement.nextSibling);
39
- // Listen for focus events on the anchors.
40
- fromEvent(this.startAnchor, 'focus').pipe(takeUntil(this.destroyed)).subscribe(() => this.focusOutStart.emit());
41
- fromEvent(this.endAnchor, 'focus').pipe(takeUntil(this.destroyed)).subscribe(() => this.focusOutEnd.emit());
42
- this.toggleAnchors(this.enabled);
43
- }
44
- ngOnDestroy() {
45
- this.destroyed.next();
46
- this.destroyed.complete();
47
- // Cleanup the anchors
48
- this.startAnchor.remove();
49
- this.endAnchor.remove();
50
- }
51
- focus() {
52
- const firstFocusableElement = this.getFirstFocusableElement(this.hostEl.nativeElement);
53
- firstFocusableElement?.focus();
54
- }
55
- getFirstFocusableElement(element) {
56
- // These are only possibly focusable. Some may be disabled or not visible.
57
- const elements = element.querySelectorAll('input, textarea, select, button, a, [tabindex], [contenteditable]');
58
- // Use the Angular CDK interactivity checker to determine if an element is actually focusable and tabbable.
59
- // This checks for disabledness among other things.
60
- const first = Array.from(elements).find(el => {
61
- return this.interactivityChecker.isFocusable(el) && this.interactivityChecker.isTabbable(el);
62
- });
63
- return first || null;
64
- }
65
- toggleAnchors(enabled) {
66
- // Make the anchors focusable if the container is enabled and we have subscribers for the events.
67
- // Otherwise, remove the tabindexes so they cannot receive focus and disrupt the tab order.
68
- if (enabled && this.focusOutStart.observers.length > 0) {
69
- this.startAnchor.setAttribute('tabindex', `${this.tabindex}`);
70
- }
71
- else {
72
- this.startAnchor.removeAttribute('tabindex');
73
- }
74
- if (enabled && this.focusOutEnd.observers.length > 0) {
75
- this.endAnchor.setAttribute('tabindex', `${this.tabindex}`);
76
- }
77
- else {
78
- this.endAnchor.removeAttribute('tabindex');
79
- }
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardNavContainerDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.InteractivityChecker }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KeyboardNavContainerDirective, selector: "[ecKeyboardNavContainer]", inputs: { enabled: ["ecKeyboardNavContainer", "enabled"], tabindex: "tabindex" }, outputs: { focusOutStart: "focusOutStart", focusOutEnd: "focusOutEnd" }, exportAs: ["ecKeyboardNavContainer"], usesOnChanges: true, ngImport: i0 }); }
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardNavContainerDirective, decorators: [{
85
- type: Directive,
86
- args: [{
87
- selector: '[ecKeyboardNavContainer]',
88
- exportAs: 'ecKeyboardNavContainer'
89
- }]
90
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
91
- type: Inject,
92
- args: [DOCUMENT]
93
- }] }, { type: i1.InteractivityChecker }], propDecorators: { enabled: [{
94
- type: Input,
95
- args: ['ecKeyboardNavContainer']
96
- }], tabindex: [{
97
- type: Input
98
- }], focusOutStart: [{
99
- type: Output
100
- }], focusOutEnd: [{
101
- type: Output
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtbmF2LWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMva2V5Ym9hcmQtbmF2LWNvbnRhaW5lci9rZXlib2FyZC1uYXYtY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXdCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLDZCQUE2QjtJQWF4QyxZQUNVLE1BQStCLEVBQ2IsU0FBbUIsRUFDckMsb0JBQTBDO1FBRjFDLFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZG5CLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDaEQsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUVwQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS25DLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3RDLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxD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Q0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDOytHQXZGVSw2QkFBNkIsNENBZTlCLFFBQVE7bUdBZlAsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQVp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzswQkF3QkksTUFBTTsyQkFBQyxRQUFROzRFQWJlLE9BQU87c0JBQXZDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUN0QixRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyYWN0aXZpdHlDaGVja2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWNLZXlib2FyZE5hdkNvbnRhaW5lcl0nLFxuICBleHBvcnRBczogJ2VjS2V5Ym9hcmROYXZDb250YWluZXInXG59KVxuLyoqXG4gKiBBIGJhc2ljIGhlbHBlciBkaXJlY3RpdmUgdG8gZGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBob3N0IGVsZW1lbnQuXG4gKiBcbiAqIE5PVEU6IFRoaXMgZGlyZWN0aXZlIHV0aWxpemVzIGhpZGRlbiBhbmNob3IgZWxlbWVudHMuIFRoZXNlIHdpbGwgZGlzcnVwdCB0YWIgb3JkZXIgZm9yIGVsZW1lbnRzXG4gKiB3aXRoaW4gYSBmb3JtLiBJdCBpcyByZWNvbW1lbmRlZCB0byBvbmx5IHVzZSB0aGlzIGRpcmVjdGl2ZSB3aGVuIHlvdSBuZWVkIHRvIHJlZGlyZWN0IGZvY3VzIHdoZW5cbiAqIGZvY3VzIGxlYXZlcyBhIGNvbnRhaW5lci4gQWxzbyBtYWtlIHN1cmUgdGhpcyBkaXJlY3RpdmUgaXMgZGlzYWJsZWQgd2hlbiB0aGUgZm9jdXMgb3V0IGV2ZW50c1xuICogYXJlIG5vdCBuZWVkZWQgdG8gYXZvaWQga2V5Ym9hcmQgbmF2IHByb2JsZW1zLiBcbiAqL1xuZXhwb3J0IGNsYXNzIEtleWJvYXJkTmF2Q29udGFpbmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZWNLZXlib2FyZE5hdkNvbnRhaW5lcicpIGVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyID0gMDtcblxuICBAT3V0cHV0KCkgZm9jdXNPdXRTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZvY3VzT3V0RW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgc3RhcnRBbmNob3I6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGVuZEFuY2hvcjogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaG9zdEVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSBpbnRlcmFjdGl2aXR5Q2hlY2tlcjogSW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gICkge1xuICAgIC8vIENyZWF0ZSB0aGUgc3RhcnQgYW5kIGVuZCBhbmNob3JzLlxuICAgIHRoaXMuc3RhcnRBbmNob3IgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLmVuZEFuY2hvciA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIC8vIEhpZGUgdGhlIGFuY2hvcnMgZnJvbSBzY3JlZW4gcmVhZGVycy5cbiAgICB0aGlzLnN0YXJ0QW5jaG9yLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgIHRoaXMuZW5kQW5jaG9yLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBbmNob3JzKHRoaXMuZW5hYmxlZCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gSW5zZXJ0IHRoZSBhbmNob3JzIGludG8gdGhlIERPTSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBob3N0IGVsZW1lbnQuXG4gICAgdGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlPy5pbnNlcnRCZWZvcmUodGhpcy5zdGFydEFuY2hvciwgdGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlPy5pbnNlcnRCZWZvcmUodGhpcy5lbmRBbmNob3IsIHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQubmV4dFNpYmxpbmcpO1xuXG4gICAgLy8gTGlzdGVuIGZvciBmb2N1cyBldmVudHMgb24gdGhlIGFuY2hvcnMuXG4gICAgZnJvbUV2ZW50KHRoaXMuc3RhcnRBbmNob3IsICdmb2N1cycpLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5mb2N1c091dFN0YXJ0LmVtaXQoKSk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy5lbmRBbmNob3IsICdmb2N1cycpLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5mb2N1c091dEVuZC5lbWl0KCkpO1xuXG4gICAgdGhpcy50b2dnbGVBbmNob3JzKHRoaXMuZW5hYmxlZCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICAvLyBDbGVhbnVwIHRoZSBhbmNob3JzXG4gICAgdGhpcy5zdGFydEFuY2hvci5yZW1vdmUoKTtcbiAgICB0aGlzLmVuZEFuY2hvci5yZW1vdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cygpIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCh0aGlzLmhvc3RFbC5uYXRpdmVFbGVtZW50KTtcbiAgICBmaXJzdEZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgLy8gVGhlc2UgYXJlIG9ubHkgcG9zc2libHkgZm9jdXNhYmxlLiBTb21lIG1heSBiZSBkaXNhYmxlZCBvciBub3QgdmlzaWJsZS5cbiAgICBjb25zdCBlbGVtZW50cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ2lucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b24sIGEsIFt0YWJpbmRleF0sIFtjb250ZW50ZWRpdGFibGVdJyk7XG5cbiAgICAvLyBVc2UgdGhlIEFuZ3VsYXIgQ0RLIGludGVyYWN0aXZpdHkgY2hlY2tlciB0byBkZXRlcm1pbmUgaWYgYW4gZWxlbWVudCBpcyBhY3R1YWxseSBmb2N1c2FibGUgYW5kIHRhYmJhYmxlLlxuICAgIC8vIFRoaXMgY2hlY2tzIGZvciBkaXNhYmxlZG5lc3MgYW1vbmcgb3RoZXIgdGhpbmdzLlxuICAgIGNvbnN0IGZpcnN0ID0gQXJyYXkuZnJvbShlbGVtZW50cykuZmluZChlbCA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2aXR5Q2hlY2tlci5pc0ZvY3VzYWJsZShlbCkgJiYgdGhpcy5pbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1RhYmJhYmxlKGVsKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmaXJzdCB8fCBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVBbmNob3JzKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAvLyBNYWtlIHRoZSBhbmNob3JzIGZvY3VzYWJsZSBpZiB0aGUgY29udGFpbmVyIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgc3Vic2NyaWJlcnMgZm9yIHRoZSBldmVudHMuXG4gICAgLy8gT3RoZXJ3aXNlLCByZW1vdmUgdGhlIHRhYmluZGV4ZXMgc28gdGhleSBjYW5ub3QgcmVjZWl2ZSBmb2N1cyBhbmQgZGlzcnVwdCB0aGUgdGFiIG9yZGVyLlxuICAgIGlmIChlbmFibGVkICYmIHRoaXMuZm9jdXNPdXRTdGFydC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zdGFydEFuY2hvci5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgYCR7dGhpcy50YWJpbmRleH1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydEFuY2hvci5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWQgJiYgdGhpcy5mb2N1c091dEVuZC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5lbmRBbmNob3Iuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIGAke3RoaXMudGFiaW5kZXh9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5kQW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,166 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, EventEmitter, Inject, Input } from '@angular/core';
3
- import Popper from 'popper.js';
4
- import { fromEvent } from "rxjs";
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Primitive directive that popups a container using PopperJS
8
- *
9
- * @export
10
- */
11
- export class PopupContainerDirective {
12
- /**
13
- * Global reference to the currently displayed popup; only
14
- * one popup directive can be in `show` state at a given time.
15
- *
16
- * @memberof PopupContainerDirective
17
- */
18
- static { this.GlobalPopupRef = undefined; }
19
- /**
20
- * Creates an instance of PopupContainerDirective.
21
- * @param templateRef Reference to the popup template
22
- * @param viewContainer Reference to the view container
23
- * @param document Reference to Document
24
- * @memberof PopupContainerDirective
25
- */
26
- constructor(templateRef, viewContainer, document, renderer) {
27
- this.templateRef = templateRef;
28
- this.viewContainer = viewContainer;
29
- this.document = document;
30
- this.renderer = renderer;
31
- /**
32
- * Emit the {@link PopupStatus} when it changes
33
- */
34
- this.popperStatusChange = new EventEmitter();
35
- }
36
- /**
37
- * Angular onInit lifecycle hook
38
- * @see https://angular.io/guide/lifecycle-hooks
39
- */
40
- ngOnInit() {
41
- this.templateViewRef = this.viewContainer.createEmbeddedView(this.templateRef);
42
- }
43
- /**
44
- * Angular onDestroy lifecycle hook. Close and delete references. Unsubscribe observables
45
- * @see https://angular.io/guide/lifecycle-hooks
46
- */
47
- ngOnDestroy() {
48
- this.hide();
49
- }
50
- /**
51
- * Displays the templateRef as a popup
52
- *
53
- * @memberof PopupContainerDirective
54
- */
55
- show() {
56
- if (PopupContainerDirective.GlobalPopupRef) {
57
- if (PopupContainerDirective.GlobalPopupRef != this) {
58
- PopupContainerDirective.GlobalPopupRef.hide();
59
- PopupContainerDirective.GlobalPopupRef = undefined;
60
- }
61
- }
62
- if (!this.globalCloseSubscription) {
63
- this.globalCloseSubscription = fromEvent(this.document.body, "click").subscribe((event) => {
64
- this.hide();
65
- });
66
- }
67
- if (!this.popperRef) {
68
- // Add the popper template as an embedded view since PopperJS
69
- // manipulates DOM elements.
70
- this.popupViewRef = this.viewContainer.createEmbeddedView(this.popup);
71
- // Since popper needs real DOM elements, grab the first non-comment
72
- // DOM element to use as our anchor.
73
- let anchorElement = this.popupViewRef.rootNodes.find(elem => { return elem.nodeName !== "#text"; });
74
- // Use the parents elements as our DOM elements to Popper
75
- this.popperRef = new Popper(this.templateViewRef.rootNodes[0], anchorElement, this.popperOptions);
76
- PopupContainerDirective.GlobalPopupRef = this;
77
- this.popperStatusChange.emit('visible');
78
- }
79
- }
80
- /**
81
- * Hides the templateRef
82
- *
83
- * @memberof PopupContainerDirective
84
- */
85
- hide() {
86
- if (this.globalCloseSubscription) {
87
- this.globalCloseSubscription.unsubscribe();
88
- this.globalCloseSubscription = undefined;
89
- }
90
- if (this.popperRef && this.popupViewRef) {
91
- this.popupViewRef.destroy();
92
- this.popperRef.destroy();
93
- this.popperRef = undefined;
94
- this.popperStatusChange.emit('hidden');
95
- }
96
- }
97
- /**
98
- * Updates the popup container position
99
- */
100
- update() {
101
- if (this.popperRef) {
102
- this.popperRef.update();
103
- }
104
- }
105
- fixPosition(minWidthNone, appendToBody = false) {
106
- // @ts-ignore
107
- if (this.popperRef && this.popperRef['reference'] && this.popperRef['popper']) {
108
- // @ts-ignore
109
- let popupEl = this.popperRef['popper'];
110
- // Reset width style previously assigned because the content may have
111
- // changed and the auto width would be different
112
- this.renderer.removeStyle(popupEl, 'width');
113
- this.renderer.setStyle(popupEl, 'position', 'fixed');
114
- if (appendToBody) {
115
- const bodyEl = this.document.querySelector('body');
116
- const popupParent = this.renderer.parentNode(popupEl);
117
- if (popupParent !== bodyEl) {
118
- this.renderer.appendChild(bodyEl, popupEl);
119
- }
120
- }
121
- // @ts-ignore
122
- let toggleEl = this.popperRef['reference'];
123
- let width = popupEl.offsetWidth;
124
- let boundaries = popupEl.getBoundingClientRect();
125
- let left = boundaries.left;
126
- let coords = toggleEl.getBoundingClientRect();
127
- // Set the top of our menu to the bottom of the toggle element
128
- let top = coords.bottom;
129
- if (this.popperOptions && this.popperOptions.placement) {
130
- if (this.popperOptions.placement === 'bottom-start' || this.popperOptions.placement === 'top-start') {
131
- left = coords.left;
132
- }
133
- else {
134
- left = coords.right - ((minWidthNone || width > coords.width) ? width : coords.width);
135
- }
136
- }
137
- // if it won't fit (with 10px space before hitting the window edge), flip it
138
- if (boundaries.height + top + 10 > window.innerHeight) {
139
- top = coords.top - boundaries.height;
140
- }
141
- this.renderer.setStyle(popupEl, 'transform', 'none');
142
- this.renderer.setStyle(popupEl, 'left', left + 'px');
143
- this.renderer.setStyle(popupEl, 'top', top + 'px');
144
- this.renderer.setStyle(popupEl, 'width', width + 'px');
145
- if (!minWidthNone) {
146
- this.renderer.setStyle(popupEl, 'min-width', coords.width + 'px');
147
- }
148
- }
149
- }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopupContainerDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
151
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PopupContainerDirective, selector: "[ecPopup]", inputs: { popup: ["ecPopup", "popup"], popperOptions: ["options", "popperOptions"] }, ngImport: i0 }); }
152
- }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopupContainerDirective, decorators: [{
154
- type: Directive,
155
- args: [{ selector: '[ecPopup]' }]
156
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
157
- type: Inject,
158
- args: [DOCUMENT]
159
- }] }, { type: i0.Renderer2 }], propDecorators: { popup: [{
160
- type: Input,
161
- args: ['ecPopup']
162
- }], popperOptions: [{
163
- type: Input,
164
- args: ['options']
165
- }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9wb3B1cC9wb3B1cC1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUsvQzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQzs7Ozs7T0FLRzthQUNXLG1CQUFjLEdBQTZCLFNBQVMsQUFBdEMsQ0FBdUM7SUE2Q25FOzs7Ozs7T0FNRztJQUNILFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDYixRQUFhLEVBQy9CLFFBQW1CO1FBSG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFxQi9COztXQUVHO1FBQ0ksdUJBQWtCLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7SUF2QnBGLENBQUM7SUFFSjs7O09BR0c7SUFDSCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBU0Q7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QWpESyxLQUFLO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBT1MsYUFBYTtzQkFBckMsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBQb3BwZXIgZnJvbSAncG9wcGVyLmpzJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IHR5cGUgUG9wdXBQbGFjZW1lbnQgPSAndG9wJyB8ICdyaWdodCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICd0b3Atc3RhcnQnIHwgJ3RvcC1lbmQnIHwgJ2JvdHRvbS1zdGFydCcgfCAnYm90dG9tLWVuZCc7XG5leHBvcnQgdHlwZSBQb3B1cFN0YXR1cyA9ICd2aXNpYmxlJyB8ICdoaWRkZW4nO1xuXG4vKipcbiAqIFByaW1pdGl2ZSBkaXJlY3RpdmUgdGhhdCBwb3B1cHMgYSBjb250YWluZXIgdXNpbmcgUG9wcGVySlNcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tlY1BvcHVwXScgfSlcbmV4cG9ydCBjbGFzcyBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuXG4gICAgLyoqXG4gICAgICogIEdsb2JhbCByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseSBkaXNwbGF5ZWQgcG9wdXA7IG9ubHlcbiAgICAgKiAgb25lIHBvcHVwIGRpcmVjdGl2ZSBjYW4gYmUgaW4gYHNob3dgIHN0YXRlIGF0IGEgZ2l2ZW4gdGltZS5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgR2xvYmFsUG9wdXBSZWY/OiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZSA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlUmVmIG9mIGNvbnRhaW5lciB0byBwb3B1cFxuICAgICAqXG4gICAgICovXG4gICAgQElucHV0KCdlY1BvcHVwJykgcHVibGljIHBvcHVwITogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFBvcHBlciBvcHRpb25zXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBASW5wdXQoJ29wdGlvbnMnKSBwdWJsaWMgcG9wcGVyT3B0aW9ucz86IFBvcHBlci5Qb3BwZXJPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgVmlldyBSZWZlcmVuY2VcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdGVtcGxhdGVWaWV3UmVmITogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBQb3B1cCBWaWV3IFJlZmVyZW5jZSAoY29udGFpbmVyKVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3B1cFZpZXdSZWY/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFBvcHBlciBSZWZlcmVuY2VcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcG9wcGVyUmVmPzogUG9wcGVyO1xuXG4gICAgLyoqXG4gICAgICogQ2xvc2UtdG8tY2xpY2sgU3Vic2NyaXB0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBjbG9zZSB0aGUgbWVudSB3aGVuIHlvdSBjbGljayBvbiB0aGUgYm9keS5cbiAgICAgKiBXZSBhdHRhY2ggaXQgd2hlbiB0aGUgbWVudSBpcyBvcGVuIGFuZCBkZXRhY2ggaXQgb24gY2xvc2UsIHRvIGxpbWl0IHRoZSBsaWZldGltZSBvZiB0aGUgY2xpY2sgaGFuZGxlclxuICAgICAqIHdoaWNoIGhlbHBzIHdpdGggcGVyZm9ybWFuY2Ugb24gYSBwYWdlIHdpdGggbWFueSBwb3B1cCBjb250YWluZXJzXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdsb2JhbENsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgUmVmZXJlbmNlIHRvIHRoZSBwb3B1cCB0ZW1wbGF0ZVxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyIFJlZmVyZW5jZSB0byB0aGUgdmlldyBjb250YWluZXJcbiAgICAgKiBAcGFyYW0gZG9jdW1lbnQgUmVmZXJlbmNlIHRvIERvY3VtZW50XG4gICAgICogQG1lbWJlcm9mIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBBbmd1bGFyIG9uSW5pdCBsaWZlY3ljbGUgaG9va1xuICAgICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rc1xuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBsYXRlVmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBBbmd1bGFyIG9uRGVzdHJveSBsaWZlY3ljbGUgaG9vay4gQ2xvc2UgYW5kIGRlbGV0ZSByZWZlcmVuY2VzLiBVbnN1YnNjcmliZSBvYnNlcnZhYmxlc1xuICAgICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rc1xuICAgICAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEVtaXQgdGhlIHtAbGluayBQb3B1cFN0YXR1c30gd2hlbiBpdCBjaGFuZ2VzXG4gICAgICovXG4gICAgcHVibGljIHBvcHBlclN0YXR1c0NoYW5nZTogRXZlbnRFbWl0dGVyPFBvcHVwU3RhdHVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9wdXBTdGF0dXM+KCk7XG5cblxuICAgIC8qKlxuICAgICAqIERpc3BsYXlzIHRoZSB0ZW1wbGF0ZVJlZiBhcyBhIHBvcHVwXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgaWYgKFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmKSB7XG4gICAgICAgICAgICBpZiAoUG9wdXBDb250YWluZXJEaXJlY3RpdmUuR2xvYmFsUG9wdXBSZWYgIT0gdGhpcykge1xuICAgICAgICAgICAgICAgIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZS5HbG9iYWxQb3B1cFJlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLmdsb2JhbENsb3NlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmdsb2JhbENsb3NlU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQuYm9keSwgXCJjbGlja1wiKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wb3BwZXJSZWYpIHtcbiAgICAgICAgICAgIC8vIEFkZCB0aGUgcG9wcGVyIHRlbXBsYXRlIGFzIGFuIGVtYmVkZGVkIHZpZXcgc2luY2UgUG9wcGVySlNcbiAgICAgICAgICAgIC8vIG1hbmlwdWxhdGVzIERPTSBlbGVtZW50cy5cbiAgICAgICAgICAgIHRoaXMucG9wdXBWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnBvcHVwKTtcblxuICAgICAgICAgICAgLy8gU2luY2UgcG9wcGVyIG5lZWRzIHJlYWwgRE9NIGVsZW1lbnRzLCBncmFiIHRoZSBmaXJzdCBub24tY29tbWVudFxuICAgICAgICAgICAgLy8gRE9NIGVsZW1lbnQgdG8gdXNlIGFzIG91ciBhbmNob3IuXG4gICAgICAgICAgICBsZXQgYW5jaG9yRWxlbWVudCA9ICh0aGlzLnBvcHVwVmlld1JlZi5yb290Tm9kZXMgYXMgYW55W10pLmZpbmQoZWxlbSA9PiB7IHJldHVybiBlbGVtLm5vZGVOYW1lICE9PSBcIiN0ZXh0XCIgfSk7XG5cblxuICAgICAgICAgICAgLy8gVXNlIHRoZSBwYXJlbnRzIGVsZW1lbnRzIGFzIG91ciBET00gZWxlbWVudHMgdG8gUG9wcGVyXG4gICAgICAgICAgICB0aGlzLnBvcHBlclJlZiA9IG5ldyBQb3BwZXIoXG4gICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVZpZXdSZWYucm9vdE5vZGVzWzBdLFxuICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BwZXJPcHRpb25zKTtcblxuXG4gICAgICAgICAgICBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZS5HbG9iYWxQb3B1cFJlZiA9IHRoaXM7XG5cbiAgICAgICAgICAgIHRoaXMucG9wcGVyU3RhdHVzQ2hhbmdlLmVtaXQoJ3Zpc2libGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogSGlkZXMgdGhlIHRlbXBsYXRlUmVmXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFsQ2xvc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsQ2xvc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsQ2xvc2VTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wb3BwZXJSZWYgJiYgdGhpcy5wb3B1cFZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMucG9wdXBWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMucG9wcGVyUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMucG9wcGVyUmVmID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5wb3BwZXJTdGF0dXNDaGFuZ2UuZW1pdCgnaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBwb3B1cCBjb250YWluZXIgcG9zaXRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3BwZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMucG9wcGVyUmVmLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZpeFBvc2l0aW9uKG1pbldpZHRoTm9uZT86Ym9vbGVhbiwgYXBwZW5kVG9Cb2R5PWZhbHNlICk6dm9pZCB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYodGhpcy5wb3BwZXJSZWYgJiYgdGhpcy5wb3BwZXJSZWZbJ3JlZmVyZW5jZSddICYmIHRoaXMucG9wcGVyUmVmWydwb3BwZXInXSkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgbGV0IHBvcHVwRWwgPSB0aGlzLnBvcHBlclJlZlsncG9wcGVyJ107XG5cbiAgICAgICAgICAgIC8vIFJlc2V0IHdpZHRoIHN0eWxlIHByZXZpb3VzbHkgYXNzaWduZWQgYmVjYXVzZSB0aGUgY29udGVudCBtYXkgaGF2ZVxuICAgICAgICAgICAgLy8gY2hhbmdlZCBhbmQgdGhlIGF1dG8gd2lkdGggd291bGQgYmUgZGlmZmVyZW50XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHBvcHVwRWwsICd3aWR0aCcpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBvcHVwRWwsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuXG4gICAgICAgICAgICBpZiAoYXBwZW5kVG9Cb2R5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUVsID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9wdXBQYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUocG9wdXBFbCk7XG4gICAgICAgICAgICAgICAgaWYgKHBvcHVwUGFyZW50ICE9PSBib2R5RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChib2R5RWwsIHBvcHVwRWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgbGV0IHRvZ2dsZUVsID0gdGhpcy5wb3BwZXJSZWZbJ3JlZmVyZW5jZSddO1xuICAgICAgICAgICAgbGV0IHdpZHRoID0gcG9wdXBFbC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGxldCBib3VuZGFyaWVzID0gcG9wdXBFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGxldCBsZWZ0Om51bWJlciA9IGJvdW5kYXJpZXMubGVmdDtcbiAgICAgICAgICAgIGxldCBjb29yZHMgPSB0b2dnbGVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgLy8gU2V0IHRoZSB0b3Agb2Ygb3VyIG1lbnUgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdG9nZ2xlIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCB0b3A6bnVtYmVyID0gY29vcmRzLmJvdHRvbTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucG9wcGVyT3B0aW9ucyAmJiB0aGlzLnBvcHBlck9wdGlvbnMucGxhY2VtZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9wcGVyT3B0aW9ucy5wbGFjZW1lbnQgPT09ICdib3R0b20tc3RhcnQnIHx8IHRoaXMucG9wcGVyT3B0aW9ucy5wbGFjZW1lbnQgPT09ICd0b3Atc3RhcnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBjb29yZHMubGVmdDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gY29vcmRzLnJpZ2h0IC0gKChtaW5XaWR0aE5vbmUgfHwgd2lkdGggPiBjb29yZHMud2lkdGgpID8gd2lkdGggOiBjb29yZHMud2lkdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaWYgaXQgd29uJ3QgZml0ICh3aXRoIDEwcHggc3BhY2UgYmVmb3JlIGhpdHRpbmcgdGhlIHdpbmRvdyBlZGdlKSwgZmxpcCBpdFxuICAgICAgICAgICAgaWYgKGJvdW5kYXJpZXMuaGVpZ2h0ICsgdG9wICsgMTAgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0b3AgPSBjb29yZHMudG9wIC0gYm91bmRhcmllcy5oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocG9wdXBFbCwgJ3RyYW5zZm9ybScsICdub25lJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBvcHVwRWwsICdsZWZ0JywgbGVmdCArICdweCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwb3B1cEVsLCAndG9wJywgdG9wICsgJ3B4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBvcHVwRWwsICd3aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XG5cbiAgICAgICAgICAgIGlmICghbWluV2lkdGhOb25lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwb3B1cEVsLCAnbWluLXdpZHRoJywgY29vcmRzLndpZHRoICsgJ3B4Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import { lastValueFrom } from 'rxjs';
4
- import { DateTimeHelper } from '../../../core/date-time-helper';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../user-preference.service";
7
- /**
8
- * NOTE - This is asynchronous so it must be used in conjunction with the async pipe when in a template.
9
- * @example <span>{{ someDate | dateDisplay2 | async }}</span>
10
- */
11
- export class DateDisplayPipe2 {
12
- constructor(userPrefs) {
13
- this.userPrefs = userPrefs;
14
- }
15
- async transform(date, options) {
16
- const { showEndOfTime, showTime, showSeconds, displayInUTC } = options || {};
17
- if (!date || !moment(date).isValid() || (!showEndOfTime && DateTimeHelper.isEndOfTime(date))) {
18
- return '';
19
- }
20
- const { preference } = await lastValueFrom(this.userPrefs.getPreferences());
21
- let formatString = preference?.dateFormat || 'MM/DD/YYYY';
22
- if (showTime) {
23
- let timeFormat = preference.timeFormat;
24
- if (!showSeconds) {
25
- timeFormat = timeFormat.replace(':ss', '');
26
- }
27
- formatString += ` ${timeFormat}`;
28
- }
29
- // Parse and format the date using moment. If displayInUTC is true, use moment.utc() to shift the date to UTC.
30
- return (displayInUTC ? moment.utc(date) : moment(date)).format(formatString);
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
33
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, name: "dateDisplay2" }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, decorators: [{
36
- type: Pipe,
37
- args: [{ name: 'dateDisplay2' }]
38
- }], ctorParameters: () => [{ type: i1.UserPreferenceService }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LTIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS9waXBlcy9kYXRlLWRpc3BsYXktMi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBYWhFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFBSSxDQUFDO0lBRXpELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBa0IsRUFBRSxPQUFnQztRQUNsRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUU3RSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0YsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLFlBQVksR0FBRyxVQUFVLEVBQUUsVUFBVSxJQUFJLFlBQVksQ0FBQztRQUUxRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxVQUFVLEdBQVcsVUFBVyxDQUFDLFVBQVcsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsWUFBWSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUVELDhHQUE4RztRQUM5RyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0UsQ0FBQzsrR0F4QlUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZVRpbWVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1oZWxwZXInO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZURpc3BsYXkgfSBmcm9tICcuL2RhdGUtZGlzcGxheS5waXBlJztcblxuZXhwb3J0IHR5cGUgRGF0ZURpc3BsYXlQaXBlT3B0aW9ucyA9IHtcbiAgc2hvd0VuZE9mVGltZT86IGJvb2xlYW4sXG4gIHNob3dUaW1lPzogYm9vbGVhbixcbiAgc2hvd1NlY29uZHM/OiBib29sZWFuLFxuICAvKiogRGlzcGxheXMgdGhlIGRhdGUgaW4gVVRDLlxuICAgKiBOT1RFIC0gSWYgdGhlIGRhdGUgZG9lc24ndCBoYXZlIGFueSB0aW1lem9uZSBpbmZvcm1hdGlvbiBvbiBpdCwgdGhlIGRhdGUgaXMgYXNzdW1lZCB0byBhbHJlYWR5IGJlIGluIFVUQyBzbyBubyBzaGlmdGluZyBpcyBkb25lLlxuICAgKi9cbiAgZGlzcGxheUluVVRDPzogYm9vbGVhblxufTtcbi8qKlxuICogTk9URSAtIFRoaXMgaXMgYXN5bmNocm9ub3VzIHNvIGl0IG11c3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBhc3luYyBwaXBlIHdoZW4gaW4gYSB0ZW1wbGF0ZS5cbiAqIEBleGFtcGxlIDxzcGFuPnt7IHNvbWVEYXRlIHwgZGF0ZURpc3BsYXkyIHwgYXN5bmMgfX08L3NwYW4+XG4gKi9cbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXNwbGF5MicgfSlcbmV4cG9ydCBjbGFzcyBEYXRlRGlzcGxheVBpcGUyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZnM6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkgeyB9XG5cbiAgYXN5bmMgdHJhbnNmb3JtKGRhdGU/OiBEYXRlRGlzcGxheSwgb3B0aW9ucz86IERhdGVEaXNwbGF5UGlwZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgc2hvd0VuZE9mVGltZSwgc2hvd1RpbWUsIHNob3dTZWNvbmRzLCBkaXNwbGF5SW5VVEMgfSA9IG9wdGlvbnMgfHwge307XG5cbiAgICBpZiAoIWRhdGUgfHwgIW1vbWVudChkYXRlKS5pc1ZhbGlkKCkgfHwgKCFzaG93RW5kT2ZUaW1lICYmIERhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGRhdGUpKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcHJlZmVyZW5jZSB9ID0gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnVzZXJQcmVmcy5nZXRQcmVmZXJlbmNlcygpKTtcbiAgICBsZXQgZm9ybWF0U3RyaW5nID0gcHJlZmVyZW5jZT8uZGF0ZUZvcm1hdCB8fCAnTU0vREQvWVlZWSc7XG5cbiAgICBpZiAoc2hvd1RpbWUpIHtcbiAgICAgIGxldCB0aW1lRm9ybWF0OiBzdHJpbmcgPSBwcmVmZXJlbmNlIS50aW1lRm9ybWF0ITtcbiAgICAgIGlmICghc2hvd1NlY29uZHMpIHtcbiAgICAgICAgdGltZUZvcm1hdCA9IHRpbWVGb3JtYXQucmVwbGFjZSgnOnNzJywgJycpO1xuICAgICAgfVxuICAgICAgZm9ybWF0U3RyaW5nICs9IGAgJHt0aW1lRm9ybWF0fWA7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgYW5kIGZvcm1hdCB0aGUgZGF0ZSB1c2luZyBtb21lbnQuIElmIGRpc3BsYXlJblVUQyBpcyB0cnVlLCB1c2UgbW9tZW50LnV0YygpIHRvIHNoaWZ0IHRoZSBkYXRlIHRvIFVUQy5cbiAgICByZXR1cm4gKGRpc3BsYXlJblVUQyA/IG1vbWVudC51dGMoZGF0ZSkgOiBtb21lbnQoZGF0ZSkpLmZvcm1hdChmb3JtYXRTdHJpbmcpO1xuICB9XG59Il19
@@ -1,51 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import { DateTimeHelper } from '../../../core/date-time-helper';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../user-preference.service";
6
- /**
7
- * Format a date to the user's preference for display
8
- * @deprecated Use DateDisplayPipe2 instead
9
- */
10
- export class DateDisplayPipe {
11
- constructor(userPreferenceService) {
12
- this.userPreferenceService = userPreferenceService;
13
- this.lastFormatString = 'MM/DD/YYYY';
14
- }
15
- /**
16
- * Format a date for display, accounting for user's display preferences.
17
- *
18
- * If {@see date} is null or undefined, or the end of time, returns empty string
19
- */
20
- transform(date, showEndOfTime, showTime, showSeconds) {
21
- let display = '';
22
- let formatString = '';
23
- if (date && moment(date).isValid() && (showEndOfTime || !DateTimeHelper.isEndOfTime(date))) {
24
- // use user-preferred formats
25
- this.userPreferenceService.getPreferences().subscribe(result => {
26
- //if preferences exist then format date to users preference
27
- //otherwise use the last user preference
28
- if (result.preference) {
29
- formatString = result.preference.dateFormat;
30
- if (showTime) {
31
- let timeFormat = result.preference.timeFormat;
32
- if (!showSeconds) {
33
- timeFormat = timeFormat.replace(':ss', '');
34
- }
35
- formatString += ` ${timeFormat}`;
36
- }
37
- this.lastFormatString = formatString;
38
- }
39
- });
40
- display = moment(date).format(this.lastFormatString);
41
- }
42
- return display;
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
45
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, name: "dateDisplay" }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, decorators: [{
48
- type: Pipe,
49
- args: [{ name: 'dateDisplay' }]
50
- }], ctorParameters: () => [{ type: i1.UserPreferenceService }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvZGF0ZS1kaXNwbGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBS2hFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBRXhELHFCQUFnQixHQUFXLFlBQVksQ0FBQztJQUZvQixDQUFDO0lBSXJFOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsSUFBa0IsRUFBRSxhQUF1QixFQUFFLFFBQWtCLEVBQUUsV0FBcUI7UUFDOUYsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLElBQUksWUFBWSxHQUFXLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUUzRiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFFN0QsNERBQTREO2dCQUM1RCx3Q0FBd0M7Z0JBQ3hDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN0QixZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVcsQ0FBQyxVQUFXLENBQUM7b0JBQzlDLElBQUksUUFBUSxFQUFFLENBQUM7d0JBQ2IsSUFBSSxVQUFVLEdBQVcsTUFBTSxDQUFDLFVBQVcsQ0FBQyxVQUFXLENBQUM7d0JBQ3hELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzs0QkFDakIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QyxDQUFDO3dCQUNELFlBQVksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNuQyxDQUFDO29CQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7Z0JBQ3ZDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOytHQXJDVSxlQUFlOzZHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1oZWxwZXInO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXRlRGlzcGxheSA9IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nIHwgbnVsbDtcblxuLyoqXG4gKiBGb3JtYXQgYSBkYXRlIHRvIHRoZSB1c2VyJ3MgcHJlZmVyZW5jZSBmb3IgZGlzcGxheVxuICogQGRlcHJlY2F0ZWQgVXNlIERhdGVEaXNwbGF5UGlwZTIgaW5zdGVhZFxuICovXG5AUGlwZSh7bmFtZTogJ2RhdGVEaXNwbGF5J30pXG5leHBvcnQgY2xhc3MgRGF0ZURpc3BsYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkgeyB9XG5cbiAgcHJpdmF0ZSBsYXN0Rm9ybWF0U3RyaW5nOiBzdHJpbmcgPSAnTU0vREQvWVlZWSc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhIGRhdGUgZm9yIGRpc3BsYXksIGFjY291bnRpbmcgZm9yIHVzZXIncyBkaXNwbGF5IHByZWZlcmVuY2VzLlxuICAgKiBcbiAgICogSWYge0BzZWUgZGF0ZX0gaXMgbnVsbCBvciB1bmRlZmluZWQsIG9yIHRoZSBlbmQgb2YgdGltZSwgcmV0dXJucyBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHRyYW5zZm9ybShkYXRlPzogRGF0ZURpc3BsYXksIHNob3dFbmRPZlRpbWU/OiBib29sZWFuLCBzaG93VGltZT86IGJvb2xlYW4sIHNob3dTZWNvbmRzPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgbGV0IGRpc3BsYXk6IHN0cmluZyA9ICcnO1xuICAgIGxldCBmb3JtYXRTdHJpbmc6IHN0cmluZyA9ICcnO1xuICAgIFxuICAgIGlmIChkYXRlICYmIG1vbWVudChkYXRlKS5pc1ZhbGlkKCkgJiYgKHNob3dFbmRPZlRpbWUgfHwgIURhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGRhdGUpKSkge1xuXG4gICAgICAvLyB1c2UgdXNlci1wcmVmZXJyZWQgZm9ybWF0c1xuICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuZ2V0UHJlZmVyZW5jZXMoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcblxuICAgICAgICAvL2lmIHByZWZlcmVuY2VzIGV4aXN0IHRoZW4gZm9ybWF0IGRhdGUgdG8gdXNlcnMgcHJlZmVyZW5jZSBcbiAgICAgICAgLy9vdGhlcndpc2UgdXNlIHRoZSBsYXN0IHVzZXIgcHJlZmVyZW5jZVxuICAgICAgICBpZiAocmVzdWx0LnByZWZlcmVuY2UpIHtcbiAgICAgICAgICBmb3JtYXRTdHJpbmcgPSByZXN1bHQucHJlZmVyZW5jZSEuZGF0ZUZvcm1hdCE7XG4gICAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICBsZXQgdGltZUZvcm1hdDogc3RyaW5nID0gcmVzdWx0LnByZWZlcmVuY2UhLnRpbWVGb3JtYXQhO1xuICAgICAgICAgICAgaWYgKCFzaG93U2Vjb25kcykge1xuICAgICAgICAgICAgICB0aW1lRm9ybWF0ID0gdGltZUZvcm1hdC5yZXBsYWNlKCc6c3MnLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtYXRTdHJpbmcgKz0gYCAke3RpbWVGb3JtYXR9YDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sYXN0Rm9ybWF0U3RyaW5nID0gZm9ybWF0U3RyaW5nO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGRpc3BsYXkgPSBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMubGFzdEZvcm1hdFN0cmluZyk7XG4gICAgfVxuICAgIHJldHVybiBkaXNwbGF5O1xuICB9XG5cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HighlightTextPipe {
4
- transform(value, searchText) {
5
- let transformedValue = '';
6
- if (value && searchText) {
7
- const regex = new RegExp(this.escapeRegex(searchText), 'gi');
8
- transformedValue = value.replace(regex, this.strongWrap);
9
- }
10
- else {
11
- transformedValue = value;
12
- }
13
- return transformedValue;
14
- }
15
- strongWrap(match) {
16
- return `<strong class="text-highlight">${match}</strong>`;
17
- }
18
- escapeRegex(value) {
19
- return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, name: "highlightText" }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, decorators: [{
25
- type: Pipe,
26
- args: [{
27
- name: 'highlightText'
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRleHQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS9waXBlcy9oaWdobGlnaHQtdGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsVUFBa0I7UUFDekMsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7WUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3RCxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDTixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sa0NBQWtDLEtBQUssV0FBVyxDQUFDO0lBQzVELENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUMvQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FwQlUsaUJBQWlCOzZHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSDdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdoaWdobGlnaHRUZXh0J1xufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRUZXh0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBzZWFyY2hUZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gJyc7XG4gICAgaWYgKHZhbHVlICYmIHNlYXJjaFRleHQpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmVzY2FwZVJlZ2V4KHNlYXJjaFRleHQpLCAnZ2knKTtcbiAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKHJlZ2V4LCB0aGlzLnN0cm9uZ1dyYXApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHN0cm9uZ1dyYXAobWF0Y2g6IHN0cmluZykge1xuICAgIHJldHVybiBgPHN0cm9uZyBjbGFzcz1cInRleHQtaGlnaGxpZ2h0XCI+JHttYXRjaH08L3N0cm9uZz5gO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVSZWdleCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xuICB9XG59XG4iXX0=