@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260212-1633

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 (143) 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/display/hierarchy/hierarchy-base.d.ts +1 -1
  7. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
  8. package/lib/display/resizable/resizable-base.d.ts +1 -1
  9. package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
  10. package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
  11. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
  12. package/package.json +1 -3
  13. package/schematics/utilities/typescript.js +3 -4
  14. package/schematics/utilities/typescript.js.map +1 -1
  15. package/schematics/utilities/workspace.d.ts +0 -8
  16. package/schematics/utilities/workspace.js +48 -71
  17. package/schematics/utilities/workspace.js.map +1 -1
  18. package/esm2022/energycap-components.mjs +0 -5
  19. package/esm2022/lib/components.module.mjs +0 -425
  20. package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
  21. package/esm2022/lib/controls/button/button.component.mjs +0 -114
  22. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  23. package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
  24. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  25. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
  26. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
  27. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
  28. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  29. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
  30. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  31. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  32. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  33. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  34. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  35. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  36. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  37. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  38. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  39. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
  40. package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
  41. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  42. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  43. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
  44. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  45. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  46. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  47. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
  48. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  49. package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
  50. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  51. package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
  52. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  53. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  54. package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
  55. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  56. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  57. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
  58. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  59. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  60. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  61. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  62. package/esm2022/lib/core/cache.service.mjs +0 -105
  63. package/esm2022/lib/core/custom-validators.mjs +0 -29
  64. package/esm2022/lib/core/date-time-helper.mjs +0 -228
  65. package/esm2022/lib/core/error.service.mjs +0 -61
  66. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  67. package/esm2022/lib/core/scroll.service.mjs +0 -89
  68. package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
  69. package/esm2022/lib/core/telemetry.service.mjs +0 -38
  70. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  71. package/esm2022/lib/core/validation-patterns.mjs +0 -31
  72. package/esm2022/lib/core/window.service.mjs +0 -186
  73. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
  74. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  75. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  76. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  77. package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
  78. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  79. package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
  80. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
  81. package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
  82. package/esm2022/lib/display/help/help-types.mjs +0 -2
  83. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  84. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
  85. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
  86. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
  87. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  88. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  89. package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
  90. package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
  91. package/esm2022/lib/display/splash/splash.component.mjs +0 -61
  92. package/esm2022/lib/display/splash/splash.service.mjs +0 -35
  93. package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
  94. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  95. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
  96. package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
  97. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  98. package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
  99. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  100. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  101. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  102. package/esm2022/lib/display/table/table.component.mjs +0 -257
  103. package/esm2022/lib/display/tags/tag.mjs +0 -18
  104. package/esm2022/lib/display/tags/tags.component.mjs +0 -82
  105. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  106. package/esm2022/lib/display/toast/toast-types.mjs +0 -8
  107. package/esm2022/lib/display/toast/toast.service.mjs +0 -35
  108. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  109. package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
  110. package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
  111. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  112. package/esm2022/lib/display/tree/tree.component.mjs +0 -139
  113. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  114. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  115. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  116. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
  117. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  118. package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
  119. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
  120. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  121. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  122. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  123. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  124. package/esm2022/lib/shared/display.mjs +0 -6
  125. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  126. package/esm2022/lib/shared/json-helper.mjs +0 -19
  127. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  128. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  129. package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
  130. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
  131. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  132. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
  133. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
  134. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
  135. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  136. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
  137. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
  138. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
  139. package/esm2022/lib/shared/user-preference.service.mjs +0 -17
  140. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  141. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
  142. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
  143. package/esm2022/public-api.mjs +0 -115
@@ -2,12 +2,11 @@ import * as i1$3 from '@angular/cdk/a11y';
2
2
  import { A11yModule } from '@angular/cdk/a11y';
3
3
  import * as i1$1 from '@angular/cdk/overlay';
4
4
  import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
5
- import * as i1$4 from '@angular/cdk/scrolling';
6
5
  import { ScrollingModule } from '@angular/cdk/scrolling';
7
6
  import * as i1 from '@angular/common';
8
7
  import { DOCUMENT, CommonModule } from '@angular/common';
9
8
  import * as i0 from '@angular/core';
10
- import { Injectable, EventEmitter, Component, HostBinding, Input, Output, ViewChild, Directive, Host, Pipe, ChangeDetectionStrategy, HostListener, Inject, ViewEncapsulation, ContentChild, ElementRef, TemplateRef, ContentChildren, ViewContainerRef, NgModule, Injector } from '@angular/core';
9
+ import { Injectable, EventEmitter, ViewChild, Output, Input, HostBinding, Component, Directive, Host, Pipe, ChangeDetectionStrategy, HostListener, Inject, ContentChild, ViewEncapsulation, ElementRef, TemplateRef, ContentChildren, ViewContainerRef, NgModule, Injector } from '@angular/core';
11
10
  import * as i4 from '@angular/forms';
12
11
  import { Validators, UntypedFormControl, FormControlDirective, FormControl, FormGroup, UntypedFormGroup, UntypedFormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
13
12
  import * as i1$2 from '@angular/router';
@@ -115,10 +114,10 @@ class CacheService {
115
114
  return null;
116
115
  }
117
116
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, providedIn: 'root' }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
118
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CacheService, providedIn: 'root' }); }
120
119
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CacheService, decorators: [{
122
121
  type: Injectable,
123
122
  args: [{
124
123
  providedIn: 'root'
@@ -191,12 +190,12 @@ class ButtonComponent {
191
190
  focus() {
192
191
  this.buttonElement.nativeElement.focus();
193
192
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "ec-button", inputs: { id: "id", disabled: "disabled", lockButton: "lockButton", icon: "icon", iconColor: "iconColor", label: "label", badge: "badge", tabindex: "tabindex", type: "type", pending: "pending", pendingIcon: "pendingIcon", customTemplate: "customTemplate", isSubmit: "isSubmit", autofocus: "autofocus" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.id": "this.id" } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["element"], descendants: true, static: true }], ngImport: i0, template: "<button id=\"{{id}}_button\"\n class=\"ec-button-{{customTemplate ? 'custom' : type}}\"\n [class.has-badge]=\"badge !== undefined\"\n [class.icon-only]=\"icon && !label\"\n [class.locked]=\"lockButton\"\n [class.has-custom-icon-color]=\"iconColor\"\n [style.--ec-button-custom-icon-color]=\"iconColor\"\n tabindex=\"{{tabindex}}\"\n [type]=\"type === 'submit' || isSubmit ? 'submit' : 'button'\"\n [disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n #element\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <ng-container *ngIf=\"customTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplate\"></ng-container>\n </ng-container>\n <ng-content></ng-content>\n</button>\n\n<ng-template #defaultTemplate>\n <!-- Hidden when the button is not pending -->\n <div class=\"pending-container\" *ngIf=\"pending\">\n <i class=\"ec-icon {{pendingIcon}}\" id=\"{{id}}_pending\"></i>\n </div>\n\n <i class=\"ec-icon {{icon}}\" id=\"{{id}}_icon\" *ngIf=\"icon\"></i>\n\n <ng-container *ngIf=\"label\">\n <span id=\"{{id}}_label\" class=\"label\">{{label | translate}}</span>\n </ng-container>\n\n <ng-container *ngIf=\"badge !== undefined\">\n <span id=\"{{id}}_badge\" class=\"badge\">{{badge}}</span>\n </ng-container>\n</ng-template>", styles: [":host{display:inline-block;vertical-align:top}:host(.font-size-inherit){font-size:inherit}:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-icon,:host(.active) .ec-button-text,:host(.active) .ec-button-link,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-custom,:host(.active) .ec-button-secondary,:host(.active) .ec-button-primary{background-color:var(--ec-background-color-selected);color:var(--ec-button-color-active)}:host(.active) .ec-button-icon .ec-icon,:host(.active) .ec-button-text .ec-icon,:host(.active) .ec-button-link .ec-icon,:host(.active) .ec-button-danger-text .ec-icon,:host(.active) .ec-button-custom .ec-icon,:host(.active) .ec-button-secondary .ec-icon,:host(.active) .ec-button-primary .ec-icon{color:var(--ec-button-color-icon-active, var(--ec-color-icon))}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{width:.0625rem;height:.0625rem}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8));color:var(--ec-button-color-primary, var(--ec-color-primary-light))}.ec-button-primary:active:not(:disabled),.ec-button-submit:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-primary:focus,.ec-button-submit:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-color-interactive), inset 0 0 0 2px var(--ec-color-white))}.ec-button-primary .ec-icon,.ec-button-submit .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))}.ec-button-primary.locked:hover,.ec-button-primary.locked:active,.ec-button-primary.locked:focus,.ec-button-submit.locked:hover,.ec-button-submit.locked:active,.ec-button-submit.locked:focus{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-primary, var(--ec-color-primary-light))!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-primary.locked:hover .ec-icon,.ec-button-primary.locked:active .ec-icon,.ec-button-primary.locked:focus .ec-icon,.ec-button-submit.locked:hover .ec-icon,.ec-button-submit.locked:active .ec-icon,.ec-button-submit.locked:focus .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))!important}.ec-button-secondary{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-secondary:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-secondary:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-secondary .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-secondary.locked:hover,.ec-button-secondary.locked:active,.ec-button-secondary.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-secondary.locked:hover .ec-icon,.ec-button-secondary.locked:active .ec-icon,.ec-button-secondary.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-common{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-common:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-common:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-common .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-common.locked:hover,.ec-button-common.locked:active,.ec-button-common.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-common.locked:hover .ec-icon,.ec-button-common.locked:active .ec-icon,.ec-button-common.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-icon{background-color:transparent;color:var(--ec-button-color-icon, var(--ec-color-icon));width:2rem;padding:0}.ec-button-icon .ec-icon{height:1rem;margin:0;padding:0;color:inherit}.ec-button-icon:hover:not(:disabled){background-color:var(--ec-background-color-hover)}.ec-button-icon:hover:not(:disabled) .ec-icon{color:var(--ec-button-color-icon-hover, var(--ec-button-color-icon, var(--ec-color-icon)))}.ec-button-icon:active:not(:disabled),.ec-button-icon:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-icon:active:not(:disabled){background-color:var(--ec-background-color-selected)}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{color:var(--ec-color-disabled-dark)}.ec-button-icon.has-badge{width:auto;min-width:2rem;padding-right:0;padding-left:.375rem}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-icon.locked:hover,.ec-button-icon.locked:active,.ec-button-icon.locked:focus{background-color:transparent!important;color:var(--ec-button-color-icon, var(--ec-color-icon))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-icon.locked:hover .ec-icon,.ec-button-icon.locked:active .ec-icon,.ec-button-icon.locked:focus .ec-icon{color:var(--ec-button-color-icon, var(--ec-color-icon))!important}.ec-button-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-primary-dark))}.ec-button-text .ec-icon{color:var(--ec-button-color-icon-text, inherit)}.ec-button-text:active:not(:disabled),.ec-button-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-text.locked:hover,.ec-button-text.locked:active,.ec-button-text.locked:focus{background-color:transparent!important;color:var(--ec-button-color-text, var(--ec-color-primary-dark))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-text.locked:hover .ec-icon,.ec-button-text.locked:active .ec-icon,.ec-button-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-text, inherit)!important}.ec-button-link{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-link))}.ec-button-link .ec-icon{color:var(--ec-button-color-icon-link, inherit)}.ec-button-link:active:not(:disabled),.ec-button-link:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-link.locked:hover,.ec-button-link.locked:active,.ec-button-link.locked:focus{background-color:transparent!important;color:var(--ec-color-link)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-link.locked:hover .ec-icon,.ec-button-link.locked:active .ec-icon,.ec-button-link.locked:focus .ec-icon{color:var(--ec-button-color-icon-link, inherit)!important}.ec-button-danger{background-color:var(--ec-color-danger);color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:var(--ec-button-color-icon, inherit)}.ec-button-danger:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-border-color-focus), inset 0 0 0 2px var(--ec-color-white))}.ec-button-danger.locked:hover,.ec-button-danger.locked:active,.ec-button-danger.locked:focus{background-color:var(--ec-color-danger)!important;color:var(--ec-color-primary-light)!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-danger.locked:hover .ec-icon,.ec-button-danger.locked:active .ec-icon,.ec-button-danger.locked:focus .ec-icon{color:var(--ec-button-color-icon, inherit)!important}.ec-button-danger-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-danger))}.ec-button-danger-text .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)}.ec-button-danger-text:active:not(:disabled),.ec-button-danger-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-danger-text.locked:hover,.ec-button-danger-text.locked:active,.ec-button-danger-text.locked:focus{background-color:transparent!important;color:var(--ec-color-danger)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-danger-text.locked:hover .ec-icon,.ec-button-danger-text.locked:active .ec-icon,.ec-button-danger-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)!important}.ec-button-card{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark));color:var(--ec-color-primary-dark);font-size:var(--ec-font-size);font-weight:var(--ec-font-weight-normal);line-height:1.285714286;margin:0;padding:1rem;height:auto;border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);text-align:start;height:100%;width:100%}.ec-button-card:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-card:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-card .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-card:hover:not(:disabled):not(:focus){box-shadow:none;border-color:var(--ec-border-color-control-hover)}.ec-button-card.locked:hover,.ec-button-card.locked:active,.ec-button-card.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-border-color)!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-card.locked:hover .ec-icon,.ec-button-card.locked:active .ec-icon,.ec-button-card.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-custom{padding:0;background-color:transparent;height:auto}.ec-button-custom:disabled{background-color:transparent;border:0}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button.icon-only{padding:0;width:2rem}button.locked{cursor:default!important}button.locked:hover,button.locked:active,button.locked:focus{transform:none!important;transition:none!important;animation:none!important}button.locked:hover .label,button.locked:active .label,button.locked:focus .label{color:inherit!important}button.locked:hover .badge,button.locked:active .badge,button.locked:focus .badge{color:inherit!important;background-color:inherit!important}button.has-custom-icon-color .ec-icon,button.has-custom-icon-color .pending-container .ec-icon{color:var(--ec-button-custom-icon-color)!important}button.has-custom-icon-color.locked:hover .ec-icon,button.has-custom-icon-color.locked:active .ec-icon,button.has-custom-icon-color.locked:focus .ec-icon{color:var(--ec-button-custom-icon-color)!important}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{padding-left:.4375rem;padding-right:.4375rem;border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}:host(.is-tab) button{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}:host(.is-tab) button.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}:host(.is-tab) button:hover,:host(.is-tab) button:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}:host(.is-tab) button.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}:host(.is-tab) button.ec-button-icon{padding:0;justify-content:center;width:auto}:host(.is-tab) button.ec-button-icon .ec-icon{color:inherit}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pending-container{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1}.pending-container>.ec-icon{flex:none;color:inherit}.pending-container~.ec-icon,.pending-container~.label,.pending-container~.badge{opacity:0}.badge{margin-left:-.25rem;margin-top:-.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ButtonComponent, isStandalone: false, selector: "ec-button", inputs: { id: "id", disabled: "disabled", lockButton: "lockButton", icon: "icon", iconColor: "iconColor", label: "label", badge: "badge", tabindex: "tabindex", type: "type", pending: "pending", pendingIcon: "pendingIcon", customTemplate: "customTemplate", isSubmit: "isSubmit", autofocus: "autofocus" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.id": "this.id" } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["element"], descendants: true, static: true }], ngImport: i0, template: "<button id=\"{{id}}_button\"\n class=\"ec-button-{{customTemplate ? 'custom' : type}}\"\n [class.has-badge]=\"badge !== undefined\"\n [class.icon-only]=\"icon && !label\"\n [class.locked]=\"lockButton\"\n [class.has-custom-icon-color]=\"iconColor\"\n [style.--ec-button-custom-icon-color]=\"iconColor\"\n tabindex=\"{{tabindex}}\"\n [type]=\"type === 'submit' || isSubmit ? 'submit' : 'button'\"\n [disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n #element\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <ng-container *ngIf=\"customTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplate\"></ng-container>\n </ng-container>\n <ng-content></ng-content>\n</button>\n\n<ng-template #defaultTemplate>\n <!-- Hidden when the button is not pending -->\n <div class=\"pending-container\" *ngIf=\"pending\">\n <i class=\"ec-icon {{pendingIcon}}\" id=\"{{id}}_pending\"></i>\n </div>\n\n <i class=\"ec-icon {{icon}}\" id=\"{{id}}_icon\" *ngIf=\"icon\"></i>\n\n <ng-container *ngIf=\"label\">\n <span id=\"{{id}}_label\" class=\"label\">{{label | translate}}</span>\n </ng-container>\n\n <ng-container *ngIf=\"badge !== undefined\">\n <span id=\"{{id}}_badge\" class=\"badge\">{{badge}}</span>\n </ng-container>\n</ng-template>", styles: [":host{display:inline-block;vertical-align:top}:host(.font-size-inherit){font-size:inherit}:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-icon,:host(.active) .ec-button-text,:host(.active) .ec-button-link,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-custom,:host(.active) .ec-button-secondary,:host(.active) .ec-button-primary{background-color:var(--ec-background-color-selected);color:var(--ec-button-color-active)}:host(.active) .ec-button-icon .ec-icon,:host(.active) .ec-button-text .ec-icon,:host(.active) .ec-button-link .ec-icon,:host(.active) .ec-button-danger-text .ec-icon,:host(.active) .ec-button-custom .ec-icon,:host(.active) .ec-button-secondary .ec-icon,:host(.active) .ec-button-primary .ec-icon{color:var(--ec-button-color-icon-active, var(--ec-color-icon))}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{width:.0625rem;height:.0625rem}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8));color:var(--ec-button-color-primary, var(--ec-color-primary-light))}.ec-button-primary:active:not(:disabled),.ec-button-submit:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-primary:focus,.ec-button-submit:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-color-interactive), inset 0 0 0 2px var(--ec-color-white))}.ec-button-primary .ec-icon,.ec-button-submit .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))}.ec-button-primary.locked:hover,.ec-button-primary.locked:active,.ec-button-primary.locked:focus,.ec-button-submit.locked:hover,.ec-button-submit.locked:active,.ec-button-submit.locked:focus{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-primary, var(--ec-color-primary-light))!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-primary.locked:hover .ec-icon,.ec-button-primary.locked:active .ec-icon,.ec-button-primary.locked:focus .ec-icon,.ec-button-submit.locked:hover .ec-icon,.ec-button-submit.locked:active .ec-icon,.ec-button-submit.locked:focus .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))!important}.ec-button-secondary{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-secondary:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-secondary:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-secondary .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-secondary.locked:hover,.ec-button-secondary.locked:active,.ec-button-secondary.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-secondary.locked:hover .ec-icon,.ec-button-secondary.locked:active .ec-icon,.ec-button-secondary.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-common{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-common:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-common:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-common .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-common.locked:hover,.ec-button-common.locked:active,.ec-button-common.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-common.locked:hover .ec-icon,.ec-button-common.locked:active .ec-icon,.ec-button-common.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-icon{background-color:transparent;color:var(--ec-button-color-icon, var(--ec-color-icon));width:2rem;padding:0}.ec-button-icon .ec-icon{height:1rem;margin:0;padding:0;color:inherit}.ec-button-icon:hover:not(:disabled){background-color:var(--ec-background-color-hover)}.ec-button-icon:hover:not(:disabled) .ec-icon{color:var(--ec-button-color-icon-hover, var(--ec-button-color-icon, var(--ec-color-icon)))}.ec-button-icon:active:not(:disabled),.ec-button-icon:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-icon:active:not(:disabled){background-color:var(--ec-background-color-selected)}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{color:var(--ec-color-disabled-dark)}.ec-button-icon.has-badge{width:auto;min-width:2rem;padding-right:0;padding-left:.375rem}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-icon.locked:hover,.ec-button-icon.locked:active,.ec-button-icon.locked:focus{background-color:transparent!important;color:var(--ec-button-color-icon, var(--ec-color-icon))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-icon.locked:hover .ec-icon,.ec-button-icon.locked:active .ec-icon,.ec-button-icon.locked:focus .ec-icon{color:var(--ec-button-color-icon, var(--ec-color-icon))!important}.ec-button-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-primary-dark))}.ec-button-text .ec-icon{color:var(--ec-button-color-icon-text, inherit)}.ec-button-text:active:not(:disabled),.ec-button-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-text.locked:hover,.ec-button-text.locked:active,.ec-button-text.locked:focus{background-color:transparent!important;color:var(--ec-button-color-text, var(--ec-color-primary-dark))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-text.locked:hover .ec-icon,.ec-button-text.locked:active .ec-icon,.ec-button-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-text, inherit)!important}.ec-button-link{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-link))}.ec-button-link .ec-icon{color:var(--ec-button-color-icon-link, inherit)}.ec-button-link:active:not(:disabled),.ec-button-link:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-link.locked:hover,.ec-button-link.locked:active,.ec-button-link.locked:focus{background-color:transparent!important;color:var(--ec-color-link)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-link.locked:hover .ec-icon,.ec-button-link.locked:active .ec-icon,.ec-button-link.locked:focus .ec-icon{color:var(--ec-button-color-icon-link, inherit)!important}.ec-button-danger{background-color:var(--ec-color-danger);color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:var(--ec-button-color-icon, inherit)}.ec-button-danger:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-border-color-focus), inset 0 0 0 2px var(--ec-color-white))}.ec-button-danger.locked:hover,.ec-button-danger.locked:active,.ec-button-danger.locked:focus{background-color:var(--ec-color-danger)!important;color:var(--ec-color-primary-light)!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-danger.locked:hover .ec-icon,.ec-button-danger.locked:active .ec-icon,.ec-button-danger.locked:focus .ec-icon{color:var(--ec-button-color-icon, inherit)!important}.ec-button-danger-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-danger))}.ec-button-danger-text .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)}.ec-button-danger-text:active:not(:disabled),.ec-button-danger-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-danger-text.locked:hover,.ec-button-danger-text.locked:active,.ec-button-danger-text.locked:focus{background-color:transparent!important;color:var(--ec-color-danger)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-danger-text.locked:hover .ec-icon,.ec-button-danger-text.locked:active .ec-icon,.ec-button-danger-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)!important}.ec-button-card{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark));color:var(--ec-color-primary-dark);font-size:var(--ec-font-size);font-weight:var(--ec-font-weight-normal);line-height:1.285714286;margin:0;padding:1rem;height:auto;border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);text-align:start;height:100%;width:100%}.ec-button-card:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-card:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-card .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-card:hover:not(:disabled):not(:focus){box-shadow:none;border-color:var(--ec-border-color-control-hover)}.ec-button-card.locked:hover,.ec-button-card.locked:active,.ec-button-card.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-border-color)!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-card.locked:hover .ec-icon,.ec-button-card.locked:active .ec-icon,.ec-button-card.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-custom{padding:0;background-color:transparent;height:auto}.ec-button-custom:disabled{background-color:transparent;border:0}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button.icon-only{padding:0;width:2rem}button.locked{cursor:default!important}button.locked:hover,button.locked:active,button.locked:focus{transform:none!important;transition:none!important;animation:none!important}button.locked:hover .label,button.locked:active .label,button.locked:focus .label{color:inherit!important}button.locked:hover .badge,button.locked:active .badge,button.locked:focus .badge{color:inherit!important;background-color:inherit!important}button.has-custom-icon-color .ec-icon,button.has-custom-icon-color .pending-container .ec-icon{color:var(--ec-button-custom-icon-color)!important}button.has-custom-icon-color.locked:hover .ec-icon,button.has-custom-icon-color.locked:active .ec-icon,button.has-custom-icon-color.locked:focus .ec-icon{color:var(--ec-button-custom-icon-color)!important}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{padding-left:.4375rem;padding-right:.4375rem;border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}:host(.is-tab) button{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}:host(.is-tab) button.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}:host(.is-tab) button:hover,:host(.is-tab) button:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}:host(.is-tab) button.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}:host(.is-tab) button.ec-button-icon{padding:0;justify-content:center;width:auto}:host(.is-tab) button.ec-button-icon .ec-icon{color:inherit}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pending-container{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1}.pending-container>.ec-icon{flex:none;color:inherit}.pending-container~.ec-icon,.pending-container~.label,.pending-container~.badge{opacity:0}.badge{margin-left:-.25rem;margin-top:-.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
196
195
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ButtonComponent, decorators: [{
198
197
  type: Component,
199
- args: [{ selector: 'ec-button', template: "<button id=\"{{id}}_button\"\n class=\"ec-button-{{customTemplate ? 'custom' : type}}\"\n [class.has-badge]=\"badge !== undefined\"\n [class.icon-only]=\"icon && !label\"\n [class.locked]=\"lockButton\"\n [class.has-custom-icon-color]=\"iconColor\"\n [style.--ec-button-custom-icon-color]=\"iconColor\"\n tabindex=\"{{tabindex}}\"\n [type]=\"type === 'submit' || isSubmit ? 'submit' : 'button'\"\n [disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n #element\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <ng-container *ngIf=\"customTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplate\"></ng-container>\n </ng-container>\n <ng-content></ng-content>\n</button>\n\n<ng-template #defaultTemplate>\n <!-- Hidden when the button is not pending -->\n <div class=\"pending-container\" *ngIf=\"pending\">\n <i class=\"ec-icon {{pendingIcon}}\" id=\"{{id}}_pending\"></i>\n </div>\n\n <i class=\"ec-icon {{icon}}\" id=\"{{id}}_icon\" *ngIf=\"icon\"></i>\n\n <ng-container *ngIf=\"label\">\n <span id=\"{{id}}_label\" class=\"label\">{{label | translate}}</span>\n </ng-container>\n\n <ng-container *ngIf=\"badge !== undefined\">\n <span id=\"{{id}}_badge\" class=\"badge\">{{badge}}</span>\n </ng-container>\n</ng-template>", styles: [":host{display:inline-block;vertical-align:top}:host(.font-size-inherit){font-size:inherit}:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-icon,:host(.active) .ec-button-text,:host(.active) .ec-button-link,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-custom,:host(.active) .ec-button-secondary,:host(.active) .ec-button-primary{background-color:var(--ec-background-color-selected);color:var(--ec-button-color-active)}:host(.active) .ec-button-icon .ec-icon,:host(.active) .ec-button-text .ec-icon,:host(.active) .ec-button-link .ec-icon,:host(.active) .ec-button-danger-text .ec-icon,:host(.active) .ec-button-custom .ec-icon,:host(.active) .ec-button-secondary .ec-icon,:host(.active) .ec-button-primary .ec-icon{color:var(--ec-button-color-icon-active, var(--ec-color-icon))}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{width:.0625rem;height:.0625rem}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8));color:var(--ec-button-color-primary, var(--ec-color-primary-light))}.ec-button-primary:active:not(:disabled),.ec-button-submit:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-primary:focus,.ec-button-submit:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-color-interactive), inset 0 0 0 2px var(--ec-color-white))}.ec-button-primary .ec-icon,.ec-button-submit .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))}.ec-button-primary.locked:hover,.ec-button-primary.locked:active,.ec-button-primary.locked:focus,.ec-button-submit.locked:hover,.ec-button-submit.locked:active,.ec-button-submit.locked:focus{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-primary, var(--ec-color-primary-light))!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-primary.locked:hover .ec-icon,.ec-button-primary.locked:active .ec-icon,.ec-button-primary.locked:focus .ec-icon,.ec-button-submit.locked:hover .ec-icon,.ec-button-submit.locked:active .ec-icon,.ec-button-submit.locked:focus .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))!important}.ec-button-secondary{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-secondary:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-secondary:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-secondary .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-secondary.locked:hover,.ec-button-secondary.locked:active,.ec-button-secondary.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-secondary.locked:hover .ec-icon,.ec-button-secondary.locked:active .ec-icon,.ec-button-secondary.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-common{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-common:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-common:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-common .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-common.locked:hover,.ec-button-common.locked:active,.ec-button-common.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-common.locked:hover .ec-icon,.ec-button-common.locked:active .ec-icon,.ec-button-common.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-icon{background-color:transparent;color:var(--ec-button-color-icon, var(--ec-color-icon));width:2rem;padding:0}.ec-button-icon .ec-icon{height:1rem;margin:0;padding:0;color:inherit}.ec-button-icon:hover:not(:disabled){background-color:var(--ec-background-color-hover)}.ec-button-icon:hover:not(:disabled) .ec-icon{color:var(--ec-button-color-icon-hover, var(--ec-button-color-icon, var(--ec-color-icon)))}.ec-button-icon:active:not(:disabled),.ec-button-icon:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-icon:active:not(:disabled){background-color:var(--ec-background-color-selected)}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{color:var(--ec-color-disabled-dark)}.ec-button-icon.has-badge{width:auto;min-width:2rem;padding-right:0;padding-left:.375rem}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-icon.locked:hover,.ec-button-icon.locked:active,.ec-button-icon.locked:focus{background-color:transparent!important;color:var(--ec-button-color-icon, var(--ec-color-icon))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-icon.locked:hover .ec-icon,.ec-button-icon.locked:active .ec-icon,.ec-button-icon.locked:focus .ec-icon{color:var(--ec-button-color-icon, var(--ec-color-icon))!important}.ec-button-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-primary-dark))}.ec-button-text .ec-icon{color:var(--ec-button-color-icon-text, inherit)}.ec-button-text:active:not(:disabled),.ec-button-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-text.locked:hover,.ec-button-text.locked:active,.ec-button-text.locked:focus{background-color:transparent!important;color:var(--ec-button-color-text, var(--ec-color-primary-dark))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-text.locked:hover .ec-icon,.ec-button-text.locked:active .ec-icon,.ec-button-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-text, inherit)!important}.ec-button-link{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-link))}.ec-button-link .ec-icon{color:var(--ec-button-color-icon-link, inherit)}.ec-button-link:active:not(:disabled),.ec-button-link:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-link.locked:hover,.ec-button-link.locked:active,.ec-button-link.locked:focus{background-color:transparent!important;color:var(--ec-color-link)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-link.locked:hover .ec-icon,.ec-button-link.locked:active .ec-icon,.ec-button-link.locked:focus .ec-icon{color:var(--ec-button-color-icon-link, inherit)!important}.ec-button-danger{background-color:var(--ec-color-danger);color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:var(--ec-button-color-icon, inherit)}.ec-button-danger:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-border-color-focus), inset 0 0 0 2px var(--ec-color-white))}.ec-button-danger.locked:hover,.ec-button-danger.locked:active,.ec-button-danger.locked:focus{background-color:var(--ec-color-danger)!important;color:var(--ec-color-primary-light)!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-danger.locked:hover .ec-icon,.ec-button-danger.locked:active .ec-icon,.ec-button-danger.locked:focus .ec-icon{color:var(--ec-button-color-icon, inherit)!important}.ec-button-danger-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-danger))}.ec-button-danger-text .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)}.ec-button-danger-text:active:not(:disabled),.ec-button-danger-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-danger-text.locked:hover,.ec-button-danger-text.locked:active,.ec-button-danger-text.locked:focus{background-color:transparent!important;color:var(--ec-color-danger)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-danger-text.locked:hover .ec-icon,.ec-button-danger-text.locked:active .ec-icon,.ec-button-danger-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)!important}.ec-button-card{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark));color:var(--ec-color-primary-dark);font-size:var(--ec-font-size);font-weight:var(--ec-font-weight-normal);line-height:1.285714286;margin:0;padding:1rem;height:auto;border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);text-align:start;height:100%;width:100%}.ec-button-card:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-card:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-card .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-card:hover:not(:disabled):not(:focus){box-shadow:none;border-color:var(--ec-border-color-control-hover)}.ec-button-card.locked:hover,.ec-button-card.locked:active,.ec-button-card.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-border-color)!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-card.locked:hover .ec-icon,.ec-button-card.locked:active .ec-icon,.ec-button-card.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-custom{padding:0;background-color:transparent;height:auto}.ec-button-custom:disabled{background-color:transparent;border:0}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button.icon-only{padding:0;width:2rem}button.locked{cursor:default!important}button.locked:hover,button.locked:active,button.locked:focus{transform:none!important;transition:none!important;animation:none!important}button.locked:hover .label,button.locked:active .label,button.locked:focus .label{color:inherit!important}button.locked:hover .badge,button.locked:active .badge,button.locked:focus .badge{color:inherit!important;background-color:inherit!important}button.has-custom-icon-color .ec-icon,button.has-custom-icon-color .pending-container .ec-icon{color:var(--ec-button-custom-icon-color)!important}button.has-custom-icon-color.locked:hover .ec-icon,button.has-custom-icon-color.locked:active .ec-icon,button.has-custom-icon-color.locked:focus .ec-icon{color:var(--ec-button-custom-icon-color)!important}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{padding-left:.4375rem;padding-right:.4375rem;border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}:host(.is-tab) button{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}:host(.is-tab) button.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}:host(.is-tab) button:hover,:host(.is-tab) button:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}:host(.is-tab) button.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}:host(.is-tab) button.ec-button-icon{padding:0;justify-content:center;width:auto}:host(.is-tab) button.ec-button-icon .ec-icon{color:inherit}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pending-container{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1}.pending-container>.ec-icon{flex:none;color:inherit}.pending-container~.ec-icon,.pending-container~.label,.pending-container~.badge{opacity:0}.badge{margin-left:-.25rem;margin-top:-.75rem}\n"] }]
198
+ args: [{ selector: 'ec-button', standalone: false, template: "<button id=\"{{id}}_button\"\n class=\"ec-button-{{customTemplate ? 'custom' : type}}\"\n [class.has-badge]=\"badge !== undefined\"\n [class.icon-only]=\"icon && !label\"\n [class.locked]=\"lockButton\"\n [class.has-custom-icon-color]=\"iconColor\"\n [style.--ec-button-custom-icon-color]=\"iconColor\"\n tabindex=\"{{tabindex}}\"\n [type]=\"type === 'submit' || isSubmit ? 'submit' : 'button'\"\n [disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n #element\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <ng-container *ngIf=\"customTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplate\"></ng-container>\n </ng-container>\n <ng-content></ng-content>\n</button>\n\n<ng-template #defaultTemplate>\n <!-- Hidden when the button is not pending -->\n <div class=\"pending-container\" *ngIf=\"pending\">\n <i class=\"ec-icon {{pendingIcon}}\" id=\"{{id}}_pending\"></i>\n </div>\n\n <i class=\"ec-icon {{icon}}\" id=\"{{id}}_icon\" *ngIf=\"icon\"></i>\n\n <ng-container *ngIf=\"label\">\n <span id=\"{{id}}_label\" class=\"label\">{{label | translate}}</span>\n </ng-container>\n\n <ng-container *ngIf=\"badge !== undefined\">\n <span id=\"{{id}}_badge\" class=\"badge\">{{badge}}</span>\n </ng-container>\n</ng-template>", styles: [":host{display:inline-block;vertical-align:top}:host(.font-size-inherit){font-size:inherit}:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-icon,:host(.active) .ec-button-text,:host(.active) .ec-button-link,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-custom,:host(.active) .ec-button-secondary,:host(.active) .ec-button-primary{background-color:var(--ec-background-color-selected);color:var(--ec-button-color-active)}:host(.active) .ec-button-icon .ec-icon,:host(.active) .ec-button-text .ec-icon,:host(.active) .ec-button-link .ec-icon,:host(.active) .ec-button-danger-text .ec-icon,:host(.active) .ec-button-custom .ec-icon,:host(.active) .ec-button-secondary .ec-icon,:host(.active) .ec-button-primary .ec-icon{color:var(--ec-button-color-icon-active, var(--ec-color-icon))}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{width:.0625rem;height:.0625rem}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8));color:var(--ec-button-color-primary, var(--ec-color-primary-light))}.ec-button-primary:active:not(:disabled),.ec-button-submit:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-primary:focus,.ec-button-submit:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-color-interactive), inset 0 0 0 2px var(--ec-color-white))}.ec-button-primary .ec-icon,.ec-button-submit .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))}.ec-button-primary.locked:hover,.ec-button-primary.locked:active,.ec-button-primary.locked:focus,.ec-button-submit.locked:hover,.ec-button-submit.locked:active,.ec-button-submit.locked:focus{background-color:var(--ec-button-background-color-primary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-primary, var(--ec-color-primary-light))!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-primary.locked:hover .ec-icon,.ec-button-primary.locked:active .ec-icon,.ec-button-primary.locked:focus .ec-icon,.ec-button-submit.locked:hover .ec-icon,.ec-button-submit.locked:active .ec-icon,.ec-button-submit.locked:focus .ec-icon{color:var(--ec-button-color-icon-primary, var(--ec-color-primary-light))!important}.ec-button-secondary{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-secondary:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-secondary:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-secondary .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-secondary.locked:hover,.ec-button-secondary.locked:active,.ec-button-secondary.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-secondary.locked:hover .ec-icon,.ec-button-secondary.locked:active .ec-icon,.ec-button-secondary.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-common{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))}.ec-button-common:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-common:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-common .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-common.locked:hover,.ec-button-common.locked:active,.ec-button-common.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8))!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-common.locked:hover .ec-icon,.ec-button-common.locked:active .ec-icon,.ec-button-common.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-icon{background-color:transparent;color:var(--ec-button-color-icon, var(--ec-color-icon));width:2rem;padding:0}.ec-button-icon .ec-icon{height:1rem;margin:0;padding:0;color:inherit}.ec-button-icon:hover:not(:disabled){background-color:var(--ec-background-color-hover)}.ec-button-icon:hover:not(:disabled) .ec-icon{color:var(--ec-button-color-icon-hover, var(--ec-button-color-icon, var(--ec-color-icon)))}.ec-button-icon:active:not(:disabled),.ec-button-icon:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-icon:active:not(:disabled){background-color:var(--ec-background-color-selected)}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{color:var(--ec-color-disabled-dark)}.ec-button-icon.has-badge{width:auto;min-width:2rem;padding-right:0;padding-left:.375rem}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-icon.locked:hover,.ec-button-icon.locked:active,.ec-button-icon.locked:focus{background-color:transparent!important;color:var(--ec-button-color-icon, var(--ec-color-icon))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-icon.locked:hover .ec-icon,.ec-button-icon.locked:active .ec-icon,.ec-button-icon.locked:focus .ec-icon{color:var(--ec-button-color-icon, var(--ec-color-icon))!important}.ec-button-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-primary-dark))}.ec-button-text .ec-icon{color:var(--ec-button-color-icon-text, inherit)}.ec-button-text:active:not(:disabled),.ec-button-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-text.locked:hover,.ec-button-text.locked:active,.ec-button-text.locked:focus{background-color:transparent!important;color:var(--ec-button-color-text, var(--ec-color-primary-dark))!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-text.locked:hover .ec-icon,.ec-button-text.locked:active .ec-icon,.ec-button-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-text, inherit)!important}.ec-button-link{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-link))}.ec-button-link .ec-icon{color:var(--ec-button-color-icon-link, inherit)}.ec-button-link:active:not(:disabled),.ec-button-link:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-link.locked:hover,.ec-button-link.locked:active,.ec-button-link.locked:focus{background-color:transparent!important;color:var(--ec-color-link)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-link.locked:hover .ec-icon,.ec-button-link.locked:active .ec-icon,.ec-button-link.locked:focus .ec-icon{color:var(--ec-button-color-icon-link, inherit)!important}.ec-button-danger{background-color:var(--ec-color-danger);color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:var(--ec-button-color-icon, inherit)}.ec-button-danger:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger:focus{box-shadow:var(--ec-button-box-shadow-focus-primary, 0 0 0 2px var(--ec-border-color-focus), inset 0 0 0 2px var(--ec-color-white))}.ec-button-danger.locked:hover,.ec-button-danger.locked:active,.ec-button-danger.locked:focus{background-color:var(--ec-color-danger)!important;color:var(--ec-color-primary-light)!important;border-color:initial!important;box-shadow:none!important;outline:none!important}.ec-button-danger.locked:hover .ec-icon,.ec-button-danger.locked:active .ec-icon,.ec-button-danger.locked:focus .ec-icon{color:var(--ec-button-color-icon, inherit)!important}.ec-button-danger-text{background-color:transparent;color:var(--ec-button-color-text, var(--ec-color-danger))}.ec-button-danger-text .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)}.ec-button-danger-text:active:not(:disabled),.ec-button-danger-text:focus{box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-danger-text.locked:hover,.ec-button-danger-text.locked:active,.ec-button-danger-text.locked:focus{background-color:transparent!important;color:var(--ec-color-danger)!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}.ec-button-danger-text.locked:hover .ec-icon,.ec-button-danger-text.locked:active .ec-icon,.ec-button-danger-text.locked:focus .ec-icon{color:var(--ec-button-color-icon-danger-text, inherit)!important}.ec-button-card{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color));border:1px solid var(--ec-button-border-color-secondary, var(--ec-color-gray-8));color:var(--ec-button-color-secondary, var(--ec-color-primary-dark));color:var(--ec-color-primary-dark);font-size:var(--ec-font-size);font-weight:var(--ec-font-weight-normal);line-height:1.285714286;margin:0;padding:1rem;height:auto;border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);text-align:start;height:100%;width:100%}.ec-button-card:active:not(:disabled){background-color:var(--ec-button-background-color-active, var(--ec-background-color-selected));color:var(--ec-button-color-active, var(--ec-color-primary-dark));box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus));border-color:transparent}.ec-button-card:focus{box-shadow:var(--ec-button-box-shadow-focus-secondary, 0 0 0 2px var(--ec-border-color-focus));border-color:var(--ec-button-border-color-secondary-focus, transparent)}.ec-button-card .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))}.ec-button-card:hover:not(:disabled):not(:focus){box-shadow:none;border-color:var(--ec-border-color-control-hover)}.ec-button-card.locked:hover,.ec-button-card.locked:active,.ec-button-card.locked:focus{background-color:var(--ec-button-background-color-secondary, var(--ec-background-color))!important;border:1px solid var(--ec-border-color)!important;color:var(--ec-button-color-secondary, var(--ec-color-primary-dark))!important;box-shadow:none!important;outline:none!important}.ec-button-card.locked:hover .ec-icon,.ec-button-card.locked:active .ec-icon,.ec-button-card.locked:focus .ec-icon{color:var(--ec-button-color-icon-secondary, var(--ec-color-icon))!important}.ec-button-custom{padding:0;background-color:transparent;height:auto}.ec-button-custom:disabled{background-color:transparent;border:0}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button.icon-only{padding:0;width:2rem}button.locked{cursor:default!important}button.locked:hover,button.locked:active,button.locked:focus{transform:none!important;transition:none!important;animation:none!important}button.locked:hover .label,button.locked:active .label,button.locked:focus .label{color:inherit!important}button.locked:hover .badge,button.locked:active .badge,button.locked:focus .badge{color:inherit!important;background-color:inherit!important}button.has-custom-icon-color .ec-icon,button.has-custom-icon-color .pending-container .ec-icon{color:var(--ec-button-custom-icon-color)!important}button.has-custom-icon-color.locked:hover .ec-icon,button.has-custom-icon-color.locked:active .ec-icon,button.has-custom-icon-color.locked:focus .ec-icon{color:var(--ec-button-custom-icon-color)!important}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{padding-left:.4375rem;padding-right:.4375rem;border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}:host(.is-tab) button{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}:host(.is-tab) button.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}:host(.is-tab) button:hover,:host(.is-tab) button:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}:host(.is-tab) button.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}:host(.is-tab) button.ec-button-icon{padding:0;justify-content:center;width:auto}:host(.is-tab) button.ec-button-icon .ec-icon{color:inherit}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pending-container{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1}.pending-container>.ec-icon{flex:none;color:inherit}.pending-container~.ec-icon,.pending-container~.label,.pending-container~.badge{opacity:0}.badge{margin-left:-.25rem;margin-top:-.75rem}\n"] }]
200
199
  }], ctorParameters: () => [], propDecorators: { id: [{
201
200
  type: HostBinding,
202
201
  args: ['attr.id']
@@ -307,12 +306,12 @@ class BannerComponent {
307
306
  this.icon = '';
308
307
  }
309
308
  }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerComponent, deps: [{ token: CacheService }], target: i0.ɵɵFactoryTarget.Component }); }
311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerComponent, selector: "ec-banner", inputs: { hidden: "hidden", id: "id", type: "type", bannerStyle: "bannerStyle", title: "title", text: "text", list: "list", showCloseBtn: "showCloseBtn", autoHideOnClose: "autoHideOnClose", customIcon: "customIcon", rememberClosed: "rememberClosed" }, outputs: { closed: "closed" }, host: { properties: { "hidden": "this.hidden" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\n <ec-button id=\"banner{{id}}_close\"\n *ngIf=\"showCloseBtn\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"close()\">\n </ec-button>\n <div class=\"banner-content d-flex text-body-1\">\n <i class=\"ec-icon {{icon}}\"></i>\n <div class=\"ml-2\">\n <p class=\"title mb-0\" *ngIf=\"title\">\n {{title}}\n </p>\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\n \n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\n <li *ngFor=\"let item of list\">{{item}}</li>\n </ul>\n <ng-content></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.instructional:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-instructional)}.instructional:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BannerComponent, deps: [{ token: CacheService }], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BannerComponent, isStandalone: false, selector: "ec-banner", inputs: { hidden: "hidden", id: "id", type: "type", bannerStyle: "bannerStyle", title: "title", text: "text", list: "list", showCloseBtn: "showCloseBtn", autoHideOnClose: "autoHideOnClose", customIcon: "customIcon", rememberClosed: "rememberClosed" }, outputs: { closed: "closed" }, host: { properties: { "hidden": "this.hidden" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\n <ec-button id=\"banner{{id}}_close\"\n *ngIf=\"showCloseBtn\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"close()\">\n </ec-button>\n <div class=\"banner-content d-flex text-body-1\">\n <i class=\"ec-icon {{icon}}\"></i>\n <div class=\"ml-2\">\n <p class=\"title mb-0\" *ngIf=\"title\">\n {{title}}\n </p>\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\n \n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\n <li *ngFor=\"let item of list\">{{item}}</li>\n </ul>\n <ng-content></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.instructional:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-instructional)}.instructional:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
312
311
  }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BannerComponent, decorators: [{
314
313
  type: Component,
315
- args: [{ selector: 'ec-banner', template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\n <ec-button id=\"banner{{id}}_close\"\n *ngIf=\"showCloseBtn\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"close()\">\n </ec-button>\n <div class=\"banner-content d-flex text-body-1\">\n <i class=\"ec-icon {{icon}}\"></i>\n <div class=\"ml-2\">\n <p class=\"title mb-0\" *ngIf=\"title\">\n {{title}}\n </p>\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\n \n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\n <li *ngFor=\"let item of list\">{{item}}</li>\n </ul>\n <ng-content></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.instructional:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-instructional)}.instructional:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"] }]
314
+ args: [{ selector: 'ec-banner', standalone: false, template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\n <ec-button id=\"banner{{id}}_close\"\n *ngIf=\"showCloseBtn\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"close()\">\n </ec-button>\n <div class=\"banner-content d-flex text-body-1\">\n <i class=\"ec-icon {{icon}}\"></i>\n <div class=\"ml-2\">\n <p class=\"title mb-0\" *ngIf=\"title\">\n {{title}}\n </p>\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\n \n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\n <li *ngFor=\"let item of list\">{{item}}</li>\n </ul>\n <ng-content></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.instructional:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-instructional)}.instructional:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"] }]
316
315
  }], ctorParameters: () => [{ type: CacheService }], propDecorators: { hidden: [{
317
316
  type: HostBinding,
318
317
  args: ['hidden']
@@ -390,10 +389,10 @@ class CopyButtonBaseDirective {
390
389
  this.button.pendingIcon = defaultPendingIcon;
391
390
  }, 500);
392
391
  }
393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyButtonBaseDirective, deps: [{ token: ButtonComponent }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
394
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CopyButtonBaseDirective, host: { properties: { "class.is-success": "this.copySuccess", "class.is-error": "this.copyFailed" } }, ngImport: i0 }); }
392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyButtonBaseDirective, deps: [{ token: ButtonComponent }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
393
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: CopyButtonBaseDirective, isStandalone: true, host: { properties: { "class.is-success": "this.copySuccess", "class.is-error": "this.copyFailed" } }, ngImport: i0 }); }
395
394
  }
396
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyButtonBaseDirective, decorators: [{
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyButtonBaseDirective, decorators: [{
397
396
  type: Directive
398
397
  }], ctorParameters: () => [{ type: ButtonComponent }, { type: i0.Injector }], propDecorators: { copySuccess: [{
399
398
  type: HostBinding,
@@ -412,13 +411,14 @@ class CopyButtonDirective extends CopyButtonBaseDirective {
412
411
  getDataForClipboard() {
413
412
  return this.copyFormModel?.value;
414
413
  }
415
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyButtonDirective, deps: [{ token: ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
416
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CopyButtonDirective, selector: "[ecCopyButton]", inputs: { copyFormModel: ["ecCopyButton", "copyFormModel"] }, usesInheritance: true, ngImport: i0 }); }
414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyButtonDirective, deps: [{ token: ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
415
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: CopyButtonDirective, isStandalone: false, selector: "[ecCopyButton]", inputs: { copyFormModel: ["ecCopyButton", "copyFormModel"] }, usesInheritance: true, ngImport: i0 }); }
417
416
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyButtonDirective, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyButtonDirective, decorators: [{
419
418
  type: Directive,
420
419
  args: [{
421
- selector: '[ecCopyButton]'
420
+ selector: '[ecCopyButton]',
421
+ standalone: false
422
422
  }]
423
423
  }], ctorParameters: () => [{ type: ButtonComponent, decorators: [{
424
424
  type: Host
@@ -451,13 +451,14 @@ class CopyTableButtonDirective extends CopyButtonBaseDirective {
451
451
  }).join('\n');
452
452
  return rawTableText;
453
453
  }
454
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyTableButtonDirective, deps: [{ token: ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
455
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CopyTableButtonDirective, selector: "[ecCopyTableButton]", inputs: { tableId: ["ecCopyTableButton", "tableId"] }, usesInheritance: true, ngImport: i0 }); }
454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyTableButtonDirective, deps: [{ token: ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
455
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: CopyTableButtonDirective, isStandalone: false, selector: "[ecCopyTableButton]", inputs: { tableId: ["ecCopyTableButton", "tableId"] }, usesInheritance: true, ngImport: i0 }); }
456
456
  }
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CopyTableButtonDirective, decorators: [{
457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyTableButtonDirective, decorators: [{
458
458
  type: Directive,
459
459
  args: [{
460
- selector: '[ecCopyTableButton]'
460
+ selector: '[ecCopyTableButton]',
461
+ standalone: false
461
462
  }]
462
463
  }], ctorParameters: () => [{ type: ButtonComponent, decorators: [{
463
464
  type: Host
@@ -1440,10 +1441,10 @@ class UserPreferenceService {
1440
1441
  getPreferences() {
1441
1442
  return of({ preference: { dateFormat: 'MM/DD/YYYY', timeFormat: 'h:mm:ss a' } });
1442
1443
  }
1443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1444
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreferenceService, providedIn: 'root' }); }
1444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1445
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UserPreferenceService, providedIn: 'root' }); }
1445
1446
  }
1446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreferenceService, decorators: [{
1447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UserPreferenceService, decorators: [{
1447
1448
  type: Injectable,
1448
1449
  args: [{
1449
1450
  providedIn: 'root'
@@ -1488,12 +1489,15 @@ class DateDisplayPipe {
1488
1489
  }
1489
1490
  return display;
1490
1491
  }
1491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1492
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, name: "dateDisplay" }); }
1492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1493
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe, isStandalone: false, name: "dateDisplay" }); }
1493
1494
  }
1494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe, decorators: [{
1495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe, decorators: [{
1495
1496
  type: Pipe,
1496
- args: [{ name: 'dateDisplay' }]
1497
+ args: [{
1498
+ name: 'dateDisplay',
1499
+ standalone: false
1500
+ }]
1497
1501
  }], ctorParameters: () => [{ type: UserPreferenceService }] });
1498
1502
 
1499
1503
  var DateInput;
@@ -1524,8 +1528,8 @@ var DateInput;
1524
1528
  get month() { return this._month; }
1525
1529
  get quarter() { return this._quarter; }
1526
1530
  get year() { return this._year; }
1527
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionStrategies, deps: [{ token: DateDisplayPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
1528
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionStrategies }); }
1531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SelectionStrategies, deps: [{ token: DateDisplayPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
1532
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SelectionStrategies }); }
1529
1533
  }
1530
1534
  DateInput.SelectionStrategies = SelectionStrategies;
1531
1535
  })(DateInput || (DateInput = {}));
@@ -1583,12 +1587,12 @@ class CalendarItemComponent {
1583
1587
  isHidden(date, minDate, maxDate, view) {
1584
1588
  return moment(date).isBefore(minDate, view) || moment(date).isAfter(maxDate, view);
1585
1589
  }
1586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarItemComponent, selector: "button[ec-calendar-item]", inputs: { item: "item", selection: "selection", view: "view", minDate: "minDate", maxDate: "maxDate" }, host: { properties: { "class.is-today": "this.today", "class.is-selected": "this.selected", "class.is-outside-active-month": "this.outsideActiveMonth", "class.is-hidden": "this.hidden", "attr.disabled": "this.disabled" } }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled .ec-icon{color:var(--ec-color-disabled-dark)}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}:host.is-hidden{opacity:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1590
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CalendarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1591
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CalendarItemComponent, isStandalone: false, selector: "button[ec-calendar-item]", inputs: { item: "item", selection: "selection", view: "view", minDate: "minDate", maxDate: "maxDate" }, host: { properties: { "class.is-today": "this.today", "class.is-selected": "this.selected", "class.is-outside-active-month": "this.outsideActiveMonth", "class.is-hidden": "this.hidden", "attr.disabled": "this.disabled" } }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled .ec-icon{color:var(--ec-color-disabled-dark)}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}:host.is-hidden{opacity:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1588
1592
  }
1589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarItemComponent, decorators: [{
1593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CalendarItemComponent, decorators: [{
1590
1594
  type: Component,
1591
- args: [{ selector: 'button[ec-calendar-item]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled .ec-icon{color:var(--ec-color-disabled-dark)}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}:host.is-hidden{opacity:0!important}\n"] }]
1595
+ args: [{ selector: 'button[ec-calendar-item]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled .ec-icon{color:var(--ec-color-disabled-dark)}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}:host.is-hidden{opacity:0!important}\n"] }]
1592
1596
  }], ctorParameters: () => [], propDecorators: { item: [{
1593
1597
  type: Input
1594
1598
  }], selection: [{
@@ -1831,12 +1835,12 @@ class CalendarComponent {
1831
1835
  const lastRow = this.calendarItems[this.calendarItems.length - 1];
1832
1836
  return lastRow[lastRow.length - 1];
1833
1837
  }
1834
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1835
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarComponent, selector: "ec-calendar", inputs: { id: "id", selection: "selection", selectionMode: "selectionMode", minDate: "minDate", maxDate: "maxDate", tabindex: "tabindex", view: "view" }, outputs: { dateSelected: "dateSelected", viewChange: "viewChange" }, host: { properties: { "attr.id": "this.id" } }, usesOnChanges: true, ngImport: i0, template: "<header class=\"d-flex align-items-center mt-1 mb-2 px-1\">\n <button id=\"{{id}}_prev_button\"\n class=\"mr-auto\"\n (click)=\"onPreviousClick()\"\n [disabled]=\"disablePreviousButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-90\"></i>\n </button>\n\n <button *ngIf=\"view.mode === 'day'\"\n id=\"{{id}}_month_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onMonthClick()\"\n tabindex=\"{{tabindex}}\">\n {{month}}\n </button>\n\n <button *ngIf=\"view.mode !== 'year'\"\n id=\"{{id}}_year_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onYearClick()\"\n tabindex=\"{{tabindex}}\">\n {{year}}\n </button>\n\n <div id=\"{{id}}_year_range\"\n *ngIf=\"view.mode === 'year'\"\n class=\"text-body-1 font-weight-bold\"\n [innerHTML]=\"yearRange\">\n </div>\n\n <button id=\"{{id}}_next_button\"\n class=\"ml-auto\"\n (click)=\"onNextClick()\"\n [disabled]=\"disableNextButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-270\"></i>\n </button>\n</header>\n\n<div *ngIf=\"view.mode === 'day'\"\n class=\"mb-1 px-2 d-flex\">\n <h3 *ngFor=\"let day of weekDays\"\n class=\"text-heading-3 d-flex justify-content-center align-items-center\"\n style=\"width: 2rem; height: 1.75rem;\">{{day}}</h3>\n</div>\n\n<div *ngFor=\"let row of calendarItems; last as isLast; trackBy: trackByDateRow\"\n class=\"px-2 d-flex {{view.mode}}-view\"\n [class.mb-1]=\"!isLast\"\n [class.mb-2]=\"isLast\">\n <button *ngFor=\"let item of row; trackBy: trackByDate\"\n id=\"{{id}}_item_{{item.date | date:'MM_dd_yyyy'}}\"\n ec-calendar-item\n [item]=\"item\"\n [selection]=\"selection\"\n [view]=\"view\"\n (click)=\"onItemSelected(item)\"\n [innerHTML]=\"item.label\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n tabindex=\"{{tabindex}}\">\n </button>\n</div>\n", styles: [":host{display:inline-block}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}.day-view button{width:2rem;height:1.75rem}.month-view button{width:4.67rem;height:3.25rem}.quarter-view button{width:7rem;height:6.75rem}.year-view button{width:3.5rem;height:3.25rem}.is-selected:has(+.is-selected:not(:disabled)){border-top-right-radius:0;border-bottom-right-radius:0}.is-selected:not(:disabled)+.is-selected{border-top-left-radius:0;border-bottom-left-radius:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CalendarItemComponent, selector: "button[ec-calendar-item]", inputs: ["item", "selection", "view", "minDate", "maxDate"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1838
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1839
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CalendarComponent, isStandalone: false, selector: "ec-calendar", inputs: { id: "id", selection: "selection", selectionMode: "selectionMode", minDate: "minDate", maxDate: "maxDate", tabindex: "tabindex", view: "view" }, outputs: { dateSelected: "dateSelected", viewChange: "viewChange" }, host: { properties: { "attr.id": "this.id" } }, usesOnChanges: true, ngImport: i0, template: "<header class=\"d-flex align-items-center mt-1 mb-2 px-1\">\n <button id=\"{{id}}_prev_button\"\n class=\"mr-auto\"\n (click)=\"onPreviousClick()\"\n [disabled]=\"disablePreviousButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-90\"></i>\n </button>\n\n <button *ngIf=\"view.mode === 'day'\"\n id=\"{{id}}_month_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onMonthClick()\"\n tabindex=\"{{tabindex}}\">\n {{month}}\n </button>\n\n <button *ngIf=\"view.mode !== 'year'\"\n id=\"{{id}}_year_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onYearClick()\"\n tabindex=\"{{tabindex}}\">\n {{year}}\n </button>\n\n <div id=\"{{id}}_year_range\"\n *ngIf=\"view.mode === 'year'\"\n class=\"text-body-1 font-weight-bold\"\n [innerHTML]=\"yearRange\">\n </div>\n\n <button id=\"{{id}}_next_button\"\n class=\"ml-auto\"\n (click)=\"onNextClick()\"\n [disabled]=\"disableNextButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-270\"></i>\n </button>\n</header>\n\n<div *ngIf=\"view.mode === 'day'\"\n class=\"mb-1 px-2 d-flex\">\n <h3 *ngFor=\"let day of weekDays\"\n class=\"text-heading-3 d-flex justify-content-center align-items-center\"\n style=\"width: 2rem; height: 1.75rem;\">{{day}}</h3>\n</div>\n\n<div *ngFor=\"let row of calendarItems; last as isLast; trackBy: trackByDateRow\"\n class=\"px-2 d-flex {{view.mode}}-view\"\n [class.mb-1]=\"!isLast\"\n [class.mb-2]=\"isLast\">\n <button *ngFor=\"let item of row; trackBy: trackByDate\"\n id=\"{{id}}_item_{{item.date | date:'MM_dd_yyyy'}}\"\n ec-calendar-item\n [item]=\"item\"\n [selection]=\"selection\"\n [view]=\"view\"\n (click)=\"onItemSelected(item)\"\n [innerHTML]=\"item.label\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n tabindex=\"{{tabindex}}\">\n </button>\n</div>\n", styles: [":host{display:inline-block}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}.day-view button{width:2rem;height:1.75rem}.month-view button{width:4.67rem;height:3.25rem}.quarter-view button{width:7rem;height:6.75rem}.year-view button{width:3.5rem;height:3.25rem}.is-selected:has(+.is-selected:not(:disabled)){border-top-right-radius:0;border-bottom-right-radius:0}.is-selected:not(:disabled)+.is-selected{border-top-left-radius:0;border-bottom-left-radius:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CalendarItemComponent, selector: "button[ec-calendar-item]", inputs: ["item", "selection", "view", "minDate", "maxDate"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1836
1840
  }
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, decorators: [{
1841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CalendarComponent, decorators: [{
1838
1842
  type: Component,
1839
- args: [{ selector: 'ec-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"d-flex align-items-center mt-1 mb-2 px-1\">\n <button id=\"{{id}}_prev_button\"\n class=\"mr-auto\"\n (click)=\"onPreviousClick()\"\n [disabled]=\"disablePreviousButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-90\"></i>\n </button>\n\n <button *ngIf=\"view.mode === 'day'\"\n id=\"{{id}}_month_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onMonthClick()\"\n tabindex=\"{{tabindex}}\">\n {{month}}\n </button>\n\n <button *ngIf=\"view.mode !== 'year'\"\n id=\"{{id}}_year_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onYearClick()\"\n tabindex=\"{{tabindex}}\">\n {{year}}\n </button>\n\n <div id=\"{{id}}_year_range\"\n *ngIf=\"view.mode === 'year'\"\n class=\"text-body-1 font-weight-bold\"\n [innerHTML]=\"yearRange\">\n </div>\n\n <button id=\"{{id}}_next_button\"\n class=\"ml-auto\"\n (click)=\"onNextClick()\"\n [disabled]=\"disableNextButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-270\"></i>\n </button>\n</header>\n\n<div *ngIf=\"view.mode === 'day'\"\n class=\"mb-1 px-2 d-flex\">\n <h3 *ngFor=\"let day of weekDays\"\n class=\"text-heading-3 d-flex justify-content-center align-items-center\"\n style=\"width: 2rem; height: 1.75rem;\">{{day}}</h3>\n</div>\n\n<div *ngFor=\"let row of calendarItems; last as isLast; trackBy: trackByDateRow\"\n class=\"px-2 d-flex {{view.mode}}-view\"\n [class.mb-1]=\"!isLast\"\n [class.mb-2]=\"isLast\">\n <button *ngFor=\"let item of row; trackBy: trackByDate\"\n id=\"{{id}}_item_{{item.date | date:'MM_dd_yyyy'}}\"\n ec-calendar-item\n [item]=\"item\"\n [selection]=\"selection\"\n [view]=\"view\"\n (click)=\"onItemSelected(item)\"\n [innerHTML]=\"item.label\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n tabindex=\"{{tabindex}}\">\n </button>\n</div>\n", styles: [":host{display:inline-block}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}.day-view button{width:2rem;height:1.75rem}.month-view button{width:4.67rem;height:3.25rem}.quarter-view button{width:7rem;height:6.75rem}.year-view button{width:3.5rem;height:3.25rem}.is-selected:has(+.is-selected:not(:disabled)){border-top-right-radius:0;border-bottom-right-radius:0}.is-selected:not(:disabled)+.is-selected{border-top-left-radius:0;border-bottom-left-radius:0}\n"] }]
1843
+ args: [{ selector: 'ec-calendar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<header class=\"d-flex align-items-center mt-1 mb-2 px-1\">\n <button id=\"{{id}}_prev_button\"\n class=\"mr-auto\"\n (click)=\"onPreviousClick()\"\n [disabled]=\"disablePreviousButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-90\"></i>\n </button>\n\n <button *ngIf=\"view.mode === 'day'\"\n id=\"{{id}}_month_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onMonthClick()\"\n tabindex=\"{{tabindex}}\">\n {{month}}\n </button>\n\n <button *ngIf=\"view.mode !== 'year'\"\n id=\"{{id}}_year_button\"\n class=\"text-body-1 font-weight-bold\"\n (click)=\"onYearClick()\"\n tabindex=\"{{tabindex}}\">\n {{year}}\n </button>\n\n <div id=\"{{id}}_year_range\"\n *ngIf=\"view.mode === 'year'\"\n class=\"text-body-1 font-weight-bold\"\n [innerHTML]=\"yearRange\">\n </div>\n\n <button id=\"{{id}}_next_button\"\n class=\"ml-auto\"\n (click)=\"onNextClick()\"\n [disabled]=\"disableNextButton\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-angle-down rotate-270\"></i>\n </button>\n</header>\n\n<div *ngIf=\"view.mode === 'day'\"\n class=\"mb-1 px-2 d-flex\">\n <h3 *ngFor=\"let day of weekDays\"\n class=\"text-heading-3 d-flex justify-content-center align-items-center\"\n style=\"width: 2rem; height: 1.75rem;\">{{day}}</h3>\n</div>\n\n<div *ngFor=\"let row of calendarItems; last as isLast; trackBy: trackByDateRow\"\n class=\"px-2 d-flex {{view.mode}}-view\"\n [class.mb-1]=\"!isLast\"\n [class.mb-2]=\"isLast\">\n <button *ngFor=\"let item of row; trackBy: trackByDate\"\n id=\"{{id}}_item_{{item.date | date:'MM_dd_yyyy'}}\"\n ec-calendar-item\n [item]=\"item\"\n [selection]=\"selection\"\n [view]=\"view\"\n (click)=\"onItemSelected(item)\"\n [innerHTML]=\"item.label\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n tabindex=\"{{tabindex}}\">\n </button>\n</div>\n", styles: [":host{display:inline-block}button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent}button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}button .ec-icon{flex:none}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}button:focus{outline:none;position:relative;z-index:1}button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}.day-view button{width:2rem;height:1.75rem}.month-view button{width:4.67rem;height:3.25rem}.quarter-view button{width:7rem;height:6.75rem}.year-view button{width:3.5rem;height:3.25rem}.is-selected:has(+.is-selected:not(:disabled)){border-top-right-radius:0;border-bottom-right-radius:0}.is-selected:not(:disabled)+.is-selected{border-top-left-radius:0;border-bottom-left-radius:0}\n"] }]
1840
1844
  }], propDecorators: { id: [{
1841
1845
  type: HostBinding,
1842
1846
  args: ['attr.id']
@@ -2030,10 +2034,10 @@ class ValidationMessageService {
2030
2034
  return this.translate.get('TextboxRequired_LC', { minLength: error.minLength, maxLength: error.maxLength });
2031
2035
  }
2032
2036
  }
2033
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ValidationMessageService, deps: [{ token: i3.TranslateService }, { token: DateDisplayPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
2034
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ValidationMessageService, providedIn: 'root' }); }
2037
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ValidationMessageService, deps: [{ token: i3.TranslateService }, { token: DateDisplayPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
2038
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ValidationMessageService, providedIn: 'root' }); }
2035
2039
  }
2036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ValidationMessageService, decorators: [{
2040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ValidationMessageService, decorators: [{
2037
2041
  type: Injectable,
2038
2042
  args: [{
2039
2043
  providedIn: 'root'
@@ -2094,10 +2098,10 @@ class FormGroupHelper {
2094
2098
  control.updateValueAndValidity({ emitEvent: false });
2095
2099
  };
2096
2100
  }
2097
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2098
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, providedIn: 'root' }); }
2101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormGroupHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2102
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormGroupHelper, providedIn: 'root' }); }
2099
2103
  }
2100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, decorators: [{
2104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormGroupHelper, decorators: [{
2101
2105
  type: Injectable,
2102
2106
  args: [{
2103
2107
  providedIn: 'root'
@@ -2218,10 +2222,10 @@ class FormControlBase {
2218
2222
  }
2219
2223
  }
2220
2224
  }
2221
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlBase, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Directive }); }
2222
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FormControlBase, inputs: { autofocus: "autofocus", formModel: "formModel", label: "label", labelPosition: "labelPosition", id: "id", pending: "pending", required: "required", tabindex: "tabindex", readonly: "readonly", tooltip: "tooltip", helpPopover: "helpPopover", helpPopoverPosition: "helpPopoverPosition" }, usesOnChanges: true, ngImport: i0 }); }
2225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlBase, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Directive }); }
2226
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: FormControlBase, isStandalone: true, inputs: { autofocus: "autofocus", formModel: "formModel", label: "label", labelPosition: "labelPosition", id: "id", pending: "pending", required: "required", tabindex: "tabindex", readonly: "readonly", tooltip: "tooltip", helpPopover: "helpPopover", helpPopoverPosition: "helpPopoverPosition" }, usesOnChanges: true, ngImport: i0 }); }
2223
2227
  }
2224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlBase, decorators: [{
2228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlBase, decorators: [{
2225
2229
  type: Directive
2226
2230
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }], propDecorators: { autofocus: [{
2227
2231
  type: Input
@@ -2259,12 +2263,12 @@ class TooltipComponent {
2259
2263
  this.onHide.next();
2260
2264
  this.overlayRef?.dispose();
2261
2265
  }
2262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2263
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
2266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TooltipComponent, isStandalone: false, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
2264
2268
  }
2265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, decorators: [{
2269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipComponent, decorators: [{
2266
2270
  type: Component,
2267
- args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
2271
+ args: [{ selector: 'ec-tooltip', standalone: false, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
2268
2272
  }], propDecorators: { backgroundColor: [{
2269
2273
  type: HostBinding,
2270
2274
  args: ['style.--ec-tooltip-background-color']
@@ -2335,10 +2339,10 @@ class TooltipService {
2335
2339
  });
2336
2340
  return config;
2337
2341
  }
2338
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, deps: [{ token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
2339
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, providedIn: 'root' }); }
2342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipService, deps: [{ token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
2343
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipService, providedIn: 'root' }); }
2340
2344
  }
2341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, decorators: [{
2345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipService, decorators: [{
2342
2346
  type: Injectable,
2343
2347
  args: [{
2344
2348
  providedIn: 'root'
@@ -2363,13 +2367,14 @@ class HighlightTextPipe {
2363
2367
  escapeRegex(value) {
2364
2368
  return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
2365
2369
  }
2366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2367
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, name: "highlightText" }); }
2370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HighlightTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2371
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: HighlightTextPipe, isStandalone: false, name: "highlightText" }); }
2368
2372
  }
2369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightTextPipe, decorators: [{
2373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HighlightTextPipe, decorators: [{
2370
2374
  type: Pipe,
2371
2375
  args: [{
2372
- name: 'highlightText'
2376
+ name: 'highlightText',
2377
+ standalone: false
2373
2378
  }]
2374
2379
  }] });
2375
2380
 
@@ -2430,12 +2435,12 @@ class TagsComponent {
2430
2435
  this.tagsArray = this.tagsArray.filter(t => t !== tag);
2431
2436
  this.tagClosed.emit(tag);
2432
2437
  }
2433
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2434
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed", highlightText: "highlightText" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: HighlightTextPipe, name: "highlightText" }] }); }
2438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TagsComponent, isStandalone: false, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed", highlightText: "highlightText" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: HighlightTextPipe, name: "highlightText" }] }); }
2435
2440
  }
2436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, decorators: [{
2441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TagsComponent, decorators: [{
2437
2442
  type: Component,
2438
- args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"] }]
2443
+ args: [{ selector: 'ec-tags', standalone: false, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"] }]
2439
2444
  }], ctorParameters: () => [], propDecorators: { id: [{
2440
2445
  type: Input
2441
2446
  }], tags: [{
@@ -2530,12 +2535,12 @@ class PopoverComponent {
2530
2535
  const overlayY = position[0];
2531
2536
  return { originX: overlayX, originY: overlayY, overlayX: overlayX, overlayY: overlayY };
2532
2537
  }
2533
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: TooltipService }], target: i0.ɵɵFactoryTarget.Component }); }
2534
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PopoverComponent, selector: "ec-popover", inputs: { icon: "icon", tag: "tag", tagHoverType: "tagHoverType", contentPosition: "contentPosition", iconHoverClass: "iconHoverClass" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<!-- Before hover state -->\n<div class=\"p-2\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed] = \"true\"\n [tags]=\"tag\">\n </ec-tags>\n</div>\n<!-- ./Before hover state -->\n\n<!-- Hover state -->\n<ng-template #content>\n <article class=\"popover-content\"\n (document:mousemove)=\"onMouseMove($event)\">\n <ng-content></ng-content>\n </article>\n <div class=\"p-2 {{contentPosition}}\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed]=\"true\"\n [tags]=\"hoverTag\">\n </ec-tags>\n </div>\n</ng-template>\n<!-- ./Hover state -->\n", styles: [":host{line-height:.75rem;display:inline-block}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px #1a1a231f;overflow:hidden;position:relative}.popover-content+div{position:absolute;line-height:.75rem}.popover-content+div.top-left{top:0;left:0}.popover-content+div.top-right{top:0;right:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TagsComponent, selector: "ec-tags", inputs: ["id", "tags", "wrap", "isCondensed", "highlightText"], outputs: ["tagClosed"] }] }); }
2538
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PopoverComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: TooltipService }], target: i0.ɵɵFactoryTarget.Component }); }
2539
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: PopoverComponent, isStandalone: false, selector: "ec-popover", inputs: { icon: "icon", tag: "tag", tagHoverType: "tagHoverType", contentPosition: "contentPosition", iconHoverClass: "iconHoverClass" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<!-- Before hover state -->\n<div class=\"p-2\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed] = \"true\"\n [tags]=\"tag\">\n </ec-tags>\n</div>\n<!-- ./Before hover state -->\n\n<!-- Hover state -->\n<ng-template #content>\n <article class=\"popover-content\"\n (document:mousemove)=\"onMouseMove($event)\">\n <ng-content></ng-content>\n </article>\n <div class=\"p-2 {{contentPosition}}\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed]=\"true\"\n [tags]=\"hoverTag\">\n </ec-tags>\n </div>\n</ng-template>\n<!-- ./Hover state -->\n", styles: [":host{line-height:.75rem;display:inline-block}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px #1a1a231f;overflow:hidden;position:relative}.popover-content+div{position:absolute;line-height:.75rem}.popover-content+div.top-left{top:0;left:0}.popover-content+div.top-right{top:0;right:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TagsComponent, selector: "ec-tags", inputs: ["id", "tags", "wrap", "isCondensed", "highlightText"], outputs: ["tagClosed"] }] }); }
2535
2540
  }
2536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverComponent, decorators: [{
2541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PopoverComponent, decorators: [{
2537
2542
  type: Component,
2538
- args: [{ selector: 'ec-popover', template: "<!-- Before hover state -->\n<div class=\"p-2\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed] = \"true\"\n [tags]=\"tag\">\n </ec-tags>\n</div>\n<!-- ./Before hover state -->\n\n<!-- Hover state -->\n<ng-template #content>\n <article class=\"popover-content\"\n (document:mousemove)=\"onMouseMove($event)\">\n <ng-content></ng-content>\n </article>\n <div class=\"p-2 {{contentPosition}}\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed]=\"true\"\n [tags]=\"hoverTag\">\n </ec-tags>\n </div>\n</ng-template>\n<!-- ./Hover state -->\n", styles: [":host{line-height:.75rem;display:inline-block}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px #1a1a231f;overflow:hidden;position:relative}.popover-content+div{position:absolute;line-height:.75rem}.popover-content+div.top-left{top:0;left:0}.popover-content+div.top-right{top:0;right:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}\n"] }]
2543
+ args: [{ selector: 'ec-popover', standalone: false, template: "<!-- Before hover state -->\n<div class=\"p-2\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed] = \"true\"\n [tags]=\"tag\">\n </ec-tags>\n</div>\n<!-- ./Before hover state -->\n\n<!-- Hover state -->\n<ng-template #content>\n <article class=\"popover-content\"\n (document:mousemove)=\"onMouseMove($event)\">\n <ng-content></ng-content>\n </article>\n <div class=\"p-2 {{contentPosition}}\">\n <i *ngIf=\"!tag\" class=\"ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}\"></i>\n <ec-tags *ngIf=\"tag\"\n [isCondensed]=\"true\"\n [tags]=\"hoverTag\">\n </ec-tags>\n </div>\n</ng-template>\n<!-- ./Hover state -->\n", styles: [":host{line-height:.75rem;display:inline-block}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px #1a1a231f;overflow:hidden;position:relative}.popover-content+div{position:absolute;line-height:.75rem}.popover-content+div.top-left{top:0;left:0}.popover-content+div.top-right{top:0;right:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}\n"] }]
2539
2544
  }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: TooltipService }], propDecorators: { icon: [{
2540
2545
  type: Input
2541
2546
  }], tag: [{
@@ -2564,12 +2569,12 @@ class HelpPopoverComponent {
2564
2569
  this.contentPosition = 'top-left';
2565
2570
  this.maxWidth = '15rem';
2566
2571
  }
2567
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HelpPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2568
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: { id: "id", text: "text", contentPosition: "contentPosition", maxWidth: "maxWidth" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<ec-popover id=\"{{id}}_popover\"\n icon=\"icon-help-circle\"\n [contentPosition]=\"contentPosition\"\n iconHoverClass=\"font-color-primary-light\">\n <div id=\"{{id}}_popoverContent\"\n class=\"popover-content-dark\"\n [class.is-right-positioned]=\"contentPosition == 'top-right' || contentPosition == 'bottom-right'\"\n [style.max-width]=\"maxWidth\">\n <div *ngIf=\"text\"\n [innerHTML]=\"text | translate\"></div>\n <ng-content></ng-content>\n </div>\n</ec-popover>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "ec-popover", inputs: ["icon", "tag", "tagHoverType", "contentPosition", "iconHoverClass"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2572
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HelpPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2573
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: HelpPopoverComponent, isStandalone: false, selector: "ec-help-popover", inputs: { id: "id", text: "text", contentPosition: "contentPosition", maxWidth: "maxWidth" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<ec-popover id=\"{{id}}_popover\"\n icon=\"icon-help-circle\"\n [contentPosition]=\"contentPosition\"\n iconHoverClass=\"font-color-primary-light\">\n <div id=\"{{id}}_popoverContent\"\n class=\"popover-content-dark\"\n [class.is-right-positioned]=\"contentPosition == 'top-right' || contentPosition == 'bottom-right'\"\n [style.max-width]=\"maxWidth\">\n <div *ngIf=\"text\"\n [innerHTML]=\"text | translate\"></div>\n <ng-content></ng-content>\n </div>\n</ec-popover>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "ec-popover", inputs: ["icon", "tag", "tagHoverType", "contentPosition", "iconHoverClass"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2569
2574
  }
2570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HelpPopoverComponent, decorators: [{
2575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HelpPopoverComponent, decorators: [{
2571
2576
  type: Component,
2572
- args: [{ selector: 'ec-help-popover', template: "<ec-popover id=\"{{id}}_popover\"\n icon=\"icon-help-circle\"\n [contentPosition]=\"contentPosition\"\n iconHoverClass=\"font-color-primary-light\">\n <div id=\"{{id}}_popoverContent\"\n class=\"popover-content-dark\"\n [class.is-right-positioned]=\"contentPosition == 'top-right' || contentPosition == 'bottom-right'\"\n [style.max-width]=\"maxWidth\">\n <div *ngIf=\"text\"\n [innerHTML]=\"text | translate\"></div>\n <ng-content></ng-content>\n </div>\n</ec-popover>" }]
2577
+ args: [{ selector: 'ec-help-popover', standalone: false, template: "<ec-popover id=\"{{id}}_popover\"\n icon=\"icon-help-circle\"\n [contentPosition]=\"contentPosition\"\n iconHoverClass=\"font-color-primary-light\">\n <div id=\"{{id}}_popoverContent\"\n class=\"popover-content-dark\"\n [class.is-right-positioned]=\"contentPosition == 'top-right' || contentPosition == 'bottom-right'\"\n [style.max-width]=\"maxWidth\">\n <div *ngIf=\"text\"\n [innerHTML]=\"text | translate\"></div>\n <ng-content></ng-content>\n </div>\n</ec-popover>" }]
2573
2578
  }], ctorParameters: () => [], propDecorators: { id: [{
2574
2579
  type: Input
2575
2580
  }, {
@@ -2695,12 +2700,12 @@ class CheckboxComponent extends FormControlBase {
2695
2700
  this.indeterminate = false;
2696
2701
  }
2697
2702
  }
2698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
2699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, selector: "ec-checkbox", inputs: { name: "name", dependentCheckboxesGroup: "dependentCheckboxesGroup", ignoreDisabledDependents: "ignoreDisabledDependents" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["checkboxInput"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control\">\n <label class=\"checkbox\"\n [ngClass]=\"{'is-disabled': formModel.disabled, 'no-label': !label, 'is-readonly': readonly}\">\n <input id=\"{{id}}_input\"\n #checkboxInput\n class='input'\n [class.indeterminate]=\"indeterminate\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n type=\"checkbox\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <i class=\"ec-icon icon-check\"></i>\n\n <span id=\"{{id}}_label\"\n *ngIf=\"label\"\n class=\"label\">\n <span [innerHtml]=\"label | translate\"></span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n2 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-form-control-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{content:\"\";background-color:currentColor;display:block;width:10px;height:3px}.input:focus+.ec-icon{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.ec-icon{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.ec-icon{border-color:var(--ec-border-color-control-hover)}.ec-icon{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:.125rem}.ec-icon:before{font-size:.6875em}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.checkbox.is-readonly .label,.checkbox.is-readonly .ec-icon{opacity:1;color:var(--ec-form-control-color)}.checkbox.is-readonly ec-help-popover{pointer-events:auto}.no-label .input,.no-label .icon-check{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2703
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CheckboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
2704
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CheckboxComponent, isStandalone: false, selector: "ec-checkbox", inputs: { name: "name", dependentCheckboxesGroup: "dependentCheckboxesGroup", ignoreDisabledDependents: "ignoreDisabledDependents" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["checkboxInput"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control\">\n <label class=\"checkbox\"\n [ngClass]=\"{'is-disabled': formModel.disabled, 'no-label': !label, 'is-readonly': readonly}\">\n <input id=\"{{id}}_input\"\n #checkboxInput\n class='input'\n [class.indeterminate]=\"indeterminate\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n type=\"checkbox\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <i class=\"ec-icon icon-check\"></i>\n\n <span id=\"{{id}}_label\"\n *ngIf=\"label\"\n class=\"label\">\n <span [innerHtml]=\"label | translate\"></span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n2 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-form-control-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{content:\"\";background-color:currentColor;display:block;width:10px;height:3px}.input:focus+.ec-icon{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.ec-icon{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.ec-icon{border-color:var(--ec-border-color-control-hover)}.ec-icon{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:.125rem}.ec-icon:before{font-size:.6875em}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.checkbox.is-readonly .label,.checkbox.is-readonly .ec-icon{opacity:1;color:var(--ec-form-control-color)}.checkbox.is-readonly ec-help-popover{pointer-events:auto}.no-label .input,.no-label .icon-check{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2700
2705
  }
2701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
2706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CheckboxComponent, decorators: [{
2702
2707
  type: Component,
2703
- args: [{ selector: 'ec-checkbox', template: "<div class=\"control\">\n <label class=\"checkbox\"\n [ngClass]=\"{'is-disabled': formModel.disabled, 'no-label': !label, 'is-readonly': readonly}\">\n <input id=\"{{id}}_input\"\n #checkboxInput\n class='input'\n [class.indeterminate]=\"indeterminate\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n type=\"checkbox\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <i class=\"ec-icon icon-check\"></i>\n\n <span id=\"{{id}}_label\"\n *ngIf=\"label\"\n class=\"label\">\n <span [innerHtml]=\"label | translate\"></span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n2 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-form-control-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{content:\"\";background-color:currentColor;display:block;width:10px;height:3px}.input:focus+.ec-icon{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.ec-icon{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.ec-icon{border-color:var(--ec-border-color-control-hover)}.ec-icon{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:.125rem}.ec-icon:before{font-size:.6875em}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.checkbox.is-readonly .label,.checkbox.is-readonly .ec-icon{opacity:1;color:var(--ec-form-control-color)}.checkbox.is-readonly ec-help-popover{pointer-events:auto}.no-label .input,.no-label .icon-check{margin-top:0}\n"] }]
2708
+ args: [{ selector: 'ec-checkbox', standalone: false, template: "<div class=\"control\">\n <label class=\"checkbox\"\n [ngClass]=\"{'is-disabled': formModel.disabled, 'no-label': !label, 'is-readonly': readonly}\">\n <input id=\"{{id}}_input\"\n #checkboxInput\n class='input'\n [class.indeterminate]=\"indeterminate\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n type=\"checkbox\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <i class=\"ec-icon icon-check\"></i>\n\n <span id=\"{{id}}_label\"\n *ngIf=\"label\"\n class=\"label\">\n <span [innerHtml]=\"label | translate\"></span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n2 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-form-control-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{content:\"\";background-color:currentColor;display:block;width:10px;height:3px}.input:focus+.ec-icon{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.ec-icon{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.ec-icon{border-color:var(--ec-border-color-control-hover)}.ec-icon{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:.125rem}.ec-icon:before{font-size:.6875em}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.checkbox.is-readonly .label,.checkbox.is-readonly .ec-icon{opacity:1;color:var(--ec-form-control-color)}.checkbox.is-readonly ec-help-popover{pointer-events:auto}.no-label .input,.no-label .icon-check{margin-top:0}\n"] }]
2704
2709
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }], propDecorators: { name: [{
2705
2710
  type: Input
2706
2711
  }], dependentCheckboxesGroup: [{
@@ -2731,12 +2736,12 @@ class CollapsibleToggleComponent {
2731
2736
  this.expanded = !this.expanded;
2732
2737
  this.expandedChange.emit(this.expanded);
2733
2738
  }
2734
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollapsibleToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2735
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: { id: "id", expanded: "expanded", tabindex: "tabindex" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: `<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? '' : 'rotate-270'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>`, isInline: true, styles: [":host{width:1.5rem;height:1.5rem;display:inline-flex;justify-content:center;align-items:center}ec-button::ng-deep .ec-button-icon{width:1.25rem;height:1.25rem}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
2739
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CollapsibleToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2740
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CollapsibleToggleComponent, isStandalone: false, selector: "ec-collapsible-toggle", inputs: { id: "id", expanded: "expanded", tabindex: "tabindex" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: `<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? '' : 'rotate-270'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>`, isInline: true, styles: [":host{width:1.5rem;height:1.5rem;display:inline-flex;justify-content:center;align-items:center}ec-button::ng-deep .ec-button-icon{width:1.25rem;height:1.25rem}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
2736
2741
  }
2737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollapsibleToggleComponent, decorators: [{
2742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CollapsibleToggleComponent, decorators: [{
2738
2743
  type: Component,
2739
- args: [{ selector: 'ec-collapsible-toggle', template: `<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? '' : 'rotate-270'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>`, styles: [":host{width:1.5rem;height:1.5rem;display:inline-flex;justify-content:center;align-items:center}ec-button::ng-deep .ec-button-icon{width:1.25rem;height:1.25rem}\n"] }]
2744
+ args: [{ selector: 'ec-collapsible-toggle', template: `<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? '' : 'rotate-270'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>`, standalone: false, styles: [":host{width:1.5rem;height:1.5rem;display:inline-flex;justify-content:center;align-items:center}ec-button::ng-deep .ec-button-icon{width:1.25rem;height:1.25rem}\n"] }]
2740
2745
  }], propDecorators: { id: [{
2741
2746
  type: Input
2742
2747
  }], expanded: [{
@@ -2919,10 +2924,10 @@ class WindowService {
2919
2924
  reloadWindow() {
2920
2925
  window.location.reload();
2921
2926
  }
2922
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WindowService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
2923
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WindowService, providedIn: 'root' }); }
2927
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WindowService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
2928
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WindowService, providedIn: 'root' }); }
2924
2929
  }
2925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WindowService, decorators: [{
2930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WindowService, decorators: [{
2926
2931
  type: Injectable,
2927
2932
  args: [{
2928
2933
  providedIn: 'root'
@@ -3006,10 +3011,10 @@ class ScrollService {
3006
3011
  console.error(`Error scrolling target into view. Container selector: ${scrollContainerSelector}. Target selector: ${targetElementSelector}`, error);
3007
3012
  }
3008
3013
  }
3009
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3010
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
3014
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3015
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
3011
3016
  }
3012
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollService, decorators: [{
3017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ScrollService, decorators: [{
3013
3018
  type: Injectable,
3014
3019
  args: [{
3015
3020
  providedIn: 'root'
@@ -3078,13 +3083,14 @@ class NavItemActiveDirective {
3078
3083
  }
3079
3084
  }
3080
3085
  }
3081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavItemActiveDirective, deps: [{ token: i1$2.Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive }); }
3082
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: { classValue: ["ecNavItemActive", "classValue"], exact: ["ecNavItemActiveExactMatch", "exact"], queryParams: ["ecNavItemActiveQueryParams", "queryParams"], url: ["ecNavItemActiveUrl", "url"] }, outputs: { routerLinkActivated: "routerLinkActivated" }, ngImport: i0 }); }
3086
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavItemActiveDirective, deps: [{ token: i1$2.Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive }); }
3087
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: NavItemActiveDirective, isStandalone: false, selector: "[ecNavItemActive]", inputs: { classValue: ["ecNavItemActive", "classValue"], exact: ["ecNavItemActiveExactMatch", "exact"], queryParams: ["ecNavItemActiveQueryParams", "queryParams"], url: ["ecNavItemActiveUrl", "url"] }, outputs: { routerLinkActivated: "routerLinkActivated" }, ngImport: i0 }); }
3083
3088
  }
3084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavItemActiveDirective, decorators: [{
3089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavItemActiveDirective, decorators: [{
3085
3090
  type: Directive,
3086
3091
  args: [{
3087
- selector: '[ecNavItemActive]'
3092
+ selector: '[ecNavItemActive]',
3093
+ standalone: false
3088
3094
  }]
3089
3095
  }], ctorParameters: () => [{ type: i1$2.Router }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }], propDecorators: { classValue: [{
3090
3096
  type: Input,
@@ -3521,12 +3527,12 @@ class MenuComponent {
3521
3527
  });
3522
3528
  }
3523
3529
  }
3524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: WindowService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component }); }
3525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MenuComponent, selector: "ec-menu", inputs: { id: "id", items: "items", selected: "selected", parent: "parent", templateType: "templateType", customMenuTemplate: "customMenuTemplate", title: "title", showNoItems: "showNoItems", noDataText: "noDataText", enableKeyNav: "enableKeyNav", highlightedItem: "highlightedItem", maintainSelectedItem: "maintainSelectedItem", truncateItems: "truncateItems", preserveIconSpace: "preserveIconSpace", dropdownToggleButton: "dropdownToggleButton" }, outputs: { selectedChanged: "selectedChanged", menuClosed: "menuClosed" }, host: { properties: { "attr.id": "this.attrId" } }, viewQueries: [{ propertyName: "labelTemplate", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "iconAndLabelTemplate", first: true, predicate: ["iconAndLabel"], descendants: true, static: true }, { propertyName: "checkAndLabelTemplate", first: true, predicate: ["checkAndLabel"], descendants: true, static: true }, { propertyName: "iconLabelCaptionTemplate", first: true, predicate: ["iconLabelCaption"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<nav>\n <div class=\"parent\"\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\n <header id=\"{{id}}_header\"\n class=\"text-heading-3 p-1\"\n [class.is-selected]=\"highlightedItemIndex === -1\"\n *ngIf=\"parent\"\n (click)=\"back($event)\">\n <div class=\"item-wrapper\">\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\n </div>\n </header>\n\n <ul id=\"{{id}}_list\"\n class=\"py-1\">\n <ng-container *ngFor=\"let item of items; index as i\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n\n <!-- Show child items under parent item if the item is a heading or divided-section -->\n <ng-container\n *ngIf=\"item.items?.length && (item.display === 'heading' || item.display === 'divided-section' || item.display === 'heading-divided-section')\">\n <ng-container *ngFor=\"let childItem of item.items; index as j; first as isFirst; last as isLast\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: childItem, index: i + '-' + j, isDividedSectionChild: ( item.display === 'divided-section' || item.display === 'heading-divided-section'), isFirst: isFirst, isLast: isLast}\">\n </ng-container>\n </ng-container>\n </ng-container>\n </ul>\n\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\n </div>\n\n <!-- Child menu (Rendered to the right) -->\n <ec-menu *ngIf=\"selected?.items && selected?.display !== 'heading' && selected?.display !== 'divided-section' && selected?.display !== 'heading-divided-section'\"\n id=\"{{id}}_child\"\n class=\"child\"\n [parent]=\"selected\"\n [items]=\"selected?.items\"\n [showNoItems]=\"true\"\n [templateType]=\"templateType\"\n [enableKeyNav]=\"true\"\n [truncateItems]=\"truncateItems\"\n (selectedChanged)=\"onSelection($event)\"\n (menuClosed)=\"toggleChildMenu(false)\">\n </ec-menu>\n</nav>\n\n<ng-template #itemTemplate\n let-item\n let-i=\"index\"\n let-isDividedSectionChild=\"isDividedSectionChild\"\n let-isFirst=\"isFirst\"\n let-isLast=\"isLast\">\n <li *ngIf=\"!(item.hideIfNoItems && !item.items?.length) && item.display !== 'divided-section'\"\n id=\"{{item.id || id + '_item' + i}}\"\n class=\"{{item.display || 'item'}} {{item.classList}}\"\n [class.divider-top]=\"item.display === 'divider-top' || item.display === 'heading-divided-section' || (isDividedSectionChild && isFirst && item.display === 'heading-divided-section')\"\n [class.divider]=\"item.display === 'divider' || (isDividedSectionChild && isLast)\"\n [attr.disabled]=\"item.disabled\"\n [hidden]=\"item.hidden\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\n (routerLinkActivated)=\"selectItem($event, item)\"\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading' && item?.display !== 'heading-divided-section') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked, 'text-heading-3': (item?.display === 'heading' || item?.display === 'heading-divided-section')}\"\n (click)=\"selectItem($event, item)\">\n\n <a *ngIf=\"item.url && !item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams || null\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <a *ngIf=\"item.url && item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n href=\"{{item.url}}\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <div *ngIf=\"!item.url\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </div>\n </li>\n</ng-template>\n\n<!-- 'label' Item Template -->\n<ng-template #label\n let-item>\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'checkAndLabel' Item Template -->\n<ng-template #checkAndLabel\n let-item>\n\n <i class=\"ec-icon icon-check ec-icon-sm\"\n *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"></i>\n\n <i class=\"ec-icon {{item.icon}} ml-2\"\n *ngIf=\"item.icon\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'iconAndLabel' Item Template -->\n<ng-template #iconAndLabel\n let-item>\n <!-- If menuItem.icon exists and is not blank, show the icon in the menu -->\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #iconLabelCaption\n let-item>\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n <div *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"\n class=\"label flex-grow\">\n <div id=\"{{item.id}}_label\"\n class=\"text-body-1\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </div>\n <div id=\"{{item.id}}_caption\"\n *ngIf=\"item.caption\"\n class=\"text-caption-1\"\n [class.text-truncate]=\"truncateItems\"\n [innerHTML]=\"item.caption\"></div>\n </div>\n <h3 *ngIf=\"item.display === 'heading' || item.display === 'heading-divided-section'\"\n class=\"flex-grow text-heading-3 align-self-center\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </h3>\n\n <i class=\"ec-icon icon-angle-down rotate-270 align-self-center\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #helpPopover\n let-item>\n <ec-help-popover id=\"{{item.id}}_helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{item.helpPopover | translate}}\"\n contentPosition=\"{{item.helpPopoverPosition ?? 'top-left'}}\">\n </ec-help-popover>\n</ng-template>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));font-weight:400;background-color:var(--ec-menu-background-color, var(--ec-background-color))}:host.open>nav>.parent,:host.open>nav>.child{position:absolute;left:0;top:0;right:0;height:100%;transition:transform .25s ease}:host.open>nav>.parent{transform:translate(0)}:host.open>nav>.child{transform:translate(100%)}:host.open-active>nav>.parent{transform:translate(-100%)}:host.open-active>nav>.child{transform:translate(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{display:flex;position:relative;height:100%;overflow:hidden}.parent{display:flex;flex-direction:column;flex:auto;position:relative;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-selected .item-wrapper,.parent>header.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}.parent>header:hover .item-wrapper{background-color:var(--ec-background-color-hover)}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{padding:0;margin:0;list-style:none;flex:auto;height:100%;overflow-y:auto}ul li{cursor:pointer;padding:0 .25rem}ul li a{color:inherit;border-bottom:0;text-decoration:none}ul li.is-selected .item-wrapper,ul li.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}ul li:hover .item-wrapper{background-color:var(--ec-background-color-hover)}ul li:focus .item-wrapper{outline:none;background-color:var(--ec-color-disabled-dark);position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled)}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading-divided-section,ul li.heading{cursor:default}ul li.heading-divided-section .item-wrapper,ul li.heading .item-wrapper{background-color:transparent}ul li.heading-divided-section:not(:first-child),ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider:not(:last-child){border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul li.divider-top:not(:first-child):not(.divider+.divider-top){border-top:1px solid var(--ec-border-color);padding-top:.25rem;margin-top:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{cursor:inherit;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem;border-radius:var(--ec-border-radius);display:flex;color:inherit}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{margin-top:calc((1.25rem - var(--ec-font-size-icon)) / 2);flex:none}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:calc((1.25rem - calc(var(--ec-font-size-icon) * .75)) / 2)}.item-wrapper .icon-check{opacity:0}.no-data-message{display:none;text-align:center;padding:1rem;color:var(--ec-color-hint-dark);margin-bottom:0;font-size:var(--ec-font-size-body)}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-selected,:host-context(ec-tree) li.is-highlighted{font-weight:700;color:var(--ec-menu-color-highlighted, inherit)}:host-context(ec-tree) li.is-selected:not(:hover),:host-context(ec-tree) li.is-highlighted:not(:hover){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: WindowService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component }); }
3531
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: MenuComponent, isStandalone: false, selector: "ec-menu", inputs: { id: "id", items: "items", selected: "selected", parent: "parent", templateType: "templateType", customMenuTemplate: "customMenuTemplate", title: "title", showNoItems: "showNoItems", noDataText: "noDataText", enableKeyNav: "enableKeyNav", highlightedItem: "highlightedItem", maintainSelectedItem: "maintainSelectedItem", truncateItems: "truncateItems", preserveIconSpace: "preserveIconSpace", dropdownToggleButton: "dropdownToggleButton" }, outputs: { selectedChanged: "selectedChanged", menuClosed: "menuClosed" }, host: { properties: { "attr.id": "this.attrId" } }, viewQueries: [{ propertyName: "labelTemplate", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "iconAndLabelTemplate", first: true, predicate: ["iconAndLabel"], descendants: true, static: true }, { propertyName: "checkAndLabelTemplate", first: true, predicate: ["checkAndLabel"], descendants: true, static: true }, { propertyName: "iconLabelCaptionTemplate", first: true, predicate: ["iconLabelCaption"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<nav>\n <div class=\"parent\"\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\n <header id=\"{{id}}_header\"\n class=\"text-heading-3 p-1\"\n [class.is-selected]=\"highlightedItemIndex === -1\"\n *ngIf=\"parent\"\n (click)=\"back($event)\">\n <div class=\"item-wrapper\">\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\n </div>\n </header>\n\n <ul id=\"{{id}}_list\"\n class=\"py-1\">\n <ng-container *ngFor=\"let item of items; index as i\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n\n <!-- Show child items under parent item if the item is a heading or divided-section -->\n <ng-container\n *ngIf=\"item.items?.length && (item.display === 'heading' || item.display === 'divided-section' || item.display === 'heading-divided-section')\">\n <ng-container *ngFor=\"let childItem of item.items; index as j; first as isFirst; last as isLast\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: childItem, index: i + '-' + j, isDividedSectionChild: ( item.display === 'divided-section' || item.display === 'heading-divided-section'), isFirst: isFirst, isLast: isLast}\">\n </ng-container>\n </ng-container>\n </ng-container>\n </ul>\n\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\n </div>\n\n <!-- Child menu (Rendered to the right) -->\n <ec-menu *ngIf=\"selected?.items && selected?.display !== 'heading' && selected?.display !== 'divided-section' && selected?.display !== 'heading-divided-section'\"\n id=\"{{id}}_child\"\n class=\"child\"\n [parent]=\"selected\"\n [items]=\"selected?.items\"\n [showNoItems]=\"true\"\n [templateType]=\"templateType\"\n [enableKeyNav]=\"true\"\n [truncateItems]=\"truncateItems\"\n (selectedChanged)=\"onSelection($event)\"\n (menuClosed)=\"toggleChildMenu(false)\">\n </ec-menu>\n</nav>\n\n<ng-template #itemTemplate\n let-item\n let-i=\"index\"\n let-isDividedSectionChild=\"isDividedSectionChild\"\n let-isFirst=\"isFirst\"\n let-isLast=\"isLast\">\n <li *ngIf=\"!(item.hideIfNoItems && !item.items?.length) && item.display !== 'divided-section'\"\n id=\"{{item.id || id + '_item' + i}}\"\n class=\"{{item.display || 'item'}} {{item.classList}}\"\n [class.divider-top]=\"item.display === 'divider-top' || item.display === 'heading-divided-section' || (isDividedSectionChild && isFirst && item.display === 'heading-divided-section')\"\n [class.divider]=\"item.display === 'divider' || (isDividedSectionChild && isLast)\"\n [attr.disabled]=\"item.disabled\"\n [hidden]=\"item.hidden\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\n (routerLinkActivated)=\"selectItem($event, item)\"\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading' && item?.display !== 'heading-divided-section') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked, 'text-heading-3': (item?.display === 'heading' || item?.display === 'heading-divided-section')}\"\n (click)=\"selectItem($event, item)\">\n\n <a *ngIf=\"item.url && !item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams || null\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <a *ngIf=\"item.url && item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n href=\"{{item.url}}\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <div *ngIf=\"!item.url\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </div>\n </li>\n</ng-template>\n\n<!-- 'label' Item Template -->\n<ng-template #label\n let-item>\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'checkAndLabel' Item Template -->\n<ng-template #checkAndLabel\n let-item>\n\n <i class=\"ec-icon icon-check ec-icon-sm\"\n *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"></i>\n\n <i class=\"ec-icon {{item.icon}} ml-2\"\n *ngIf=\"item.icon\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'iconAndLabel' Item Template -->\n<ng-template #iconAndLabel\n let-item>\n <!-- If menuItem.icon exists and is not blank, show the icon in the menu -->\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #iconLabelCaption\n let-item>\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n <div *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"\n class=\"label flex-grow\">\n <div id=\"{{item.id}}_label\"\n class=\"text-body-1\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </div>\n <div id=\"{{item.id}}_caption\"\n *ngIf=\"item.caption\"\n class=\"text-caption-1\"\n [class.text-truncate]=\"truncateItems\"\n [innerHTML]=\"item.caption\"></div>\n </div>\n <h3 *ngIf=\"item.display === 'heading' || item.display === 'heading-divided-section'\"\n class=\"flex-grow text-heading-3 align-self-center\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </h3>\n\n <i class=\"ec-icon icon-angle-down rotate-270 align-self-center\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #helpPopover\n let-item>\n <ec-help-popover id=\"{{item.id}}_helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{item.helpPopover | translate}}\"\n contentPosition=\"{{item.helpPopoverPosition ?? 'top-left'}}\">\n </ec-help-popover>\n</ng-template>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));font-weight:400;background-color:var(--ec-menu-background-color, var(--ec-background-color))}:host.open>nav>.parent,:host.open>nav>.child{position:absolute;left:0;top:0;right:0;height:100%;transition:transform .25s ease}:host.open>nav>.parent{transform:translate(0)}:host.open>nav>.child{transform:translate(100%)}:host.open-active>nav>.parent{transform:translate(-100%)}:host.open-active>nav>.child{transform:translate(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{display:flex;position:relative;height:100%;overflow:hidden}.parent{display:flex;flex-direction:column;flex:auto;position:relative;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-selected .item-wrapper,.parent>header.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}.parent>header:hover .item-wrapper{background-color:var(--ec-background-color-hover)}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{padding:0;margin:0;list-style:none;flex:auto;height:100%;overflow-y:auto}ul li{cursor:pointer;padding:0 .25rem}ul li a{color:inherit;border-bottom:0;text-decoration:none}ul li.is-selected .item-wrapper,ul li.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}ul li:hover .item-wrapper{background-color:var(--ec-background-color-hover)}ul li:focus .item-wrapper{outline:none;background-color:var(--ec-color-disabled-dark);position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled)}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading-divided-section,ul li.heading{cursor:default}ul li.heading-divided-section .item-wrapper,ul li.heading .item-wrapper{background-color:transparent}ul li.heading-divided-section:not(:first-child),ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider:not(:last-child){border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul li.divider-top:not(:first-child):not(.divider+.divider-top){border-top:1px solid var(--ec-border-color);padding-top:.25rem;margin-top:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{cursor:inherit;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem;border-radius:var(--ec-border-radius);display:flex;color:inherit}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{margin-top:calc((1.25rem - var(--ec-font-size-icon)) / 2);flex:none}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:calc((1.25rem - calc(var(--ec-font-size-icon) * .75)) / 2)}.item-wrapper .icon-check{opacity:0}.no-data-message{display:none;text-align:center;padding:1rem;color:var(--ec-color-hint-dark);margin-bottom:0;font-size:var(--ec-font-size-body)}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-selected,:host-context(ec-tree) li.is-highlighted{font-weight:700;color:var(--ec-menu-color-highlighted, inherit)}:host-context(ec-tree) li.is-selected:not(:hover),:host-context(ec-tree) li.is-highlighted:not(:hover){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3526
3532
  }
3527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, decorators: [{
3533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MenuComponent, decorators: [{
3528
3534
  type: Component,
3529
- args: [{ selector: 'ec-menu', template: "<nav>\n <div class=\"parent\"\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\n <header id=\"{{id}}_header\"\n class=\"text-heading-3 p-1\"\n [class.is-selected]=\"highlightedItemIndex === -1\"\n *ngIf=\"parent\"\n (click)=\"back($event)\">\n <div class=\"item-wrapper\">\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\n </div>\n </header>\n\n <ul id=\"{{id}}_list\"\n class=\"py-1\">\n <ng-container *ngFor=\"let item of items; index as i\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n\n <!-- Show child items under parent item if the item is a heading or divided-section -->\n <ng-container\n *ngIf=\"item.items?.length && (item.display === 'heading' || item.display === 'divided-section' || item.display === 'heading-divided-section')\">\n <ng-container *ngFor=\"let childItem of item.items; index as j; first as isFirst; last as isLast\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: childItem, index: i + '-' + j, isDividedSectionChild: ( item.display === 'divided-section' || item.display === 'heading-divided-section'), isFirst: isFirst, isLast: isLast}\">\n </ng-container>\n </ng-container>\n </ng-container>\n </ul>\n\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\n </div>\n\n <!-- Child menu (Rendered to the right) -->\n <ec-menu *ngIf=\"selected?.items && selected?.display !== 'heading' && selected?.display !== 'divided-section' && selected?.display !== 'heading-divided-section'\"\n id=\"{{id}}_child\"\n class=\"child\"\n [parent]=\"selected\"\n [items]=\"selected?.items\"\n [showNoItems]=\"true\"\n [templateType]=\"templateType\"\n [enableKeyNav]=\"true\"\n [truncateItems]=\"truncateItems\"\n (selectedChanged)=\"onSelection($event)\"\n (menuClosed)=\"toggleChildMenu(false)\">\n </ec-menu>\n</nav>\n\n<ng-template #itemTemplate\n let-item\n let-i=\"index\"\n let-isDividedSectionChild=\"isDividedSectionChild\"\n let-isFirst=\"isFirst\"\n let-isLast=\"isLast\">\n <li *ngIf=\"!(item.hideIfNoItems && !item.items?.length) && item.display !== 'divided-section'\"\n id=\"{{item.id || id + '_item' + i}}\"\n class=\"{{item.display || 'item'}} {{item.classList}}\"\n [class.divider-top]=\"item.display === 'divider-top' || item.display === 'heading-divided-section' || (isDividedSectionChild && isFirst && item.display === 'heading-divided-section')\"\n [class.divider]=\"item.display === 'divider' || (isDividedSectionChild && isLast)\"\n [attr.disabled]=\"item.disabled\"\n [hidden]=\"item.hidden\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\n (routerLinkActivated)=\"selectItem($event, item)\"\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading' && item?.display !== 'heading-divided-section') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked, 'text-heading-3': (item?.display === 'heading' || item?.display === 'heading-divided-section')}\"\n (click)=\"selectItem($event, item)\">\n\n <a *ngIf=\"item.url && !item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams || null\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <a *ngIf=\"item.url && item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n href=\"{{item.url}}\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <div *ngIf=\"!item.url\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </div>\n </li>\n</ng-template>\n\n<!-- 'label' Item Template -->\n<ng-template #label\n let-item>\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'checkAndLabel' Item Template -->\n<ng-template #checkAndLabel\n let-item>\n\n <i class=\"ec-icon icon-check ec-icon-sm\"\n *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"></i>\n\n <i class=\"ec-icon {{item.icon}} ml-2\"\n *ngIf=\"item.icon\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'iconAndLabel' Item Template -->\n<ng-template #iconAndLabel\n let-item>\n <!-- If menuItem.icon exists and is not blank, show the icon in the menu -->\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #iconLabelCaption\n let-item>\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n <div *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"\n class=\"label flex-grow\">\n <div id=\"{{item.id}}_label\"\n class=\"text-body-1\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </div>\n <div id=\"{{item.id}}_caption\"\n *ngIf=\"item.caption\"\n class=\"text-caption-1\"\n [class.text-truncate]=\"truncateItems\"\n [innerHTML]=\"item.caption\"></div>\n </div>\n <h3 *ngIf=\"item.display === 'heading' || item.display === 'heading-divided-section'\"\n class=\"flex-grow text-heading-3 align-self-center\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </h3>\n\n <i class=\"ec-icon icon-angle-down rotate-270 align-self-center\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #helpPopover\n let-item>\n <ec-help-popover id=\"{{item.id}}_helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{item.helpPopover | translate}}\"\n contentPosition=\"{{item.helpPopoverPosition ?? 'top-left'}}\">\n </ec-help-popover>\n</ng-template>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));font-weight:400;background-color:var(--ec-menu-background-color, var(--ec-background-color))}:host.open>nav>.parent,:host.open>nav>.child{position:absolute;left:0;top:0;right:0;height:100%;transition:transform .25s ease}:host.open>nav>.parent{transform:translate(0)}:host.open>nav>.child{transform:translate(100%)}:host.open-active>nav>.parent{transform:translate(-100%)}:host.open-active>nav>.child{transform:translate(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{display:flex;position:relative;height:100%;overflow:hidden}.parent{display:flex;flex-direction:column;flex:auto;position:relative;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-selected .item-wrapper,.parent>header.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}.parent>header:hover .item-wrapper{background-color:var(--ec-background-color-hover)}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{padding:0;margin:0;list-style:none;flex:auto;height:100%;overflow-y:auto}ul li{cursor:pointer;padding:0 .25rem}ul li a{color:inherit;border-bottom:0;text-decoration:none}ul li.is-selected .item-wrapper,ul li.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}ul li:hover .item-wrapper{background-color:var(--ec-background-color-hover)}ul li:focus .item-wrapper{outline:none;background-color:var(--ec-color-disabled-dark);position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled)}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading-divided-section,ul li.heading{cursor:default}ul li.heading-divided-section .item-wrapper,ul li.heading .item-wrapper{background-color:transparent}ul li.heading-divided-section:not(:first-child),ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider:not(:last-child){border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul li.divider-top:not(:first-child):not(.divider+.divider-top){border-top:1px solid var(--ec-border-color);padding-top:.25rem;margin-top:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{cursor:inherit;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem;border-radius:var(--ec-border-radius);display:flex;color:inherit}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{margin-top:calc((1.25rem - var(--ec-font-size-icon)) / 2);flex:none}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:calc((1.25rem - calc(var(--ec-font-size-icon) * .75)) / 2)}.item-wrapper .icon-check{opacity:0}.no-data-message{display:none;text-align:center;padding:1rem;color:var(--ec-color-hint-dark);margin-bottom:0;font-size:var(--ec-font-size-body)}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-selected,:host-context(ec-tree) li.is-highlighted{font-weight:700;color:var(--ec-menu-color-highlighted, inherit)}:host-context(ec-tree) li.is-selected:not(:hover),:host-context(ec-tree) li.is-highlighted:not(:hover){background-color:transparent}\n"] }]
3535
+ args: [{ selector: 'ec-menu', standalone: false, template: "<nav>\n <div class=\"parent\"\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\n <header id=\"{{id}}_header\"\n class=\"text-heading-3 p-1\"\n [class.is-selected]=\"highlightedItemIndex === -1\"\n *ngIf=\"parent\"\n (click)=\"back($event)\">\n <div class=\"item-wrapper\">\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\n </div>\n </header>\n\n <ul id=\"{{id}}_list\"\n class=\"py-1\">\n <ng-container *ngFor=\"let item of items; index as i\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n\n <!-- Show child items under parent item if the item is a heading or divided-section -->\n <ng-container\n *ngIf=\"item.items?.length && (item.display === 'heading' || item.display === 'divided-section' || item.display === 'heading-divided-section')\">\n <ng-container *ngFor=\"let childItem of item.items; index as j; first as isFirst; last as isLast\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: childItem, index: i + '-' + j, isDividedSectionChild: ( item.display === 'divided-section' || item.display === 'heading-divided-section'), isFirst: isFirst, isLast: isLast}\">\n </ng-container>\n </ng-container>\n </ng-container>\n </ul>\n\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\n </div>\n\n <!-- Child menu (Rendered to the right) -->\n <ec-menu *ngIf=\"selected?.items && selected?.display !== 'heading' && selected?.display !== 'divided-section' && selected?.display !== 'heading-divided-section'\"\n id=\"{{id}}_child\"\n class=\"child\"\n [parent]=\"selected\"\n [items]=\"selected?.items\"\n [showNoItems]=\"true\"\n [templateType]=\"templateType\"\n [enableKeyNav]=\"true\"\n [truncateItems]=\"truncateItems\"\n (selectedChanged)=\"onSelection($event)\"\n (menuClosed)=\"toggleChildMenu(false)\">\n </ec-menu>\n</nav>\n\n<ng-template #itemTemplate\n let-item\n let-i=\"index\"\n let-isDividedSectionChild=\"isDividedSectionChild\"\n let-isFirst=\"isFirst\"\n let-isLast=\"isLast\">\n <li *ngIf=\"!(item.hideIfNoItems && !item.items?.length) && item.display !== 'divided-section'\"\n id=\"{{item.id || id + '_item' + i}}\"\n class=\"{{item.display || 'item'}} {{item.classList}}\"\n [class.divider-top]=\"item.display === 'divider-top' || item.display === 'heading-divided-section' || (isDividedSectionChild && isFirst && item.display === 'heading-divided-section')\"\n [class.divider]=\"item.display === 'divider' || (isDividedSectionChild && isLast)\"\n [attr.disabled]=\"item.disabled\"\n [hidden]=\"item.hidden\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\n (routerLinkActivated)=\"selectItem($event, item)\"\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading' && item?.display !== 'heading-divided-section') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked, 'text-heading-3': (item?.display === 'heading' || item?.display === 'heading-divided-section')}\"\n (click)=\"selectItem($event, item)\">\n\n <a *ngIf=\"item.url && !item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams || null\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <a *ngIf=\"item.url && item.externalLink\"\n id=\"{{item.id}}_link\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\"\n href=\"{{item.url}}\"\n target=\"{{item.target || '_self'}}\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </a>\n\n <div *ngIf=\"!item.url\"\n title=\"{{truncateItems ? item.label : ''}}\"\n class=\"item-wrapper\">\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\n </div>\n </li>\n</ng-template>\n\n<!-- 'label' Item Template -->\n<ng-template #label\n let-item>\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'checkAndLabel' Item Template -->\n<ng-template #checkAndLabel\n let-item>\n\n <i class=\"ec-icon icon-check ec-icon-sm\"\n *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"></i>\n\n <i class=\"ec-icon {{item.icon}} ml-2\"\n *ngIf=\"item.icon\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<!-- 'iconAndLabel' Item Template -->\n<ng-template #iconAndLabel\n let-item>\n <!-- If menuItem.icon exists and is not blank, show the icon in the menu -->\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n\n <span id=\"{{item.id}}_label\"\n class=\"label\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </span>\n\n <i class=\"ec-icon icon-angle-down rotate-270\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #iconLabelCaption\n let-item>\n <i class=\"ec-icon {{item.icon}}\"\n *ngIf=\"(item.icon && item.icon !== '') || preserveIconSpace\"></i>\n <div *ngIf=\"item.display !== 'heading' && item.display !== 'heading-divided-section'\"\n class=\"label flex-grow\">\n <div id=\"{{item.id}}_label\"\n class=\"text-body-1\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </div>\n <div id=\"{{item.id}}_caption\"\n *ngIf=\"item.caption\"\n class=\"text-caption-1\"\n [class.text-truncate]=\"truncateItems\"\n [innerHTML]=\"item.caption\"></div>\n </div>\n <h3 *ngIf=\"item.display === 'heading' || item.display === 'heading-divided-section'\"\n class=\"flex-grow text-heading-3 align-self-center\"\n [class.text-truncate]=\"truncateItems\">\n {{item.label}}\n <ng-container *ngIf=\"item.helpPopover\"\n [ngTemplateOutlet]=\"helpPopover\"\n [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-container>\n </h3>\n\n <i class=\"ec-icon icon-angle-down rotate-270 align-self-center\"\n *ngIf=\"item?.items && item.display !== 'heading' && item.display !== 'divided-section' && item.display !== 'heading-divided-section'\"></i>\n</ng-template>\n\n<ng-template #helpPopover\n let-item>\n <ec-help-popover id=\"{{item.id}}_helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{item.helpPopover | translate}}\"\n contentPosition=\"{{item.helpPopoverPosition ?? 'top-left'}}\">\n </ec-help-popover>\n</ng-template>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));font-weight:400;background-color:var(--ec-menu-background-color, var(--ec-background-color))}:host.open>nav>.parent,:host.open>nav>.child{position:absolute;left:0;top:0;right:0;height:100%;transition:transform .25s ease}:host.open>nav>.parent{transform:translate(0)}:host.open>nav>.child{transform:translate(100%)}:host.open-active>nav>.parent{transform:translate(-100%)}:host.open-active>nav>.child{transform:translate(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{display:flex;position:relative;height:100%;overflow:hidden}.parent{display:flex;flex-direction:column;flex:auto;position:relative;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-selected .item-wrapper,.parent>header.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}.parent>header:hover .item-wrapper{background-color:var(--ec-background-color-hover)}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{padding:0;margin:0;list-style:none;flex:auto;height:100%;overflow-y:auto}ul li{cursor:pointer;padding:0 .25rem}ul li a{color:inherit;border-bottom:0;text-decoration:none}ul li.is-selected .item-wrapper,ul li.is-highlighted .item-wrapper{background-color:var(--ec-background-color-selected)}ul li:hover .item-wrapper{background-color:var(--ec-background-color-hover)}ul li:focus .item-wrapper{outline:none;background-color:var(--ec-color-disabled-dark);position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled)}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading-divided-section,ul li.heading{cursor:default}ul li.heading-divided-section .item-wrapper,ul li.heading .item-wrapper{background-color:transparent}ul li.heading-divided-section:not(:first-child),ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider:not(:last-child){border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul li.divider-top:not(:first-child):not(.divider+.divider-top){border-top:1px solid var(--ec-border-color);padding-top:.25rem;margin-top:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{cursor:inherit;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem;border-radius:var(--ec-border-radius);display:flex;color:inherit}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{margin-top:calc((1.25rem - var(--ec-font-size-icon)) / 2);flex:none}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:calc((1.25rem - calc(var(--ec-font-size-icon) * .75)) / 2)}.item-wrapper .icon-check{opacity:0}.no-data-message{display:none;text-align:center;padding:1rem;color:var(--ec-color-hint-dark);margin-bottom:0;font-size:var(--ec-font-size-body)}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-selected,:host-context(ec-tree) li.is-highlighted{font-weight:700;color:var(--ec-menu-color-highlighted, inherit)}:host-context(ec-tree) li.is-selected:not(:hover),:host-context(ec-tree) li.is-highlighted:not(:hover){background-color:transparent}\n"] }]
3530
3536
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: WindowService }, { type: ScrollService }], propDecorators: { id: [{
3531
3537
  type: Input
3532
3538
  }], attrId: [{
@@ -3722,12 +3728,15 @@ class PopupContainerDirective {
3722
3728
  }
3723
3729
  }
3724
3730
  }
3725
- 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 }); }
3726
- 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 }); }
3731
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PopupContainerDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
3732
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: PopupContainerDirective, isStandalone: false, selector: "[ecPopup]", inputs: { popup: ["ecPopup", "popup"], popperOptions: ["options", "popperOptions"] }, ngImport: i0 }); }
3727
3733
  }
3728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopupContainerDirective, decorators: [{
3734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PopupContainerDirective, decorators: [{
3729
3735
  type: Directive,
3730
- args: [{ selector: '[ecPopup]' }]
3736
+ args: [{
3737
+ selector: '[ecPopup]',
3738
+ standalone: false
3739
+ }]
3731
3740
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
3732
3741
  type: Inject,
3733
3742
  args: [DOCUMENT]
@@ -3857,12 +3866,12 @@ class TextboxComponent extends FormControlBase {
3857
3866
  this.formModel.setValue(this.formModel.value.toUpperCase().trim());
3858
3867
  }
3859
3868
  }
3860
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3861
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextboxComponent, selector: "ec-textbox", inputs: { autocomplete: "autocomplete", type: "type", placeholder: "placeholder", maxlength: "maxlength", minlength: "minlength", rows: "rows", selectOnAutofocus: "selectOnAutofocus", upperCase: "upperCase" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["textboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TextboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3870
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TextboxComponent, isStandalone: false, selector: "ec-textbox", inputs: { autocomplete: "autocomplete", type: "type", placeholder: "placeholder", maxlength: "maxlength", minlength: "minlength", rows: "rows", selectOnAutofocus: "selectOnAutofocus", upperCase: "upperCase" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["textboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3862
3871
  }
3863
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, decorators: [{
3872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TextboxComponent, decorators: [{
3864
3873
  type: Component,
3865
- args: [{ selector: 'ec-textbox', template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"] }]
3874
+ args: [{ selector: 'ec-textbox', standalone: false, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"] }]
3866
3875
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }, { type: i3.TranslateService }], propDecorators: { autocomplete: [{
3867
3876
  type: Input
3868
3877
  }], type: [{
@@ -3886,12 +3895,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3886
3895
 
3887
3896
  /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
3888
3897
  class SpinnerComponent {
3889
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3890
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpinnerComponent, selector: "ec-spinner", ngImport: i0, template: "<div class=\"spinner\">\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }); }
3898
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3899
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SpinnerComponent, isStandalone: false, selector: "ec-spinner", ngImport: i0, template: "<div class=\"spinner\">\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }); }
3891
3900
  }
3892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, decorators: [{
3901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SpinnerComponent, decorators: [{
3893
3902
  type: Component,
3894
- args: [{ selector: 'ec-spinner', template: "<div class=\"spinner\">\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }]
3903
+ args: [{ selector: 'ec-spinner', standalone: false, template: "<div class=\"spinner\">\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n <span class=\"spinner-dot\"></span>\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }]
3895
3904
  }] });
3896
3905
 
3897
3906
  class Overlay {
@@ -3926,12 +3935,12 @@ class ViewOverlayComponent {
3926
3935
  this.action.onClick(event);
3927
3936
  }
3928
3937
  }
3929
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3930
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: { status: "status", message: "message", action: "action", noDataTemplate: "noDataTemplate", displayAsMask: "displayAsMask", overlayClassList: "overlayClassList" }, ngImport: i0, template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: SpinnerComponent, selector: "ec-spinner" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3938
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ViewOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3939
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ViewOverlayComponent, isStandalone: false, selector: "[ecOverlay]", inputs: { status: "status", message: "message", action: "action", noDataTemplate: "noDataTemplate", displayAsMask: "displayAsMask", overlayClassList: "overlayClassList" }, ngImport: i0, template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: SpinnerComponent, selector: "ec-spinner" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3931
3940
  }
3932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewOverlayComponent, decorators: [{
3941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ViewOverlayComponent, decorators: [{
3933
3942
  type: Component,
3934
- args: [{ selector: '[ecOverlay]', template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"] }]
3943
+ args: [{ selector: '[ecOverlay]', standalone: false, template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"] }]
3935
3944
  }], propDecorators: { status: [{
3936
3945
  type: Input
3937
3946
  }], message: [{
@@ -4741,12 +4750,12 @@ class ComboboxComponent extends FormControlBase {
4741
4750
  }
4742
4751
  return index;
4743
4752
  }
4744
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i3.TranslateService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component }); }
4745
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, selector: "ec-combobox", inputs: { addNew: "addNew", addNewOptions: "addNewOptions", maxlength: "maxlength", menuPosition: "menuPosition", minlength: "minlength", options: "options", templateType: "templateType", customMenuTemplate: "customMenuTemplate", preserveIconSpace: "preserveIconSpace", popupFixed: "popupFixed", totalRecords: "totalRecords", upperCase: "upperCase", placeholder: "placeholder", loadOnOpenObservable: "loadOnOpenObservable", hideToggleButton: "hideToggleButton", alwaysOpen: "alwaysOpen", menuElementClasses: "menuElementClasses", textboxElementClasses: "textboxElementClasses", hideNoMatches: "hideNoMatches", noMatchesText: "noMatchesText", truncateItems: "truncateItems" }, outputs: { addNewClick: "addNewClick", search: "search" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }, { propertyName: "popup", first: true, predicate: PopupContainerDirective, descendants: true }, { propertyName: "addNewButton", first: true, predicate: ["addNewButton"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'open': menuStatus === 'visible',\n 'invalid': formModel.touched && formModel.invalid,\n 'has-icon': ((templateType === 'iconAndLabel' || templateType === 'iconLabelCaption') && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\n 'is-readonly': readonly,\n 'is-disabled': formModel.disabled,\n 'is-always-open': alwaysOpen}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-container *ngIf=\"alwaysOpen; else popupTarget\">\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"filteredOptions.length > 0 || textboxFormModel.value\">\n <ng-container *ngTemplateOutlet=\"dropdownmenu\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #popupTarget>\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\"\n *ecPopup=\"dropdownmenu\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #textbox>\n <i class=\"ec-icon {{formModel.value?.icon}}\"></i>\n\n <ec-textbox class=\"textbox-group-input mb-0\"\n #textbox\n [id]=\"id\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [maxlength]=\"maxlength\"\n [minlength]=\"minlength\"\n [placeholder]=\"effectivePlaceholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n (input)=\"textboxValueChanged($event)\"\n (keydown)=\"keyNavigate($event)\"\n (focusout)=\"onBlur()\"\n [upperCase]=\"upperCase\"\n [pending]=\"pending && alwaysOpen\"\n [autocomplete]=\"'off'\"></ec-textbox>\n\n <ec-button class=\"textbox-group-btn-right\"\n *ngIf=\"!hideToggleButton\"\n [id]=\"id + '_button'\"\n [disabled]=\"formModel.disabled\"\n icon=\"icon-caret-down\"\n [tabindex]=\"-1\"\n type=\"secondary\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [class.active]=\"menuStatus === 'visible'\"></ec-button>\n</ng-template>\n\n<ng-template #dropdownmenu>\n <div class=\"popup\"\n ecOverlay\n [status]=\"pending && !alwaysOpen ? 'pending' : 'hasData'\">\n\n <button class=\"add-new {{addNewOptions?.classList}}\"\n id=\"{{id}}_addNew\"\n #addNewButton\n [class.is-selected]=\"addNewSelected\"\n *ngIf=\"addNew\"\n [hidden]=\"foundMatch || (addNew === 'dynamic' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))\"\n (click)=\"onAddNew($event)\">\n <span class=\"add-new-label ec-util-truncate\">\n <span *ngIf=\"addNew === 'static' || addNew === true\"\n translate>{{addNewOptions?.label}}\n </span>\n <span *ngIf=\"addNew === 'dynamic'\">{{'Add' | translate}} <strong class=\"ec-util-truncate\"\n [ngClass]=\"{'text-uppercase': upperCase}\">{{textboxFormModel.value}}</strong>\n </span>\n </span>\n <i class=\"ec-icon {{addNewOptions?.icon}}\"></i>\n </button>\n\n <ec-menu id=\"{{id}}_menu\"\n [class.border-top-0]=\"!filteredOptions.length && hideNoMatches\"\n [ngClass]=\"menuElementClasses\"\n [templateType]=\"templateType\"\n [customMenuTemplate]=\"customMenuTemplate\"\n [showNoItems]=\"!hideNoMatches\"\n [noDataText]=\"noMatchesText\"\n [items]=\"filteredOptions\"\n [selected]=\"selectedItem\"\n (selectedChanged)=\"selectedChanged($event)\"\n [preserveIconSpace]=\"preserveIconSpace\"\n [truncateItems]=\"truncateItems\"></ec-menu>\n\n <footer *ngIf=\"totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0\">\n <span>{{filteredOptionCount}} {{'of' | translate}} {{totalRecords}}</span>\n </footer>\n </div>\n</ng-template>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;position:absolute;top:.5rem;left:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled:not(.is-readonly) .ec-icon{filter:grayscale(100%);opacity:var(--ec-form-control-opacity-disabled)}.control.is-readonly ec-textbox ::ng-deep input{border-right-width:1px;border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open label,.control.is-always-open .textbox-group{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;box-shadow:none;flex:1 1;border:0;margin:0;z-index:0;min-height:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}.control:not(.is-disabled):not(.is-readonly) ec-button:hover{--ec-button-border-color-secondary: var(--ec-form-control-border-color-hover)}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.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)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{height:2rem;line-height:1.25rem;padding:.25rem .5rem;display:flex;align-items:center;background-color:var(--ec-background-color);cursor:pointer;border:0;width:100%}.add-new:hover,.add-new.is-selected{background-color:var(--ec-background-color-hover)}.add-new:focus{outline:none;background-color:var(--ec-background-color-hover)}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{padding:.5rem;border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);text-align:right;line-height:1}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-border-color-secondary-focus: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}.open:not(.is-always-open) .textbox-group ec-textbox{--ec-form-control-box-shadow-focus: none;--ec-form-control-border-color-focus: var(--ec-form-control-border-color)}.open:not(.is-always-open) .textbox-group ec-button{--ec-button-box-shadow-focus-secondary: none;--ec-button-background-color-secondary: var(--ec-background-color-selected)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: 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: PopupContainerDirective, selector: "[ecPopup]", inputs: ["ecPopup", "options"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4753
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ComboboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i3.TranslateService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component }); }
4754
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ComboboxComponent, isStandalone: false, selector: "ec-combobox", inputs: { addNew: "addNew", addNewOptions: "addNewOptions", maxlength: "maxlength", menuPosition: "menuPosition", minlength: "minlength", options: "options", templateType: "templateType", customMenuTemplate: "customMenuTemplate", preserveIconSpace: "preserveIconSpace", popupFixed: "popupFixed", totalRecords: "totalRecords", upperCase: "upperCase", placeholder: "placeholder", loadOnOpenObservable: "loadOnOpenObservable", hideToggleButton: "hideToggleButton", alwaysOpen: "alwaysOpen", menuElementClasses: "menuElementClasses", textboxElementClasses: "textboxElementClasses", hideNoMatches: "hideNoMatches", noMatchesText: "noMatchesText", truncateItems: "truncateItems" }, outputs: { addNewClick: "addNewClick", search: "search" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }, { propertyName: "popup", first: true, predicate: PopupContainerDirective, descendants: true }, { propertyName: "addNewButton", first: true, predicate: ["addNewButton"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'open': menuStatus === 'visible',\n 'invalid': formModel.touched && formModel.invalid,\n 'has-icon': ((templateType === 'iconAndLabel' || templateType === 'iconLabelCaption') && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\n 'is-readonly': readonly,\n 'is-disabled': formModel.disabled,\n 'is-always-open': alwaysOpen}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-container *ngIf=\"alwaysOpen; else popupTarget\">\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"filteredOptions.length > 0 || textboxFormModel.value\">\n <ng-container *ngTemplateOutlet=\"dropdownmenu\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #popupTarget>\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\"\n *ecPopup=\"dropdownmenu\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #textbox>\n <i class=\"ec-icon {{formModel.value?.icon}}\"></i>\n\n <ec-textbox class=\"textbox-group-input mb-0\"\n #textbox\n [id]=\"id\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [maxlength]=\"maxlength\"\n [minlength]=\"minlength\"\n [placeholder]=\"effectivePlaceholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n (input)=\"textboxValueChanged($event)\"\n (keydown)=\"keyNavigate($event)\"\n (focusout)=\"onBlur()\"\n [upperCase]=\"upperCase\"\n [pending]=\"pending && alwaysOpen\"\n [autocomplete]=\"'off'\"></ec-textbox>\n\n <ec-button class=\"textbox-group-btn-right\"\n *ngIf=\"!hideToggleButton\"\n [id]=\"id + '_button'\"\n [disabled]=\"formModel.disabled\"\n icon=\"icon-caret-down\"\n [tabindex]=\"-1\"\n type=\"secondary\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [class.active]=\"menuStatus === 'visible'\"></ec-button>\n</ng-template>\n\n<ng-template #dropdownmenu>\n <div class=\"popup\"\n ecOverlay\n [status]=\"pending && !alwaysOpen ? 'pending' : 'hasData'\">\n\n <button class=\"add-new {{addNewOptions?.classList}}\"\n id=\"{{id}}_addNew\"\n #addNewButton\n [class.is-selected]=\"addNewSelected\"\n *ngIf=\"addNew\"\n [hidden]=\"foundMatch || (addNew === 'dynamic' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))\"\n (click)=\"onAddNew($event)\">\n <span class=\"add-new-label ec-util-truncate\">\n <span *ngIf=\"addNew === 'static' || addNew === true\"\n translate>{{addNewOptions?.label}}\n </span>\n <span *ngIf=\"addNew === 'dynamic'\">{{'Add' | translate}} <strong class=\"ec-util-truncate\"\n [ngClass]=\"{'text-uppercase': upperCase}\">{{textboxFormModel.value}}</strong>\n </span>\n </span>\n <i class=\"ec-icon {{addNewOptions?.icon}}\"></i>\n </button>\n\n <ec-menu id=\"{{id}}_menu\"\n [class.border-top-0]=\"!filteredOptions.length && hideNoMatches\"\n [ngClass]=\"menuElementClasses\"\n [templateType]=\"templateType\"\n [customMenuTemplate]=\"customMenuTemplate\"\n [showNoItems]=\"!hideNoMatches\"\n [noDataText]=\"noMatchesText\"\n [items]=\"filteredOptions\"\n [selected]=\"selectedItem\"\n (selectedChanged)=\"selectedChanged($event)\"\n [preserveIconSpace]=\"preserveIconSpace\"\n [truncateItems]=\"truncateItems\"></ec-menu>\n\n <footer *ngIf=\"totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0\">\n <span>{{filteredOptionCount}} {{'of' | translate}} {{totalRecords}}</span>\n </footer>\n </div>\n</ng-template>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;position:absolute;top:.5rem;left:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled:not(.is-readonly) .ec-icon{filter:grayscale(100%);opacity:var(--ec-form-control-opacity-disabled)}.control.is-readonly ec-textbox ::ng-deep input{border-right-width:1px;border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open label,.control.is-always-open .textbox-group{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;box-shadow:none;flex:1 1;border:0;margin:0;z-index:0;min-height:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}.control:not(.is-disabled):not(.is-readonly) ec-button:hover{--ec-button-border-color-secondary: var(--ec-form-control-border-color-hover)}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.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)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{height:2rem;line-height:1.25rem;padding:.25rem .5rem;display:flex;align-items:center;background-color:var(--ec-background-color);cursor:pointer;border:0;width:100%}.add-new:hover,.add-new.is-selected{background-color:var(--ec-background-color-hover)}.add-new:focus{outline:none;background-color:var(--ec-background-color-hover)}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{padding:.5rem;border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);text-align:right;line-height:1}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-border-color-secondary-focus: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}.open:not(.is-always-open) .textbox-group ec-textbox{--ec-form-control-box-shadow-focus: none;--ec-form-control-border-color-focus: var(--ec-form-control-border-color)}.open:not(.is-always-open) .textbox-group ec-button{--ec-button-box-shadow-focus-secondary: none;--ec-button-background-color-secondary: var(--ec-background-color-selected)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: 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: PopupContainerDirective, selector: "[ecPopup]", inputs: ["ecPopup", "options"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4746
4755
  }
4747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, decorators: [{
4756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ComboboxComponent, decorators: [{
4748
4757
  type: Component,
4749
- args: [{ selector: 'ec-combobox', template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'open': menuStatus === 'visible',\n 'invalid': formModel.touched && formModel.invalid,\n 'has-icon': ((templateType === 'iconAndLabel' || templateType === 'iconLabelCaption') && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\n 'is-readonly': readonly,\n 'is-disabled': formModel.disabled,\n 'is-always-open': alwaysOpen}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-container *ngIf=\"alwaysOpen; else popupTarget\">\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"filteredOptions.length > 0 || textboxFormModel.value\">\n <ng-container *ngTemplateOutlet=\"dropdownmenu\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #popupTarget>\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\"\n *ecPopup=\"dropdownmenu\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #textbox>\n <i class=\"ec-icon {{formModel.value?.icon}}\"></i>\n\n <ec-textbox class=\"textbox-group-input mb-0\"\n #textbox\n [id]=\"id\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [maxlength]=\"maxlength\"\n [minlength]=\"minlength\"\n [placeholder]=\"effectivePlaceholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n (input)=\"textboxValueChanged($event)\"\n (keydown)=\"keyNavigate($event)\"\n (focusout)=\"onBlur()\"\n [upperCase]=\"upperCase\"\n [pending]=\"pending && alwaysOpen\"\n [autocomplete]=\"'off'\"></ec-textbox>\n\n <ec-button class=\"textbox-group-btn-right\"\n *ngIf=\"!hideToggleButton\"\n [id]=\"id + '_button'\"\n [disabled]=\"formModel.disabled\"\n icon=\"icon-caret-down\"\n [tabindex]=\"-1\"\n type=\"secondary\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [class.active]=\"menuStatus === 'visible'\"></ec-button>\n</ng-template>\n\n<ng-template #dropdownmenu>\n <div class=\"popup\"\n ecOverlay\n [status]=\"pending && !alwaysOpen ? 'pending' : 'hasData'\">\n\n <button class=\"add-new {{addNewOptions?.classList}}\"\n id=\"{{id}}_addNew\"\n #addNewButton\n [class.is-selected]=\"addNewSelected\"\n *ngIf=\"addNew\"\n [hidden]=\"foundMatch || (addNew === 'dynamic' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))\"\n (click)=\"onAddNew($event)\">\n <span class=\"add-new-label ec-util-truncate\">\n <span *ngIf=\"addNew === 'static' || addNew === true\"\n translate>{{addNewOptions?.label}}\n </span>\n <span *ngIf=\"addNew === 'dynamic'\">{{'Add' | translate}} <strong class=\"ec-util-truncate\"\n [ngClass]=\"{'text-uppercase': upperCase}\">{{textboxFormModel.value}}</strong>\n </span>\n </span>\n <i class=\"ec-icon {{addNewOptions?.icon}}\"></i>\n </button>\n\n <ec-menu id=\"{{id}}_menu\"\n [class.border-top-0]=\"!filteredOptions.length && hideNoMatches\"\n [ngClass]=\"menuElementClasses\"\n [templateType]=\"templateType\"\n [customMenuTemplate]=\"customMenuTemplate\"\n [showNoItems]=\"!hideNoMatches\"\n [noDataText]=\"noMatchesText\"\n [items]=\"filteredOptions\"\n [selected]=\"selectedItem\"\n (selectedChanged)=\"selectedChanged($event)\"\n [preserveIconSpace]=\"preserveIconSpace\"\n [truncateItems]=\"truncateItems\"></ec-menu>\n\n <footer *ngIf=\"totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0\">\n <span>{{filteredOptionCount}} {{'of' | translate}} {{totalRecords}}</span>\n </footer>\n </div>\n</ng-template>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;position:absolute;top:.5rem;left:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled:not(.is-readonly) .ec-icon{filter:grayscale(100%);opacity:var(--ec-form-control-opacity-disabled)}.control.is-readonly ec-textbox ::ng-deep input{border-right-width:1px;border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open label,.control.is-always-open .textbox-group{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;box-shadow:none;flex:1 1;border:0;margin:0;z-index:0;min-height:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}.control:not(.is-disabled):not(.is-readonly) ec-button:hover{--ec-button-border-color-secondary: var(--ec-form-control-border-color-hover)}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.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)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{height:2rem;line-height:1.25rem;padding:.25rem .5rem;display:flex;align-items:center;background-color:var(--ec-background-color);cursor:pointer;border:0;width:100%}.add-new:hover,.add-new.is-selected{background-color:var(--ec-background-color-hover)}.add-new:focus{outline:none;background-color:var(--ec-background-color-hover)}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{padding:.5rem;border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);text-align:right;line-height:1}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-border-color-secondary-focus: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}.open:not(.is-always-open) .textbox-group ec-textbox{--ec-form-control-box-shadow-focus: none;--ec-form-control-border-color-focus: var(--ec-form-control-border-color)}.open:not(.is-always-open) .textbox-group ec-button{--ec-button-box-shadow-focus-secondary: none;--ec-button-background-color-secondary: var(--ec-background-color-selected)}\n"] }]
4758
+ args: [{ selector: 'ec-combobox', standalone: false, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'open': menuStatus === 'visible',\n 'invalid': formModel.touched && formModel.invalid,\n 'has-icon': ((templateType === 'iconAndLabel' || templateType === 'iconLabelCaption') && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\n 'is-readonly': readonly,\n 'is-disabled': formModel.disabled,\n 'is-always-open': alwaysOpen}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-container *ngIf=\"alwaysOpen; else popupTarget\">\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"filteredOptions.length > 0 || textboxFormModel.value\">\n <ng-container *ngTemplateOutlet=\"dropdownmenu\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #popupTarget>\n <div class=\"textbox-group control-input\"\n [ngClass]=\"textboxElementClasses\"\n *ecPopup=\"dropdownmenu\">\n <ng-container *ngTemplateOutlet=\"textbox\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #textbox>\n <i class=\"ec-icon {{formModel.value?.icon}}\"></i>\n\n <ec-textbox class=\"textbox-group-input mb-0\"\n #textbox\n [id]=\"id\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [maxlength]=\"maxlength\"\n [minlength]=\"minlength\"\n [placeholder]=\"effectivePlaceholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n (input)=\"textboxValueChanged($event)\"\n (keydown)=\"keyNavigate($event)\"\n (focusout)=\"onBlur()\"\n [upperCase]=\"upperCase\"\n [pending]=\"pending && alwaysOpen\"\n [autocomplete]=\"'off'\"></ec-textbox>\n\n <ec-button class=\"textbox-group-btn-right\"\n *ngIf=\"!hideToggleButton\"\n [id]=\"id + '_button'\"\n [disabled]=\"formModel.disabled\"\n icon=\"icon-caret-down\"\n [tabindex]=\"-1\"\n type=\"secondary\"\n (click)=\"toggleMenu($event)\"\n (keydown)=\"keyNavigate($event)\"\n [class.active]=\"menuStatus === 'visible'\"></ec-button>\n</ng-template>\n\n<ng-template #dropdownmenu>\n <div class=\"popup\"\n ecOverlay\n [status]=\"pending && !alwaysOpen ? 'pending' : 'hasData'\">\n\n <button class=\"add-new {{addNewOptions?.classList}}\"\n id=\"{{id}}_addNew\"\n #addNewButton\n [class.is-selected]=\"addNewSelected\"\n *ngIf=\"addNew\"\n [hidden]=\"foundMatch || (addNew === 'dynamic' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))\"\n (click)=\"onAddNew($event)\">\n <span class=\"add-new-label ec-util-truncate\">\n <span *ngIf=\"addNew === 'static' || addNew === true\"\n translate>{{addNewOptions?.label}}\n </span>\n <span *ngIf=\"addNew === 'dynamic'\">{{'Add' | translate}} <strong class=\"ec-util-truncate\"\n [ngClass]=\"{'text-uppercase': upperCase}\">{{textboxFormModel.value}}</strong>\n </span>\n </span>\n <i class=\"ec-icon {{addNewOptions?.icon}}\"></i>\n </button>\n\n <ec-menu id=\"{{id}}_menu\"\n [class.border-top-0]=\"!filteredOptions.length && hideNoMatches\"\n [ngClass]=\"menuElementClasses\"\n [templateType]=\"templateType\"\n [customMenuTemplate]=\"customMenuTemplate\"\n [showNoItems]=\"!hideNoMatches\"\n [noDataText]=\"noMatchesText\"\n [items]=\"filteredOptions\"\n [selected]=\"selectedItem\"\n (selectedChanged)=\"selectedChanged($event)\"\n [preserveIconSpace]=\"preserveIconSpace\"\n [truncateItems]=\"truncateItems\"></ec-menu>\n\n <footer *ngIf=\"totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0\">\n <span>{{filteredOptionCount}} {{'of' | translate}} {{totalRecords}}</span>\n </footer>\n </div>\n</ng-template>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;position:absolute;top:.5rem;left:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled:not(.is-readonly) .ec-icon{filter:grayscale(100%);opacity:var(--ec-form-control-opacity-disabled)}.control.is-readonly ec-textbox ::ng-deep input{border-right-width:1px;border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open label,.control.is-always-open .textbox-group{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;box-shadow:none;flex:1 1;border:0;margin:0;z-index:0;min-height:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}.control:not(.is-disabled):not(.is-readonly) ec-button:hover{--ec-button-border-color-secondary: var(--ec-form-control-border-color-hover)}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.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)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{height:2rem;line-height:1.25rem;padding:.25rem .5rem;display:flex;align-items:center;background-color:var(--ec-background-color);cursor:pointer;border:0;width:100%}.add-new:hover,.add-new.is-selected{background-color:var(--ec-background-color-hover)}.add-new:focus{outline:none;background-color:var(--ec-background-color-hover)}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{padding:.5rem;border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);text-align:right;line-height:1}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-border-color-secondary-focus: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}.open:not(.is-always-open) .textbox-group ec-textbox{--ec-form-control-box-shadow-focus: none;--ec-form-control-border-color-focus: var(--ec-form-control-border-color)}.open:not(.is-always-open) .textbox-group ec-button{--ec-button-box-shadow-focus-secondary: none;--ec-button-background-color-secondary: var(--ec-background-color-selected)}\n"] }]
4750
4759
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }, { type: i3.TranslateService }, { type: ScrollService }], propDecorators: { onResize: [{
4751
4760
  type: HostListener,
4752
4761
  args: ['window:resize']
@@ -4861,12 +4870,12 @@ class FormControlComponent {
4861
4870
  clear() {
4862
4871
  this._formModel?.reset();
4863
4872
  }
4864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
4865
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormControlComponent, selector: "ec-form-control", inputs: { id: "id", icon: "icon", actionIcon: "actionIcon", showClear: "showClear", formModelInput: ["formModel", "formModelInput"], autofocus: "autofocus", tabindex: "tabindex", pending: "pending", required: "required", readonly: "readonly" }, outputs: { actionClicked: "actionClicked" }, host: { properties: { "class.is-pending": "this.pending", "class.is-required": "this.required", "class.is-readonly": "this.readonly", "class.is-empty": "this.empty", "class.is-invalid": "this.invalid", "class.is-disabled": "this.disabled" } }, queries: [{ propertyName: "formControlDirective", first: true, predicate: FormControlDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n<i id=\"{{id + '_icon'}}\" class=\"ec-form-control-icon ec-icon {{icon}}\"></i>\n<i id=\"{{id + '_loading'}}\" class=\"ec-form-control-icon ec-icon icon-loading\"></i>\n<i id=\"{{id + '_required'}}\" class=\"ec-form-control-icon ec-icon icon-required\"></i>\n<i id=\"{{id + '_invalid'}}\" class=\"ec-form-control-icon ec-icon icon-invalid\"></i>\n<button *ngIf=\"showClear\"\n id=\"{{id + '_clear'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-clear\"\n (click)=\"clear()\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-cancel\"></i>\n</button>\n<button *ngIf=\"actionIcon\"\n id=\"{{id + '_action'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-action\"\n (click)=\"actionClicked.emit($event)\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon {{actionIcon}}\"></i>\n</button>\n<div class=\"ec-focus-ring\"></div>\n", styles: ["ec-form-control{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);padding:0 .5rem;position:relative;color:var(--ec-form-control-color);display:flex;font-size:var(--ec-form-control-font-size);min-height:2rem;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea,ec-form-control>div[contenteditable=true]{color:inherit;flex:1 1;min-width:0;border:0;background-color:transparent;order:2}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection,ec-form-control>div[contenteditable=true]::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder,ec-form-control>div[contenteditable=true]::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder,ec-form-control>div[contenteditable=true]::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder,ec-form-control>div[contenteditable=true]:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder,ec-form-control>div[contenteditable=true]:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus,ec-form-control>div[contenteditable=true]:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring,ec-form-control>div[contenteditable=true]:focus~.ec-focus-ring{display:block}ec-form-control>input,ec-form-control>textarea,ec-form-control>select,ec-form-control>div[contenteditable=true],ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{padding:calc((1.875rem - var(--ec-font-size-body) * 1.25) / 2) 0;line-height:1.25;font-size:inherit}ec-form-control>textarea{resize:none;padding:.3125rem 0}ec-form-control .ec-form-control-icon{margin-top:.4375rem;margin-right:.25rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required,ec-form-control .icon-invalid{color:var(--ec-form-control-border-color-invalid)}ec-form-control .ec-form-control-clear,ec-form-control .ec-form-control-action{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border-radius:var(--ec-border-radius);display:flex;cursor:pointer;flex:none;height:1.875rem;width:2rem;order:3;background-color:transparent;border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;outline:none}ec-form-control .ec-form-control-clear .label,ec-form-control .ec-form-control-action .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ec-form-control .ec-form-control-clear .ec-icon,ec-form-control .ec-form-control-action .ec-icon{flex:none}ec-form-control .ec-form-control-clear .ec-icon+.label,ec-form-control .ec-form-control-action .ec-icon+.label{flex:none;margin-left:.25rem}ec-form-control .ec-form-control-clear.has-badge,ec-form-control .ec-form-control-action.has-badge{padding-right:.0625rem}ec-form-control .ec-form-control-clear:focus,ec-form-control .ec-form-control-action:focus{outline:none;position:relative;z-index:1}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ec-form-control .ec-form-control-clear:disabled .ec-icon,ec-form-control .ec-form-control-action:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{border:0;background-color:transparent;border-color:transparent}ec-form-control .ec-form-control-clear:last-of-type,ec-form-control .ec-form-control-action:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-clear:hover:not(:disabled),ec-form-control .ec-form-control-action:hover:not(:disabled){cursor:pointer;background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear:active:not(:disabled),ec-form-control .ec-form-control-action:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ec-form-control .ec-form-control-clear:focus:not(:disabled),ec-form-control .ec-form-control-action:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ec-form-control button:last-of-type{border-top-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem);border-bottom-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);flex:none;cursor:default}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{position:absolute;inset:-1px;border:.125rem solid var(--ec-color-interactive);pointer-events:none;display:none;border-radius:var(--ec-form-control-border-radius);z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{border-color:var(--ec-form-control-border-color-invalid);background-color:var(--ec-form-control-background-color-invalid)}ec-form-control.is-invalid .icon-required{display:none}ec-form-control.is-empty .ec-form-control-clear{display:none}ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type{display:none}ec-form-control:not(.is-pending) .icon-loading{display:none}ec-form-control:not(.is-required) .icon-required,ec-form-control:not(.is-empty) .icon-required{display:none}ec-form-control:not(.is-invalid) .icon-invalid{display:none}ec-form-control.is-readonly,ec-form-control.is-disabled{background-color:var(--ec-form-control-background-color-disabled)}ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-required,ec-form-control.is-disabled .ec-form-control-clear{display:none}ec-form-control.is-readonly{border-color:var(--ec-form-control-border-color-readonly);color:var(--ec-form-control-color-readonly)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-form-control-color-disabled);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}ec-form-control:hover:not(.is-disabled):not(.is-readonly){border-color:var(--ec-form-control-border-color-hover)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
4873
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
4874
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FormControlComponent, isStandalone: false, selector: "ec-form-control", inputs: { id: "id", icon: "icon", actionIcon: "actionIcon", showClear: "showClear", formModelInput: ["formModel", "formModelInput"], autofocus: "autofocus", tabindex: "tabindex", pending: "pending", required: "required", readonly: "readonly" }, outputs: { actionClicked: "actionClicked" }, host: { properties: { "class.is-pending": "this.pending", "class.is-required": "this.required", "class.is-readonly": "this.readonly", "class.is-empty": "this.empty", "class.is-invalid": "this.invalid", "class.is-disabled": "this.disabled" } }, queries: [{ propertyName: "formControlDirective", first: true, predicate: FormControlDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n<i id=\"{{id + '_icon'}}\" class=\"ec-form-control-icon ec-icon {{icon}}\"></i>\n<i id=\"{{id + '_loading'}}\" class=\"ec-form-control-icon ec-icon icon-loading\"></i>\n<i id=\"{{id + '_required'}}\" class=\"ec-form-control-icon ec-icon icon-required\"></i>\n<i id=\"{{id + '_invalid'}}\" class=\"ec-form-control-icon ec-icon icon-invalid\"></i>\n<button *ngIf=\"showClear\"\n id=\"{{id + '_clear'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-clear\"\n (click)=\"clear()\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-cancel\"></i>\n</button>\n<button *ngIf=\"actionIcon\"\n id=\"{{id + '_action'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-action\"\n (click)=\"actionClicked.emit($event)\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon {{actionIcon}}\"></i>\n</button>\n<div class=\"ec-focus-ring\"></div>\n", styles: ["ec-form-control{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);padding:0 .5rem;position:relative;color:var(--ec-form-control-color);display:flex;font-size:var(--ec-form-control-font-size);min-height:2rem;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea,ec-form-control>div[contenteditable=true]{color:inherit;flex:1 1;min-width:0;border:0;background-color:transparent;order:2}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection,ec-form-control>div[contenteditable=true]::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder,ec-form-control>div[contenteditable=true]::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder,ec-form-control>div[contenteditable=true]::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder,ec-form-control>div[contenteditable=true]:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder,ec-form-control>div[contenteditable=true]:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus,ec-form-control>div[contenteditable=true]:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring,ec-form-control>div[contenteditable=true]:focus~.ec-focus-ring{display:block}ec-form-control>input,ec-form-control>textarea,ec-form-control>select,ec-form-control>div[contenteditable=true],ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{padding:calc((1.875rem - var(--ec-font-size-body) * 1.25) / 2) 0;line-height:1.25;font-size:inherit}ec-form-control>textarea{resize:none;padding:.3125rem 0}ec-form-control .ec-form-control-icon{margin-top:.4375rem;margin-right:.25rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required,ec-form-control .icon-invalid{color:var(--ec-form-control-border-color-invalid)}ec-form-control .ec-form-control-clear,ec-form-control .ec-form-control-action{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border-radius:var(--ec-border-radius);display:flex;cursor:pointer;flex:none;height:1.875rem;width:2rem;order:3;background-color:transparent;border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;outline:none}ec-form-control .ec-form-control-clear .label,ec-form-control .ec-form-control-action .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ec-form-control .ec-form-control-clear .ec-icon,ec-form-control .ec-form-control-action .ec-icon{flex:none}ec-form-control .ec-form-control-clear .ec-icon+.label,ec-form-control .ec-form-control-action .ec-icon+.label{flex:none;margin-left:.25rem}ec-form-control .ec-form-control-clear.has-badge,ec-form-control .ec-form-control-action.has-badge{padding-right:.0625rem}ec-form-control .ec-form-control-clear:focus,ec-form-control .ec-form-control-action:focus{outline:none;position:relative;z-index:1}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ec-form-control .ec-form-control-clear:disabled .ec-icon,ec-form-control .ec-form-control-action:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{border:0;background-color:transparent;border-color:transparent}ec-form-control .ec-form-control-clear:last-of-type,ec-form-control .ec-form-control-action:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-clear:hover:not(:disabled),ec-form-control .ec-form-control-action:hover:not(:disabled){cursor:pointer;background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear:active:not(:disabled),ec-form-control .ec-form-control-action:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ec-form-control .ec-form-control-clear:focus:not(:disabled),ec-form-control .ec-form-control-action:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ec-form-control button:last-of-type{border-top-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem);border-bottom-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);flex:none;cursor:default}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{position:absolute;inset:-1px;border:.125rem solid var(--ec-color-interactive);pointer-events:none;display:none;border-radius:var(--ec-form-control-border-radius);z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{border-color:var(--ec-form-control-border-color-invalid);background-color:var(--ec-form-control-background-color-invalid)}ec-form-control.is-invalid .icon-required{display:none}ec-form-control.is-empty .ec-form-control-clear{display:none}ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type{display:none}ec-form-control:not(.is-pending) .icon-loading{display:none}ec-form-control:not(.is-required) .icon-required,ec-form-control:not(.is-empty) .icon-required{display:none}ec-form-control:not(.is-invalid) .icon-invalid{display:none}ec-form-control.is-readonly,ec-form-control.is-disabled{background-color:var(--ec-form-control-background-color-disabled)}ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-required,ec-form-control.is-disabled .ec-form-control-clear{display:none}ec-form-control.is-readonly{border-color:var(--ec-form-control-border-color-readonly);color:var(--ec-form-control-color-readonly)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-form-control-color-disabled);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}ec-form-control:hover:not(.is-disabled):not(.is-readonly){border-color:var(--ec-form-control-border-color-hover)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
4866
4875
  }
4867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlComponent, decorators: [{
4876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlComponent, decorators: [{
4868
4877
  type: Component,
4869
- args: [{ selector: 'ec-form-control', encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n<i id=\"{{id + '_icon'}}\" class=\"ec-form-control-icon ec-icon {{icon}}\"></i>\n<i id=\"{{id + '_loading'}}\" class=\"ec-form-control-icon ec-icon icon-loading\"></i>\n<i id=\"{{id + '_required'}}\" class=\"ec-form-control-icon ec-icon icon-required\"></i>\n<i id=\"{{id + '_invalid'}}\" class=\"ec-form-control-icon ec-icon icon-invalid\"></i>\n<button *ngIf=\"showClear\"\n id=\"{{id + '_clear'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-clear\"\n (click)=\"clear()\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-cancel\"></i>\n</button>\n<button *ngIf=\"actionIcon\"\n id=\"{{id + '_action'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-action\"\n (click)=\"actionClicked.emit($event)\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon {{actionIcon}}\"></i>\n</button>\n<div class=\"ec-focus-ring\"></div>\n", styles: ["ec-form-control{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);padding:0 .5rem;position:relative;color:var(--ec-form-control-color);display:flex;font-size:var(--ec-form-control-font-size);min-height:2rem;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea,ec-form-control>div[contenteditable=true]{color:inherit;flex:1 1;min-width:0;border:0;background-color:transparent;order:2}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection,ec-form-control>div[contenteditable=true]::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder,ec-form-control>div[contenteditable=true]::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder,ec-form-control>div[contenteditable=true]::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder,ec-form-control>div[contenteditable=true]:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder,ec-form-control>div[contenteditable=true]:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus,ec-form-control>div[contenteditable=true]:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring,ec-form-control>div[contenteditable=true]:focus~.ec-focus-ring{display:block}ec-form-control>input,ec-form-control>textarea,ec-form-control>select,ec-form-control>div[contenteditable=true],ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{padding:calc((1.875rem - var(--ec-font-size-body) * 1.25) / 2) 0;line-height:1.25;font-size:inherit}ec-form-control>textarea{resize:none;padding:.3125rem 0}ec-form-control .ec-form-control-icon{margin-top:.4375rem;margin-right:.25rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required,ec-form-control .icon-invalid{color:var(--ec-form-control-border-color-invalid)}ec-form-control .ec-form-control-clear,ec-form-control .ec-form-control-action{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border-radius:var(--ec-border-radius);display:flex;cursor:pointer;flex:none;height:1.875rem;width:2rem;order:3;background-color:transparent;border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;outline:none}ec-form-control .ec-form-control-clear .label,ec-form-control .ec-form-control-action .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ec-form-control .ec-form-control-clear .ec-icon,ec-form-control .ec-form-control-action .ec-icon{flex:none}ec-form-control .ec-form-control-clear .ec-icon+.label,ec-form-control .ec-form-control-action .ec-icon+.label{flex:none;margin-left:.25rem}ec-form-control .ec-form-control-clear.has-badge,ec-form-control .ec-form-control-action.has-badge{padding-right:.0625rem}ec-form-control .ec-form-control-clear:focus,ec-form-control .ec-form-control-action:focus{outline:none;position:relative;z-index:1}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ec-form-control .ec-form-control-clear:disabled .ec-icon,ec-form-control .ec-form-control-action:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{border:0;background-color:transparent;border-color:transparent}ec-form-control .ec-form-control-clear:last-of-type,ec-form-control .ec-form-control-action:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-clear:hover:not(:disabled),ec-form-control .ec-form-control-action:hover:not(:disabled){cursor:pointer;background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear:active:not(:disabled),ec-form-control .ec-form-control-action:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ec-form-control .ec-form-control-clear:focus:not(:disabled),ec-form-control .ec-form-control-action:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ec-form-control button:last-of-type{border-top-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem);border-bottom-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);flex:none;cursor:default}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{position:absolute;inset:-1px;border:.125rem solid var(--ec-color-interactive);pointer-events:none;display:none;border-radius:var(--ec-form-control-border-radius);z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{border-color:var(--ec-form-control-border-color-invalid);background-color:var(--ec-form-control-background-color-invalid)}ec-form-control.is-invalid .icon-required{display:none}ec-form-control.is-empty .ec-form-control-clear{display:none}ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type{display:none}ec-form-control:not(.is-pending) .icon-loading{display:none}ec-form-control:not(.is-required) .icon-required,ec-form-control:not(.is-empty) .icon-required{display:none}ec-form-control:not(.is-invalid) .icon-invalid{display:none}ec-form-control.is-readonly,ec-form-control.is-disabled{background-color:var(--ec-form-control-background-color-disabled)}ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-required,ec-form-control.is-disabled .ec-form-control-clear{display:none}ec-form-control.is-readonly{border-color:var(--ec-form-control-border-color-readonly);color:var(--ec-form-control-color-readonly)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-form-control-color-disabled);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}ec-form-control:hover:not(.is-disabled):not(.is-readonly){border-color:var(--ec-form-control-border-color-hover)}\n"] }]
4878
+ args: [{ selector: 'ec-form-control', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-content></ng-content>\n<i id=\"{{id + '_icon'}}\" class=\"ec-form-control-icon ec-icon {{icon}}\"></i>\n<i id=\"{{id + '_loading'}}\" class=\"ec-form-control-icon ec-icon icon-loading\"></i>\n<i id=\"{{id + '_required'}}\" class=\"ec-form-control-icon ec-icon icon-required\"></i>\n<i id=\"{{id + '_invalid'}}\" class=\"ec-form-control-icon ec-icon icon-invalid\"></i>\n<button *ngIf=\"showClear\"\n id=\"{{id + '_clear'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-clear\"\n (click)=\"clear()\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon icon-cancel\"></i>\n</button>\n<button *ngIf=\"actionIcon\"\n id=\"{{id + '_action'}}\"\n [attr.disabled]=\"disabled || undefined\"\n class=\"ec-form-control-action\"\n (click)=\"actionClicked.emit($event)\"\n tabindex=\"{{tabindex}}\">\n <i class=\"ec-icon {{actionIcon}}\"></i>\n</button>\n<div class=\"ec-focus-ring\"></div>\n", styles: ["ec-form-control{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);padding:0 .5rem;position:relative;color:var(--ec-form-control-color);display:flex;font-size:var(--ec-form-control-font-size);min-height:2rem;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea,ec-form-control>div[contenteditable=true]{color:inherit;flex:1 1;min-width:0;border:0;background-color:transparent;order:2}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection,ec-form-control>div[contenteditable=true]::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder,ec-form-control>div[contenteditable=true]::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder,ec-form-control>div[contenteditable=true]::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder,ec-form-control>div[contenteditable=true]:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder,ec-form-control>div[contenteditable=true]:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus,ec-form-control>div[contenteditable=true]:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring,ec-form-control>div[contenteditable=true]:focus~.ec-focus-ring{display:block}ec-form-control>input,ec-form-control>textarea,ec-form-control>select,ec-form-control>div[contenteditable=true],ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{padding:calc((1.875rem - var(--ec-font-size-body) * 1.25) / 2) 0;line-height:1.25;font-size:inherit}ec-form-control>textarea{resize:none;padding:.3125rem 0}ec-form-control .ec-form-control-icon{margin-top:.4375rem;margin-right:.25rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required,ec-form-control .icon-invalid{color:var(--ec-form-control-border-color-invalid)}ec-form-control .ec-form-control-clear,ec-form-control .ec-form-control-action{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border-radius:var(--ec-border-radius);display:flex;cursor:pointer;flex:none;height:1.875rem;width:2rem;order:3;background-color:transparent;border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;outline:none}ec-form-control .ec-form-control-clear .label,ec-form-control .ec-form-control-action .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ec-form-control .ec-form-control-clear .ec-icon,ec-form-control .ec-form-control-action .ec-icon{flex:none}ec-form-control .ec-form-control-clear .ec-icon+.label,ec-form-control .ec-form-control-action .ec-icon+.label{flex:none;margin-left:.25rem}ec-form-control .ec-form-control-clear.has-badge,ec-form-control .ec-form-control-action.has-badge{padding-right:.0625rem}ec-form-control .ec-form-control-clear:focus,ec-form-control .ec-form-control-action:focus{outline:none;position:relative;z-index:1}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ec-form-control .ec-form-control-clear:disabled .ec-icon,ec-form-control .ec-form-control-action:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ec-form-control .ec-form-control-clear:disabled,ec-form-control .ec-form-control-action:disabled{border:0;background-color:transparent;border-color:transparent}ec-form-control .ec-form-control-clear:last-of-type,ec-form-control .ec-form-control-action:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-clear:hover:not(:disabled),ec-form-control .ec-form-control-action:hover:not(:disabled){cursor:pointer;background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear:active:not(:disabled),ec-form-control .ec-form-control-action:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ec-form-control .ec-form-control-clear:focus:not(:disabled),ec-form-control .ec-form-control-action:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ec-form-control button:last-of-type{border-top-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem);border-bottom-right-radius:calc(var(--ec-form-control-border-radius) - .0625rem)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);flex:none;cursor:default}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{position:absolute;inset:-1px;border:.125rem solid var(--ec-color-interactive);pointer-events:none;display:none;border-radius:var(--ec-form-control-border-radius);z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{border-color:var(--ec-form-control-border-color-invalid);background-color:var(--ec-form-control-background-color-invalid)}ec-form-control.is-invalid .icon-required{display:none}ec-form-control.is-empty .ec-form-control-clear{display:none}ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type{display:none}ec-form-control:not(.is-pending) .icon-loading{display:none}ec-form-control:not(.is-required) .icon-required,ec-form-control:not(.is-empty) .icon-required{display:none}ec-form-control:not(.is-invalid) .icon-invalid{display:none}ec-form-control.is-readonly,ec-form-control.is-disabled{background-color:var(--ec-form-control-background-color-disabled)}ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-required,ec-form-control.is-disabled .ec-form-control-clear{display:none}ec-form-control.is-readonly{border-color:var(--ec-form-control-border-color-readonly);color:var(--ec-form-control-color-readonly)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-form-control-color-disabled);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}ec-form-control:hover:not(.is-disabled):not(.is-readonly){border-color:var(--ec-form-control-border-color-hover)}\n"] }]
4870
4879
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { formControlDirective: [{
4871
4880
  type: ContentChild,
4872
4881
  args: [FormControlDirective]
@@ -4987,14 +4996,15 @@ class KeyboardNavContainerDirective {
4987
4996
  this.endAnchor.removeAttribute('tabindex');
4988
4997
  }
4989
4998
  }
4990
- 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$3.InteractivityChecker }], target: i0.ɵɵFactoryTarget.Directive }); }
4991
- 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 }); }
4999
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KeyboardNavContainerDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1$3.InteractivityChecker }], target: i0.ɵɵFactoryTarget.Directive }); }
5000
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: KeyboardNavContainerDirective, isStandalone: false, selector: "[ecKeyboardNavContainer]", inputs: { enabled: ["ecKeyboardNavContainer", "enabled"], tabindex: "tabindex" }, outputs: { focusOutStart: "focusOutStart", focusOutEnd: "focusOutEnd" }, exportAs: ["ecKeyboardNavContainer"], usesOnChanges: true, ngImport: i0 }); }
4992
5001
  }
4993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardNavContainerDirective, decorators: [{
5002
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KeyboardNavContainerDirective, decorators: [{
4994
5003
  type: Directive,
4995
5004
  args: [{
4996
5005
  selector: '[ecKeyboardNavContainer]',
4997
- exportAs: 'ecKeyboardNavContainer'
5006
+ exportAs: 'ecKeyboardNavContainer',
5007
+ standalone: false
4998
5008
  }]
4999
5009
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
5000
5010
  type: Inject,
@@ -5418,12 +5428,12 @@ class DateInputComponent extends FormControlBase {
5418
5428
  }
5419
5429
  return null;
5420
5430
  }
5421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: UserPreferenceService }, { token: i0.ElementRef }, { token: i1$1.Overlay }, { token: DateInput.SelectionStrategies }], target: i0.ɵɵFactoryTarget.Component }); }
5422
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputComponent, selector: "ec-date-input", inputs: { id: "id", formModel: "formModel", minDate: "minDate", maxDate: "maxDate", selectionMode: "selectionMode", selectionModeOptions: "selectionModeOptions", quickSelectDate: "quickSelectDate", enableSteppers: "enableSteppers" }, host: { properties: { "attr.id": "this.id" } }, providers: [DateInput.SelectionStrategies], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "controls", first: true, predicate: ["controls"], descendants: true }, { propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n</label>\n\n<div class=\"d-flex align-items-center\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #controls=\"ecKeyboardNavContainer\"\n (focusOutEnd)=\"onControlsFocusOutEnd()\">\n <ec-form-control id=\"{{id}}\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox')\"\n (blur)=\"onTextboxBlur()\">\n </ec-form-control>\n\n <ng-container *ngIf=\"selectionStrategy.showSecondaryTextbox\">\n <span class=\"flex-shrink mx-1\">&ndash;</span>\n <ec-form-control id=\"{{id}}_control2\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input2\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox2')\"\n (blur)=\"onTextbox2Blur()\">\n </ec-form-control>\n </ng-container>\n\n <div *ngIf=\"enableSteppers\"\n class=\"control-group ml-2\">\n <ec-button id=\"{{id}}_previousSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-90\"\n (clicked)=\"previousSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n <ec-button id=\"{{id}}_nextSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-270\"\n (clicked)=\"nextSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n </div>\n\n <ec-button *ngIf=\"quickSelectDate\"\n id=\"{{id}}_quickSelect\"\n icon=\"icon-day\"\n type=\"secondary\"\n title=\"{{'DateInput_LatestDataAvailableTitle' | translate}}\"\n (clicked)=\"goToQuickSelectDate()\"\n [tabindex]=\"tabindex\"\n class=\"ml-2\">\n </ec-button>\n</div>\n\n<ng-template cdkConnectedOverlay\n #overlay=\"cdkConnectedOverlay\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isCalendarOpen\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n cdkConnectedOverlayPanelClass=\"my-1\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n (detach)=\"isCalendarOpen = false\">\n <article id=\"{{id}}_datePicker\"\n class=\"card d-flex\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #calendar=\"ecKeyboardNavContainer\"\n (focusOutStart)=\"onCalendarFocusOutStart()\"\n (focusOutEnd)=\"onCalendarFocusOutEnd()\">\n <ul *ngIf=\"selectionModeOptions.length > 1\"\n class=\"selection-mode-menu border-right p-1\">\n <li *ngFor=\"let option of selectionModeOptions\">\n <button id=\"{{id}}_selectionMode_{{option}}\"\n class=\"text-body-1\"\n [class.is-selected]=\"option === selectionMode\"\n (click)=\"onSelectionModeChange(option)\"\n tabindex=\"{{tabindex}}\">\n {{'DateInputSelectionMode_' + option | translate}}\n </button>\n </li>\n </ul>\n\n <div>\n <div class=\"d-flex\">\n <ec-calendar id=\"{{id}}_calendar\"\n [view]=\"primaryCalendarView\"\n (viewChange)=\"onPrimaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"selectionStrategy.showSecondaryCalendar ? primaryCalendarMaxDate : maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n\n <ec-calendar *ngIf=\"selectionStrategy.showSecondaryCalendar\"\n id=\"{{id}}_secondaryCalendar\"\n [view]=\"secondaryCalendarView\"\n (viewChange)=\"onSecondaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"secondaryCalendarMinDate\"\n [maxDate]=\"maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n </div>\n\n <footer *ngIf=\"selectionStrategy.selectionViewMode === 'day'\"\n class=\"px-2 my-2 d-flex\">\n <ec-button id=\"{{id}}_today_button\"\n label=\"{{'DateInput_CalendarTodayButton_Label' | translate}}\"\n class=\"ml-auto\"\n (clicked)=\"goToToday()\"\n tabindex=\"{{tabindex}}\"\n type=\"text\">\n </ec-button>\n <ec-button *ngIf=\"selectionStrategy.showSecondaryTextbox\"\n id=\"{{id}}_close_button\"\n label=\"{{'DateInput_CalendarCloseButton_Label' | translate}}\"\n class=\"ml-2\"\n (clicked)=\"closeCalendarAndFocusInput()\"\n tabindex=\"{{tabindex}}\"\n type=\"primary\">\n </ec-button>\n </footer>\n </div>\n </article>\n</ng-template>\n", styles: [":host{display:block}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.date-picker{display:grid;grid-template-areas:\"menu calendar calendar\" \"menu footer footer\"}.date-picker footer{grid-area:footer}ul.selection-mode-menu{grid-area:menu;list-style:none;padding:0;margin:0;min-width:7rem}ul.selection-mode-menu li{margin-bottom:.25rem}ul.selection-mode-menu li button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;width:100%;height:1.75rem}ul.selection-mode-menu li button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ul.selection-mode-menu li button .ec-icon{flex:none}ul.selection-mode-menu li button .ec-icon+.label{flex:none;margin-left:.25rem}ul.selection-mode-menu li button.has-badge{padding-right:.0625rem}ul.selection-mode-menu li button:focus{outline:none;position:relative;z-index:1}ul.selection-mode-menu li button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ul.selection-mode-menu li button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ul.selection-mode-menu li button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}ul.selection-mode-menu li button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}ul.selection-mode-menu li button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ul.selection-mode-menu li button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ul.selection-mode-menu li button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}ec-button{--ec-button-border-color-secondary: var(--ec-border-color-control)}.control-group ec-button:has(+ec-button) ::ng-deep button{border-right:0}.control-group ec-button+ec-button ::ng-deep button{border-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: FormControlComponent, selector: "ec-form-control", inputs: ["id", "icon", "actionIcon", "showClear", "formModel", "autofocus", "tabindex", "pending", "required", "readonly"], outputs: ["actionClicked"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "component", type: CalendarComponent, selector: "ec-calendar", inputs: ["id", "selection", "selectionMode", "minDate", "maxDate", "tabindex", "view"], outputs: ["dateSelected", "viewChange"] }, { kind: "directive", type: KeyboardNavContainerDirective, selector: "[ecKeyboardNavContainer]", inputs: ["ecKeyboardNavContainer", "tabindex"], outputs: ["focusOutStart", "focusOutEnd"], exportAs: ["ecKeyboardNavContainer"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5431
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateInputComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: UserPreferenceService }, { token: i0.ElementRef }, { token: i1$1.Overlay }, { token: DateInput.SelectionStrategies }], target: i0.ɵɵFactoryTarget.Component }); }
5432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DateInputComponent, isStandalone: false, selector: "ec-date-input", inputs: { id: "id", formModel: "formModel", minDate: "minDate", maxDate: "maxDate", selectionMode: "selectionMode", selectionModeOptions: "selectionModeOptions", quickSelectDate: "quickSelectDate", enableSteppers: "enableSteppers" }, host: { properties: { "attr.id": "this.id" } }, providers: [DateInput.SelectionStrategies], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "controls", first: true, predicate: ["controls"], descendants: true }, { propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n</label>\n\n<div class=\"d-flex align-items-center\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #controls=\"ecKeyboardNavContainer\"\n (focusOutEnd)=\"onControlsFocusOutEnd()\">\n <ec-form-control id=\"{{id}}\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox')\"\n (blur)=\"onTextboxBlur()\">\n </ec-form-control>\n\n <ng-container *ngIf=\"selectionStrategy.showSecondaryTextbox\">\n <span class=\"flex-shrink mx-1\">&ndash;</span>\n <ec-form-control id=\"{{id}}_control2\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input2\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox2')\"\n (blur)=\"onTextbox2Blur()\">\n </ec-form-control>\n </ng-container>\n\n <div *ngIf=\"enableSteppers\"\n class=\"control-group ml-2\">\n <ec-button id=\"{{id}}_previousSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-90\"\n (clicked)=\"previousSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n <ec-button id=\"{{id}}_nextSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-270\"\n (clicked)=\"nextSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n </div>\n\n <ec-button *ngIf=\"quickSelectDate\"\n id=\"{{id}}_quickSelect\"\n icon=\"icon-day\"\n type=\"secondary\"\n title=\"{{'DateInput_LatestDataAvailableTitle' | translate}}\"\n (clicked)=\"goToQuickSelectDate()\"\n [tabindex]=\"tabindex\"\n class=\"ml-2\">\n </ec-button>\n</div>\n\n<ng-template cdkConnectedOverlay\n #overlay=\"cdkConnectedOverlay\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isCalendarOpen\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n cdkConnectedOverlayPanelClass=\"my-1\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n (detach)=\"isCalendarOpen = false\">\n <article id=\"{{id}}_datePicker\"\n class=\"card d-flex\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #calendar=\"ecKeyboardNavContainer\"\n (focusOutStart)=\"onCalendarFocusOutStart()\"\n (focusOutEnd)=\"onCalendarFocusOutEnd()\">\n <ul *ngIf=\"selectionModeOptions.length > 1\"\n class=\"selection-mode-menu border-right p-1\">\n <li *ngFor=\"let option of selectionModeOptions\">\n <button id=\"{{id}}_selectionMode_{{option}}\"\n class=\"text-body-1\"\n [class.is-selected]=\"option === selectionMode\"\n (click)=\"onSelectionModeChange(option)\"\n tabindex=\"{{tabindex}}\">\n {{'DateInputSelectionMode_' + option | translate}}\n </button>\n </li>\n </ul>\n\n <div>\n <div class=\"d-flex\">\n <ec-calendar id=\"{{id}}_calendar\"\n [view]=\"primaryCalendarView\"\n (viewChange)=\"onPrimaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"selectionStrategy.showSecondaryCalendar ? primaryCalendarMaxDate : maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n\n <ec-calendar *ngIf=\"selectionStrategy.showSecondaryCalendar\"\n id=\"{{id}}_secondaryCalendar\"\n [view]=\"secondaryCalendarView\"\n (viewChange)=\"onSecondaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"secondaryCalendarMinDate\"\n [maxDate]=\"maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n </div>\n\n <footer *ngIf=\"selectionStrategy.selectionViewMode === 'day'\"\n class=\"px-2 my-2 d-flex\">\n <ec-button id=\"{{id}}_today_button\"\n label=\"{{'DateInput_CalendarTodayButton_Label' | translate}}\"\n class=\"ml-auto\"\n (clicked)=\"goToToday()\"\n tabindex=\"{{tabindex}}\"\n type=\"text\">\n </ec-button>\n <ec-button *ngIf=\"selectionStrategy.showSecondaryTextbox\"\n id=\"{{id}}_close_button\"\n label=\"{{'DateInput_CalendarCloseButton_Label' | translate}}\"\n class=\"ml-2\"\n (clicked)=\"closeCalendarAndFocusInput()\"\n tabindex=\"{{tabindex}}\"\n type=\"primary\">\n </ec-button>\n </footer>\n </div>\n </article>\n</ng-template>\n", styles: [":host{display:block}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.date-picker{display:grid;grid-template-areas:\"menu calendar calendar\" \"menu footer footer\"}.date-picker footer{grid-area:footer}ul.selection-mode-menu{grid-area:menu;list-style:none;padding:0;margin:0;min-width:7rem}ul.selection-mode-menu li{margin-bottom:.25rem}ul.selection-mode-menu li button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;width:100%;height:1.75rem}ul.selection-mode-menu li button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ul.selection-mode-menu li button .ec-icon{flex:none}ul.selection-mode-menu li button .ec-icon+.label{flex:none;margin-left:.25rem}ul.selection-mode-menu li button.has-badge{padding-right:.0625rem}ul.selection-mode-menu li button:focus{outline:none;position:relative;z-index:1}ul.selection-mode-menu li button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ul.selection-mode-menu li button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ul.selection-mode-menu li button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}ul.selection-mode-menu li button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}ul.selection-mode-menu li button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ul.selection-mode-menu li button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ul.selection-mode-menu li button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}ec-button{--ec-button-border-color-secondary: var(--ec-border-color-control)}.control-group ec-button:has(+ec-button) ::ng-deep button{border-right:0}.control-group ec-button+ec-button ::ng-deep button{border-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: FormControlComponent, selector: "ec-form-control", inputs: ["id", "icon", "actionIcon", "showClear", "formModel", "autofocus", "tabindex", "pending", "required", "readonly"], outputs: ["actionClicked"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "component", type: CalendarComponent, selector: "ec-calendar", inputs: ["id", "selection", "selectionMode", "minDate", "maxDate", "tabindex", "view"], outputs: ["dateSelected", "viewChange"] }, { kind: "directive", type: KeyboardNavContainerDirective, selector: "[ecKeyboardNavContainer]", inputs: ["ecKeyboardNavContainer", "tabindex"], outputs: ["focusOutStart", "focusOutEnd"], exportAs: ["ecKeyboardNavContainer"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5423
5433
  }
5424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, decorators: [{
5434
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateInputComponent, decorators: [{
5425
5435
  type: Component,
5426
- args: [{ selector: 'ec-date-input', providers: [DateInput.SelectionStrategies], template: "<label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n</label>\n\n<div class=\"d-flex align-items-center\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #controls=\"ecKeyboardNavContainer\"\n (focusOutEnd)=\"onControlsFocusOutEnd()\">\n <ec-form-control id=\"{{id}}\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox')\"\n (blur)=\"onTextboxBlur()\">\n </ec-form-control>\n\n <ng-container *ngIf=\"selectionStrategy.showSecondaryTextbox\">\n <span class=\"flex-shrink mx-1\">&ndash;</span>\n <ec-form-control id=\"{{id}}_control2\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input2\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox2')\"\n (blur)=\"onTextbox2Blur()\">\n </ec-form-control>\n </ng-container>\n\n <div *ngIf=\"enableSteppers\"\n class=\"control-group ml-2\">\n <ec-button id=\"{{id}}_previousSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-90\"\n (clicked)=\"previousSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n <ec-button id=\"{{id}}_nextSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-270\"\n (clicked)=\"nextSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n </div>\n\n <ec-button *ngIf=\"quickSelectDate\"\n id=\"{{id}}_quickSelect\"\n icon=\"icon-day\"\n type=\"secondary\"\n title=\"{{'DateInput_LatestDataAvailableTitle' | translate}}\"\n (clicked)=\"goToQuickSelectDate()\"\n [tabindex]=\"tabindex\"\n class=\"ml-2\">\n </ec-button>\n</div>\n\n<ng-template cdkConnectedOverlay\n #overlay=\"cdkConnectedOverlay\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isCalendarOpen\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n cdkConnectedOverlayPanelClass=\"my-1\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n (detach)=\"isCalendarOpen = false\">\n <article id=\"{{id}}_datePicker\"\n class=\"card d-flex\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #calendar=\"ecKeyboardNavContainer\"\n (focusOutStart)=\"onCalendarFocusOutStart()\"\n (focusOutEnd)=\"onCalendarFocusOutEnd()\">\n <ul *ngIf=\"selectionModeOptions.length > 1\"\n class=\"selection-mode-menu border-right p-1\">\n <li *ngFor=\"let option of selectionModeOptions\">\n <button id=\"{{id}}_selectionMode_{{option}}\"\n class=\"text-body-1\"\n [class.is-selected]=\"option === selectionMode\"\n (click)=\"onSelectionModeChange(option)\"\n tabindex=\"{{tabindex}}\">\n {{'DateInputSelectionMode_' + option | translate}}\n </button>\n </li>\n </ul>\n\n <div>\n <div class=\"d-flex\">\n <ec-calendar id=\"{{id}}_calendar\"\n [view]=\"primaryCalendarView\"\n (viewChange)=\"onPrimaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"selectionStrategy.showSecondaryCalendar ? primaryCalendarMaxDate : maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n\n <ec-calendar *ngIf=\"selectionStrategy.showSecondaryCalendar\"\n id=\"{{id}}_secondaryCalendar\"\n [view]=\"secondaryCalendarView\"\n (viewChange)=\"onSecondaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"secondaryCalendarMinDate\"\n [maxDate]=\"maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n </div>\n\n <footer *ngIf=\"selectionStrategy.selectionViewMode === 'day'\"\n class=\"px-2 my-2 d-flex\">\n <ec-button id=\"{{id}}_today_button\"\n label=\"{{'DateInput_CalendarTodayButton_Label' | translate}}\"\n class=\"ml-auto\"\n (clicked)=\"goToToday()\"\n tabindex=\"{{tabindex}}\"\n type=\"text\">\n </ec-button>\n <ec-button *ngIf=\"selectionStrategy.showSecondaryTextbox\"\n id=\"{{id}}_close_button\"\n label=\"{{'DateInput_CalendarCloseButton_Label' | translate}}\"\n class=\"ml-2\"\n (clicked)=\"closeCalendarAndFocusInput()\"\n tabindex=\"{{tabindex}}\"\n type=\"primary\">\n </ec-button>\n </footer>\n </div>\n </article>\n</ng-template>\n", styles: [":host{display:block}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.date-picker{display:grid;grid-template-areas:\"menu calendar calendar\" \"menu footer footer\"}.date-picker footer{grid-area:footer}ul.selection-mode-menu{grid-area:menu;list-style:none;padding:0;margin:0;min-width:7rem}ul.selection-mode-menu li{margin-bottom:.25rem}ul.selection-mode-menu li button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;width:100%;height:1.75rem}ul.selection-mode-menu li button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ul.selection-mode-menu li button .ec-icon{flex:none}ul.selection-mode-menu li button .ec-icon+.label{flex:none;margin-left:.25rem}ul.selection-mode-menu li button.has-badge{padding-right:.0625rem}ul.selection-mode-menu li button:focus{outline:none;position:relative;z-index:1}ul.selection-mode-menu li button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ul.selection-mode-menu li button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ul.selection-mode-menu li button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}ul.selection-mode-menu li button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}ul.selection-mode-menu li button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ul.selection-mode-menu li button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ul.selection-mode-menu li button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}ec-button{--ec-button-border-color-secondary: var(--ec-border-color-control)}.control-group ec-button:has(+ec-button) ::ng-deep button{border-right:0}.control-group ec-button+ec-button ::ng-deep button{border-left:0}\n"] }]
5436
+ args: [{ selector: 'ec-date-input', providers: [DateInput.SelectionStrategies], standalone: false, template: "<label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n</label>\n\n<div class=\"d-flex align-items-center\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #controls=\"ecKeyboardNavContainer\"\n (focusOutEnd)=\"onControlsFocusOutEnd()\">\n <ec-form-control id=\"{{id}}\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox')\"\n (blur)=\"onTextboxBlur()\">\n </ec-form-control>\n\n <ng-container *ngIf=\"selectionStrategy.showSecondaryTextbox\">\n <span class=\"flex-shrink mx-1\">&ndash;</span>\n <ec-form-control id=\"{{id}}_control2\"\n [required]=\"required\"\n [autofocus]=\"autofocus\"\n [pending]=\"pending\"\n [readonly]=\"readonly\"\n (actionClicked)=\"isCalendarOpen = !isCalendarOpen\"\n [showClear]=\"false\"\n [tabindex]=\"tabindex\"\n actionIcon=\"icon-date\"\n class=\"flex-grow\"\n style=\"height: 2rem;\">\n <input id=\"{{id}}_input2\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"textboxGroup.get('textbox2')\"\n (blur)=\"onTextbox2Blur()\">\n </ec-form-control>\n </ng-container>\n\n <div *ngIf=\"enableSteppers\"\n class=\"control-group ml-2\">\n <ec-button id=\"{{id}}_previousSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-90\"\n (clicked)=\"previousSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n <ec-button id=\"{{id}}_nextSelection\"\n type=\"secondary\"\n icon=\"icon-angle-down rotate-270\"\n (clicked)=\"nextSelection()\"\n [disabled]=\"isCalendarOpen || disableSteppers || formModel?.disabled\"\n [tabindex]=\"tabindex\">\n </ec-button>\n </div>\n\n <ec-button *ngIf=\"quickSelectDate\"\n id=\"{{id}}_quickSelect\"\n icon=\"icon-day\"\n type=\"secondary\"\n title=\"{{'DateInput_LatestDataAvailableTitle' | translate}}\"\n (clicked)=\"goToQuickSelectDate()\"\n [tabindex]=\"tabindex\"\n class=\"ml-2\">\n </ec-button>\n</div>\n\n<ng-template cdkConnectedOverlay\n #overlay=\"cdkConnectedOverlay\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isCalendarOpen\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n cdkConnectedOverlayPanelClass=\"my-1\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n (detach)=\"isCalendarOpen = false\">\n <article id=\"{{id}}_datePicker\"\n class=\"card d-flex\"\n [ecKeyboardNavContainer]=\"isCalendarOpen\"\n [tabindex]=\"tabindex\"\n #calendar=\"ecKeyboardNavContainer\"\n (focusOutStart)=\"onCalendarFocusOutStart()\"\n (focusOutEnd)=\"onCalendarFocusOutEnd()\">\n <ul *ngIf=\"selectionModeOptions.length > 1\"\n class=\"selection-mode-menu border-right p-1\">\n <li *ngFor=\"let option of selectionModeOptions\">\n <button id=\"{{id}}_selectionMode_{{option}}\"\n class=\"text-body-1\"\n [class.is-selected]=\"option === selectionMode\"\n (click)=\"onSelectionModeChange(option)\"\n tabindex=\"{{tabindex}}\">\n {{'DateInputSelectionMode_' + option | translate}}\n </button>\n </li>\n </ul>\n\n <div>\n <div class=\"d-flex\">\n <ec-calendar id=\"{{id}}_calendar\"\n [view]=\"primaryCalendarView\"\n (viewChange)=\"onPrimaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"selectionStrategy.showSecondaryCalendar ? primaryCalendarMaxDate : maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n\n <ec-calendar *ngIf=\"selectionStrategy.showSecondaryCalendar\"\n id=\"{{id}}_secondaryCalendar\"\n [view]=\"secondaryCalendarView\"\n (viewChange)=\"onSecondaryCalendarViewChange($event)\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"calendarSelection\"\n (dateSelected)=\"onCalendarDateSelected($event)\"\n [minDate]=\"secondaryCalendarMinDate\"\n [maxDate]=\"maxDate\"\n [tabindex]=\"tabindex\">\n </ec-calendar>\n </div>\n\n <footer *ngIf=\"selectionStrategy.selectionViewMode === 'day'\"\n class=\"px-2 my-2 d-flex\">\n <ec-button id=\"{{id}}_today_button\"\n label=\"{{'DateInput_CalendarTodayButton_Label' | translate}}\"\n class=\"ml-auto\"\n (clicked)=\"goToToday()\"\n tabindex=\"{{tabindex}}\"\n type=\"text\">\n </ec-button>\n <ec-button *ngIf=\"selectionStrategy.showSecondaryTextbox\"\n id=\"{{id}}_close_button\"\n label=\"{{'DateInput_CalendarCloseButton_Label' | translate}}\"\n class=\"ml-2\"\n (clicked)=\"closeCalendarAndFocusInput()\"\n tabindex=\"{{tabindex}}\"\n type=\"primary\">\n </ec-button>\n </footer>\n </div>\n </article>\n</ng-template>\n", styles: [":host{display:block}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.date-picker{display:grid;grid-template-areas:\"menu calendar calendar\" \"menu footer footer\"}.date-picker footer{grid-area:footer}ul.selection-mode-menu{grid-area:menu;list-style:none;padding:0;margin:0;min-width:7rem}ul.selection-mode-menu li{margin-bottom:.25rem}ul.selection-mode-menu li button{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;width:100%;height:1.75rem}ul.selection-mode-menu li button .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}ul.selection-mode-menu li button .ec-icon{flex:none}ul.selection-mode-menu li button .ec-icon+.label{flex:none;margin-left:.25rem}ul.selection-mode-menu li button.has-badge{padding-right:.0625rem}ul.selection-mode-menu li button:focus{outline:none;position:relative;z-index:1}ul.selection-mode-menu li button:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}ul.selection-mode-menu li button:disabled .ec-icon{color:var(--ec-color-disabled-dark)}ul.selection-mode-menu li button:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);--ec-color-icon: var(--ec-color-hint-dark)}ul.selection-mode-menu li button:hover:not(:disabled){background-color:var(--ec-background-color-hover)}ul.selection-mode-menu li button:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}ul.selection-mode-menu li button:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}ul.selection-mode-menu li button.is-selected{background-color:var(--ec-background-color-selected);font-weight:700}ec-button{--ec-button-border-color-secondary: var(--ec-border-color-control)}.control-group ec-button:has(+ec-button) ::ng-deep button{border-right:0}.control-group ec-button+ec-button ::ng-deep button{border-left:0}\n"] }]
5427
5437
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }, { type: UserPreferenceService }, { type: i0.ElementRef }, { type: i1$1.Overlay }, { type: DateInput.SelectionStrategies }], propDecorators: { id: [{
5428
5438
  type: HostBinding,
5429
5439
  args: ['attr.id']
@@ -5618,12 +5628,12 @@ class DropdownComponent {
5618
5628
  return;
5619
5629
  }
5620
5630
  }
5621
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5622
- 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: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: 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: PopupContainerDirective, selector: "[ecPopup]", inputs: ["ecPopup", "options"] }] }); }
5631
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5632
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DropdownComponent, isStandalone: false, 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: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: 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: PopupContainerDirective, selector: "[ecPopup]", inputs: ["ecPopup", "options"] }] }); }
5623
5633
  }
5624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownComponent, decorators: [{
5634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DropdownComponent, decorators: [{
5625
5635
  type: Component,
5626
- 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"] }]
5636
+ args: [{ selector: 'ec-dropdown', standalone: false, 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"] }]
5627
5637
  }], ctorParameters: () => [], propDecorators: { id: [{
5628
5638
  type: Input
5629
5639
  }], autofocus: [{
@@ -5910,12 +5920,12 @@ class FormGroupComponent {
5910
5920
  this.validationErrors = '';
5911
5921
  }
5912
5922
  }
5913
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupComponent, deps: [{ token: ValidationMessageService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
5914
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormGroupComponent, selector: "ec-form-group", inputs: { id: "id", label: "label", formGroup: "formGroup", labelPosition: "labelPosition", overrideValidationError: "overrideValidationError", hideValidationMessage: "hideValidationMessage", helpPopover: "helpPopover", helpPopoverPosition: "helpPopoverPosition" }, host: { properties: { "attr.id": "this.attrId" } }, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.ec-untouched]=\"formGroup?.untouched\">\n\n <label *ngIf=\"label\">\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n <span *ngIf=\"!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-content></ng-content>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5923
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormGroupComponent, deps: [{ token: ValidationMessageService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
5924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FormGroupComponent, isStandalone: false, selector: "ec-form-group", inputs: { id: "id", label: "label", formGroup: "formGroup", labelPosition: "labelPosition", overrideValidationError: "overrideValidationError", hideValidationMessage: "hideValidationMessage", helpPopover: "helpPopover", helpPopoverPosition: "helpPopoverPosition" }, host: { properties: { "attr.id": "this.attrId" } }, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.ec-untouched]=\"formGroup?.untouched\">\n\n <label *ngIf=\"label\">\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n <span *ngIf=\"!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-content></ng-content>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5915
5925
  }
5916
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupComponent, decorators: [{
5926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormGroupComponent, decorators: [{
5917
5927
  type: Component,
5918
- args: [{ selector: 'ec-form-group', template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.ec-untouched]=\"formGroup?.untouched\">\n\n <label *ngIf=\"label\">\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n <span *ngIf=\"!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-content></ng-content>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"] }]
5928
+ args: [{ selector: 'ec-form-group', standalone: false, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.ec-untouched]=\"formGroup?.untouched\">\n\n <label *ngIf=\"label\">\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n <span *ngIf=\"!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <ng-content></ng-content>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"] }]
5919
5929
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: i3.TranslateService }], propDecorators: { id: [{
5920
5930
  type: Input
5921
5931
  }], attrId: [{
@@ -6149,12 +6159,12 @@ class FileUploadComponent extends FormControlBase {
6149
6159
  await this.processFile(file);
6150
6160
  }
6151
6161
  }
6152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
6153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "ec-file-upload", inputs: { formModel: "formModel", placeholder: "placeholder", fileType: "fileType", fileOutput: "fileOutput", customExtensions: "customExtensions", onFileSelected: "onFileSelected", onMultipleFilesSelected: "onMultipleFilesSelected", displayType: "displayType", buttonLabel: "buttonLabel", buttonType: "buttonType", multiSelect: "multiSelect", validateBeforeUpload: "validateBeforeUpload" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ec-form-group [label]=\"label\"\n [formGroup]=\"formModel\"\n [helpPopover]=\"helpPopover\"\n [helpPopoverPosition]=\"helpPopoverPosition\"\n class=\"mb-0\">\n <div class=\"d-flex control-group\">\n <div class=\"d-flex flex-grow position-relative\">\n <input #fileInput\n id=\"{{inputId}}_input\"\n type=\"file\"\n tabindex=\"-1\"\n [attr.accept]=\"fileTypeAccept\"\n (change)=\"fileChange($event.target.files)\"\n [class.has-value]=\"displayType === 'file' ? formModel?.get('name').value : undefined\"\n [attr.multiple]=\"multiSelect ? 'multiple' : undefined\">\n <ec-form-control *ngIf=\"displayType === 'file'\"\n id=\"{{inputId}}_formControl\"\n class=\"text-truncate\"\n [required]=\"required\"\n [pending]=\"pending || formModel?.pending\">\n <input id=\"{{inputId}}_name\"\n [formControl]=\"formModel?.get('name')\"\n type=\"text\"\n [placeholder]=\"placeholder\"\n [tabindex]=\"-1\">\n </ec-form-control>\n </div>\n <ec-button *ngIf=\"displayType === 'file'\"\n #browseBtn\n id=\"{{inputId}}_browseBtn\"\n (clicked)=\"fileInput.click()\"\n type=\"secondary\"\n [tabindex]=\"tabindex\"\n [disabled]=\"formModel?.get('name').disabled\"\n label=\"Browse\"\n [autofocus]=\"autofocus\">\n </ec-button>\n </div>\n <ec-button *ngIf=\"displayType === 'button'\"\n id=\"{{inputId}}_btn\"\n [pending]=\"pending\"\n [type]=\"buttonType\"\n [label]=\"buttonLabel ?? 'Browse_TC' | translate\"\n (clicked)=\"fileInput.click()\"\n style=\"width: 100%;\">\n </ec-button>\n</ec-form-group>", styles: [":host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{opacity:0;display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}input[type=file].has-value{width:calc(100% - 1.5rem)}input[type=file]:hover{z-index:2}input[type=file]:hover~ec-form-control{z-index:1;border-color:var(--ec-border-color-control-hover)}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: FormControlComponent, selector: "ec-form-control", inputs: ["id", "icon", "actionIcon", "showClear", "formModel", "autofocus", "tabindex", "pending", "required", "readonly"], outputs: ["actionClicked"] }, { kind: "component", type: FormGroupComponent, selector: "ec-form-group", inputs: ["id", "label", "formGroup", "labelPosition", "overrideValidationError", "hideValidationMessage", "helpPopover", "helpPopoverPosition"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FileUploadComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
6163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FileUploadComponent, isStandalone: false, selector: "ec-file-upload", inputs: { formModel: "formModel", placeholder: "placeholder", fileType: "fileType", fileOutput: "fileOutput", customExtensions: "customExtensions", onFileSelected: "onFileSelected", onMultipleFilesSelected: "onMultipleFilesSelected", displayType: "displayType", buttonLabel: "buttonLabel", buttonType: "buttonType", multiSelect: "multiSelect", validateBeforeUpload: "validateBeforeUpload" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ec-form-group [label]=\"label\"\n [formGroup]=\"formModel\"\n [helpPopover]=\"helpPopover\"\n [helpPopoverPosition]=\"helpPopoverPosition\"\n class=\"mb-0\">\n <div class=\"d-flex control-group\">\n <div class=\"d-flex flex-grow position-relative\">\n <input #fileInput\n id=\"{{inputId}}_input\"\n type=\"file\"\n tabindex=\"-1\"\n [attr.accept]=\"fileTypeAccept\"\n (change)=\"fileChange($event.target.files)\"\n [class.has-value]=\"displayType === 'file' ? formModel?.get('name').value : undefined\"\n [attr.multiple]=\"multiSelect ? 'multiple' : undefined\">\n <ec-form-control *ngIf=\"displayType === 'file'\"\n id=\"{{inputId}}_formControl\"\n class=\"text-truncate\"\n [required]=\"required\"\n [pending]=\"pending || formModel?.pending\">\n <input id=\"{{inputId}}_name\"\n [formControl]=\"formModel?.get('name')\"\n type=\"text\"\n [placeholder]=\"placeholder\"\n [tabindex]=\"-1\">\n </ec-form-control>\n </div>\n <ec-button *ngIf=\"displayType === 'file'\"\n #browseBtn\n id=\"{{inputId}}_browseBtn\"\n (clicked)=\"fileInput.click()\"\n type=\"secondary\"\n [tabindex]=\"tabindex\"\n [disabled]=\"formModel?.get('name').disabled\"\n label=\"Browse\"\n [autofocus]=\"autofocus\">\n </ec-button>\n </div>\n <ec-button *ngIf=\"displayType === 'button'\"\n id=\"{{inputId}}_btn\"\n [pending]=\"pending\"\n [type]=\"buttonType\"\n [label]=\"buttonLabel ?? 'Browse_TC' | translate\"\n (clicked)=\"fileInput.click()\"\n style=\"width: 100%;\">\n </ec-button>\n</ec-form-group>", styles: [":host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{opacity:0;display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}input[type=file].has-value{width:calc(100% - 1.5rem)}input[type=file]:hover{z-index:2}input[type=file]:hover~ec-form-control{z-index:1;border-color:var(--ec-border-color-control-hover)}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: FormControlComponent, selector: "ec-form-control", inputs: ["id", "icon", "actionIcon", "showClear", "formModel", "autofocus", "tabindex", "pending", "required", "readonly"], outputs: ["actionClicked"] }, { kind: "component", type: FormGroupComponent, selector: "ec-form-group", inputs: ["id", "label", "formGroup", "labelPosition", "overrideValidationError", "hideValidationMessage", "helpPopover", "helpPopoverPosition"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6154
6164
  }
6155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, decorators: [{
6165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FileUploadComponent, decorators: [{
6156
6166
  type: Component,
6157
- args: [{ selector: "ec-file-upload", template: "<ec-form-group [label]=\"label\"\n [formGroup]=\"formModel\"\n [helpPopover]=\"helpPopover\"\n [helpPopoverPosition]=\"helpPopoverPosition\"\n class=\"mb-0\">\n <div class=\"d-flex control-group\">\n <div class=\"d-flex flex-grow position-relative\">\n <input #fileInput\n id=\"{{inputId}}_input\"\n type=\"file\"\n tabindex=\"-1\"\n [attr.accept]=\"fileTypeAccept\"\n (change)=\"fileChange($event.target.files)\"\n [class.has-value]=\"displayType === 'file' ? formModel?.get('name').value : undefined\"\n [attr.multiple]=\"multiSelect ? 'multiple' : undefined\">\n <ec-form-control *ngIf=\"displayType === 'file'\"\n id=\"{{inputId}}_formControl\"\n class=\"text-truncate\"\n [required]=\"required\"\n [pending]=\"pending || formModel?.pending\">\n <input id=\"{{inputId}}_name\"\n [formControl]=\"formModel?.get('name')\"\n type=\"text\"\n [placeholder]=\"placeholder\"\n [tabindex]=\"-1\">\n </ec-form-control>\n </div>\n <ec-button *ngIf=\"displayType === 'file'\"\n #browseBtn\n id=\"{{inputId}}_browseBtn\"\n (clicked)=\"fileInput.click()\"\n type=\"secondary\"\n [tabindex]=\"tabindex\"\n [disabled]=\"formModel?.get('name').disabled\"\n label=\"Browse\"\n [autofocus]=\"autofocus\">\n </ec-button>\n </div>\n <ec-button *ngIf=\"displayType === 'button'\"\n id=\"{{inputId}}_btn\"\n [pending]=\"pending\"\n [type]=\"buttonType\"\n [label]=\"buttonLabel ?? 'Browse_TC' | translate\"\n (clicked)=\"fileInput.click()\"\n style=\"width: 100%;\">\n </ec-button>\n</ec-form-group>", styles: [":host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{opacity:0;display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}input[type=file].has-value{width:calc(100% - 1.5rem)}input[type=file]:hover{z-index:2}input[type=file]:hover~ec-form-control{z-index:1;border-color:var(--ec-border-color-control-hover)}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}\n"] }]
6167
+ args: [{ selector: "ec-file-upload", standalone: false, template: "<ec-form-group [label]=\"label\"\n [formGroup]=\"formModel\"\n [helpPopover]=\"helpPopover\"\n [helpPopoverPosition]=\"helpPopoverPosition\"\n class=\"mb-0\">\n <div class=\"d-flex control-group\">\n <div class=\"d-flex flex-grow position-relative\">\n <input #fileInput\n id=\"{{inputId}}_input\"\n type=\"file\"\n tabindex=\"-1\"\n [attr.accept]=\"fileTypeAccept\"\n (change)=\"fileChange($event.target.files)\"\n [class.has-value]=\"displayType === 'file' ? formModel?.get('name').value : undefined\"\n [attr.multiple]=\"multiSelect ? 'multiple' : undefined\">\n <ec-form-control *ngIf=\"displayType === 'file'\"\n id=\"{{inputId}}_formControl\"\n class=\"text-truncate\"\n [required]=\"required\"\n [pending]=\"pending || formModel?.pending\">\n <input id=\"{{inputId}}_name\"\n [formControl]=\"formModel?.get('name')\"\n type=\"text\"\n [placeholder]=\"placeholder\"\n [tabindex]=\"-1\">\n </ec-form-control>\n </div>\n <ec-button *ngIf=\"displayType === 'file'\"\n #browseBtn\n id=\"{{inputId}}_browseBtn\"\n (clicked)=\"fileInput.click()\"\n type=\"secondary\"\n [tabindex]=\"tabindex\"\n [disabled]=\"formModel?.get('name').disabled\"\n label=\"Browse\"\n [autofocus]=\"autofocus\">\n </ec-button>\n </div>\n <ec-button *ngIf=\"displayType === 'button'\"\n id=\"{{inputId}}_btn\"\n [pending]=\"pending\"\n [type]=\"buttonType\"\n [label]=\"buttonLabel ?? 'Browse_TC' | translate\"\n (clicked)=\"fileInput.click()\"\n style=\"width: 100%;\">\n </ec-button>\n</ec-form-group>", styles: [":host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{opacity:0;display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;cursor:pointer}input[type=file].has-value{width:calc(100% - 1.5rem)}input[type=file]:hover{z-index:2}input[type=file]:hover~ec-form-control{z-index:1;border-color:var(--ec-border-color-control-hover)}ec-button{--ec-button-border-color-secondary: var(--ec-form-control-border-color);--ec-button-color-icon-secondary: var(--ec-color-icon)}\n"] }]
6158
6168
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }], propDecorators: { formModel: [{
6159
6169
  type: Input
6160
6170
  }], placeholder: [{
@@ -6289,12 +6299,12 @@ class FormControlLabelComponent {
6289
6299
  this.validationErrors = '';
6290
6300
  }
6291
6301
  }
6292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlLabelComponent, deps: [{ token: ValidationMessageService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6293
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormControlLabelComponent, selector: "ec-form-control-label", inputs: { id: "id", label: "label", control: "control", labelPosition: "labelPosition", overrideValidationError: "overrideValidationError", hideValidationMessage: "hideValidationMessage" }, host: { properties: { "attr.id": "this.attrId" } }, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"control?.untouched\">\n <label *ngIf=\"label\" ngPreserveWhitespaces>\n\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n\n <span *ngIf=\"!hideValidationMessage && validationErrors && control?.touched && control?.invalid\">{{validationErrors | translate}}</span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6302
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlLabelComponent, deps: [{ token: ValidationMessageService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6303
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FormControlLabelComponent, isStandalone: false, selector: "ec-form-control-label", inputs: { id: "id", label: "label", control: "control", labelPosition: "labelPosition", overrideValidationError: "overrideValidationError", hideValidationMessage: "hideValidationMessage" }, host: { properties: { "attr.id": "this.attrId" } }, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"control?.untouched\">\n <label *ngIf=\"label\" ngPreserveWhitespaces>\n\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n\n <span *ngIf=\"!hideValidationMessage && validationErrors && control?.touched && control?.invalid\">{{validationErrors | translate}}</span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6294
6304
  }
6295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormControlLabelComponent, decorators: [{
6305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FormControlLabelComponent, decorators: [{
6296
6306
  type: Component,
6297
- args: [{ selector: 'ec-form-control-label', template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"control?.untouched\">\n <label *ngIf=\"label\" ngPreserveWhitespaces>\n\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n\n <span *ngIf=\"!hideValidationMessage && validationErrors && control?.touched && control?.invalid\">{{validationErrors | translate}}</span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"] }]
6307
+ args: [{ selector: 'ec-form-control-label', standalone: false, template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"control?.untouched\">\n <label *ngIf=\"label\" ngPreserveWhitespaces>\n\n <span id=\"{{id}}_label\">{{label | translate}}</span>\n\n <span *ngIf=\"!hideValidationMessage && validationErrors && control?.touched && control?.invalid\">{{validationErrors | translate}}</span>\n </label>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}.control-label-left{display:flex}\n"] }]
6298
6308
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: i3.TranslateService }], propDecorators: { id: [{
6299
6309
  type: Input
6300
6310
  }], attrId: [{
@@ -6345,12 +6355,12 @@ class TableLockedColumnComponent {
6345
6355
  this.borderLeft = this.options.border || false;
6346
6356
  }
6347
6357
  }
6348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableLockedColumnComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
6349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: { options: ["ecTableLockedColumn", "options"] }, host: { properties: { "style.left.px": "this.left", "style.right.px": "this.right", "class.border-right": "this.borderRight", "class.border-left": "this.borderLeft" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }); }
6358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableLockedColumnComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
6359
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableLockedColumnComponent, isStandalone: false, selector: "[ecTableLockedColumn]", inputs: { options: ["ecTableLockedColumn", "options"] }, host: { properties: { "style.left.px": "this.left", "style.right.px": "this.right", "class.border-right": "this.borderRight", "class.border-left": "this.borderLeft" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }); }
6350
6360
  }
6351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableLockedColumnComponent, decorators: [{
6361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableLockedColumnComponent, decorators: [{
6352
6362
  type: Component,
6353
- args: [{ selector: '[ecTableLockedColumn]', template: `<ng-content></ng-content>`, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }]
6363
+ args: [{ selector: '[ecTableLockedColumn]', template: `<ng-content></ng-content>`, standalone: false, styles: [":host{background-color:var(--ec-background-color);position:sticky!important;z-index:calc(var(--ec-z-index-sticky-header) + 1)!important}:host(th){z-index:calc(var(--ec-z-index-sticky-header) + 2)!important}\n"] }]
6354
6364
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { options: [{
6355
6365
  type: Input,
6356
6366
  args: ['ecTableLockedColumn']
@@ -6556,12 +6566,12 @@ class TableSelectableRowComponent {
6556
6566
  clearAllRows() {
6557
6567
  this.context.rowCheckboxes.controls.forEach(control => control.setValue(false));
6558
6568
  }
6559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableSelectableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6560
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "component", type: TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: ["ecTableLockedColumn"] }] }); }
6569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableSelectableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6570
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableSelectableRowComponent, isStandalone: false, selector: "[ecTableSelectableRow]", inputs: { id: "id", isSelectionEnabled: ["ecTableSelectableRow", "isSelectionEnabled"], context: ["selectionContext", "context"], rowIndex: "rowIndex", lockedColOptions: "lockedColOptions", isSelected: "isSelected", isCheckboxDisabled: "isCheckboxDisabled" }, host: { listeners: { "click": "rowClicked($event)" }, properties: { "attr.id": "this.id", "class.is-enabled": "this.isSelectionEnabled", "class.is-selected": "this.isSelected", "class.is-header": "this.isHeader" } }, usesOnChanges: true, ngImport: i0, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "component", type: TableLockedColumnComponent, selector: "[ecTableLockedColumn]", inputs: ["ecTableLockedColumn"] }] }); }
6561
6571
  }
6562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableSelectableRowComponent, decorators: [{
6572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableSelectableRowComponent, decorators: [{
6563
6573
  type: Component,
6564
- args: [{ selector: '[ecTableSelectableRow]', template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
6574
+ args: [{ selector: '[ecTableSelectableRow]', standalone: false, template: "<!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox -->\n<ng-content select=\".before-checkbox\"></ng-content>\n<ng-container *ngIf=\"isSelectionEnabled\">\n <th *ngIf=\"isHeader\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <ec-checkbox id=\"{{id}}_selectAll\"\n class=\"m-0\"\n *ngIf=\"context?.selectAllCheckbox\"\n [formModel]=\"context?.selectAllCheckbox\"\n [dependentCheckboxesGroup]=\"dependentCheckboxesReference\"\n [ignoreDisabledDependents]=\"false\">\n </ec-checkbox>\n </th>\n <td *ngIf=\"!isHeader && formControl\"\n class=\"checkbox\"\n [ecTableLockedColumn]=\"lockedColOptions\">\n <!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\n and allow the value to be visible to other components (for example, when they subscribe\n to valueChanges on the FormArray that contains all the checkbox FormControls). -->\n <ec-checkbox id=\"{{id}}_row{{rowIndex}}_checkbox\"\n [readonly]=\"isCheckboxDisabled\"\n [attr.id]=\"checkboxAttributeID\"\n class=\"m-0 row-checkbox\"\n [formModel]=\"formControl\">\n </ec-checkbox>\n </td>\n</ng-container>\n<!-- The rest of the table row -->\n<ng-content></ng-content>", styles: [":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:2px;padding-right:2px;width:1.25rem}:host .checkbox:first-child{padding-left:.5rem;width:1.625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th, middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td, top)}\n"] }]
6565
6575
  }], propDecorators: { id: [{
6566
6576
  type: HostBinding,
6567
6577
  args: ['attr.id']
@@ -6603,33 +6613,33 @@ class ResizableColumnComponent {
6603
6613
  emitWidth(width) {
6604
6614
  this.onResize.emit(width);
6605
6615
  }
6606
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableColumnComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
6607
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResizableColumnComponent, selector: "th.is-resizable", outputs: { onResize: "onResize" }, ngImport: i0, template: "<div class=\"content-wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"handle\"></div>\n" }); }
6616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableColumnComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
6617
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ResizableColumnComponent, isStandalone: false, selector: "th.is-resizable", outputs: { onResize: "onResize" }, ngImport: i0, template: "<div class=\"content-wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"handle\"></div>\n" }); }
6608
6618
  }
6609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableColumnComponent, decorators: [{
6619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableColumnComponent, decorators: [{
6610
6620
  type: Component,
6611
- args: [{ selector: 'th.is-resizable', template: "<div class=\"content-wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"handle\"></div>\n" }]
6621
+ args: [{ selector: 'th.is-resizable', standalone: false, template: "<div class=\"content-wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"handle\"></div>\n" }]
6612
6622
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onResize: [{
6613
6623
  type: Output
6614
6624
  }] } });
6615
6625
 
6616
6626
  class TableDetailRowComponent {
6617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableDetailRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6618
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableDetailRowComponent, selector: "[ecTableDetailRow]", inputs: { contentClass: "contentClass", contentColSpan: "contentColSpan", maxHeight: "maxHeight" }, ngImport: i0, template: `
6627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableDetailRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6628
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableDetailRowComponent, isStandalone: false, selector: "[ecTableDetailRow]", inputs: { contentClass: "contentClass", contentColSpan: "contentColSpan", maxHeight: "maxHeight" }, ngImport: i0, template: `
6619
6629
  <td></td>
6620
6630
  <td [class.has-max-height]="maxHeight" class="table-detail-content {{contentClass}}" [attr.colspan]="contentColSpan">
6621
6631
  <div [style.max-height]="maxHeight" cdkScrollable><ng-content></ng-content></div>
6622
6632
  </td>
6623
- `, isInline: true, styles: [":host{background-color:var(--ec-background-color-detail)}td:first-child{width:1.5rem;padding:.25rem 0!important;vertical-align:top}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}\n"], dependencies: [{ kind: "directive", type: i1$4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
6633
+ `, isInline: true, styles: [":host{background-color:var(--ec-background-color-detail)}td:first-child{width:1.5rem;padding:.25rem 0!important;vertical-align:top}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
6624
6634
  }
6625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableDetailRowComponent, decorators: [{
6635
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableDetailRowComponent, decorators: [{
6626
6636
  type: Component,
6627
6637
  args: [{ selector: '[ecTableDetailRow]', template: `
6628
6638
  <td></td>
6629
6639
  <td [class.has-max-height]="maxHeight" class="table-detail-content {{contentClass}}" [attr.colspan]="contentColSpan">
6630
6640
  <div [style.max-height]="maxHeight" cdkScrollable><ng-content></ng-content></div>
6631
6641
  </td>
6632
- `, styles: [":host{background-color:var(--ec-background-color-detail)}td:first-child{width:1.5rem;padding:.25rem 0!important;vertical-align:top}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}\n"] }]
6642
+ `, standalone: false, styles: [":host{background-color:var(--ec-background-color-detail)}td:first-child{width:1.5rem;padding:.25rem 0!important;vertical-align:top}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}\n"] }]
6633
6643
  }], propDecorators: { contentClass: [{
6634
6644
  type: Input
6635
6645
  }], contentColSpan: [{
@@ -6761,12 +6771,12 @@ class TableMasterRowComponent {
6761
6771
  });
6762
6772
  }
6763
6773
  }
6764
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableMasterRowComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component }); }
6765
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableMasterRowComponent, selector: "[ecTableMasterRow]", inputs: { id: "id", hasDetails: "hasDetails", showDetails: "showDetails", detailTemplate: "detailTemplate", detailContext: "detailContext", detailRowColSpan: "detailRowColSpan", detailRowClass: "detailRowClass", detailRowContentClass: "detailRowContentClass", detailRowMaxHeight: "detailRowMaxHeight", collapsibleToggleCellClass: "collapsibleToggleCellClass", hideTableMaster: "hideTableMaster" }, outputs: { showDetailsChanged: "showDetailsChanged" }, viewQueries: [{ propertyName: "detailRowTemplate", first: true, predicate: ["detailRow"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\n id=\"{{id}}_toggle\"\n [expanded]=\"showDetails\"\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\n</td>\n<ng-content></ng-content>\n\n<ng-template #detailRow>\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\n </tr>\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }, { kind: "component", type: TableDetailRowComponent, selector: "[ecTableDetailRow]", inputs: ["contentClass", "contentColSpan", "maxHeight"] }] }); }
6774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableMasterRowComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component }); }
6775
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableMasterRowComponent, isStandalone: false, selector: "[ecTableMasterRow]", inputs: { id: "id", hasDetails: "hasDetails", showDetails: "showDetails", detailTemplate: "detailTemplate", detailContext: "detailContext", detailRowColSpan: "detailRowColSpan", detailRowClass: "detailRowClass", detailRowContentClass: "detailRowContentClass", detailRowMaxHeight: "detailRowMaxHeight", collapsibleToggleCellClass: "collapsibleToggleCellClass", hideTableMaster: "hideTableMaster" }, outputs: { showDetailsChanged: "showDetailsChanged" }, viewQueries: [{ propertyName: "detailRowTemplate", first: true, predicate: ["detailRow"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\n id=\"{{id}}_toggle\"\n [expanded]=\"showDetails\"\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\n</td>\n<ng-content></ng-content>\n\n<ng-template #detailRow>\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\n </tr>\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }, { kind: "component", type: TableDetailRowComponent, selector: "[ecTableDetailRow]", inputs: ["contentClass", "contentColSpan", "maxHeight"] }] }); }
6766
6776
  }
6767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableMasterRowComponent, decorators: [{
6777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableMasterRowComponent, decorators: [{
6768
6778
  type: Component,
6769
- args: [{ selector: '[ecTableMasterRow]', template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\n id=\"{{id}}_toggle\"\n [expanded]=\"showDetails\"\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\n</td>\n<ng-content></ng-content>\n\n<ng-template #detailRow>\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\n </tr>\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"] }]
6779
+ args: [{ selector: '[ecTableMasterRow]', standalone: false, template: "<td *ngIf=\"!hideTableMaster\" class=\"{{collapsibleToggleCellClass}}\">\n <ec-collapsible-toggle *ngIf=\"hasDetails\"\n id=\"{{id}}_toggle\"\n [expanded]=\"showDetails\"\n (expandedChange)=\"toggleDetails($event)\"></ec-collapsible-toggle>\n</td>\n<ng-content></ng-content>\n\n<ng-template #detailRow>\n <tr ecTableDetailRow class=\"{{detailRowClass}}\" [contentClass]=\"detailRowContentClass\" [contentColSpan]=\"detailRowColSpan\" [maxHeight]=\"detailRowMaxHeight\">\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: detailContext}\"></ng-container>\n </tr>\n</ng-template>", styles: ["td{width:1.5rem;padding:.25rem 0!important;vertical-align:top}td ::ng-deep+td{padding-left:0}\n"] }]
6770
6780
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ApplicationRef }], propDecorators: { id: [{
6771
6781
  type: Input
6772
6782
  }], hasDetails: [{
@@ -6898,10 +6908,10 @@ class ResizableBase {
6898
6908
  console.error('rememberWidth is set but will not take effect unless ID is also set');
6899
6909
  }
6900
6910
  }
6901
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableBase, deps: [{ token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
6902
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ResizableBase, inputs: { rememberWidth: "rememberWidth", id: "id" }, ngImport: i0 }); }
6911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableBase, deps: [{ token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
6912
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ResizableBase, isStandalone: true, inputs: { rememberWidth: "rememberWidth", id: "id" }, ngImport: i0 }); }
6903
6913
  }
6904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableBase, decorators: [{
6914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableBase, decorators: [{
6905
6915
  type: Directive
6906
6916
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: CacheService }, { type: Document, decorators: [{
6907
6917
  type: Inject,
@@ -7110,13 +7120,14 @@ class ResizableTableDirective extends ResizableBase {
7110
7120
  this.renderer.setStyle(this.tableEl, 'width', Math.max(this.currentTableWidth, totalColWidths) + 'px');
7111
7121
  this.renderer.setStyle(this.tableEl, 'minWidth', '100%');
7112
7122
  }
7113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableTableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
7114
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ResizableTableDirective, selector: "[ecResizableTable]", inputs: { isResizable: ["ecResizableTable", "isResizable"], containerEl: "containerEl", sortableTable: "sortableTable", resizableColumns: "resizableColumns" }, usesInheritance: true, ngImport: i0 }); }
7123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableTableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
7124
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ResizableTableDirective, isStandalone: false, selector: "[ecResizableTable]", inputs: { isResizable: ["ecResizableTable", "isResizable"], containerEl: "containerEl", sortableTable: "sortableTable", resizableColumns: "resizableColumns" }, usesInheritance: true, ngImport: i0 }); }
7115
7125
  }
7116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableTableDirective, decorators: [{
7126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableTableDirective, decorators: [{
7117
7127
  type: Directive,
7118
7128
  args: [{
7119
- selector: '[ecResizableTable]'
7129
+ selector: '[ecResizableTable]',
7130
+ standalone: false
7120
7131
  }]
7121
7132
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: CacheService }, { type: Document, decorators: [{
7122
7133
  type: Inject,
@@ -7311,12 +7322,12 @@ class TableComponent {
7311
7322
  this.hasSelection = value.some(v => v);
7312
7323
  });
7313
7324
  }
7314
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
7315
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableComponent, selector: "ec-table", inputs: { id: "id", scrollable: "scrollable", resizable: "resizable", condensed: "condensed", sortable: "sortable", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", selectable: "selectable", isForm: "isForm", sort: "sort", searchableTableResizableColumns: ["resizableColumns", "searchableTableResizableColumns"] }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.id": "this.id", "class.is-scrollable": "this.scrollable", "class.is-resizable": "this.resizable", "class.is-condensed": "this.condensed", "class.is-sortable": "this.sortable", "class.has-title": "this.hasHeaderTitleTemplate", "class.is-selectable": "this.selectable", "class.is-form-table": "this.isForm", "class.is-master-detail": "this.hasMasterDetailRows" } }, queries: [{ propertyName: "masterRows", predicate: TableMasterRowComponent, descendants: true }, { propertyName: "_resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: ResizableTableDirective, selector: "[ecResizableTable]", inputs: ["ecResizableTable", "containerEl", "sortableTable", "resizableColumns"] }], encapsulation: i0.ViewEncapsulation.None }); }
7325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
7326
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TableComponent, isStandalone: false, selector: "ec-table", inputs: { id: "id", scrollable: "scrollable", resizable: "resizable", condensed: "condensed", sortable: "sortable", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", selectable: "selectable", isForm: "isForm", sort: "sort", searchableTableResizableColumns: ["resizableColumns", "searchableTableResizableColumns"] }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.id": "this.id", "class.is-scrollable": "this.scrollable", "class.is-resizable": "this.resizable", "class.is-condensed": "this.condensed", "class.is-sortable": "this.sortable", "class.has-title": "this.hasHeaderTitleTemplate", "class.is-selectable": "this.selectable", "class.is-form-table": "this.isForm", "class.is-master-detail": "this.hasMasterDetailRows" } }, queries: [{ propertyName: "masterRows", predicate: TableMasterRowComponent, descendants: true }, { propertyName: "_resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: ResizableTableDirective, selector: "[ecResizableTable]", inputs: ["ecResizableTable", "containerEl", "sortableTable", "resizableColumns"] }], encapsulation: i0.ViewEncapsulation.None }); }
7316
7327
  }
7317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
7328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableComponent, decorators: [{
7318
7329
  type: Component,
7319
- args: [{ selector: 'ec-table', encapsulation: ViewEncapsulation.None, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"] }]
7330
+ args: [{ selector: 'ec-table', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (headerTitleTemplate) {\n<header class=\"table-title\">\n <ng-container *ngTemplateOutlet=\"headerTitleTemplate\"></ng-container>\n</header>\n}\n\n<div class=\"selectable-table-toolbar\"\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\n</div>\n\n<div id=\"{{id}}-scroll-container\" \n class=\"table-scroll-container\"\n cdkScrollable>\n <table class=\"main-table\"\n id=\"{{id}}\"\n [ecResizableTable]=\"resizable\"\n [containerEl]=\"el\"\n [sortableTable]=\"sortable\"\n [resizableColumns]=\"resizableColumns\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: ["ec-table{display:flex;flex-direction:column;position:relative;min-height:0}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ec-font-size-label)}ec-table .main-table th{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;vertical-align:middle}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{height:2rem;line-height:1rem;padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid var(--ec-border-color);vertical-align:top}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected>td,ec-table .main-table tbody>tr.is-selected{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;text-transform:uppercase;padding-bottom:0;vertical-align:bottom;border-top:0}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table th.actions-col,ec-table .main-table td.actions-col{padding:0}ec-table .main-table th.actions-1,ec-table .main-table td.actions-1{width:2.0625rem}ec-table .main-table th.actions-2,ec-table .main-table td.actions-2{width:4.0625rem}ec-table .main-table th.actions-3,ec-table .main-table td.actions-3{width:6.0625rem}ec-table .main-table th.actions-4,ec-table .main-table td.actions-4{width:8.0625rem}ec-table .main-table th.actions-5,ec-table .main-table td.actions-5{width:10.0625rem}ec-table.is-condensed th,ec-table.is-condensed td{padding-top:.25rem;padding-bottom:.25rem;height:1.5rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .table-title{height:2.5rem;display:flex;align-items:center;padding:0 .5rem}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;padding:0 .5rem;position:absolute;left:calc(var(--selection-toolbar-left, 0rem) + 1.625rem);top:0;height:2.5rem;right:0;z-index:calc(var(--ec-z-index-sticky-header) + 3)}ec-table.has-title .selectable-table-toolbar{left:0}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);position:sticky!important;bottom:0;z-index:var(--ec-z-index-sticky-header)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{display:flex;cursor:pointer}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{flex:none;width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after{font:var(--fa-font-solid);content:\"\\f062\";display:inline-flex}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{width:.875rem;height:.875rem;margin:0 .25rem;font-size:.75rem;display:none;align-items:center;justify-content:center}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before{font:var(--fa-font-solid);content:\"\\f062\";display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{position:relative;overflow:visible;z-index:var(--ec-z-index-sticky-header)}ec-table.is-resizable th.is-resizable.is-active{-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{position:absolute;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter);right:0;padding:.5rem 0 .5rem 10px}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{content:\"\";display:block;width:1px;background-color:var(--ec-border-color);position:absolute;top:.5rem;bottom:.5rem;right:0}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:2.5rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-top:.75rem;padding-bottom:.75rem}ec-table.is-selectable th.is-resizable .handle:before{top:.75rem;bottom:.75rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{padding-bottom:.25rem;padding-top:.25rem;height:2.5rem;line-height:2rem;border-top:0;font-size:var(--ec-font-size-body)}ec-table.is-form-table tr:first-child td{padding-top:.5rem;height:2.75rem}ec-table.is-form-table tr:last-child td{padding-bottom:.5rem;height:2.75rem}ec-table.is-fixed .main-table{table-layout:fixed}\n"] }]
7320
7331
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { id: [{
7321
7332
  type: HostBinding,
7322
7333
  args: ['attr.id']
@@ -7441,12 +7452,12 @@ class TabsComponent {
7441
7452
  this.tabs.selected = tab;
7442
7453
  }
7443
7454
  }
7444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TabsComponent, selector: "ec-tabs", inputs: { id: "id", tabindex: "tabindex", tabStyle: "tabStyle", tabs: ["tabGroup", "tabs"] }, ngImport: i0, template: "<ul *ngIf=\"tabs?.items?.length\"\n class=\"{{tabStyle}}\">\n\n <li class=\"{{tab.classlist}}\"\n [ngClass]=\"{'icon-only': tab.icon && !tab.label}\"\n *ngFor=\"let tab of tabs?.items; index as i;\">\n\n <a *ngIf=\"tab.url && !tab.disabled\"\n tabindex=\"{{tabs?.selected === tab ? -1 : tabindex}}\"\n class=\"tab\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n routerLinkActive=\"active\"\n [routerLink]=\"tab.url\"\n [routerLinkActiveOptions]=\"{exact: tab.isActiveExactMatch || false}\"\n [queryParams]=\"tab.queryParams || null\"\n [queryParamsHandling]=\"tab.queryParamsHandling || ''\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge}}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </a>\n\n <span *ngIf=\"!tab.url || tab.disabled\"\n tabindex=\"{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n class=\"tab\"\n [ngClass]=\"{'active': tabs?.selected === tab, 'is-disabled': tab.disabled}\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge }}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </span>\n </li>\n</ul>", styles: [":host{display:block}ul{padding:0;margin:0;list-style:none}a{text-decoration:none}.tabs{display:flex;border-bottom:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:1rem}.tabs .tab{padding-left:0;padding-right:0;border-bottom:2px solid transparent;margin-bottom:-1px;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:2rem;min-width:2rem;justify-content:center}.tabs .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab:hover,.tabs .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:first-child){margin-left:-1px}.pills li .tab{border-radius:0}.pills li:first-child .tab{border-top-left-radius:var(--ec-border-radius);border-bottom-left-radius:var(--ec-border-radius)}.pills li:last-child .tab{border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.pills .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.pills .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pills .tab:hover,.pills .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.pills .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.tiles{display:flex}.tiles li{display:block;min-width:0}.tiles li .tab{border-radius:var(--ec-border-radius)}.tiles .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid transparent;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.tiles .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));font-weight:700;color:var(--ec-tab-color-active, var(--ec-border-color-focus));background-color:var(--ec-background-color-selected);border:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tiles .tab:hover,.tiles .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.tiles .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.icon-only .tab{padding:0;justify-content:center}.icon-only .tab .ec-icon{color:inherit}.indicator{border:solid 2px rgb(111,28,138);background-color:#6f1c8a40;display:block;width:.625rem;height:.625rem;border-radius:50%}:host(.is-condensed) .tiles li,:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
7455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7456
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TabsComponent, isStandalone: false, selector: "ec-tabs", inputs: { id: "id", tabindex: "tabindex", tabStyle: "tabStyle", tabs: ["tabGroup", "tabs"] }, ngImport: i0, template: "<ul *ngIf=\"tabs?.items?.length\"\n class=\"{{tabStyle}}\">\n\n <li class=\"{{tab.classlist}}\"\n [ngClass]=\"{'icon-only': tab.icon && !tab.label}\"\n *ngFor=\"let tab of tabs?.items; index as i;\">\n\n <a *ngIf=\"tab.url && !tab.disabled\"\n tabindex=\"{{tabs?.selected === tab ? -1 : tabindex}}\"\n class=\"tab\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n routerLinkActive=\"active\"\n [routerLink]=\"tab.url\"\n [routerLinkActiveOptions]=\"{exact: tab.isActiveExactMatch || false}\"\n [queryParams]=\"tab.queryParams || null\"\n [queryParamsHandling]=\"tab.queryParamsHandling || ''\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge}}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </a>\n\n <span *ngIf=\"!tab.url || tab.disabled\"\n tabindex=\"{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n class=\"tab\"\n [ngClass]=\"{'active': tabs?.selected === tab, 'is-disabled': tab.disabled}\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge }}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </span>\n </li>\n</ul>", styles: [":host{display:block}ul{padding:0;margin:0;list-style:none}a{text-decoration:none}.tabs{display:flex;border-bottom:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:1rem}.tabs .tab{padding-left:0;padding-right:0;border-bottom:2px solid transparent;margin-bottom:-1px;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:2rem;min-width:2rem;justify-content:center}.tabs .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab:hover,.tabs .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:first-child){margin-left:-1px}.pills li .tab{border-radius:0}.pills li:first-child .tab{border-top-left-radius:var(--ec-border-radius);border-bottom-left-radius:var(--ec-border-radius)}.pills li:last-child .tab{border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.pills .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.pills .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pills .tab:hover,.pills .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.pills .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.tiles{display:flex}.tiles li{display:block;min-width:0}.tiles li .tab{border-radius:var(--ec-border-radius)}.tiles .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid transparent;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.tiles .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));font-weight:700;color:var(--ec-tab-color-active, var(--ec-border-color-focus));background-color:var(--ec-background-color-selected);border:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tiles .tab:hover,.tiles .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.tiles .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.icon-only .tab{padding:0;justify-content:center}.icon-only .tab .ec-icon{color:inherit}.indicator{border:solid 2px rgb(111,28,138);background-color:#6f1c8a40;display:block;width:.625rem;height:.625rem;border-radius:50%}:host(.is-condensed) .tiles li,:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
7446
7457
  }
7447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabsComponent, decorators: [{
7458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TabsComponent, decorators: [{
7448
7459
  type: Component,
7449
- args: [{ selector: 'ec-tabs', template: "<ul *ngIf=\"tabs?.items?.length\"\n class=\"{{tabStyle}}\">\n\n <li class=\"{{tab.classlist}}\"\n [ngClass]=\"{'icon-only': tab.icon && !tab.label}\"\n *ngFor=\"let tab of tabs?.items; index as i;\">\n\n <a *ngIf=\"tab.url && !tab.disabled\"\n tabindex=\"{{tabs?.selected === tab ? -1 : tabindex}}\"\n class=\"tab\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n routerLinkActive=\"active\"\n [routerLink]=\"tab.url\"\n [routerLinkActiveOptions]=\"{exact: tab.isActiveExactMatch || false}\"\n [queryParams]=\"tab.queryParams || null\"\n [queryParamsHandling]=\"tab.queryParamsHandling || ''\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge}}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </a>\n\n <span *ngIf=\"!tab.url || tab.disabled\"\n tabindex=\"{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n class=\"tab\"\n [ngClass]=\"{'active': tabs?.selected === tab, 'is-disabled': tab.disabled}\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge }}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </span>\n </li>\n</ul>", styles: [":host{display:block}ul{padding:0;margin:0;list-style:none}a{text-decoration:none}.tabs{display:flex;border-bottom:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:1rem}.tabs .tab{padding-left:0;padding-right:0;border-bottom:2px solid transparent;margin-bottom:-1px;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:2rem;min-width:2rem;justify-content:center}.tabs .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab:hover,.tabs .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:first-child){margin-left:-1px}.pills li .tab{border-radius:0}.pills li:first-child .tab{border-top-left-radius:var(--ec-border-radius);border-bottom-left-radius:var(--ec-border-radius)}.pills li:last-child .tab{border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.pills .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.pills .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pills .tab:hover,.pills .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.pills .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.tiles{display:flex}.tiles li{display:block;min-width:0}.tiles li .tab{border-radius:var(--ec-border-radius)}.tiles .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid transparent;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.tiles .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));font-weight:700;color:var(--ec-tab-color-active, var(--ec-border-color-focus));background-color:var(--ec-background-color-selected);border:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tiles .tab:hover,.tiles .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.tiles .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.icon-only .tab{padding:0;justify-content:center}.icon-only .tab .ec-icon{color:inherit}.indicator{border:solid 2px rgb(111,28,138);background-color:#6f1c8a40;display:block;width:.625rem;height:.625rem;border-radius:50%}:host(.is-condensed) .tiles li,:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}\n"] }]
7460
+ args: [{ selector: 'ec-tabs', standalone: false, template: "<ul *ngIf=\"tabs?.items?.length\"\n class=\"{{tabStyle}}\">\n\n <li class=\"{{tab.classlist}}\"\n [ngClass]=\"{'icon-only': tab.icon && !tab.label}\"\n *ngFor=\"let tab of tabs?.items; index as i;\">\n\n <a *ngIf=\"tab.url && !tab.disabled\"\n tabindex=\"{{tabs?.selected === tab ? -1 : tabindex}}\"\n class=\"tab\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n routerLinkActive=\"active\"\n [routerLink]=\"tab.url\"\n [routerLinkActiveOptions]=\"{exact: tab.isActiveExactMatch || false}\"\n [queryParams]=\"tab.queryParams || null\"\n [queryParamsHandling]=\"tab.queryParamsHandling || ''\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge}}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </a>\n\n <span *ngIf=\"!tab.url || tab.disabled\"\n tabindex=\"{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}\"\n id=\"{{tab.id ? tab.id : id + '_item' + i}}\"\n class=\"tab\"\n [ngClass]=\"{'active': tabs?.selected === tab, 'is-disabled': tab.disabled}\"\n (keypress)=\"selectTab($event, tab)\"\n (click)=\"selectTab($event, tab)\">\n <i class=\"ec-icon {{tab.icon}}\"\n *ngIf=\"tab.icon\"\n [class.mr-1]=\"tab.label\"></i>\n <span class=\"text-truncate\">{{tab.label | translate}}</span>\n <span *ngIf=\"tab.badge !== undefined && tab.badgeVisible !== false\"\n class=\"badge ml-1\">\n {{ tab.badge }}\n </span>\n <span *ngIf=\"tab?.indicator\"\n class=\"indicator ml-1\"\n [style.background-color]=\"tab?.indicator === true ? '' : tab?.indicator\"></span>\n </span>\n </li>\n</ul>", styles: [":host{display:block}ul{padding:0;margin:0;list-style:none}a{text-decoration:none}.tabs{display:flex;border-bottom:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:1rem}.tabs .tab{padding-left:0;padding-right:0;border-bottom:2px solid transparent;margin-bottom:-1px;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:2rem;min-width:2rem;justify-content:center}.tabs .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab:hover,.tabs .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus))}.tabs .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:first-child){margin-left:-1px}.pills li .tab{border-radius:0}.pills li:first-child .tab{border-top-left-radius:var(--ec-border-radius);border-bottom-left-radius:var(--ec-border-radius)}.pills li:last-child .tab{border-top-right-radius:var(--ec-border-radius);border-bottom-right-radius:var(--ec-border-radius)}.pills .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid var(--ec-tab-border-color, var(--ec-border-color));align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.pills .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));background-color:var(--ec-tab-background-color-active, var(--ec-background-color))}.pills .tab:hover,.pills .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.pills .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.tiles{display:flex}.tiles li{display:block;min-width:0}.tiles li .tab{border-radius:var(--ec-border-radius)}.tiles .tab{padding-left:.5rem;padding-right:.5rem;border-radius:var(--ec-border-radius);border:1px solid transparent;align-items:center;color:var(--ec-tab-color, var(--ec-color-secondary-dark));cursor:pointer;font-size:var(--ec-tab-font-size, var(--ec-font-size-label));display:flex;height:1.75rem;min-width:1.75rem;justify-content:center}.tiles .tab.active{color:var(--ec-tab-color-active, var(--ec-color-interactive));font-weight:700;color:var(--ec-tab-color-active, var(--ec-border-color-focus));background-color:var(--ec-background-color-selected);border:1px solid var(--ec-tab-border-color, var(--ec-border-color))}.tiles .tab:hover,.tiles .tab:focus{outline:none;border-color:var(--ec-tab-border-color-active, var(--ec-border-color-focus));box-shadow:0 0 0 1px var(--ec-tab-border-color-active, var(--ec-border-color-focus));position:relative;z-index:1}.tiles .tab.is-disabled{opacity:var(--ec-form-control-opacity-disabled);cursor:default;pointer-events:none}.icon-only .tab{padding:0;justify-content:center}.icon-only .tab .ec-icon{color:inherit}.indicator{border:solid 2px rgb(111,28,138);background-color:#6f1c8a40;display:block;width:.625rem;height:.625rem;border-radius:50%}:host(.is-condensed) .tiles li,:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}\n"] }]
7450
7461
  }], ctorParameters: () => [], propDecorators: { id: [{
7451
7462
  type: Input
7452
7463
  }], tabindex: [{
@@ -7583,14 +7594,14 @@ class TablePaginationComponent {
7583
7594
  value: { firstPage: start, lastPage: lastPage }
7584
7595
  });
7585
7596
  }
7586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TablePaginationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
7587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs", disablePaginationControls: "disablePaginationControls" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsComponent, selector: "ec-tabs", inputs: ["id", "tabindex", "tabStyle", "tabGroup"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }] }); }
7597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TablePaginationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
7598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TablePaginationComponent, isStandalone: false, selector: "ec-table-pagination", inputs: { id: "id", totalItems: "totalItems", pageSize: "pageSize", pageNumber: "pageNumber", maxTabs: "maxTabs", disablePaginationControls: "disablePaginationControls" }, outputs: { pageChanged: "pageChanged" }, host: { classAttribute: "d-flex px-2 align-items-center" }, usesOnChanges: true, ngImport: i0, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsComponent, selector: "ec-tabs", inputs: ["id", "tabindex", "tabStyle", "tabGroup"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }] }); }
7588
7599
  }
7589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TablePaginationComponent, decorators: [{
7600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TablePaginationComponent, decorators: [{
7590
7601
  type: Component,
7591
7602
  args: [{ selector: 'ec-table-pagination', host: {
7592
7603
  class: 'd-flex px-2 align-items-center'
7593
- }, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>" }]
7604
+ }, standalone: false, template: "<ec-tabs id=\"{{id}}_pages\"\n class=\"my-2 is-condensed\"\n [tabGroup]=\"currentTabs\"\n tabStyle=\"tiles\">\n</ec-tabs>\n<ec-dropdown id=\"{{id}}_morePages\"\n *ngIf=\"dropdownItems.length > 1\"\n class=\"my-1 ml-1\"\n menuTemplateType=\"label\"\n icon=\"icon-more\"\n menuPosition=\"left\"\n [menuMinWidth]=\"80\"\n [showArrow]=\"false\"\n [popupFixed]=\"true\"\n [items]=\"dropdownItems\"\n [disabled]=\"disablePaginationControls\"\n (itemSelected)=\"onItemSelected($event)\">\n</ec-dropdown>" }]
7594
7605
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{
7595
7606
  type: Input
7596
7607
  }], totalItems: [{
@@ -7656,10 +7667,10 @@ class ErrorService {
7656
7667
  console.error('unknown error:', error);
7657
7668
  }
7658
7669
  }
7659
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7660
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
7670
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7671
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
7661
7672
  }
7662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorService, decorators: [{
7673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ErrorService, decorators: [{
7663
7674
  type: Injectable,
7664
7675
  args: [{
7665
7676
  providedIn: 'root'
@@ -7701,13 +7712,14 @@ class RowCountPipe {
7701
7712
  let prefix = `${pagingInfo.skip + 1}` + (results.totalItems > 1 ? `-${pagingInfo.skip + results.totalItems} ` : ' ');
7702
7713
  return prefix + `${this.translateService.instant('of')} ${results.totalItemsBeforePaging} ${objectType}`;
7703
7714
  }
7704
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
7705
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, name: "rowCount" }); }
7715
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RowCountPipe, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
7716
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: RowCountPipe, isStandalone: false, name: "rowCount" }); }
7706
7717
  }
7707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, decorators: [{
7718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RowCountPipe, decorators: [{
7708
7719
  type: Pipe,
7709
7720
  args: [{
7710
- name: 'rowCount'
7721
+ name: 'rowCount',
7722
+ standalone: false
7711
7723
  }]
7712
7724
  }], ctorParameters: () => [{ type: i3.TranslateService }] });
7713
7725
 
@@ -7952,12 +7964,12 @@ class SearchableTableComponent {
7952
7964
  }
7953
7965
  return this.translateService.instant(this.noDataMessage || 'SearchableTable_Default_NoData_SC');
7954
7966
  }
7955
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchableTableComponent, deps: [{ token: ErrorService }, { token: i3.TranslateService }, { token: RowCountPipe }], target: i0.ɵɵFactoryTarget.Component }); }
7956
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchableTableComponent, selector: "ec-searchable-table", inputs: { id: "id", resizable: "resizable", sortable: "sortable", sort: "sort", autofocus: "autofocus", tableClasses: "tableClasses", searchboxPlaceholder: "searchboxPlaceholder", formModel: "formModel", noDataMessage: "noDataMessage", noSearchResultsMessage: "noSearchResultsMessage", ready: "ready", getItems: "getItems", refresh: "refresh", status: "status", tableLayoutFixed: "tableLayoutFixed", searchboxTabIndex: "searchboxTabIndex", maxItemCount: "maxItemCount", hideSearchControl: "hideSearchControl", hideHeader: "hideHeader", objectType: "objectType", hideFooter: "hideFooter", pageable: "pageable", pageSize: "pageSize", maxTabs: "maxTabs", searchboxReadonly: "searchboxReadonly", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", additionalCountText: "additionalCountText", selectable: "selectable", customContentTemplate: "customContentTemplate", removeCard: "removeCard", overlayClasses: "overlayClasses", fillParentHeight: "fillParentHeight", disablePaginationControls: "disablePaginationControls" }, outputs: { sortChange: "sortChange", pageChangeEmitter: "pageChange", itemsChange: "itemsChange" }, queries: [{ propertyName: "resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<header *ngIf=\"!hideHeader\"\n class=\"d-flex flex-shrink align-items-center mb-3\">\n <ec-textbox id=\"{{id}}_searchbox\"\n *ngIf=\"!hideSearchControl\"\n class=\"mb-0 flex-grow mr-2\"\n [autofocus]=\"autofocus\"\n [formModel]=\"searchModel\"\n [tabindex]=\"searchboxTabIndex\"\n [placeholder]=\"searchboxPlaceholder\"\n [readonly]=\"searchboxReadonly\"></ec-textbox>\n <div class=\"flex-grow\">\n <ng-content select=\".searchable-table-controls\"></ng-content>\n </div>\n</header>\n<section id=\"{{id}}_card\"\n class=\"d-flex flex-column {{overlayClasses}}\"\n [ngClass]=\"{'is-translucent': status.status !== 'error', 'has-mask': status.status !== 'hasData', 'card m-0 bg-content': !customContentTemplate && !removeCard}\"\n ecOverlay\n [status]=\"status.status\"\n [message]=\"status.message\"\n [displayAsMask]=\"true\">\n\n @if(!headerTitleTemplate) {\n <!-- Fallback to the projected content if a headerTitleTemplate is not found. This keeps us backwards compatible -->\n <ng-content select=\".card-header\"></ng-content>\n }\n\n <ng-container *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\">\n </ng-container>\n\n <!-- the default template is an ec-table with proxied-over searchable table inputs. \n If that doesn't work for you then you can specify a customContentTemplate to use instead\n and still retain all the event handling, header, footer pagination, etc support -->\n <ng-template #defaultContentTemplate>\n <ec-table id=\"{{id}}_table\"\n class=\"{{tableClasses}}\"\n [class.is-fixed]=\"tableLayoutFixed\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n (sortChange)=\"onSortChange($event)\"\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [selectable]=\"selectable\"\n [selectionContext]=\"selectionContext\"\n [selectionToolbarTemplate]=\"selectionToolbarTemplate\"\n [resizableColumns]=\"resizableColumns\"\n [headerTitleTemplate]=\"headerTitleTemplate\">\n <ng-content></ng-content>\n </ec-table>\n </ng-template>\n\n <!-- pagination footer visible if table is page-able and there are more than one page of results -->\n <footer *ngIf=\"!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!\"\n class=\"pagination-footer\"\n [class.border-top]=\"!customContentTemplate\">\n <ec-table-pagination id=\"{{id}}_pager\"\n class=\"font-color-primary\"\n [totalItems]=\"searchResults.totalItemsBeforePaging\"\n [pageSize]=\"pageSize\"\n [maxTabs]=\"maxTabs\"\n [pageNumber]=\"pageInfo?.pageNumber\"\n [disablePaginationControls]=\"disablePaginationControls\"\n (pageChanged)=\"onPageChange($event)\">\n </ec-table-pagination>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto font-color-hint text-truncate\" \n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n\n <!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) -->\n <footer *ngIf=\"(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption\"\n class=\"caption-footer\"\n [ngClass]=\"{'has-results': searchResults?.items?.length, 'border-top': searchResults?.items?.length && !customContentTemplate}\">\n <ng-content *ngIf=\"!tableCaption\"\n select=\".searchable-table-footer\"></ng-content>\n <div id=\"tableCaption\"\n *ngIf=\"tableCaption\"\n [innerHTML]=\"tableCaption\"></div>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto text-truncate\"\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n</section>", styles: [":host{--ec-searchable-table-flex-properties: 0 1 auto;--ec-searchable-table-flex-overlay-section: var(--ec-searchable-table-flex-properties, 0 1 auto);--ec-searchable-table-flex-ec-table: var(--ec-searchable-table-flex-properties, 0 1 auto);display:flex;flex-direction:column;flex:1 1;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{display:flex;align-items:center;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{padding:.5rem;height:var(--ec-searchable-table-height-caption-footer)}.card.has-mask{min-height:15rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: TableComponent, selector: "ec-table", inputs: ["id", "scrollable", "resizable", "condensed", "sortable", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "selectable", "isForm", "sort", "resizableColumns"], outputs: ["sortChange"] }, { kind: "component", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: ["id", "totalItems", "pageSize", "pageNumber", "maxTabs", "disablePaginationControls"], outputs: ["pageChanged"] }] }); }
7967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchableTableComponent, deps: [{ token: ErrorService }, { token: i3.TranslateService }, { token: RowCountPipe }], target: i0.ɵɵFactoryTarget.Component }); }
7968
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: SearchableTableComponent, isStandalone: false, selector: "ec-searchable-table", inputs: { id: "id", resizable: "resizable", sortable: "sortable", sort: "sort", autofocus: "autofocus", tableClasses: "tableClasses", searchboxPlaceholder: "searchboxPlaceholder", formModel: "formModel", noDataMessage: "noDataMessage", noSearchResultsMessage: "noSearchResultsMessage", ready: "ready", getItems: "getItems", refresh: "refresh", status: "status", tableLayoutFixed: "tableLayoutFixed", searchboxTabIndex: "searchboxTabIndex", maxItemCount: "maxItemCount", hideSearchControl: "hideSearchControl", hideHeader: "hideHeader", objectType: "objectType", hideFooter: "hideFooter", pageable: "pageable", pageSize: "pageSize", maxTabs: "maxTabs", searchboxReadonly: "searchboxReadonly", selectionContext: "selectionContext", selectionToolbarTemplate: "selectionToolbarTemplate", headerTitleTemplate: "headerTitleTemplate", additionalCountText: "additionalCountText", selectable: "selectable", customContentTemplate: "customContentTemplate", removeCard: "removeCard", overlayClasses: "overlayClasses", fillParentHeight: "fillParentHeight", disablePaginationControls: "disablePaginationControls" }, outputs: { sortChange: "sortChange", pageChangeEmitter: "pageChange", itemsChange: "itemsChange" }, queries: [{ propertyName: "resizableColumns", predicate: ResizableColumnComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<header *ngIf=\"!hideHeader\"\n class=\"d-flex flex-shrink align-items-center mb-3\">\n <ec-textbox id=\"{{id}}_searchbox\"\n *ngIf=\"!hideSearchControl\"\n class=\"mb-0 flex-grow mr-2\"\n [autofocus]=\"autofocus\"\n [formModel]=\"searchModel\"\n [tabindex]=\"searchboxTabIndex\"\n [placeholder]=\"searchboxPlaceholder\"\n [readonly]=\"searchboxReadonly\"></ec-textbox>\n <div class=\"flex-grow\">\n <ng-content select=\".searchable-table-controls\"></ng-content>\n </div>\n</header>\n<section id=\"{{id}}_card\"\n class=\"d-flex flex-column {{overlayClasses}}\"\n [ngClass]=\"{'is-translucent': status.status !== 'error', 'has-mask': status.status !== 'hasData', 'card m-0 bg-content': !customContentTemplate && !removeCard}\"\n ecOverlay\n [status]=\"status.status\"\n [message]=\"status.message\"\n [displayAsMask]=\"true\">\n\n @if(!headerTitleTemplate) {\n <!-- Fallback to the projected content if a headerTitleTemplate is not found. This keeps us backwards compatible -->\n <ng-content select=\".card-header\"></ng-content>\n }\n\n <ng-container *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\">\n </ng-container>\n\n <!-- the default template is an ec-table with proxied-over searchable table inputs. \n If that doesn't work for you then you can specify a customContentTemplate to use instead\n and still retain all the event handling, header, footer pagination, etc support -->\n <ng-template #defaultContentTemplate>\n <ec-table id=\"{{id}}_table\"\n class=\"{{tableClasses}}\"\n [class.is-fixed]=\"tableLayoutFixed\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n (sortChange)=\"onSortChange($event)\"\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [selectable]=\"selectable\"\n [selectionContext]=\"selectionContext\"\n [selectionToolbarTemplate]=\"selectionToolbarTemplate\"\n [resizableColumns]=\"resizableColumns\"\n [headerTitleTemplate]=\"headerTitleTemplate\">\n <ng-content></ng-content>\n </ec-table>\n </ng-template>\n\n <!-- pagination footer visible if table is page-able and there are more than one page of results -->\n <footer *ngIf=\"!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!\"\n class=\"pagination-footer\"\n [class.border-top]=\"!customContentTemplate\">\n <ec-table-pagination id=\"{{id}}_pager\"\n class=\"font-color-primary\"\n [totalItems]=\"searchResults.totalItemsBeforePaging\"\n [pageSize]=\"pageSize\"\n [maxTabs]=\"maxTabs\"\n [pageNumber]=\"pageInfo?.pageNumber\"\n [disablePaginationControls]=\"disablePaginationControls\"\n (pageChanged)=\"onPageChange($event)\">\n </ec-table-pagination>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto font-color-hint text-truncate\" \n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n\n <!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) -->\n <footer *ngIf=\"(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption\"\n class=\"caption-footer\"\n [ngClass]=\"{'has-results': searchResults?.items?.length, 'border-top': searchResults?.items?.length && !customContentTemplate}\">\n <ng-content *ngIf=\"!tableCaption\"\n select=\".searchable-table-footer\"></ng-content>\n <div id=\"tableCaption\"\n *ngIf=\"tableCaption\"\n [innerHTML]=\"tableCaption\"></div>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto text-truncate\"\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n</section>", styles: [":host{--ec-searchable-table-flex-properties: 0 1 auto;--ec-searchable-table-flex-overlay-section: var(--ec-searchable-table-flex-properties, 0 1 auto);--ec-searchable-table-flex-ec-table: var(--ec-searchable-table-flex-properties, 0 1 auto);display:flex;flex-direction:column;flex:1 1;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{display:flex;align-items:center;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{padding:.5rem;height:var(--ec-searchable-table-height-caption-footer)}.card.has-mask{min-height:15rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: TableComponent, selector: "ec-table", inputs: ["id", "scrollable", "resizable", "condensed", "sortable", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "selectable", "isForm", "sort", "resizableColumns"], outputs: ["sortChange"] }, { kind: "component", type: TablePaginationComponent, selector: "ec-table-pagination", inputs: ["id", "totalItems", "pageSize", "pageNumber", "maxTabs", "disablePaginationControls"], outputs: ["pageChanged"] }] }); }
7957
7969
  }
7958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchableTableComponent, decorators: [{
7970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchableTableComponent, decorators: [{
7959
7971
  type: Component,
7960
- args: [{ selector: 'ec-searchable-table', template: "<header *ngIf=\"!hideHeader\"\n class=\"d-flex flex-shrink align-items-center mb-3\">\n <ec-textbox id=\"{{id}}_searchbox\"\n *ngIf=\"!hideSearchControl\"\n class=\"mb-0 flex-grow mr-2\"\n [autofocus]=\"autofocus\"\n [formModel]=\"searchModel\"\n [tabindex]=\"searchboxTabIndex\"\n [placeholder]=\"searchboxPlaceholder\"\n [readonly]=\"searchboxReadonly\"></ec-textbox>\n <div class=\"flex-grow\">\n <ng-content select=\".searchable-table-controls\"></ng-content>\n </div>\n</header>\n<section id=\"{{id}}_card\"\n class=\"d-flex flex-column {{overlayClasses}}\"\n [ngClass]=\"{'is-translucent': status.status !== 'error', 'has-mask': status.status !== 'hasData', 'card m-0 bg-content': !customContentTemplate && !removeCard}\"\n ecOverlay\n [status]=\"status.status\"\n [message]=\"status.message\"\n [displayAsMask]=\"true\">\n\n @if(!headerTitleTemplate) {\n <!-- Fallback to the projected content if a headerTitleTemplate is not found. This keeps us backwards compatible -->\n <ng-content select=\".card-header\"></ng-content>\n }\n\n <ng-container *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\">\n </ng-container>\n\n <!-- the default template is an ec-table with proxied-over searchable table inputs. \n If that doesn't work for you then you can specify a customContentTemplate to use instead\n and still retain all the event handling, header, footer pagination, etc support -->\n <ng-template #defaultContentTemplate>\n <ec-table id=\"{{id}}_table\"\n class=\"{{tableClasses}}\"\n [class.is-fixed]=\"tableLayoutFixed\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n (sortChange)=\"onSortChange($event)\"\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [selectable]=\"selectable\"\n [selectionContext]=\"selectionContext\"\n [selectionToolbarTemplate]=\"selectionToolbarTemplate\"\n [resizableColumns]=\"resizableColumns\"\n [headerTitleTemplate]=\"headerTitleTemplate\">\n <ng-content></ng-content>\n </ec-table>\n </ng-template>\n\n <!-- pagination footer visible if table is page-able and there are more than one page of results -->\n <footer *ngIf=\"!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!\"\n class=\"pagination-footer\"\n [class.border-top]=\"!customContentTemplate\">\n <ec-table-pagination id=\"{{id}}_pager\"\n class=\"font-color-primary\"\n [totalItems]=\"searchResults.totalItemsBeforePaging\"\n [pageSize]=\"pageSize\"\n [maxTabs]=\"maxTabs\"\n [pageNumber]=\"pageInfo?.pageNumber\"\n [disablePaginationControls]=\"disablePaginationControls\"\n (pageChanged)=\"onPageChange($event)\">\n </ec-table-pagination>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto font-color-hint text-truncate\" \n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n\n <!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) -->\n <footer *ngIf=\"(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption\"\n class=\"caption-footer\"\n [ngClass]=\"{'has-results': searchResults?.items?.length, 'border-top': searchResults?.items?.length && !customContentTemplate}\">\n <ng-content *ngIf=\"!tableCaption\"\n select=\".searchable-table-footer\"></ng-content>\n <div id=\"tableCaption\"\n *ngIf=\"tableCaption\"\n [innerHTML]=\"tableCaption\"></div>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto text-truncate\"\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n</section>", styles: [":host{--ec-searchable-table-flex-properties: 0 1 auto;--ec-searchable-table-flex-overlay-section: var(--ec-searchable-table-flex-properties, 0 1 auto);--ec-searchable-table-flex-ec-table: var(--ec-searchable-table-flex-properties, 0 1 auto);display:flex;flex-direction:column;flex:1 1;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{display:flex;align-items:center;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{padding:.5rem;height:var(--ec-searchable-table-height-caption-footer)}.card.has-mask{min-height:15rem}\n"] }]
7972
+ args: [{ selector: 'ec-searchable-table', standalone: false, template: "<header *ngIf=\"!hideHeader\"\n class=\"d-flex flex-shrink align-items-center mb-3\">\n <ec-textbox id=\"{{id}}_searchbox\"\n *ngIf=\"!hideSearchControl\"\n class=\"mb-0 flex-grow mr-2\"\n [autofocus]=\"autofocus\"\n [formModel]=\"searchModel\"\n [tabindex]=\"searchboxTabIndex\"\n [placeholder]=\"searchboxPlaceholder\"\n [readonly]=\"searchboxReadonly\"></ec-textbox>\n <div class=\"flex-grow\">\n <ng-content select=\".searchable-table-controls\"></ng-content>\n </div>\n</header>\n<section id=\"{{id}}_card\"\n class=\"d-flex flex-column {{overlayClasses}}\"\n [ngClass]=\"{'is-translucent': status.status !== 'error', 'has-mask': status.status !== 'hasData', 'card m-0 bg-content': !customContentTemplate && !removeCard}\"\n ecOverlay\n [status]=\"status.status\"\n [message]=\"status.message\"\n [displayAsMask]=\"true\">\n\n @if(!headerTitleTemplate) {\n <!-- Fallback to the projected content if a headerTitleTemplate is not found. This keeps us backwards compatible -->\n <ng-content select=\".card-header\"></ng-content>\n }\n\n <ng-container *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\">\n </ng-container>\n\n <!-- the default template is an ec-table with proxied-over searchable table inputs. \n If that doesn't work for you then you can specify a customContentTemplate to use instead\n and still retain all the event handling, header, footer pagination, etc support -->\n <ng-template #defaultContentTemplate>\n <ec-table id=\"{{id}}_table\"\n class=\"{{tableClasses}}\"\n [class.is-fixed]=\"tableLayoutFixed\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n (sortChange)=\"onSortChange($event)\"\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [selectable]=\"selectable\"\n [selectionContext]=\"selectionContext\"\n [selectionToolbarTemplate]=\"selectionToolbarTemplate\"\n [resizableColumns]=\"resizableColumns\"\n [headerTitleTemplate]=\"headerTitleTemplate\">\n <ng-content></ng-content>\n </ec-table>\n </ng-template>\n\n <!-- pagination footer visible if table is page-able and there are more than one page of results -->\n <footer *ngIf=\"!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!\"\n class=\"pagination-footer\"\n [class.border-top]=\"!customContentTemplate\">\n <ec-table-pagination id=\"{{id}}_pager\"\n class=\"font-color-primary\"\n [totalItems]=\"searchResults.totalItemsBeforePaging\"\n [pageSize]=\"pageSize\"\n [maxTabs]=\"maxTabs\"\n [pageNumber]=\"pageInfo?.pageNumber\"\n [disablePaginationControls]=\"disablePaginationControls\"\n (pageChanged)=\"onPageChange($event)\">\n </ec-table-pagination>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto font-color-hint text-truncate\" \n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n\n <!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) -->\n <footer *ngIf=\"(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption\"\n class=\"caption-footer\"\n [ngClass]=\"{'has-results': searchResults?.items?.length, 'border-top': searchResults?.items?.length && !customContentTemplate}\">\n <ng-content *ngIf=\"!tableCaption\"\n select=\".searchable-table-footer\"></ng-content>\n <div id=\"tableCaption\"\n *ngIf=\"tableCaption\"\n [innerHTML]=\"tableCaption\"></div>\n <div id=\"resultsCount\"\n *ngIf=\"searchResults?.items?.length\"\n class=\"ml-auto text-truncate\"\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\n </footer>\n</section>", styles: [":host{--ec-searchable-table-flex-properties: 0 1 auto;--ec-searchable-table-flex-overlay-section: var(--ec-searchable-table-flex-properties, 0 1 auto);--ec-searchable-table-flex-ec-table: var(--ec-searchable-table-flex-properties, 0 1 auto);display:flex;flex-direction:column;flex:1 1;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{display:flex;align-items:center;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{padding:.5rem;height:var(--ec-searchable-table-height-caption-footer)}.card.has-mask{min-height:15rem}\n"] }]
7961
7973
  }], ctorParameters: () => [{ type: ErrorService }, { type: i3.TranslateService }, { type: RowCountPipe }], propDecorators: { id: [{
7962
7974
  type: Input
7963
7975
  }], resizable: [{
@@ -8041,12 +8053,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8041
8053
  }] } });
8042
8054
 
8043
8055
  class LinkButtonComponent {
8044
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8045
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LinkButtonComponent, selector: "button[ecLinkButton]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:inline;border:none;padding:0;background-color:transparent;font-size:inherit;text-align:start;color:var(--ec-color-link);cursor:pointer}:host:hover{text-decoration:underline}:host:focus{outline:none;text-decoration:underline}:host(:disabled){cursor:default;color:var(--ec-color-hint-dark)}:host(:disabled):hover{text-decoration:none}\n"] }); }
8056
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: LinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8057
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: LinkButtonComponent, isStandalone: false, selector: "button[ecLinkButton]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:inline;border:none;padding:0;background-color:transparent;font-size:inherit;text-align:start;color:var(--ec-color-link);cursor:pointer}:host:hover{text-decoration:underline}:host:focus{outline:none;text-decoration:underline}:host(:disabled){cursor:default;color:var(--ec-color-hint-dark)}:host(:disabled):hover{text-decoration:none}\n"] }); }
8046
8058
  }
8047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LinkButtonComponent, decorators: [{
8059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: LinkButtonComponent, decorators: [{
8048
8060
  type: Component,
8049
- args: [{ selector: 'button[ecLinkButton]', template: `<ng-content></ng-content>`, styles: [":host{display:inline;border:none;padding:0;background-color:transparent;font-size:inherit;text-align:start;color:var(--ec-color-link);cursor:pointer}:host:hover{text-decoration:underline}:host:focus{outline:none;text-decoration:underline}:host(:disabled){cursor:default;color:var(--ec-color-hint-dark)}:host(:disabled):hover{text-decoration:none}\n"] }]
8061
+ args: [{ selector: 'button[ecLinkButton]', template: `<ng-content></ng-content>`, standalone: false, styles: [":host{display:inline;border:none;padding:0;background-color:transparent;font-size:inherit;text-align:start;color:var(--ec-color-link);cursor:pointer}:host:hover{text-decoration:underline}:host:focus{outline:none;text-decoration:underline}:host(:disabled){cursor:default;color:var(--ec-color-hint-dark)}:host(:disabled):hover{text-decoration:none}\n"] }]
8050
8062
  }] });
8051
8063
 
8052
8064
  ;
@@ -8314,12 +8326,12 @@ class ItemPickerComponent {
8314
8326
  this.internalizedSelectedItemTemplate = this.defaultSelectedItemTemplate;
8315
8327
  }
8316
8328
  }
8317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ItemPickerComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
8318
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ItemPickerComponent, selector: "ec-item-picker", inputs: { id: "id", availableTitle: "availableTitle", availableTitleHelpPopover: "availableTitleHelpPopover", selectedTitle: "selectedTitle", itemName: "itemName", formModel: "formModel", customAvailableHeaderTemplate: "customAvailableHeaderTemplate", customAvailableItemTemplate: "customAvailableItemTemplate", customSelectedItemTemplate: "customSelectedItemTemplate", ready: "ready", getItems: "getItems", selectionContext: "selectionContext", noDataMessage: "noDataMessage", noSelectedItemsMessage: "noSelectedItemsMessage", enableSelectAllItems: "enableSelectAllItems", selectAllItemsMessage: "selectAllItemsMessage" }, viewQueries: [{ propertyName: "defaultAvailableHeaderTemplate", first: true, predicate: ["defaultAvailableHeaderTemplate"], descendants: true, static: true }, { propertyName: "defaultAvailableItemTemplate", first: true, predicate: ["defaultAvailableItemTemplate"], descendants: true, static: true }, { propertyName: "defaultSelectedItemTemplate", first: true, predicate: ["defaultSelectedItemTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div ecOverlay\n class=\"d-flex flex-grow card\"\n [status]=\"tableStatus?.status\"\n [message]=\"tableStatus?.message\"\n [displayAsMask]=\"true\">\n <ec-searchable-table id=\"{{id}}_searchableTable\"\n class=\"flex-grow\"\n [fillParentHeight]=\"true\"\n [hideHeader]=\"true\"\n [hideSearchControl]=\"true\"\n [removeCard]=\"true\"\n [pageable]=\"true\"\n [pageSize]=\"50\"\n [objectType]=\"itemName\"\n [formModel]=\"formModel\"\n [ready]=\"ready\"\n [getItems]=\"getItems\"\n [selectable]=\"true\"\n [noDataMessage]=\"noDataMessage\"\n [selectionContext]=\"selectionContext\"\n [status]=\"tableStatus\"\n (itemsChange)=\"onItemsChange($event)\"\n [style.--ec-searchable-table-flex-properties]=\"(availableItems.length || tableStatus.status === 'pending' || tableStatus.status === 'error' ) ? '1 1 auto' : '0 1 auto'\"\n [style.--ec-searchable-table-height-caption-footer]=\"'calc(2.5rem + 1px)'\"\n [tableLayoutFixed]=\"true\"\n [disablePaginationControls]=\"disablePaginationControls\">\n <header *ngIf=\"customAvailableHeaderTemplate\"\n class=\"card-header flex-shrink\"\n style=\"height: 3rem;\">\n <h3 class=\"card-title\">{{availableTitle | translate}}\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </h3>\n </header>\n <thead>\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n class=\"border-bottom-0\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableHeaderTemplate;\"></ng-container>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngFor=\"let item of availableItems; index as rowIndex; trackBy: trackByIndex\">\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n [rowIndex]=\"rowIndex\"\n [isCheckboxDisabled]=\"item.preventRemove || selectionContext.isSelectingAllItems\"\n [isSelected]=\"selectionContext?.selectedItemsMap.has(item.id) || selectionContext.isSelectingAllItems\"\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]=\"'middle'\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </ec-searchable-table>\n\n <section id=\"{{id}}_selectedItems\"\n class=\"selected-items flex-grow d-flex flex-column\">\n <div *ngIf=\"selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-column flex-grow\">\n <header class=\"d-flex align-items-center px-2 text-heading-2\"\n style=\"height: 3rem;\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </header>\n <div class=\"text-center border-top flex-grow d-flex align-items-center justify-content-center text-heading-2\"\n [style.padding-left.rem]=\"4\"\n [style.padding-right.rem]=\"4\"\n [innerHtml]=\"selectAllItemsMessage | translate\"></div>\n </div>\n <ec-table *ngIf=\"!selectionContext.isSelectingAllItems\"\n [scrollable]=\"true\"\n class=\"d-flex flex-grow is-fixed\">\n <colgroup>\n <col>\n <col style=\"width: 2rem;\">\n </colgroup>\n <thead>\n <tr style=\"height: 3rem;\">\n <th colspan=\"2\"\n class=\"p-2 border-bottom-0\">\n <div class=\"d-flex align-items-center text-heading-2\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"selectedItems.length\">\n <tr *ngFor=\"let item of selectedItems; last as isLast\"\n id=\"selected_row_{{item.id}}\"\n [class.border-bottom]=\"!isLast\">\n <td class=\"p-2\">\n <ng-container\n *ngTemplateOutlet=\"internalizedSelectedItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </td>\n\n <td class=\"actions-col text-right\"\n style=\"vertical-align: middle;\">\n <ec-button id=\"{{id}}_removeSelected_{{item.id}}\"\n *ngIf=\"!item.preventRemove\"\n type=\"icon\"\n icon=\"ec-icon icon-cancel\"\n (clicked)=\"removeSelectedItem(item)\">\n </ec-button>\n </td>\n </tr>\n </ng-container>\n <tr *ngIf=\"!selectedItems.length\">\n <td *ngIf=\"!noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate\n [translateParams]=\"{itemName: itemName | translate}\">ItemPickerNoItemsSelected_SC</td>\n <td *ngIf=\"noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate>{{noSelectedItemsMessage}}</td>\n </tr>\n </tbody>\n </ec-table>\n\n <footer id=\"selectedItemsFooter\"\n *ngIf=\"selectedItems.length && !selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-shrink px-2 border-top align-items-center\">\n <div class=\"ml-auto my-2 d-flex align-items-center\"\n style=\"height: 1.75rem;\">\n <span class=\"text-caption-1 font-color-hint\">{{selectedItems.length}} {{itemName | translate}}</span>\n </div>\n </footer>\n </section>\n</div>\n\n<ng-template #defaultAvailableHeaderTemplate>\n <th class=\"text-heading-2 font-color-primary border-bottom-0\">\n <div class=\"d-flex align-items-center \">\n <div *ngIf=\"!availableCheckboxText\">\n <span class=\"text-truncate\">{{availableTitle | translate}}</span>\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </div>\n <span *ngIf=\"availableCheckboxText\"\n id=\"selectedCount\">{{availableCheckboxText}}</span>\n <button *ngIf=\"showSelectAllItemsButton\"\n ecLinkButton\n id=\"selectAllItemsButton\"\n (click)=\"selectAllItems()\"\n class=\"ml-2\">\n {{ ('SelectAllItemPickerItems_TC') | translate:{ count: totalItemsBeforePaging, itemName: itemName } }}\n </button>\n </div>\n </th>\n</ng-template>\n\n<ng-template #defaultAvailableItemTemplate\n let-item>\n <td>{{item.label}}</td>\n</ng-template>\n\n<ng-template #defaultSelectedItemTemplate\n let-item>\n {{item.label}}\n</ng-template>", styles: [":host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items, 50%)}.no-data-message{white-space:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: TableComponent, selector: "ec-table", inputs: ["id", "scrollable", "resizable", "condensed", "sortable", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "selectable", "isForm", "sort", "resizableColumns"], outputs: ["sortChange"] }, { kind: "component", type: SearchableTableComponent, selector: "ec-searchable-table", inputs: ["id", "resizable", "sortable", "sort", "autofocus", "tableClasses", "searchboxPlaceholder", "formModel", "noDataMessage", "noSearchResultsMessage", "ready", "getItems", "refresh", "status", "tableLayoutFixed", "searchboxTabIndex", "maxItemCount", "hideSearchControl", "hideHeader", "objectType", "hideFooter", "pageable", "pageSize", "maxTabs", "searchboxReadonly", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "additionalCountText", "selectable", "customContentTemplate", "removeCard", "overlayClasses", "fillParentHeight", "disablePaginationControls"], outputs: ["sortChange", "pageChange", "itemsChange"] }, { kind: "component", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: ["id", "ecTableSelectableRow", "selectionContext", "rowIndex", "lockedColOptions", "isSelected", "isCheckboxDisabled"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "component", type: LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ItemPickerComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
8330
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ItemPickerComponent, isStandalone: false, selector: "ec-item-picker", inputs: { id: "id", availableTitle: "availableTitle", availableTitleHelpPopover: "availableTitleHelpPopover", selectedTitle: "selectedTitle", itemName: "itemName", formModel: "formModel", customAvailableHeaderTemplate: "customAvailableHeaderTemplate", customAvailableItemTemplate: "customAvailableItemTemplate", customSelectedItemTemplate: "customSelectedItemTemplate", ready: "ready", getItems: "getItems", selectionContext: "selectionContext", noDataMessage: "noDataMessage", noSelectedItemsMessage: "noSelectedItemsMessage", enableSelectAllItems: "enableSelectAllItems", selectAllItemsMessage: "selectAllItemsMessage" }, viewQueries: [{ propertyName: "defaultAvailableHeaderTemplate", first: true, predicate: ["defaultAvailableHeaderTemplate"], descendants: true, static: true }, { propertyName: "defaultAvailableItemTemplate", first: true, predicate: ["defaultAvailableItemTemplate"], descendants: true, static: true }, { propertyName: "defaultSelectedItemTemplate", first: true, predicate: ["defaultSelectedItemTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div ecOverlay\n class=\"d-flex flex-grow card\"\n [status]=\"tableStatus?.status\"\n [message]=\"tableStatus?.message\"\n [displayAsMask]=\"true\">\n <ec-searchable-table id=\"{{id}}_searchableTable\"\n class=\"flex-grow\"\n [fillParentHeight]=\"true\"\n [hideHeader]=\"true\"\n [hideSearchControl]=\"true\"\n [removeCard]=\"true\"\n [pageable]=\"true\"\n [pageSize]=\"50\"\n [objectType]=\"itemName\"\n [formModel]=\"formModel\"\n [ready]=\"ready\"\n [getItems]=\"getItems\"\n [selectable]=\"true\"\n [noDataMessage]=\"noDataMessage\"\n [selectionContext]=\"selectionContext\"\n [status]=\"tableStatus\"\n (itemsChange)=\"onItemsChange($event)\"\n [style.--ec-searchable-table-flex-properties]=\"(availableItems.length || tableStatus.status === 'pending' || tableStatus.status === 'error' ) ? '1 1 auto' : '0 1 auto'\"\n [style.--ec-searchable-table-height-caption-footer]=\"'calc(2.5rem + 1px)'\"\n [tableLayoutFixed]=\"true\"\n [disablePaginationControls]=\"disablePaginationControls\">\n <header *ngIf=\"customAvailableHeaderTemplate\"\n class=\"card-header flex-shrink\"\n style=\"height: 3rem;\">\n <h3 class=\"card-title\">{{availableTitle | translate}}\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </h3>\n </header>\n <thead>\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n class=\"border-bottom-0\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableHeaderTemplate;\"></ng-container>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngFor=\"let item of availableItems; index as rowIndex; trackBy: trackByIndex\">\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n [rowIndex]=\"rowIndex\"\n [isCheckboxDisabled]=\"item.preventRemove || selectionContext.isSelectingAllItems\"\n [isSelected]=\"selectionContext?.selectedItemsMap.has(item.id) || selectionContext.isSelectingAllItems\"\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]=\"'middle'\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </ec-searchable-table>\n\n <section id=\"{{id}}_selectedItems\"\n class=\"selected-items flex-grow d-flex flex-column\">\n <div *ngIf=\"selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-column flex-grow\">\n <header class=\"d-flex align-items-center px-2 text-heading-2\"\n style=\"height: 3rem;\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </header>\n <div class=\"text-center border-top flex-grow d-flex align-items-center justify-content-center text-heading-2\"\n [style.padding-left.rem]=\"4\"\n [style.padding-right.rem]=\"4\"\n [innerHtml]=\"selectAllItemsMessage | translate\"></div>\n </div>\n <ec-table *ngIf=\"!selectionContext.isSelectingAllItems\"\n [scrollable]=\"true\"\n class=\"d-flex flex-grow is-fixed\">\n <colgroup>\n <col>\n <col style=\"width: 2rem;\">\n </colgroup>\n <thead>\n <tr style=\"height: 3rem;\">\n <th colspan=\"2\"\n class=\"p-2 border-bottom-0\">\n <div class=\"d-flex align-items-center text-heading-2\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"selectedItems.length\">\n <tr *ngFor=\"let item of selectedItems; last as isLast\"\n id=\"selected_row_{{item.id}}\"\n [class.border-bottom]=\"!isLast\">\n <td class=\"p-2\">\n <ng-container\n *ngTemplateOutlet=\"internalizedSelectedItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </td>\n\n <td class=\"actions-col text-right\"\n style=\"vertical-align: middle;\">\n <ec-button id=\"{{id}}_removeSelected_{{item.id}}\"\n *ngIf=\"!item.preventRemove\"\n type=\"icon\"\n icon=\"ec-icon icon-cancel\"\n (clicked)=\"removeSelectedItem(item)\">\n </ec-button>\n </td>\n </tr>\n </ng-container>\n <tr *ngIf=\"!selectedItems.length\">\n <td *ngIf=\"!noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate\n [translateParams]=\"{itemName: itemName | translate}\">ItemPickerNoItemsSelected_SC</td>\n <td *ngIf=\"noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate>{{noSelectedItemsMessage}}</td>\n </tr>\n </tbody>\n </ec-table>\n\n <footer id=\"selectedItemsFooter\"\n *ngIf=\"selectedItems.length && !selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-shrink px-2 border-top align-items-center\">\n <div class=\"ml-auto my-2 d-flex align-items-center\"\n style=\"height: 1.75rem;\">\n <span class=\"text-caption-1 font-color-hint\">{{selectedItems.length}} {{itemName | translate}}</span>\n </div>\n </footer>\n </section>\n</div>\n\n<ng-template #defaultAvailableHeaderTemplate>\n <th class=\"text-heading-2 font-color-primary border-bottom-0\">\n <div class=\"d-flex align-items-center \">\n <div *ngIf=\"!availableCheckboxText\">\n <span class=\"text-truncate\">{{availableTitle | translate}}</span>\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </div>\n <span *ngIf=\"availableCheckboxText\"\n id=\"selectedCount\">{{availableCheckboxText}}</span>\n <button *ngIf=\"showSelectAllItemsButton\"\n ecLinkButton\n id=\"selectAllItemsButton\"\n (click)=\"selectAllItems()\"\n class=\"ml-2\">\n {{ ('SelectAllItemPickerItems_TC') | translate:{ count: totalItemsBeforePaging, itemName: itemName } }}\n </button>\n </div>\n </th>\n</ng-template>\n\n<ng-template #defaultAvailableItemTemplate\n let-item>\n <td>{{item.label}}</td>\n</ng-template>\n\n<ng-template #defaultSelectedItemTemplate\n let-item>\n {{item.label}}\n</ng-template>", styles: [":host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items, 50%)}.no-data-message{white-space:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: TableComponent, selector: "ec-table", inputs: ["id", "scrollable", "resizable", "condensed", "sortable", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "selectable", "isForm", "sort", "resizableColumns"], outputs: ["sortChange"] }, { kind: "component", type: SearchableTableComponent, selector: "ec-searchable-table", inputs: ["id", "resizable", "sortable", "sort", "autofocus", "tableClasses", "searchboxPlaceholder", "formModel", "noDataMessage", "noSearchResultsMessage", "ready", "getItems", "refresh", "status", "tableLayoutFixed", "searchboxTabIndex", "maxItemCount", "hideSearchControl", "hideHeader", "objectType", "hideFooter", "pageable", "pageSize", "maxTabs", "searchboxReadonly", "selectionContext", "selectionToolbarTemplate", "headerTitleTemplate", "additionalCountText", "selectable", "customContentTemplate", "removeCard", "overlayClasses", "fillParentHeight", "disablePaginationControls"], outputs: ["sortChange", "pageChange", "itemsChange"] }, { kind: "component", type: TableSelectableRowComponent, selector: "[ecTableSelectableRow]", inputs: ["id", "ecTableSelectableRow", "selectionContext", "rowIndex", "lockedColOptions", "isSelected", "isCheckboxDisabled"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "component", type: LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8319
8331
  }
8320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ItemPickerComponent, decorators: [{
8332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ItemPickerComponent, decorators: [{
8321
8333
  type: Component,
8322
- args: [{ selector: 'ec-item-picker', template: "<div ecOverlay\n class=\"d-flex flex-grow card\"\n [status]=\"tableStatus?.status\"\n [message]=\"tableStatus?.message\"\n [displayAsMask]=\"true\">\n <ec-searchable-table id=\"{{id}}_searchableTable\"\n class=\"flex-grow\"\n [fillParentHeight]=\"true\"\n [hideHeader]=\"true\"\n [hideSearchControl]=\"true\"\n [removeCard]=\"true\"\n [pageable]=\"true\"\n [pageSize]=\"50\"\n [objectType]=\"itemName\"\n [formModel]=\"formModel\"\n [ready]=\"ready\"\n [getItems]=\"getItems\"\n [selectable]=\"true\"\n [noDataMessage]=\"noDataMessage\"\n [selectionContext]=\"selectionContext\"\n [status]=\"tableStatus\"\n (itemsChange)=\"onItemsChange($event)\"\n [style.--ec-searchable-table-flex-properties]=\"(availableItems.length || tableStatus.status === 'pending' || tableStatus.status === 'error' ) ? '1 1 auto' : '0 1 auto'\"\n [style.--ec-searchable-table-height-caption-footer]=\"'calc(2.5rem + 1px)'\"\n [tableLayoutFixed]=\"true\"\n [disablePaginationControls]=\"disablePaginationControls\">\n <header *ngIf=\"customAvailableHeaderTemplate\"\n class=\"card-header flex-shrink\"\n style=\"height: 3rem;\">\n <h3 class=\"card-title\">{{availableTitle | translate}}\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </h3>\n </header>\n <thead>\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n class=\"border-bottom-0\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableHeaderTemplate;\"></ng-container>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngFor=\"let item of availableItems; index as rowIndex; trackBy: trackByIndex\">\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n [rowIndex]=\"rowIndex\"\n [isCheckboxDisabled]=\"item.preventRemove || selectionContext.isSelectingAllItems\"\n [isSelected]=\"selectionContext?.selectedItemsMap.has(item.id) || selectionContext.isSelectingAllItems\"\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]=\"'middle'\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </ec-searchable-table>\n\n <section id=\"{{id}}_selectedItems\"\n class=\"selected-items flex-grow d-flex flex-column\">\n <div *ngIf=\"selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-column flex-grow\">\n <header class=\"d-flex align-items-center px-2 text-heading-2\"\n style=\"height: 3rem;\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </header>\n <div class=\"text-center border-top flex-grow d-flex align-items-center justify-content-center text-heading-2\"\n [style.padding-left.rem]=\"4\"\n [style.padding-right.rem]=\"4\"\n [innerHtml]=\"selectAllItemsMessage | translate\"></div>\n </div>\n <ec-table *ngIf=\"!selectionContext.isSelectingAllItems\"\n [scrollable]=\"true\"\n class=\"d-flex flex-grow is-fixed\">\n <colgroup>\n <col>\n <col style=\"width: 2rem;\">\n </colgroup>\n <thead>\n <tr style=\"height: 3rem;\">\n <th colspan=\"2\"\n class=\"p-2 border-bottom-0\">\n <div class=\"d-flex align-items-center text-heading-2\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"selectedItems.length\">\n <tr *ngFor=\"let item of selectedItems; last as isLast\"\n id=\"selected_row_{{item.id}}\"\n [class.border-bottom]=\"!isLast\">\n <td class=\"p-2\">\n <ng-container\n *ngTemplateOutlet=\"internalizedSelectedItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </td>\n\n <td class=\"actions-col text-right\"\n style=\"vertical-align: middle;\">\n <ec-button id=\"{{id}}_removeSelected_{{item.id}}\"\n *ngIf=\"!item.preventRemove\"\n type=\"icon\"\n icon=\"ec-icon icon-cancel\"\n (clicked)=\"removeSelectedItem(item)\">\n </ec-button>\n </td>\n </tr>\n </ng-container>\n <tr *ngIf=\"!selectedItems.length\">\n <td *ngIf=\"!noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate\n [translateParams]=\"{itemName: itemName | translate}\">ItemPickerNoItemsSelected_SC</td>\n <td *ngIf=\"noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate>{{noSelectedItemsMessage}}</td>\n </tr>\n </tbody>\n </ec-table>\n\n <footer id=\"selectedItemsFooter\"\n *ngIf=\"selectedItems.length && !selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-shrink px-2 border-top align-items-center\">\n <div class=\"ml-auto my-2 d-flex align-items-center\"\n style=\"height: 1.75rem;\">\n <span class=\"text-caption-1 font-color-hint\">{{selectedItems.length}} {{itemName | translate}}</span>\n </div>\n </footer>\n </section>\n</div>\n\n<ng-template #defaultAvailableHeaderTemplate>\n <th class=\"text-heading-2 font-color-primary border-bottom-0\">\n <div class=\"d-flex align-items-center \">\n <div *ngIf=\"!availableCheckboxText\">\n <span class=\"text-truncate\">{{availableTitle | translate}}</span>\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </div>\n <span *ngIf=\"availableCheckboxText\"\n id=\"selectedCount\">{{availableCheckboxText}}</span>\n <button *ngIf=\"showSelectAllItemsButton\"\n ecLinkButton\n id=\"selectAllItemsButton\"\n (click)=\"selectAllItems()\"\n class=\"ml-2\">\n {{ ('SelectAllItemPickerItems_TC') | translate:{ count: totalItemsBeforePaging, itemName: itemName } }}\n </button>\n </div>\n </th>\n</ng-template>\n\n<ng-template #defaultAvailableItemTemplate\n let-item>\n <td>{{item.label}}</td>\n</ng-template>\n\n<ng-template #defaultSelectedItemTemplate\n let-item>\n {{item.label}}\n</ng-template>", styles: [":host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items, 50%)}.no-data-message{white-space:normal}\n"] }]
8334
+ args: [{ selector: 'ec-item-picker', standalone: false, template: "<div ecOverlay\n class=\"d-flex flex-grow card\"\n [status]=\"tableStatus?.status\"\n [message]=\"tableStatus?.message\"\n [displayAsMask]=\"true\">\n <ec-searchable-table id=\"{{id}}_searchableTable\"\n class=\"flex-grow\"\n [fillParentHeight]=\"true\"\n [hideHeader]=\"true\"\n [hideSearchControl]=\"true\"\n [removeCard]=\"true\"\n [pageable]=\"true\"\n [pageSize]=\"50\"\n [objectType]=\"itemName\"\n [formModel]=\"formModel\"\n [ready]=\"ready\"\n [getItems]=\"getItems\"\n [selectable]=\"true\"\n [noDataMessage]=\"noDataMessage\"\n [selectionContext]=\"selectionContext\"\n [status]=\"tableStatus\"\n (itemsChange)=\"onItemsChange($event)\"\n [style.--ec-searchable-table-flex-properties]=\"(availableItems.length || tableStatus.status === 'pending' || tableStatus.status === 'error' ) ? '1 1 auto' : '0 1 auto'\"\n [style.--ec-searchable-table-height-caption-footer]=\"'calc(2.5rem + 1px)'\"\n [tableLayoutFixed]=\"true\"\n [disablePaginationControls]=\"disablePaginationControls\">\n <header *ngIf=\"customAvailableHeaderTemplate\"\n class=\"card-header flex-shrink\"\n style=\"height: 3rem;\">\n <h3 class=\"card-title\">{{availableTitle | translate}}\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </h3>\n </header>\n <thead>\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n class=\"border-bottom-0\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableHeaderTemplate;\"></ng-container>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngFor=\"let item of availableItems; index as rowIndex; trackBy: trackByIndex\">\n <tr ecTableSelectableRow\n [selectionContext]=\"selectionContext\"\n [rowIndex]=\"rowIndex\"\n [isCheckboxDisabled]=\"item.preventRemove || selectionContext.isSelectingAllItems\"\n [isSelected]=\"selectionContext?.selectedItemsMap.has(item.id) || selectionContext.isSelectingAllItems\"\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]=\"'middle'\">\n <ng-container *ngTemplateOutlet=\"internalizedAvailableItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </ec-searchable-table>\n\n <section id=\"{{id}}_selectedItems\"\n class=\"selected-items flex-grow d-flex flex-column\">\n <div *ngIf=\"selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-column flex-grow\">\n <header class=\"d-flex align-items-center px-2 text-heading-2\"\n style=\"height: 3rem;\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </header>\n <div class=\"text-center border-top flex-grow d-flex align-items-center justify-content-center text-heading-2\"\n [style.padding-left.rem]=\"4\"\n [style.padding-right.rem]=\"4\"\n [innerHtml]=\"selectAllItemsMessage | translate\"></div>\n </div>\n <ec-table *ngIf=\"!selectionContext.isSelectingAllItems\"\n [scrollable]=\"true\"\n class=\"d-flex flex-grow is-fixed\">\n <colgroup>\n <col>\n <col style=\"width: 2rem;\">\n </colgroup>\n <thead>\n <tr style=\"height: 3rem;\">\n <th colspan=\"2\"\n class=\"p-2 border-bottom-0\">\n <div class=\"d-flex align-items-center text-heading-2\">\n <span class=\"flex-grow text-truncate\">{{selectedTitle | translate}}</span>\n <button *ngIf=\"selectedItemsClearable\"\n ecLinkButton\n id=\"{{id}}_clearSelection\"\n class=\"pl-2 ml-auto\"\n (click)=\"onClearSelectionClick()\"\n translate>ClearSelection_TC</button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"selectedItems.length\">\n <tr *ngFor=\"let item of selectedItems; last as isLast\"\n id=\"selected_row_{{item.id}}\"\n [class.border-bottom]=\"!isLast\">\n <td class=\"p-2\">\n <ng-container\n *ngTemplateOutlet=\"internalizedSelectedItemTemplate; context: {$implicit: item}\">\n </ng-container>\n </td>\n\n <td class=\"actions-col text-right\"\n style=\"vertical-align: middle;\">\n <ec-button id=\"{{id}}_removeSelected_{{item.id}}\"\n *ngIf=\"!item.preventRemove\"\n type=\"icon\"\n icon=\"ec-icon icon-cancel\"\n (clicked)=\"removeSelectedItem(item)\">\n </ec-button>\n </td>\n </tr>\n </ng-container>\n <tr *ngIf=\"!selectedItems.length\">\n <td *ngIf=\"!noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate\n [translateParams]=\"{itemName: itemName | translate}\">ItemPickerNoItemsSelected_SC</td>\n <td *ngIf=\"noSelectedItemsMessage\"\n colspan=\"2\"\n class=\"p-2 no-data-message\"\n translate>{{noSelectedItemsMessage}}</td>\n </tr>\n </tbody>\n </ec-table>\n\n <footer id=\"selectedItemsFooter\"\n *ngIf=\"selectedItems.length && !selectionContext.isSelectingAllItems\"\n class=\"d-flex flex-shrink px-2 border-top align-items-center\">\n <div class=\"ml-auto my-2 d-flex align-items-center\"\n style=\"height: 1.75rem;\">\n <span class=\"text-caption-1 font-color-hint\">{{selectedItems.length}} {{itemName | translate}}</span>\n </div>\n </footer>\n </section>\n</div>\n\n<ng-template #defaultAvailableHeaderTemplate>\n <th class=\"text-heading-2 font-color-primary border-bottom-0\">\n <div class=\"d-flex align-items-center \">\n <div *ngIf=\"!availableCheckboxText\">\n <span class=\"text-truncate\">{{availableTitle | translate}}</span>\n <ec-help-popover id=\"availableTitle_helpPopover\"\n *ngIf=\"availableTitleHelpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{availableTitleHelpPopover | translate}}\">\n </ec-help-popover>\n </div>\n <span *ngIf=\"availableCheckboxText\"\n id=\"selectedCount\">{{availableCheckboxText}}</span>\n <button *ngIf=\"showSelectAllItemsButton\"\n ecLinkButton\n id=\"selectAllItemsButton\"\n (click)=\"selectAllItems()\"\n class=\"ml-2\">\n {{ ('SelectAllItemPickerItems_TC') | translate:{ count: totalItemsBeforePaging, itemName: itemName } }}\n </button>\n </div>\n </th>\n</ng-template>\n\n<ng-template #defaultAvailableItemTemplate\n let-item>\n <td>{{item.label}}</td>\n</ng-template>\n\n<ng-template #defaultSelectedItemTemplate\n let-item>\n {{item.label}}\n</ng-template>", styles: [":host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items, 50%)}.no-data-message{white-space:normal}\n"] }]
8323
8335
  }], ctorParameters: () => [{ type: i3.TranslateService }], propDecorators: { id: [{
8324
8336
  type: Input
8325
8337
  }], availableTitle: [{
@@ -8721,12 +8733,12 @@ class NumericboxComponent extends FormControlBase {
8721
8733
  this.renderer.setProperty(unitsEl, 'innerHTML', text);
8722
8734
  return unitsEl;
8723
8735
  }
8724
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
8725
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NumericboxComponent, selector: "ec-numericbox", inputs: { placeholder: "placeholder", decimals: "decimals", showPrecision: "showPrecision", maxPrecisionDigits: "maxPrecisionDigits", max: "max", min: "min", leftUnits: "leftUnits", rightUnits: "rightUnits", autoUpdateFormModel: "autoUpdateFormModel" }, viewQueries: [{ propertyName: "textboxEl", first: true, predicate: TextboxComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "textboxInput", first: true, predicate: ["textbox"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.invalid]=\"formModel?.invalid && (formModel?.touched)\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length && formModel?.touched && formModel?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <!-- Setting the maxlength to 13 to combat the user from entering too large of a number\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\n as we would push them past the limit -->\n <ec-textbox [id]=\"id\"\n #textbox\n class=\"control-input mb-0\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxPrecisionDigits ? maxPrecisionDigits + 3 : 13\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [tooltip]=\"tooltip\"\n (focusout)=\"onFocusOut()\">\n </ec-textbox>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-form-control-color-disabled);opacity:.65}ec-textbox ::ng-deep .units{display:block;position:absolute;top:0;height:2rem;line-height:1.25rem;padding:.375rem .25rem;z-index:2}ec-textbox ::ng-deep .units.units-right{right:0;padding-right:.5rem}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}.control.invalid ec-textbox ::ng-deep input.ng-invalid:focus,.control.invalid ec-textbox ::ng-deep input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}.control.invalid ec-textbox ::ng-deep input.ng-invalid:hover:not(:disabled):not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-required,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-required{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8736
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NumericboxComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
8737
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: NumericboxComponent, isStandalone: false, selector: "ec-numericbox", inputs: { placeholder: "placeholder", decimals: "decimals", showPrecision: "showPrecision", maxPrecisionDigits: "maxPrecisionDigits", max: "max", min: "min", leftUnits: "leftUnits", rightUnits: "rightUnits", autoUpdateFormModel: "autoUpdateFormModel" }, viewQueries: [{ propertyName: "textboxEl", first: true, predicate: TextboxComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "textboxInput", first: true, predicate: ["textbox"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.invalid]=\"formModel?.invalid && (formModel?.touched)\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length && formModel?.touched && formModel?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <!-- Setting the maxlength to 13 to combat the user from entering too large of a number\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\n as we would push them past the limit -->\n <ec-textbox [id]=\"id\"\n #textbox\n class=\"control-input mb-0\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxPrecisionDigits ? maxPrecisionDigits + 3 : 13\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [tooltip]=\"tooltip\"\n (focusout)=\"onFocusOut()\">\n </ec-textbox>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-form-control-color-disabled);opacity:.65}ec-textbox ::ng-deep .units{display:block;position:absolute;top:0;height:2rem;line-height:1.25rem;padding:.375rem .25rem;z-index:2}ec-textbox ::ng-deep .units.units-right{right:0;padding-right:.5rem}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}.control.invalid ec-textbox ::ng-deep input.ng-invalid:focus,.control.invalid ec-textbox ::ng-deep input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}.control.invalid ec-textbox ::ng-deep input.ng-invalid:hover:not(:disabled):not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-required,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-required{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8726
8738
  }
8727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericboxComponent, decorators: [{
8739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NumericboxComponent, decorators: [{
8728
8740
  type: Component,
8729
- args: [{ selector: 'ec-numericbox', template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.invalid]=\"formModel?.invalid && (formModel?.touched)\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length && formModel?.touched && formModel?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <!-- Setting the maxlength to 13 to combat the user from entering too large of a number\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\n as we would push them past the limit -->\n <ec-textbox [id]=\"id\"\n #textbox\n class=\"control-input mb-0\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxPrecisionDigits ? maxPrecisionDigits + 3 : 13\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [tooltip]=\"tooltip\"\n (focusout)=\"onFocusOut()\">\n </ec-textbox>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-form-control-color-disabled);opacity:.65}ec-textbox ::ng-deep .units{display:block;position:absolute;top:0;height:2rem;line-height:1.25rem;padding:.375rem .25rem;z-index:2}ec-textbox ::ng-deep .units.units-right{right:0;padding-right:.5rem}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}.control.invalid ec-textbox ::ng-deep input.ng-invalid:focus,.control.invalid ec-textbox ::ng-deep input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}.control.invalid ec-textbox ::ng-deep input.ng-invalid:hover:not(:disabled):not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-required,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-required{display:none}\n"] }]
8741
+ args: [{ selector: 'ec-numericbox', standalone: false, template: "<div class=\"control control-label-{{labelPosition}}\"\n [class.invalid]=\"formModel?.invalid && (formModel?.touched)\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length && formModel?.touched && formModel?.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <!-- Setting the maxlength to 13 to combat the user from entering too large of a number\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\n as we would push them past the limit -->\n <ec-textbox [id]=\"id\"\n #textbox\n class=\"control-input mb-0\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxPrecisionDigits ? maxPrecisionDigits + 3 : 13\"\n [autofocus]=\"autofocus\"\n [formModel]=\"textboxFormModel\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [tooltip]=\"tooltip\"\n (focusout)=\"onFocusOut()\">\n </ec-textbox>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-form-control-color-disabled);opacity:.65}ec-textbox ::ng-deep .units{display:block;position:absolute;top:0;height:2rem;line-height:1.25rem;padding:.375rem .25rem;z-index:2}ec-textbox ::ng-deep .units.units-right{right:0;padding-right:.5rem}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}.control.invalid ec-textbox ::ng-deep input.ng-invalid:focus,.control.invalid ec-textbox ::ng-deep input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}.control.invalid ec-textbox ::ng-deep input.ng-invalid:hover:not(:disabled):not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.icon-required,.control.invalid ec-textbox ::ng-deep input.ng-valid~.icon-required{display:none}\n"] }]
8730
8742
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }, { type: i0.Renderer2 }], propDecorators: { placeholder: [{
8731
8743
  type: Input
8732
8744
  }], decimals: [{
@@ -8807,12 +8819,12 @@ class RadioButtonComponent extends FormControlBase {
8807
8819
  console.warn("Radio button components with a type of toggle cannot have more than 5 options");
8808
8820
  }
8809
8821
  }
8810
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
8811
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RadioButtonComponent, selector: "ec-radiobutton", inputs: { type: "type", options: "options", direction: "direction", name: "name" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["radioInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"control\"\n [class.control-label-bottom]=\"labelPosition === 'bottom'\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n \n <div class=\"radio-group {{'toggle-options-' + options.length}}\"\n [ngClass]=\"currentClasses\"\n [class.is-disabled]=\"formModel.disabled\"\n [class.is-readonly]=\"readonly\">\n\n <!-- RadioButton type=\"toggle\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'toggle'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n [formControl]=\"formModel\"\n type=\"radio\"\n tabindex=\"{{tabindex}}\"\n [value]=\"option.value\"\n #radioInput\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <label [attr.for]=\"inputId + i.toString()\"\n title=\"{{ option.tooltip | translate}}\">\n <i class=\"ec-icon {{option.icon}}\"\n *ngIf=\"option.icon\"></i>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n *ngIf=\"option.label\">{{option.label | translate}}</span>\n </label>\n </ng-container>\n <a>\n <div class=\"toggle-handle\"></div>\n </a>\n <div class=\"toggle-focused\"></div>\n </ng-container>\n\n <!-- RadioButton type=\"radio\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'radio'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <label class='radio-button'\n title=\"{{ option.tooltip | translate}}\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n class=\"input\"\n [formControl]=\"formModel\"\n type=\"radio\"\n value=\"{{option.value}}\"\n #radioInput\n tabindex=\"{{tabindex}}\"\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <span class=\"indicator\"></span>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n class=\"label\"\n *ngIf=\"option.label\"\n [innerHtml]=\"option.label | translate\"></span>\n </label>\n </ng-container>\n </ng-container>\n\n </div>\n\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly .radio-button .indicator{opacity:1;color:var(--ec-form-control-color)}.radio-group.is-readonly.radio-group-toggle{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-form-control-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.indicator{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.indicator{border-color:var(--ec-border-color-control-hover)}.indicator{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:50%}.indicator:before{background-color:currentColor;content:\"\";display:block;width:.5em;height:.5em;border-radius:50%}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.radio-group-toggle{font-size:var(--ec-form-control-font-size);background-color:var(--ec-border-color);border-radius:var(--ec-border-radius);border:1px solid var(--ec-border-color);min-height:2em;position:relative;color:var(--ec-color-secondary-dark);display:flex}.radio-group-toggle input{position:absolute;z-index:-1;opacity:0}.radio-group-toggle input:checked+label{color:var(--ec-color-interactive)}.radio-group-toggle input:checked:last-of-type~a{transform:translate(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{position:absolute;inset:0;box-shadow:var(--ec-form-control-box-shadow-focus);border-radius:var(--ec-form-control-border-radius);display:none}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-form-control-border-radius) * .75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-form-control-background-color);border-radius:calc(var(--ec-form-control-border-radius) * .75);height:100%}.radio-group-toggle.is-disabled{opacity:var(--ec-form-control-opacity-disabled);color:var(--ec-form-control-color-disabled)}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translate(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translate(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translate(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translate(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translate(100%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RadioButtonComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }], target: i0.ɵɵFactoryTarget.Component }); }
8823
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: RadioButtonComponent, isStandalone: false, selector: "ec-radiobutton", inputs: { type: "type", options: "options", direction: "direction", name: "name" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["radioInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"control\"\n [class.control-label-bottom]=\"labelPosition === 'bottom'\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n \n <div class=\"radio-group {{'toggle-options-' + options.length}}\"\n [ngClass]=\"currentClasses\"\n [class.is-disabled]=\"formModel.disabled\"\n [class.is-readonly]=\"readonly\">\n\n <!-- RadioButton type=\"toggle\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'toggle'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n [formControl]=\"formModel\"\n type=\"radio\"\n tabindex=\"{{tabindex}}\"\n [value]=\"option.value\"\n #radioInput\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <label [attr.for]=\"inputId + i.toString()\"\n title=\"{{ option.tooltip | translate}}\">\n <i class=\"ec-icon {{option.icon}}\"\n *ngIf=\"option.icon\"></i>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n *ngIf=\"option.label\">{{option.label | translate}}</span>\n </label>\n </ng-container>\n <a>\n <div class=\"toggle-handle\"></div>\n </a>\n <div class=\"toggle-focused\"></div>\n </ng-container>\n\n <!-- RadioButton type=\"radio\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'radio'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <label class='radio-button'\n title=\"{{ option.tooltip | translate}}\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n class=\"input\"\n [formControl]=\"formModel\"\n type=\"radio\"\n value=\"{{option.value}}\"\n #radioInput\n tabindex=\"{{tabindex}}\"\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <span class=\"indicator\"></span>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n class=\"label\"\n *ngIf=\"option.label\"\n [innerHtml]=\"option.label | translate\"></span>\n </label>\n </ng-container>\n </ng-container>\n\n </div>\n\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly .radio-button .indicator{opacity:1;color:var(--ec-form-control-color)}.radio-group.is-readonly.radio-group-toggle{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-form-control-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.indicator{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.indicator{border-color:var(--ec-border-color-control-hover)}.indicator{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:50%}.indicator:before{background-color:currentColor;content:\"\";display:block;width:.5em;height:.5em;border-radius:50%}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.radio-group-toggle{font-size:var(--ec-form-control-font-size);background-color:var(--ec-border-color);border-radius:var(--ec-border-radius);border:1px solid var(--ec-border-color);min-height:2em;position:relative;color:var(--ec-color-secondary-dark);display:flex}.radio-group-toggle input{position:absolute;z-index:-1;opacity:0}.radio-group-toggle input:checked+label{color:var(--ec-color-interactive)}.radio-group-toggle input:checked:last-of-type~a{transform:translate(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{position:absolute;inset:0;box-shadow:var(--ec-form-control-box-shadow-focus);border-radius:var(--ec-form-control-border-radius);display:none}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-form-control-border-radius) * .75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-form-control-background-color);border-radius:calc(var(--ec-form-control-border-radius) * .75);height:100%}.radio-group-toggle.is-disabled{opacity:var(--ec-form-control-opacity-disabled);color:var(--ec-form-control-color-disabled)}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translate(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translate(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translate(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translate(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translate(100%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8812
8824
  }
8813
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonComponent, decorators: [{
8825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RadioButtonComponent, decorators: [{
8814
8826
  type: Component,
8815
- args: [{ selector: 'ec-radiobutton', template: "<div class=\"control\"\n [class.control-label-bottom]=\"labelPosition === 'bottom'\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n \n <div class=\"radio-group {{'toggle-options-' + options.length}}\"\n [ngClass]=\"currentClasses\"\n [class.is-disabled]=\"formModel.disabled\"\n [class.is-readonly]=\"readonly\">\n\n <!-- RadioButton type=\"toggle\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'toggle'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n [formControl]=\"formModel\"\n type=\"radio\"\n tabindex=\"{{tabindex}}\"\n [value]=\"option.value\"\n #radioInput\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <label [attr.for]=\"inputId + i.toString()\"\n title=\"{{ option.tooltip | translate}}\">\n <i class=\"ec-icon {{option.icon}}\"\n *ngIf=\"option.icon\"></i>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n *ngIf=\"option.label\">{{option.label | translate}}</span>\n </label>\n </ng-container>\n <a>\n <div class=\"toggle-handle\"></div>\n </a>\n <div class=\"toggle-focused\"></div>\n </ng-container>\n\n <!-- RadioButton type=\"radio\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'radio'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <label class='radio-button'\n title=\"{{ option.tooltip | translate}}\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n class=\"input\"\n [formControl]=\"formModel\"\n type=\"radio\"\n value=\"{{option.value}}\"\n #radioInput\n tabindex=\"{{tabindex}}\"\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <span class=\"indicator\"></span>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n class=\"label\"\n *ngIf=\"option.label\"\n [innerHtml]=\"option.label | translate\"></span>\n </label>\n </ng-container>\n </ng-container>\n\n </div>\n\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly .radio-button .indicator{opacity:1;color:var(--ec-form-control-color)}.radio-group.is-readonly.radio-group-toggle{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-form-control-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.indicator{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.indicator{border-color:var(--ec-border-color-control-hover)}.indicator{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:50%}.indicator:before{background-color:currentColor;content:\"\";display:block;width:.5em;height:.5em;border-radius:50%}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.radio-group-toggle{font-size:var(--ec-form-control-font-size);background-color:var(--ec-border-color);border-radius:var(--ec-border-radius);border:1px solid var(--ec-border-color);min-height:2em;position:relative;color:var(--ec-color-secondary-dark);display:flex}.radio-group-toggle input{position:absolute;z-index:-1;opacity:0}.radio-group-toggle input:checked+label{color:var(--ec-color-interactive)}.radio-group-toggle input:checked:last-of-type~a{transform:translate(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{position:absolute;inset:0;box-shadow:var(--ec-form-control-box-shadow-focus);border-radius:var(--ec-form-control-border-radius);display:none}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-form-control-border-radius) * .75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-form-control-background-color);border-radius:calc(var(--ec-form-control-border-radius) * .75);height:100%}.radio-group-toggle.is-disabled{opacity:var(--ec-form-control-opacity-disabled);color:var(--ec-form-control-color-disabled)}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translate(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translate(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translate(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translate(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translate(100%)}\n"] }]
8827
+ args: [{ selector: 'ec-radiobutton', standalone: false, template: "<div class=\"control\"\n [class.control-label-bottom]=\"labelPosition === 'bottom'\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">&nbsp;{{validationErrors | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n \n <div class=\"radio-group {{'toggle-options-' + options.length}}\"\n [ngClass]=\"currentClasses\"\n [class.is-disabled]=\"formModel.disabled\"\n [class.is-readonly]=\"readonly\">\n\n <!-- RadioButton type=\"toggle\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'toggle'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n [formControl]=\"formModel\"\n type=\"radio\"\n tabindex=\"{{tabindex}}\"\n [value]=\"option.value\"\n #radioInput\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <label [attr.for]=\"inputId + i.toString()\"\n title=\"{{ option.tooltip | translate}}\">\n <i class=\"ec-icon {{option.icon}}\"\n *ngIf=\"option.icon\"></i>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n *ngIf=\"option.label\">{{option.label | translate}}</span>\n </label>\n </ng-container>\n <a>\n <div class=\"toggle-handle\"></div>\n </a>\n <div class=\"toggle-focused\"></div>\n </ng-container>\n\n <!-- RadioButton type=\"radio\"-->\n <!-- There are two ng-templates here due to the fact you can't have ngIf and ngFor on the same element -->\n <ng-container *ngIf=\"type === 'radio'\">\n <ng-container *ngFor=\"let option of options; index as i; first as isFirst\">\n <label class='radio-button'\n title=\"{{ option.tooltip | translate}}\">\n <!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\n the tabbing did not work, and with the other the controls were all linked together. They both need set\n for the best of both worlds -->\n <input [attr.id]=\"inputId + i.toString()\"\n class=\"input\"\n [formControl]=\"formModel\"\n type=\"radio\"\n value=\"{{option.value}}\"\n #radioInput\n tabindex=\"{{tabindex}}\"\n name=\"{{name}}\"\n attr.name=\"{{name}}\"\n [attr.cdkFocusInitial]=\"(autofocus && isFirst) || null\">\n <span class=\"indicator\"></span>\n <span id=\"{{inputId}}_label{{i.toString()}}\"\n class=\"label\"\n *ngIf=\"option.label\"\n [innerHtml]=\"option.label | translate\"></span>\n </label>\n </ng-container>\n </ng-container>\n\n </div>\n\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:var(--ec-form-control-background-color-readonly);border-color:var(--ec-form-control-border-color-readonly)}.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly .radio-button .indicator{opacity:1;color:var(--ec-form-control-color)}.radio-group.is-readonly.radio-group-toggle{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-form-control-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{color:var(--ec-color-interactive);box-shadow:var(--ec-form-control-box-shadow-focus);border-color:var(--ec-form-control-border-color-focus)}.input:disabled+.indicator{color:var(--ec-form-control-color-disabled);background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:disabled~.label{color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}.input:hover:not(:disabled):not(:focus)+.indicator{border-color:var(--ec-border-color-control-hover)}.indicator{background-color:var(--ec-form-control-background-color);background-clip:padding-box;border:1px solid currentColor;color:var(--ec-color-interactive);margin-top:.5rem;flex:none;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;height:1em;width:1em;border-radius:50%}.indicator:before{background-color:currentColor;content:\"\";display:block;width:.5em;height:.5em;border-radius:50%}.label{line-height:1.25rem;padding:.375rem 0;margin-left:.5rem;min-height:2rem;height:auto}.radio-group-toggle{font-size:var(--ec-form-control-font-size);background-color:var(--ec-border-color);border-radius:var(--ec-border-radius);border:1px solid var(--ec-border-color);min-height:2em;position:relative;color:var(--ec-color-secondary-dark);display:flex}.radio-group-toggle input{position:absolute;z-index:-1;opacity:0}.radio-group-toggle input:checked+label{color:var(--ec-color-interactive)}.radio-group-toggle input:checked:last-of-type~a{transform:translate(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{position:absolute;inset:0;box-shadow:var(--ec-form-control-box-shadow-focus);border-radius:var(--ec-form-control-border-radius);display:none}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-form-control-border-radius) * .75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-form-control-background-color);border-radius:calc(var(--ec-form-control-border-radius) * .75);height:100%}.radio-group-toggle.is-disabled{opacity:var(--ec-form-control-opacity-disabled);color:var(--ec-form-control-color-disabled)}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translate(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translate(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translate(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translate(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translate(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translate(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translate(100%)}\n"] }]
8816
8828
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }], propDecorators: { type: [{
8817
8829
  type: Input
8818
8830
  }], options: [{
@@ -8891,12 +8903,12 @@ class SelectComponent extends FormControlBase {
8891
8903
  this.formModel.setValue(this.options[0]?.value, { emitEvent: !firstChange });
8892
8904
  }
8893
8905
  }
8894
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8895
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectComponent, selector: "ec-select", inputs: { placeholder: "placeholder", options: "options", autoDefault: "autoDefault" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control\"\n [ngClass]=\"{'is-readonly': readonly, 'is-disabled': formModel.disabled}\">\n\n <label *ngIf=\"label\"\n for=\"{{id}}_select\">\n <span>{{label | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <select [attr.id]=\"inputId\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.required]=\"required\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <option *ngIf=\"!required\"\n [ngValue]=\"null\">{{placeholder}}</option>\n <option *ngFor=\"let option of options\"\n [ngValue]=\"option.value\">{{option.label}}</option>\n </select>\n <i class=\"ec-icon icon-caret-down\"></i>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host .control{position:relative}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem 1.5rem .3125rem .5rem;height:2rem}:host select::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host select::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select~.icon-required,:host select~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host select:required.is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host select.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-pending.ng-valid,:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host select:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host select:disabled:required+.icon-required,:host select:disabled:required.is-empty+.icon-required{display:none}:host select:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}:host .icon-caret-down{position:absolute;right:.5rem;bottom:.5625rem;z-index:1;pointer-events:none}:host select:disabled~.icon-caret-down{opacity:var(--ec-form-control-opacity-disabled)}:host .is-readonly .icon-caret-down{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8906
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SelectComponent, deps: [{ token: ValidationMessageService }, { token: FormGroupHelper }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8907
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SelectComponent, isStandalone: false, selector: "ec-select", inputs: { placeholder: "placeholder", options: "options", autoDefault: "autoDefault" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control\"\n [ngClass]=\"{'is-readonly': readonly, 'is-disabled': formModel.disabled}\">\n\n <label *ngIf=\"label\"\n for=\"{{id}}_select\">\n <span>{{label | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <select [attr.id]=\"inputId\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.required]=\"required\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <option *ngIf=\"!required\"\n [ngValue]=\"null\">{{placeholder}}</option>\n <option *ngFor=\"let option of options\"\n [ngValue]=\"option.value\">{{option.label}}</option>\n </select>\n <i class=\"ec-icon icon-caret-down\"></i>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host .control{position:relative}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem 1.5rem .3125rem .5rem;height:2rem}:host select::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host select::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select~.icon-required,:host select~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host select:required.is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host select.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-pending.ng-valid,:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host select:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host select:disabled:required+.icon-required,:host select:disabled:required.is-empty+.icon-required{display:none}:host select:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}:host .icon-caret-down{position:absolute;right:.5rem;bottom:.5625rem;z-index:1;pointer-events:none}:host select:disabled~.icon-caret-down{opacity:var(--ec-form-control-opacity-disabled)}:host .is-readonly .icon-caret-down{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
8896
8908
  }
8897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, decorators: [{
8909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SelectComponent, decorators: [{
8898
8910
  type: Component,
8899
- args: [{ selector: 'ec-select', template: "<div class=\"control\"\n [ngClass]=\"{'is-readonly': readonly, 'is-disabled': formModel.disabled}\">\n\n <label *ngIf=\"label\"\n for=\"{{id}}_select\">\n <span>{{label | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <select [attr.id]=\"inputId\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.required]=\"required\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <option *ngIf=\"!required\"\n [ngValue]=\"null\">{{placeholder}}</option>\n <option *ngFor=\"let option of options\"\n [ngValue]=\"option.value\">{{option.label}}</option>\n </select>\n <i class=\"ec-icon icon-caret-down\"></i>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host .control{position:relative}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem 1.5rem .3125rem .5rem;height:2rem}:host select::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host select::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select~.icon-required,:host select~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host select:required.is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host select.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-pending.ng-valid,:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host select:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host select:disabled:required+.icon-required,:host select:disabled:required.is-empty+.icon-required{display:none}:host select:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}:host .icon-caret-down{position:absolute;right:.5rem;bottom:.5625rem;z-index:1;pointer-events:none}:host select:disabled~.icon-caret-down{opacity:var(--ec-form-control-opacity-disabled)}:host .is-readonly .icon-caret-down{display:none}\n"] }]
8911
+ args: [{ selector: 'ec-select', standalone: false, template: "<div class=\"control\"\n [ngClass]=\"{'is-readonly': readonly, 'is-disabled': formModel.disabled}\">\n\n <label *ngIf=\"label\"\n for=\"{{id}}_select\">\n <span>{{label | translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <select [attr.id]=\"inputId\"\n tabindex=\"{{tabindex}}\"\n [formControl]=\"formModel\"\n [attr.required]=\"required\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n <option *ngIf=\"!required\"\n [ngValue]=\"null\">{{placeholder}}</option>\n <option *ngFor=\"let option of options\"\n [ngValue]=\"option.value\">{{option.label}}</option>\n </select>\n <i class=\"ec-icon icon-caret-down\"></i>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host .control{position:relative}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem 1.5rem .3125rem .5rem;height:2rem}:host select::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host select::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host select:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host select~.icon-required,:host select~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host select:required.is-empty{background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-image:none;background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host select.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-pending.ng-valid,:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host select:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host select:disabled:required+.icon-required,:host select:disabled:required.is-empty+.icon-required{display:none}:host select:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}:host .icon-caret-down{position:absolute;right:.5rem;bottom:.5625rem;z-index:1;pointer-events:none}:host select:disabled~.icon-caret-down{opacity:var(--ec-form-control-opacity-disabled)}:host .is-readonly .icon-caret-down{display:none}\n"] }]
8900
8912
  }], ctorParameters: () => [{ type: ValidationMessageService }, { type: FormGroupHelper }, { type: i0.ElementRef }], propDecorators: { placeholder: [{
8901
8913
  type: Input
8902
8914
  }], options: [{
@@ -8957,10 +8969,10 @@ class AvatarService {
8957
8969
  };
8958
8970
  return trimmedUser;
8959
8971
  }
8960
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8961
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarService, providedIn: 'root' }); }
8972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8973
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarService, providedIn: 'root' }); }
8962
8974
  }
8963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarService, decorators: [{
8975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarService, decorators: [{
8964
8976
  type: Injectable,
8965
8977
  args: [{
8966
8978
  providedIn: 'root'
@@ -9021,12 +9033,12 @@ class AvatarComponent {
9021
9033
  this.currentCSSClass = `avatar-${color}`;
9022
9034
  this.renderer.addClass(this.el.nativeElement, this.currentCSSClass);
9023
9035
  }
9024
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: AvatarService }], target: i0.ɵɵFactoryTarget.Component }); }
9025
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AvatarComponent, selector: "ec-avatar", inputs: { user: "user" }, usesOnChanges: true, ngImport: i0, template: '{{label}}', isInline: true, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }); }
9036
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: AvatarService }], target: i0.ɵɵFactoryTarget.Component }); }
9037
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: AvatarComponent, isStandalone: false, selector: "ec-avatar", inputs: { user: "user" }, usesOnChanges: true, ngImport: i0, template: '{{label}}', isInline: true, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }); }
9026
9038
  }
9027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, decorators: [{
9039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarComponent, decorators: [{
9028
9040
  type: Component,
9029
- args: [{ selector: 'ec-avatar', template: '{{label}}', styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }]
9041
+ args: [{ selector: 'ec-avatar', template: '{{label}}', standalone: false, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }]
9030
9042
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: AvatarService }], propDecorators: { user: [{
9031
9043
  type: Input
9032
9044
  }] } });
@@ -9052,12 +9064,12 @@ class AppBarComponent {
9052
9064
  }
9053
9065
  this.menuItems = [...this.userItem, ...this.userMenuItems];
9054
9066
  }
9055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppBarComponent, deps: [{ token: AvatarService }], target: i0.ɵɵFactoryTarget.Component }); }
9056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppBarComponent, selector: "ec-app-bar", inputs: { user: "user", userMenuItems: "userMenuItems", userMenuWidth: "userMenuWidth", userMenuMinWidth: "userMenuMinWidth", userMenuTabindex: "userMenuTabindex", iconPath: "iconPath", hideAppIcon: "hideAppIcon" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"logo-container\">\n @if(!hideAppIcon) {\n <img src=\"{{iconPath}}\" alt=\"EnergyCAP Platform\">\n }\n <ng-content select=\".app-bar-logo\"></ng-content>\n</section>\n\n<section class=\"title-container\">\n <ng-content select=\".app-bar-title\"></ng-content>\n</section>\n\n<section class=\"actions-container\">\n <ng-content select=\".app-bar-actions\"></ng-content>\n <ec-dropdown id=\"AppBarUserMenu\"\n *ngIf=\"userMenuItems.length; else avatar\"\n [items]=\"menuItems\"\n [buttonCustomTemplate]=\"avatar\"\n [showArrow]=\"false\"\n [menuWidth]=\"userMenuWidth\"\n [menuMinWidth]=\"userMenuMinWidth\"\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\n</section>\n\n<ng-template #avatar>\n <ec-avatar [user]=\"user\"></ec-avatar>\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: AvatarComponent, selector: "ec-avatar", inputs: ["user"] }] }); }
9067
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AppBarComponent, deps: [{ token: AvatarService }], target: i0.ɵɵFactoryTarget.Component }); }
9068
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: AppBarComponent, isStandalone: false, selector: "ec-app-bar", inputs: { user: "user", userMenuItems: "userMenuItems", userMenuWidth: "userMenuWidth", userMenuMinWidth: "userMenuMinWidth", userMenuTabindex: "userMenuTabindex", iconPath: "iconPath", hideAppIcon: "hideAppIcon" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"logo-container\">\n @if(!hideAppIcon) {\n <img src=\"{{iconPath}}\" alt=\"EnergyCAP Platform\">\n }\n <ng-content select=\".app-bar-logo\"></ng-content>\n</section>\n\n<section class=\"title-container\">\n <ng-content select=\".app-bar-title\"></ng-content>\n</section>\n\n<section class=\"actions-container\">\n <ng-content select=\".app-bar-actions\"></ng-content>\n <ec-dropdown id=\"AppBarUserMenu\"\n *ngIf=\"userMenuItems.length; else avatar\"\n [items]=\"menuItems\"\n [buttonCustomTemplate]=\"avatar\"\n [showArrow]=\"false\"\n [menuWidth]=\"userMenuWidth\"\n [menuMinWidth]=\"userMenuMinWidth\"\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\n</section>\n\n<ng-template #avatar>\n <ec-avatar [user]=\"user\"></ec-avatar>\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: AvatarComponent, selector: "ec-avatar", inputs: ["user"] }] }); }
9057
9069
  }
9058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppBarComponent, decorators: [{
9070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AppBarComponent, decorators: [{
9059
9071
  type: Component,
9060
- args: [{ selector: 'ec-app-bar', template: "<section class=\"logo-container\">\n @if(!hideAppIcon) {\n <img src=\"{{iconPath}}\" alt=\"EnergyCAP Platform\">\n }\n <ng-content select=\".app-bar-logo\"></ng-content>\n</section>\n\n<section class=\"title-container\">\n <ng-content select=\".app-bar-title\"></ng-content>\n</section>\n\n<section class=\"actions-container\">\n <ng-content select=\".app-bar-actions\"></ng-content>\n <ec-dropdown id=\"AppBarUserMenu\"\n *ngIf=\"userMenuItems.length; else avatar\"\n [items]=\"menuItems\"\n [buttonCustomTemplate]=\"avatar\"\n [showArrow]=\"false\"\n [menuWidth]=\"userMenuWidth\"\n [menuMinWidth]=\"userMenuMinWidth\"\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\n</section>\n\n<ng-template #avatar>\n <ec-avatar [user]=\"user\"></ec-avatar>\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"] }]
9072
+ args: [{ selector: 'ec-app-bar', standalone: false, template: "<section class=\"logo-container\">\n @if(!hideAppIcon) {\n <img src=\"{{iconPath}}\" alt=\"EnergyCAP Platform\">\n }\n <ng-content select=\".app-bar-logo\"></ng-content>\n</section>\n\n<section class=\"title-container\">\n <ng-content select=\".app-bar-title\"></ng-content>\n</section>\n\n<section class=\"actions-container\">\n <ng-content select=\".app-bar-actions\"></ng-content>\n <ec-dropdown id=\"AppBarUserMenu\"\n *ngIf=\"userMenuItems.length; else avatar\"\n [items]=\"menuItems\"\n [buttonCustomTemplate]=\"avatar\"\n [showArrow]=\"false\"\n [menuWidth]=\"userMenuWidth\"\n [menuMinWidth]=\"userMenuMinWidth\"\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\n</section>\n\n<ng-template #avatar>\n <ec-avatar [user]=\"user\"></ec-avatar>\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"] }]
9061
9073
  }], ctorParameters: () => [{ type: AvatarService }], propDecorators: { user: [{
9062
9074
  type: Input
9063
9075
  }], userMenuItems: [{
@@ -9214,12 +9226,12 @@ class ConfirmComponent {
9214
9226
  onClick: () => { result.isSuccess ? this.onDialogSave.emit(this.context) : this.onDialogCancel.emit(); }
9215
9227
  });
9216
9228
  }
9217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9218
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmComponent, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [action]=\"status?.action\"\n [noDataTemplate]=\"inlineConfirmResult\"\n overlayClassList=\"p-0\"\n class=\"bg-body flex-grow d-flex\">\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\n <section class=\"flex-grow\">\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\n \n <ec-checkbox *ngIf=\"context?.checkConfirm\"\n [formModel]=\"formGroup.get('checkbox')\"\n name=\"confirmCheckbox\"\n [label]=\"context?.checkboxText\"\n [autofocus]=\"true\"\n ></ec-checkbox>\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\n <ec-textbox id=\"confirmTextbox\"\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\n [autofocus]=\"true\"\n [formModel]=\"formGroup.get('textbox')\"\n [required]=\"context?.textboxRequired\"\n [label]=\"context?.textboxLabel\"\n [type]=\"context?.textboxType\"\n [rows]=\"context?.textareaRows\"\n [placeholder]=\"context?.textboxPlaceholder\"\n [upperCase]=\"context?.textboxUppercase\">\n </ec-textbox>\n </section>\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\n <ec-button id=\"saveConfirmButton\"\n class=\"ml-2\"\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\n [autofocus]=\"!context?.textboxType\"\n [isSubmit]=\"context?.saveOnEnter\"\n (clicked)=\"onSave('primary')\">\n </ec-button>\n <ec-button id=\"alternateSaveConfirmButton\"\n *ngIf=\"context?.alternateSaveLabel\"\n class=\"ml-2\"\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\n [label]=\"context?.alternateSaveLabel\"\n (clicked)=\"onSave('alternate')\">\n </ec-button>\n <ec-button *ngIf=\"!context?.hideCancel\"\n id=\"cancelConfirmButton\"\n class=\"ml-auto\"\n type=\"secondary\"\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\n (clicked)=\"onCancel()\">\n </ec-button>\n </footer>\n </form>\n</section>\n\n<ng-template #inlineConfirmResult>\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\n <div class=\"d-flex\">\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\n <div [innerHTML]=\"status?.message | translate\"></div>\n </div>\n <div class=\"d-flex pt-2 mt-auto\">\n <ec-button id=\"inlineConfirmClose\"\n label=\"Close\"\n type=\"secondary\"\n class=\"ml-auto\"\n (clicked)=\"status?.action?.onClick!()\"\n [autofocus]=\"true\">\n </ec-button>\n </div>\n </section>\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
9229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ConfirmComponent, isStandalone: false, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [action]=\"status?.action\"\n [noDataTemplate]=\"inlineConfirmResult\"\n overlayClassList=\"p-0\"\n class=\"bg-body flex-grow d-flex\">\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\n <section class=\"flex-grow\">\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\n \n <ec-checkbox *ngIf=\"context?.checkConfirm\"\n [formModel]=\"formGroup.get('checkbox')\"\n name=\"confirmCheckbox\"\n [label]=\"context?.checkboxText\"\n [autofocus]=\"true\"\n ></ec-checkbox>\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\n <ec-textbox id=\"confirmTextbox\"\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\n [autofocus]=\"true\"\n [formModel]=\"formGroup.get('textbox')\"\n [required]=\"context?.textboxRequired\"\n [label]=\"context?.textboxLabel\"\n [type]=\"context?.textboxType\"\n [rows]=\"context?.textareaRows\"\n [placeholder]=\"context?.textboxPlaceholder\"\n [upperCase]=\"context?.textboxUppercase\">\n </ec-textbox>\n </section>\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\n <ec-button id=\"saveConfirmButton\"\n class=\"ml-2\"\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\n [autofocus]=\"!context?.textboxType\"\n [isSubmit]=\"context?.saveOnEnter\"\n (clicked)=\"onSave('primary')\">\n </ec-button>\n <ec-button id=\"alternateSaveConfirmButton\"\n *ngIf=\"context?.alternateSaveLabel\"\n class=\"ml-2\"\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\n [label]=\"context?.alternateSaveLabel\"\n (clicked)=\"onSave('alternate')\">\n </ec-button>\n <ec-button *ngIf=\"!context?.hideCancel\"\n id=\"cancelConfirmButton\"\n class=\"ml-auto\"\n type=\"secondary\"\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\n (clicked)=\"onCancel()\">\n </ec-button>\n </footer>\n </form>\n</section>\n\n<ng-template #inlineConfirmResult>\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\n <div class=\"d-flex\">\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\n <div [innerHTML]=\"status?.message | translate\"></div>\n </div>\n <div class=\"d-flex pt-2 mt-auto\">\n <ec-button id=\"inlineConfirmClose\"\n label=\"Close\"\n type=\"secondary\"\n class=\"ml-auto\"\n (clicked)=\"status?.action?.onClick!()\"\n [autofocus]=\"true\">\n </ec-button>\n </div>\n </section>\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
9219
9231
  }
9220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmComponent, decorators: [{
9232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ConfirmComponent, decorators: [{
9221
9233
  type: Component,
9222
- args: [{ selector: 'ec-confirm', template: "<section ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [action]=\"status?.action\"\n [noDataTemplate]=\"inlineConfirmResult\"\n overlayClassList=\"p-0\"\n class=\"bg-body flex-grow d-flex\">\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\n <section class=\"flex-grow\">\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\n \n <ec-checkbox *ngIf=\"context?.checkConfirm\"\n [formModel]=\"formGroup.get('checkbox')\"\n name=\"confirmCheckbox\"\n [label]=\"context?.checkboxText\"\n [autofocus]=\"true\"\n ></ec-checkbox>\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\n <ec-textbox id=\"confirmTextbox\"\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\n [autofocus]=\"true\"\n [formModel]=\"formGroup.get('textbox')\"\n [required]=\"context?.textboxRequired\"\n [label]=\"context?.textboxLabel\"\n [type]=\"context?.textboxType\"\n [rows]=\"context?.textareaRows\"\n [placeholder]=\"context?.textboxPlaceholder\"\n [upperCase]=\"context?.textboxUppercase\">\n </ec-textbox>\n </section>\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\n <ec-button id=\"saveConfirmButton\"\n class=\"ml-2\"\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\n [autofocus]=\"!context?.textboxType\"\n [isSubmit]=\"context?.saveOnEnter\"\n (clicked)=\"onSave('primary')\">\n </ec-button>\n <ec-button id=\"alternateSaveConfirmButton\"\n *ngIf=\"context?.alternateSaveLabel\"\n class=\"ml-2\"\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\n [label]=\"context?.alternateSaveLabel\"\n (clicked)=\"onSave('alternate')\">\n </ec-button>\n <ec-button *ngIf=\"!context?.hideCancel\"\n id=\"cancelConfirmButton\"\n class=\"ml-auto\"\n type=\"secondary\"\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\n (clicked)=\"onCancel()\">\n </ec-button>\n </footer>\n </form>\n</section>\n\n<ng-template #inlineConfirmResult>\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\n <div class=\"d-flex\">\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\n <div [innerHTML]=\"status?.message | translate\"></div>\n </div>\n <div class=\"d-flex pt-2 mt-auto\">\n <ec-button id=\"inlineConfirmClose\"\n label=\"Close\"\n type=\"secondary\"\n class=\"ml-auto\"\n (clicked)=\"status?.action?.onClick!()\"\n [autofocus]=\"true\">\n </ec-button>\n </div>\n </section>\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
9234
+ args: [{ selector: 'ec-confirm', standalone: false, template: "<section ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [action]=\"status?.action\"\n [noDataTemplate]=\"inlineConfirmResult\"\n overlayClassList=\"p-0\"\n class=\"bg-body flex-grow d-flex\">\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\n <section class=\"flex-grow\">\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\n \n <ec-checkbox *ngIf=\"context?.checkConfirm\"\n [formModel]=\"formGroup.get('checkbox')\"\n name=\"confirmCheckbox\"\n [label]=\"context?.checkboxText\"\n [autofocus]=\"true\"\n ></ec-checkbox>\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\n <ec-textbox id=\"confirmTextbox\"\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\n [autofocus]=\"true\"\n [formModel]=\"formGroup.get('textbox')\"\n [required]=\"context?.textboxRequired\"\n [label]=\"context?.textboxLabel\"\n [type]=\"context?.textboxType\"\n [rows]=\"context?.textareaRows\"\n [placeholder]=\"context?.textboxPlaceholder\"\n [upperCase]=\"context?.textboxUppercase\">\n </ec-textbox>\n </section>\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\n <ec-button id=\"saveConfirmButton\"\n class=\"ml-2\"\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\n [autofocus]=\"!context?.textboxType\"\n [isSubmit]=\"context?.saveOnEnter\"\n (clicked)=\"onSave('primary')\">\n </ec-button>\n <ec-button id=\"alternateSaveConfirmButton\"\n *ngIf=\"context?.alternateSaveLabel\"\n class=\"ml-2\"\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\n [label]=\"context?.alternateSaveLabel\"\n (clicked)=\"onSave('alternate')\">\n </ec-button>\n <ec-button *ngIf=\"!context?.hideCancel\"\n id=\"cancelConfirmButton\"\n class=\"ml-auto\"\n type=\"secondary\"\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\n (clicked)=\"onCancel()\">\n </ec-button>\n </footer>\n </form>\n</section>\n\n<ng-template #inlineConfirmResult>\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\n <div class=\"d-flex\">\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\n <div [innerHTML]=\"status?.message | translate\"></div>\n </div>\n <div class=\"d-flex pt-2 mt-auto\">\n <ec-button id=\"inlineConfirmClose\"\n label=\"Close\"\n type=\"secondary\"\n class=\"ml-auto\"\n (clicked)=\"status?.action?.onClick!()\"\n [autofocus]=\"true\">\n </ec-button>\n </div>\n </section>\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
9223
9235
  }], ctorParameters: () => [], propDecorators: { context: [{
9224
9236
  type: Input
9225
9237
  }], onDialogSave: [{
@@ -9359,10 +9371,10 @@ class DialogService {
9359
9371
  triggerEvent(event) {
9360
9372
  this.events.next(event);
9361
9373
  }
9362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9363
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, providedIn: 'root' }); }
9374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9375
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogService, providedIn: 'root' }); }
9364
9376
  }
9365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, decorators: [{
9377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogService, decorators: [{
9366
9378
  type: Injectable,
9367
9379
  args: [{
9368
9380
  providedIn: 'root'
@@ -9589,15 +9601,15 @@ class DialogComponent {
9589
9601
  getDialogId() {
9590
9602
  return this.componentRef?.instance.dialogId || '';
9591
9603
  }
9592
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: WindowService }, { token: DialogService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
9593
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DialogComponent, selector: "ec-dialog", inputs: { size: "size", content: "content", context: "context", options: "options", dialogOpenStartEventId: "dialogOpenStartEventId" }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "click": "onOverlayClick($event)" }, properties: { "class": "dialogSizeClass", "style.--ec-dialog-width.px": "width", "class.is-open": "this.isOpen", "class.fade-in": "this.fadeIn", "class.fade-out": "this.fadeOut", "class.is-panel": "this.displayAsPanel", "class.is-top-aligned": "this.alignToTop", "style.--ec-dialog-margin-align-to-top": "this.alignToTopMargin", "class.is-transparent": "this.transparentMask", "class.no-mask": "this.noMask" } }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<article [style.min-width]="minWidth" cdkTrapFocus [cdkTrapFocusAutoCapture]="updateCdkTrapFocusAutoCapture"><ng-template #content></ng-template></article>', isInline: true, styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color: var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);justify-content:center;position:fixed;z-index:var(--ec-z-index-dialog);inset:0;display:none}:host.is-open{display:flex}:host.fade-in{animation-name:fadeIn;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-out{animation-name:fadeIn;animation-duration:.1s;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{position:absolute;top:0;bottom:0;right:0;max-height:none;border-right:0;border-top:0;border-bottom:0;border-radius:0;box-shadow:0 0 .5rem var(--ec-color-shadow)}:host.is-panel.fade-in{animation-name:panelMaskFadeIn;animation-duration:.25s;animation-fill-mode:forwards}:host.is-panel.fade-in article{animation-name:slideIn;animation-duration:.25s;animation-fill-mode:forwards;animation-timing-function:ease-out}:host.is-panel.fade-out{animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards}:host.is-panel.fade-out article{animation-name:slideIn;animation-duration:225ms;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in}:host.is-panel.no-mask{left:auto;width:var(--ec-dialog-width)}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{min-height:auto;margin-top:var(--ec-dialog-margin-align-to-top, 20vh);max-height:calc(100vh - var(--ec-dialog-margin-align-to-top, 20vh) - 5vh)}:host.is-transparent{--ec-dialog-background-color: transparent}article{background-color:var(--ec-background-color-body);background-clip:padding-box;box-shadow:0 0 .625rem #1a1a2333;border-radius:var(--ec-border-radius-dialog);overflow:hidden;display:flex;flex:none;min-height:9rem;max-height:90vh;max-width:90vw;width:var(--ec-dialog-width)}:host.dialog-xsmall{--ec-dialog-width: 20rem}:host.dialog-small{--ec-dialog-width: 30rem}:host.dialog-medium{--ec-dialog-width: 40rem}:host.dialog-large{--ec-dialog-width: 50rem}:host.dialog-xlarge{--ec-dialog-width: 60rem}:host.dialog-full{--ec-dialog-width: 90vw}\n"], dependencies: [{ kind: "directive", type: i1$3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
9604
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: WindowService }, { token: DialogService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
9605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DialogComponent, isStandalone: false, selector: "ec-dialog", inputs: { size: "size", content: "content", context: "context", options: "options", dialogOpenStartEventId: "dialogOpenStartEventId" }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "click": "onOverlayClick($event)" }, properties: { "class": "dialogSizeClass", "style.--ec-dialog-width.px": "width", "class.is-open": "this.isOpen", "class.fade-in": "this.fadeIn", "class.fade-out": "this.fadeOut", "class.is-panel": "this.displayAsPanel", "class.is-top-aligned": "this.alignToTop", "style.--ec-dialog-margin-align-to-top": "this.alignToTopMargin", "class.is-transparent": "this.transparentMask", "class.no-mask": "this.noMask" } }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<article [style.min-width]="minWidth" cdkTrapFocus [cdkTrapFocusAutoCapture]="updateCdkTrapFocusAutoCapture"><ng-template #content></ng-template></article>', isInline: true, styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color: var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);justify-content:center;position:fixed;z-index:var(--ec-z-index-dialog);inset:0;display:none}:host.is-open{display:flex}:host.fade-in{animation-name:fadeIn;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-out{animation-name:fadeIn;animation-duration:.1s;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{position:absolute;top:0;bottom:0;right:0;max-height:none;border-right:0;border-top:0;border-bottom:0;border-radius:0;box-shadow:0 0 .5rem var(--ec-color-shadow)}:host.is-panel.fade-in{animation-name:panelMaskFadeIn;animation-duration:.25s;animation-fill-mode:forwards}:host.is-panel.fade-in article{animation-name:slideIn;animation-duration:.25s;animation-fill-mode:forwards;animation-timing-function:ease-out}:host.is-panel.fade-out{animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards}:host.is-panel.fade-out article{animation-name:slideIn;animation-duration:225ms;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in}:host.is-panel.no-mask{left:auto;width:var(--ec-dialog-width)}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{min-height:auto;margin-top:var(--ec-dialog-margin-align-to-top, 20vh);max-height:calc(100vh - var(--ec-dialog-margin-align-to-top, 20vh) - 5vh)}:host.is-transparent{--ec-dialog-background-color: transparent}article{background-color:var(--ec-background-color-body);background-clip:padding-box;box-shadow:0 0 .625rem #1a1a2333;border-radius:var(--ec-border-radius-dialog);overflow:hidden;display:flex;flex:none;min-height:9rem;max-height:90vh;max-width:90vw;width:var(--ec-dialog-width)}:host.dialog-xsmall{--ec-dialog-width: 20rem}:host.dialog-small{--ec-dialog-width: 30rem}:host.dialog-medium{--ec-dialog-width: 40rem}:host.dialog-large{--ec-dialog-width: 50rem}:host.dialog-xlarge{--ec-dialog-width: 60rem}:host.dialog-full{--ec-dialog-width: 90vw}\n"], dependencies: [{ kind: "directive", type: i1$3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
9594
9606
  }
9595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, decorators: [{
9607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogComponent, decorators: [{
9596
9608
  type: Component,
9597
9609
  args: [{ selector: 'ec-dialog', template: '<article [style.min-width]="minWidth" cdkTrapFocus [cdkTrapFocusAutoCapture]="updateCdkTrapFocusAutoCapture"><ng-template #content></ng-template></article>', host: {
9598
9610
  '[class]': 'dialogSizeClass',
9599
9611
  '[style.--ec-dialog-width.px]': 'width'
9600
- }, styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color: var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);justify-content:center;position:fixed;z-index:var(--ec-z-index-dialog);inset:0;display:none}:host.is-open{display:flex}:host.fade-in{animation-name:fadeIn;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-out{animation-name:fadeIn;animation-duration:.1s;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{position:absolute;top:0;bottom:0;right:0;max-height:none;border-right:0;border-top:0;border-bottom:0;border-radius:0;box-shadow:0 0 .5rem var(--ec-color-shadow)}:host.is-panel.fade-in{animation-name:panelMaskFadeIn;animation-duration:.25s;animation-fill-mode:forwards}:host.is-panel.fade-in article{animation-name:slideIn;animation-duration:.25s;animation-fill-mode:forwards;animation-timing-function:ease-out}:host.is-panel.fade-out{animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards}:host.is-panel.fade-out article{animation-name:slideIn;animation-duration:225ms;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in}:host.is-panel.no-mask{left:auto;width:var(--ec-dialog-width)}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{min-height:auto;margin-top:var(--ec-dialog-margin-align-to-top, 20vh);max-height:calc(100vh - var(--ec-dialog-margin-align-to-top, 20vh) - 5vh)}:host.is-transparent{--ec-dialog-background-color: transparent}article{background-color:var(--ec-background-color-body);background-clip:padding-box;box-shadow:0 0 .625rem #1a1a2333;border-radius:var(--ec-border-radius-dialog);overflow:hidden;display:flex;flex:none;min-height:9rem;max-height:90vh;max-width:90vw;width:var(--ec-dialog-width)}:host.dialog-xsmall{--ec-dialog-width: 20rem}:host.dialog-small{--ec-dialog-width: 30rem}:host.dialog-medium{--ec-dialog-width: 40rem}:host.dialog-large{--ec-dialog-width: 50rem}:host.dialog-xlarge{--ec-dialog-width: 60rem}:host.dialog-full{--ec-dialog-width: 90vw}\n"] }]
9612
+ }, standalone: false, styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color: var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);justify-content:center;position:fixed;z-index:var(--ec-z-index-dialog);inset:0;display:none}:host.is-open{display:flex}:host.fade-in{animation-name:fadeIn;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-out{animation-name:fadeIn;animation-duration:.1s;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{position:absolute;top:0;bottom:0;right:0;max-height:none;border-right:0;border-top:0;border-bottom:0;border-radius:0;box-shadow:0 0 .5rem var(--ec-color-shadow)}:host.is-panel.fade-in{animation-name:panelMaskFadeIn;animation-duration:.25s;animation-fill-mode:forwards}:host.is-panel.fade-in article{animation-name:slideIn;animation-duration:.25s;animation-fill-mode:forwards;animation-timing-function:ease-out}:host.is-panel.fade-out{animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards}:host.is-panel.fade-out article{animation-name:slideIn;animation-duration:225ms;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:ease-in}:host.is-panel.no-mask{left:auto;width:var(--ec-dialog-width)}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{min-height:auto;margin-top:var(--ec-dialog-margin-align-to-top, 20vh);max-height:calc(100vh - var(--ec-dialog-margin-align-to-top, 20vh) - 5vh)}:host.is-transparent{--ec-dialog-background-color: transparent}article{background-color:var(--ec-background-color-body);background-clip:padding-box;box-shadow:0 0 .625rem #1a1a2333;border-radius:var(--ec-border-radius-dialog);overflow:hidden;display:flex;flex:none;min-height:9rem;max-height:90vh;max-width:90vw;width:var(--ec-dialog-width)}:host.dialog-xsmall{--ec-dialog-width: 20rem}:host.dialog-small{--ec-dialog-width: 30rem}:host.dialog-medium{--ec-dialog-width: 40rem}:host.dialog-large{--ec-dialog-width: 50rem}:host.dialog-xlarge{--ec-dialog-width: 60rem}:host.dialog-full{--ec-dialog-width: 90vw}\n"] }]
9601
9613
  }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: WindowService }, { type: DialogService }, { type: Document, decorators: [{
9602
9614
  type: Inject,
9603
9615
  args: [DOCUMENT]
@@ -9694,22 +9706,22 @@ class DialogGroupComponent {
9694
9706
  this.activeDialogEvents.splice(index, 1);
9695
9707
  }
9696
9708
  }
9697
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogGroupComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
9698
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DialogGroupComponent, selector: "ec-dialog-group", ngImport: i0, template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\n [dialogOpenStartEventId]=\"dialog.eventId\"\n [size]=\"dialog.options?.size\"\n [content]=\"dialog.content\"\n [context]=\"dialog.context\"\n [options]=\"dialog.options\"\n (opened)=\"dialogOpened(dialog, $event)\"\n (closed)=\"dialogClosed(dialog)\">\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: DialogComponent, selector: "ec-dialog", inputs: ["size", "content", "context", "options", "dialogOpenStartEventId"], outputs: ["opened", "closed"] }] }); }
9709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogGroupComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
9710
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DialogGroupComponent, isStandalone: false, selector: "ec-dialog-group", ngImport: i0, template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\n [dialogOpenStartEventId]=\"dialog.eventId\"\n [size]=\"dialog.options?.size\"\n [content]=\"dialog.content\"\n [context]=\"dialog.context\"\n [options]=\"dialog.options\"\n (opened)=\"dialogOpened(dialog, $event)\"\n (closed)=\"dialogClosed(dialog)\">\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: DialogComponent, selector: "ec-dialog", inputs: ["size", "content", "context", "options", "dialogOpenStartEventId"], outputs: ["opened", "closed"] }] }); }
9699
9711
  }
9700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogGroupComponent, decorators: [{
9712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DialogGroupComponent, decorators: [{
9701
9713
  type: Component,
9702
- args: [{ selector: 'ec-dialog-group', template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\n [dialogOpenStartEventId]=\"dialog.eventId\"\n [size]=\"dialog.options?.size\"\n [content]=\"dialog.content\"\n [context]=\"dialog.context\"\n [options]=\"dialog.options\"\n (opened)=\"dialogOpened(dialog, $event)\"\n (closed)=\"dialogClosed(dialog)\">\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"] }]
9714
+ args: [{ selector: 'ec-dialog-group', standalone: false, template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\n [dialogOpenStartEventId]=\"dialog.eventId\"\n [size]=\"dialog.options?.size\"\n [content]=\"dialog.content\"\n [context]=\"dialog.context\"\n [options]=\"dialog.options\"\n (opened)=\"dialogOpened(dialog, $event)\"\n (closed)=\"dialogClosed(dialog)\">\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"] }]
9703
9715
  }], ctorParameters: () => [{ type: DialogService }] });
9704
9716
 
9705
9717
  /** Default No-op telemetry implementation */
9706
9718
  class TelemetryTrackerService {
9707
9719
  trackPageView(pageName, url, properties) { }
9708
9720
  trackEvent(name, properties, measurements) { }
9709
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9710
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryTrackerService, providedIn: 'root' }); }
9721
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9722
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryTrackerService, providedIn: 'root' }); }
9711
9723
  }
9712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryTrackerService, decorators: [{
9724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryTrackerService, decorators: [{
9713
9725
  type: Injectable,
9714
9726
  args: [{
9715
9727
  providedIn: 'root'
@@ -9741,10 +9753,10 @@ class TelemetryService {
9741
9753
  trackEvent(name, properties, measurements) {
9742
9754
  this.telemetryTrackerService.trackEvent(name, properties, measurements);
9743
9755
  }
9744
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryService, deps: [{ token: TelemetryTrackerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
9745
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryService, providedIn: 'root' }); }
9756
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryService, deps: [{ token: TelemetryTrackerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
9757
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryService, providedIn: 'root' }); }
9746
9758
  }
9747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TelemetryService, decorators: [{
9759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TelemetryService, decorators: [{
9748
9760
  type: Injectable,
9749
9761
  args: [{
9750
9762
  providedIn: 'root'
@@ -9845,10 +9857,10 @@ class HierarchyBase {
9845
9857
  setItemError(parentItem) {
9846
9858
  parentItem.status = "error";
9847
9859
  }
9848
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
9849
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: HierarchyBase, inputs: { rootNode: "rootNode" }, outputs: { getItemChildren: "getItemChildren", itemToggled: "itemToggled" }, usesOnChanges: true, ngImport: i0 }); }
9860
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HierarchyBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
9861
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: HierarchyBase, isStandalone: true, inputs: { rootNode: "rootNode" }, outputs: { getItemChildren: "getItemChildren", itemToggled: "itemToggled" }, usesOnChanges: true, ngImport: i0 }); }
9850
9862
  }
9851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyBase, decorators: [{
9863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HierarchyBase, decorators: [{
9852
9864
  type: Directive
9853
9865
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { rootNode: [{
9854
9866
  type: Input
@@ -9896,12 +9908,12 @@ class HierarchyTreeComponent extends HierarchyBase {
9896
9908
  this.toggleItemClicked(item, !item.expanded);
9897
9909
  }
9898
9910
  }
9899
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, deps: [{ token: ScrollService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
9900
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: { collapsibleRootNode: "collapsibleRootNode", id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\n class=\"flex-grow scroll-y py-1\">\n\n <li *ngIf=\"!hideRootNode && rootNode\">\n <div class=\"item-wrapper\"\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"rootNode?.url\"\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\n\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"rootNode.hasChildren && collapsibleRootNode\"\n [expanded]=\"rootNode.expanded\"\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\n </ec-collapsible-toggle>\n\n <a id=\"rootNode_{{rootNode?.id}}_link\"\n class=\"item flex-grow d-flex align-items-center\"\n routerLink=\"{{rootNode?.url}}\"\n [queryParams]=\"rootNode?.queryParams\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\n </a>\n </div>\n </li>\n\n <ng-template #hierarchyView\n let-items>\n\n @for(item of items; let index = $index; let first = $first; track item) {\n @if(!collapsibleRootNode || (hideRootNode ? true : rootNode.expanded)) {\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\n id=\"treeItem_{{item.id}}\">\n <div class=\"item-wrapper\"\n title=\"{{item.tooltip ?? item.label}}\"\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\n\n <!-- This element provides the indentation for each level -->\n <span id=\"indent_{{item.id}}\"\n *ngIf=\"!item.noIndent\"\n class=\"d-block h-100\"\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\n </span>\n\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"item.hasChildren && !item.hideToggle\"\n [hidden]=\"item.status === 'pending'\"\n [expanded]=\"item.expanded\"\n (expandedChange)=\"toggleItemClicked(item, $event)\">\n </ec-collapsible-toggle>\n\n <i class=\"ec-icon icon-loading my-1\"\n [hidden]=\"item.status !== 'pending'\"></i>\n\n <a id=\"treeItem_{{item.id}}_link\"\n class=\"item\"\n *ngIf=\"item.url\"\n (click)=\"selectItem(item)\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams\"\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </a>\n <div id=\"treeItem_{{item.id}}_heading\"\n class=\"item\"\n *ngIf=\"!item.url\"\n (click)=\"selectItem(item)\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n\n\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\n </ul>\n </li>\n }\n }\n\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\n</ul>\n\n<ng-template #defaultItemTemplate\n let-item>\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\n [attr.title]=\"item.iconTooltip\"\n *ngIf=\"item.icon\"></i>\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] }); }
9911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HierarchyTreeComponent, deps: [{ token: ScrollService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
9912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: HierarchyTreeComponent, isStandalone: false, selector: "ec-hierarchy-tree", inputs: { collapsibleRootNode: "collapsibleRootNode", id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\n class=\"flex-grow scroll-y py-1\">\n\n <li *ngIf=\"!hideRootNode && rootNode\">\n <div class=\"item-wrapper\"\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"rootNode?.url\"\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\n\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"rootNode.hasChildren && collapsibleRootNode\"\n [expanded]=\"rootNode.expanded\"\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\n </ec-collapsible-toggle>\n\n <a id=\"rootNode_{{rootNode?.id}}_link\"\n class=\"item flex-grow d-flex align-items-center\"\n routerLink=\"{{rootNode?.url}}\"\n [queryParams]=\"rootNode?.queryParams\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\n </a>\n </div>\n </li>\n\n <ng-template #hierarchyView\n let-items>\n\n @for(item of items; let index = $index; let first = $first; track item) {\n @if(!collapsibleRootNode || (hideRootNode ? true : rootNode.expanded)) {\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\n id=\"treeItem_{{item.id}}\">\n <div class=\"item-wrapper\"\n title=\"{{item.tooltip ?? item.label}}\"\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\n\n <!-- This element provides the indentation for each level -->\n <span id=\"indent_{{item.id}}\"\n *ngIf=\"!item.noIndent\"\n class=\"d-block h-100\"\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\n </span>\n\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"item.hasChildren && !item.hideToggle\"\n [hidden]=\"item.status === 'pending'\"\n [expanded]=\"item.expanded\"\n (expandedChange)=\"toggleItemClicked(item, $event)\">\n </ec-collapsible-toggle>\n\n <i class=\"ec-icon icon-loading my-1\"\n [hidden]=\"item.status !== 'pending'\"></i>\n\n <a id=\"treeItem_{{item.id}}_link\"\n class=\"item\"\n *ngIf=\"item.url\"\n (click)=\"selectItem(item)\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams\"\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </a>\n <div id=\"treeItem_{{item.id}}_heading\"\n class=\"item\"\n *ngIf=\"!item.url\"\n (click)=\"selectItem(item)\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n\n\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\n </ul>\n </li>\n }\n }\n\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\n</ul>\n\n<ng-template #defaultItemTemplate\n let-item>\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\n [attr.title]=\"item.iconTooltip\"\n *ngIf=\"item.icon\"></i>\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] }); }
9901
9913
  }
9902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HierarchyTreeComponent, decorators: [{
9914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: HierarchyTreeComponent, decorators: [{
9903
9915
  type: Component,
9904
- args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\n class=\"flex-grow scroll-y py-1\">\n\n <li *ngIf=\"!hideRootNode && rootNode\">\n <div class=\"item-wrapper\"\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"rootNode?.url\"\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\n\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"rootNode.hasChildren && collapsibleRootNode\"\n [expanded]=\"rootNode.expanded\"\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\n </ec-collapsible-toggle>\n\n <a id=\"rootNode_{{rootNode?.id}}_link\"\n class=\"item flex-grow d-flex align-items-center\"\n routerLink=\"{{rootNode?.url}}\"\n [queryParams]=\"rootNode?.queryParams\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\n </a>\n </div>\n </li>\n\n <ng-template #hierarchyView\n let-items>\n\n @for(item of items; let index = $index; let first = $first; track item) {\n @if(!collapsibleRootNode || (hideRootNode ? true : rootNode.expanded)) {\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\n id=\"treeItem_{{item.id}}\">\n <div class=\"item-wrapper\"\n title=\"{{item.tooltip ?? item.label}}\"\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\n\n <!-- This element provides the indentation for each level -->\n <span id=\"indent_{{item.id}}\"\n *ngIf=\"!item.noIndent\"\n class=\"d-block h-100\"\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\n </span>\n\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"item.hasChildren && !item.hideToggle\"\n [hidden]=\"item.status === 'pending'\"\n [expanded]=\"item.expanded\"\n (expandedChange)=\"toggleItemClicked(item, $event)\">\n </ec-collapsible-toggle>\n\n <i class=\"ec-icon icon-loading my-1\"\n [hidden]=\"item.status !== 'pending'\"></i>\n\n <a id=\"treeItem_{{item.id}}_link\"\n class=\"item\"\n *ngIf=\"item.url\"\n (click)=\"selectItem(item)\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams\"\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </a>\n <div id=\"treeItem_{{item.id}}_heading\"\n class=\"item\"\n *ngIf=\"!item.url\"\n (click)=\"selectItem(item)\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n\n\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\n </ul>\n </li>\n }\n }\n\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\n</ul>\n\n<ng-template #defaultItemTemplate\n let-item>\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\n [attr.title]=\"item.iconTooltip\"\n *ngIf=\"item.icon\"></i>\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
9916
+ args: [{ selector: 'ec-hierarchy-tree', standalone: false, template: "<ul id=\"{{scrollContainerId}}\"\n class=\"flex-grow scroll-y py-1\">\n\n <li *ngIf=\"!hideRootNode && rootNode\">\n <div class=\"item-wrapper\"\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"rootNode?.url\"\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\n\n <ec-collapsible-toggle id=\"toggle_{{rootNode.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"rootNode.hasChildren && collapsibleRootNode\"\n [expanded]=\"rootNode.expanded\"\n (expandedChange)=\"toggleItemClicked(rootNode, $event)\">\n </ec-collapsible-toggle>\n\n <a id=\"rootNode_{{rootNode?.id}}_link\"\n class=\"item flex-grow d-flex align-items-center\"\n routerLink=\"{{rootNode?.url}}\"\n [queryParams]=\"rootNode?.queryParams\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\n </a>\n </div>\n </li>\n\n <ng-template #hierarchyView\n let-items>\n\n @for(item of items; let index = $index; let first = $first; track item) {\n @if(!collapsibleRootNode || (hideRootNode ? true : rootNode.expanded)) {\n <li [ngClass]=\"{'divider': item.display === 'divider'}\"\n id=\"treeItem_{{item.id}}\">\n <div class=\"item-wrapper\"\n title=\"{{item.tooltip ?? item.label}}\"\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\n ecNavItemActive=\"is-selected\"\n [ecNavItemActiveUrl]=\"item.url\"\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\n\n <!-- This element provides the indentation for each level -->\n <span id=\"indent_{{item.id}}\"\n *ngIf=\"!item.noIndent\"\n class=\"d-block h-100\"\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\n </span>\n\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\n class=\"flex-shrink\"\n [style.width.px]=\"indent\"\n *ngIf=\"item.hasChildren && !item.hideToggle\"\n [hidden]=\"item.status === 'pending'\"\n [expanded]=\"item.expanded\"\n (expandedChange)=\"toggleItemClicked(item, $event)\">\n </ec-collapsible-toggle>\n\n <i class=\"ec-icon icon-loading my-1\"\n [hidden]=\"item.status !== 'pending'\"></i>\n\n <a id=\"treeItem_{{item.id}}_link\"\n class=\"item\"\n *ngIf=\"item.url\"\n (click)=\"selectItem(item)\"\n [routerLink]=\"item.url\"\n [queryParams]=\"item.queryParams\"\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </a>\n <div id=\"treeItem_{{item.id}}_heading\"\n class=\"item\"\n *ngIf=\"!item.url\"\n (click)=\"selectItem(item)\">\n <ng-container\n *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n\n\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\n </ul>\n </li>\n }\n }\n\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\n</ul>\n\n<ng-template #defaultItemTemplate\n let-item>\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\n [attr.title]=\"item.iconTooltip\"\n *ngIf=\"item.icon\"></i>\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
9905
9917
  }], ctorParameters: () => [{ type: ScrollService }, { type: i0.Injector }], propDecorators: { collapsibleRootNode: [{
9906
9918
  type: Input
9907
9919
  }], id: [{
@@ -9964,12 +9976,12 @@ class ItemDisplayComponent {
9964
9976
  get url() {
9965
9977
  return this._url;
9966
9978
  }
9967
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ItemDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9968
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ItemDisplayComponent, selector: "ec-item-display", inputs: { id: "id", label: "label", labelHelpPopover: "labelHelpPopover", value: "value", url: "url", queryParams: "queryParams", condensed: "condensed", target: "target" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<div id=\"{{id}}_label_0\"\n class=\"text-caption-1 d-flex align-items-center\">\n <span>{{label | translate}}</span>\n <ec-help-popover *ngIf=\"labelHelpPopover\"\n class=\"mx-n1 my-n2\"\n [text]=\"labelHelpPopover.text\"\n [contentPosition]=\"labelHelpPopover?.contentPosition ?? 'top-left'\"\n [maxWidth]=\"labelHelpPopover?.maxWidth ?? '15rem'\">\n </ec-help-popover>\n</div>\n\n<div id=\"{{id}}_value_0\" class=\"{{condensed ? 'text-body-2' : 'text-display-1'}} {{internalValue.classnames}}\"\n [class.font-color-hint]=\"!internalValue.value && internalValue.noValueText\"\n title=\"{{internalValue.tooltip}}\">\n\n <ng-container *ngIf=\"url else content\">\n <a *ngIf=\"!externalLink\"\n id=\"{{id}}_link\"\n [routerLink]=\"url\"\n [queryParams]=\"queryParams\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <a *ngIf=\"externalLink\"\n id=\"{{id}}_link\"\n href=\"{{url}}\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n </ng-container>\n</div>\n\n\n<ng-template #content>\n <i *ngIf=\"internalValue?.icon\" class=\"ec-icon {{internalValue?.icon}}\"></i>\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;top:.125em;position:relative;margin-right:.25em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
9979
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ItemDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9980
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ItemDisplayComponent, isStandalone: false, selector: "ec-item-display", inputs: { id: "id", label: "label", labelHelpPopover: "labelHelpPopover", value: "value", url: "url", queryParams: "queryParams", condensed: "condensed", target: "target" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<div id=\"{{id}}_label_0\"\n class=\"text-caption-1 d-flex align-items-center\">\n <span>{{label | translate}}</span>\n <ec-help-popover *ngIf=\"labelHelpPopover\"\n class=\"mx-n1 my-n2\"\n [text]=\"labelHelpPopover.text\"\n [contentPosition]=\"labelHelpPopover?.contentPosition ?? 'top-left'\"\n [maxWidth]=\"labelHelpPopover?.maxWidth ?? '15rem'\">\n </ec-help-popover>\n</div>\n\n<div id=\"{{id}}_value_0\" class=\"{{condensed ? 'text-body-2' : 'text-display-1'}} {{internalValue.classnames}}\"\n [class.font-color-hint]=\"!internalValue.value && internalValue.noValueText\"\n title=\"{{internalValue.tooltip}}\">\n\n <ng-container *ngIf=\"url else content\">\n <a *ngIf=\"!externalLink\"\n id=\"{{id}}_link\"\n [routerLink]=\"url\"\n [queryParams]=\"queryParams\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <a *ngIf=\"externalLink\"\n id=\"{{id}}_link\"\n href=\"{{url}}\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n </ng-container>\n</div>\n\n\n<ng-template #content>\n <i *ngIf=\"internalValue?.icon\" class=\"ec-icon {{internalValue?.icon}}\"></i>\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;top:.125em;position:relative;margin-right:.25em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
9969
9981
  }
9970
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ItemDisplayComponent, decorators: [{
9982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ItemDisplayComponent, decorators: [{
9971
9983
  type: Component,
9972
- args: [{ selector: 'ec-item-display', template: "<div id=\"{{id}}_label_0\"\n class=\"text-caption-1 d-flex align-items-center\">\n <span>{{label | translate}}</span>\n <ec-help-popover *ngIf=\"labelHelpPopover\"\n class=\"mx-n1 my-n2\"\n [text]=\"labelHelpPopover.text\"\n [contentPosition]=\"labelHelpPopover?.contentPosition ?? 'top-left'\"\n [maxWidth]=\"labelHelpPopover?.maxWidth ?? '15rem'\">\n </ec-help-popover>\n</div>\n\n<div id=\"{{id}}_value_0\" class=\"{{condensed ? 'text-body-2' : 'text-display-1'}} {{internalValue.classnames}}\"\n [class.font-color-hint]=\"!internalValue.value && internalValue.noValueText\"\n title=\"{{internalValue.tooltip}}\">\n\n <ng-container *ngIf=\"url else content\">\n <a *ngIf=\"!externalLink\"\n id=\"{{id}}_link\"\n [routerLink]=\"url\"\n [queryParams]=\"queryParams\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <a *ngIf=\"externalLink\"\n id=\"{{id}}_link\"\n href=\"{{url}}\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n </ng-container>\n</div>\n\n\n<ng-template #content>\n <i *ngIf=\"internalValue?.icon\" class=\"ec-icon {{internalValue?.icon}}\"></i>\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;top:.125em;position:relative;margin-right:.25em}\n"] }]
9984
+ args: [{ selector: 'ec-item-display', standalone: false, template: "<div id=\"{{id}}_label_0\"\n class=\"text-caption-1 d-flex align-items-center\">\n <span>{{label | translate}}</span>\n <ec-help-popover *ngIf=\"labelHelpPopover\"\n class=\"mx-n1 my-n2\"\n [text]=\"labelHelpPopover.text\"\n [contentPosition]=\"labelHelpPopover?.contentPosition ?? 'top-left'\"\n [maxWidth]=\"labelHelpPopover?.maxWidth ?? '15rem'\">\n </ec-help-popover>\n</div>\n\n<div id=\"{{id}}_value_0\" class=\"{{condensed ? 'text-body-2' : 'text-display-1'}} {{internalValue.classnames}}\"\n [class.font-color-hint]=\"!internalValue.value && internalValue.noValueText\"\n title=\"{{internalValue.tooltip}}\">\n\n <ng-container *ngIf=\"url else content\">\n <a *ngIf=\"!externalLink\"\n id=\"{{id}}_link\"\n [routerLink]=\"url\"\n [queryParams]=\"queryParams\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <a *ngIf=\"externalLink\"\n id=\"{{id}}_link\"\n href=\"{{url}}\"\n target=\"{{target}}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n </ng-container>\n</div>\n\n\n<ng-template #content>\n <i *ngIf=\"internalValue?.icon\" class=\"ec-icon {{internalValue?.icon}}\"></i>\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;top:.125em;position:relative;margin-right:.25em}\n"] }]
9973
9985
  }], propDecorators: { id: [{
9974
9986
  type: HostBinding,
9975
9987
  args: ['attr.id']
@@ -10032,12 +10044,12 @@ class JsonDisplayComponent {
10032
10044
  this.jsonDisplay.patchValue(display);
10033
10045
  }
10034
10046
  }
10035
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDisplayComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
10036
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: JsonDisplayComponent, selector: "ec-json-display", inputs: { id: "id", jsonString: "jsonString", maxLength: "maxLength" }, host: { properties: { "attr.id": "this.attrId" } }, usesOnChanges: true, ngImport: i0, template: "<ec-button id=\"{{id}}_copy\"\n class=\"copy-button\"\n *ngIf=\"jsonDisplay.value\"\n type=\"icon\"\n icon=\"icon-copy\"\n [ecCopyButton]=\"jsonDisplay\">\n</ec-button>\n<pre><code>{{jsonDisplay.value}}</code></pre>", styles: [":host{display:block;position:relative;color:var(--ec-color-primary-light);background:#354751;max-height:15rem;min-height:2.125rem;font-size:var(--ec-font-size-label);border-radius:var(--ec-border-radius-card);overflow-x:auto;overflow-y:auto;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "directive", type: CopyButtonDirective, selector: "[ecCopyButton]", inputs: ["ecCopyButton"] }] }); }
10047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: JsonDisplayComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
10048
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: JsonDisplayComponent, isStandalone: false, selector: "ec-json-display", inputs: { id: "id", jsonString: "jsonString", maxLength: "maxLength" }, host: { properties: { "attr.id": "this.attrId" } }, usesOnChanges: true, ngImport: i0, template: "<ec-button id=\"{{id}}_copy\"\n class=\"copy-button\"\n *ngIf=\"jsonDisplay.value\"\n type=\"icon\"\n icon=\"icon-copy\"\n [ecCopyButton]=\"jsonDisplay\">\n</ec-button>\n<pre><code>{{jsonDisplay.value}}</code></pre>", styles: [":host{display:block;position:relative;color:var(--ec-color-primary-light);background:#354751;max-height:15rem;min-height:2.125rem;font-size:var(--ec-font-size-label);border-radius:var(--ec-border-radius-card);overflow-x:auto;overflow-y:auto;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "directive", type: CopyButtonDirective, selector: "[ecCopyButton]", inputs: ["ecCopyButton"] }] }); }
10037
10049
  }
10038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDisplayComponent, decorators: [{
10050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: JsonDisplayComponent, decorators: [{
10039
10051
  type: Component,
10040
- args: [{ selector: 'ec-json-display', template: "<ec-button id=\"{{id}}_copy\"\n class=\"copy-button\"\n *ngIf=\"jsonDisplay.value\"\n type=\"icon\"\n icon=\"icon-copy\"\n [ecCopyButton]=\"jsonDisplay\">\n</ec-button>\n<pre><code>{{jsonDisplay.value}}</code></pre>", styles: [":host{display:block;position:relative;color:var(--ec-color-primary-light);background:#354751;max-height:15rem;min-height:2.125rem;font-size:var(--ec-font-size-label);border-radius:var(--ec-border-radius-card);overflow-x:auto;overflow-y:auto;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}\n"] }]
10052
+ args: [{ selector: 'ec-json-display', standalone: false, template: "<ec-button id=\"{{id}}_copy\"\n class=\"copy-button\"\n *ngIf=\"jsonDisplay.value\"\n type=\"icon\"\n icon=\"icon-copy\"\n [ecCopyButton]=\"jsonDisplay\">\n</ec-button>\n<pre><code>{{jsonDisplay.value}}</code></pre>", styles: [":host{display:block;position:relative;color:var(--ec-color-primary-light);background:#354751;max-height:15rem;min-height:2.125rem;font-size:var(--ec-font-size-label);border-radius:var(--ec-border-radius-card);overflow-x:auto;overflow-y:auto;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}\n"] }]
10041
10053
  }], ctorParameters: () => [{ type: i3.TranslateService }], propDecorators: { id: [{
10042
10054
  type: Input
10043
10055
  }], attrId: [{
@@ -10084,18 +10096,18 @@ class ResizableComponent extends ResizableBase {
10084
10096
  restoreWidths(widths) {
10085
10097
  this.setWidth(widths[0]);
10086
10098
  }
10087
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
10088
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResizableComponent, selector: "ec-resizable", usesInheritance: true, ngImport: i0, template: `<div class="content">
10099
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
10100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ResizableComponent, isStandalone: false, selector: "ec-resizable", usesInheritance: true, ngImport: i0, template: `<div class="content">
10089
10101
  <ng-content></ng-content>
10090
10102
  </div>
10091
10103
  <div class="handle" (mousedown)="startDrag($event)"></div>`, isInline: true, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }); }
10092
10104
  }
10093
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableComponent, decorators: [{
10105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ResizableComponent, decorators: [{
10094
10106
  type: Component,
10095
10107
  args: [{ selector: 'ec-resizable', template: `<div class="content">
10096
10108
  <ng-content></ng-content>
10097
10109
  </div>
10098
- <div class="handle" (mousedown)="startDrag($event)"></div>`, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }]
10110
+ <div class="handle" (mousedown)="startDrag($event)"></div>`, standalone: false, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }]
10099
10111
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: CacheService }, { type: Document, decorators: [{
10100
10112
  type: Inject,
10101
10113
  args: [DOCUMENT]
@@ -10123,10 +10135,10 @@ class SplashService {
10123
10135
  hideSplash() {
10124
10136
  this._splashVisibility.next({ show: false });
10125
10137
  }
10126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplashService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10127
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplashService, providedIn: 'root' }); }
10138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SplashService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10139
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SplashService, providedIn: 'root' }); }
10128
10140
  }
10129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplashService, decorators: [{
10141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SplashService, decorators: [{
10130
10142
  type: Injectable,
10131
10143
  args: [{
10132
10144
  providedIn: 'root'
@@ -10181,21 +10193,21 @@ class SplashComponent {
10181
10193
  this.currentMessageIndex = nextIndex >= this.messages.length ? 0 : nextIndex;
10182
10194
  });
10183
10195
  }
10184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplashComponent, deps: [{ token: SplashService }], target: i0.ɵɵFactoryTarget.Component }); }
10185
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SplashComponent, selector: "ec-splash", ngImport: i0, template: "<div class=\"app-splash\"\n [class.app-loaded]=\"!isVisible\">\n <div class=\"splash-loader\"\n role=\"status\"\n aria-live=\"polite\">\n <div class=\"splash-icon-wrapper\">\n <img src=\"/assets/images/splash-electric.svg\"\n alt=\"Electricity Icon\" />\n <img src=\"/assets/images/splash-water.svg\"\n alt=\"Water Icon\" />\n <img src=\"/assets/images/splash-interval.svg\"\n alt=\"Interval Data Icon\" />\n <img src=\"/assets/images/splash-seedling.svg\"\n alt=\"Seedling Icon\" />\n </div>\n </div>\n\n @if ((messages && messages.length > 0) || title) {\n <div class=\"splash-message-container\">\n @if (title) {\n <h1 class=\"splash-title\">{{title}}</h1>\n }\n @if (messages && messages.length > 0) {\n @for (message of messages; track $index; let i = $index) {\n <p class=\"splash-message\"\n [class.is-visible]=\"i === currentMessageIndex\">{{message}}</p>\n } }\n </div>\n }\n</div>" }); }
10196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SplashComponent, deps: [{ token: SplashService }], target: i0.ɵɵFactoryTarget.Component }); }
10197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: SplashComponent, isStandalone: false, selector: "ec-splash", ngImport: i0, template: "<div class=\"app-splash\"\n [class.app-loaded]=\"!isVisible\">\n <div class=\"splash-loader\"\n role=\"status\"\n aria-live=\"polite\">\n <div class=\"splash-icon-wrapper\">\n <img src=\"/assets/images/splash-electric.svg\"\n alt=\"Electricity Icon\" />\n <img src=\"/assets/images/splash-water.svg\"\n alt=\"Water Icon\" />\n <img src=\"/assets/images/splash-interval.svg\"\n alt=\"Interval Data Icon\" />\n <img src=\"/assets/images/splash-seedling.svg\"\n alt=\"Seedling Icon\" />\n </div>\n </div>\n\n @if ((messages && messages.length > 0) || title) {\n <div class=\"splash-message-container\">\n @if (title) {\n <h1 class=\"splash-title\">{{title}}</h1>\n }\n @if (messages && messages.length > 0) {\n @for (message of messages; track $index; let i = $index) {\n <p class=\"splash-message\"\n [class.is-visible]=\"i === currentMessageIndex\">{{message}}</p>\n } }\n </div>\n }\n</div>" }); }
10186
10198
  }
10187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplashComponent, decorators: [{
10199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SplashComponent, decorators: [{
10188
10200
  type: Component,
10189
- args: [{ selector: 'ec-splash', template: "<div class=\"app-splash\"\n [class.app-loaded]=\"!isVisible\">\n <div class=\"splash-loader\"\n role=\"status\"\n aria-live=\"polite\">\n <div class=\"splash-icon-wrapper\">\n <img src=\"/assets/images/splash-electric.svg\"\n alt=\"Electricity Icon\" />\n <img src=\"/assets/images/splash-water.svg\"\n alt=\"Water Icon\" />\n <img src=\"/assets/images/splash-interval.svg\"\n alt=\"Interval Data Icon\" />\n <img src=\"/assets/images/splash-seedling.svg\"\n alt=\"Seedling Icon\" />\n </div>\n </div>\n\n @if ((messages && messages.length > 0) || title) {\n <div class=\"splash-message-container\">\n @if (title) {\n <h1 class=\"splash-title\">{{title}}</h1>\n }\n @if (messages && messages.length > 0) {\n @for (message of messages; track $index; let i = $index) {\n <p class=\"splash-message\"\n [class.is-visible]=\"i === currentMessageIndex\">{{message}}</p>\n } }\n </div>\n }\n</div>" }]
10201
+ args: [{ selector: 'ec-splash', standalone: false, template: "<div class=\"app-splash\"\n [class.app-loaded]=\"!isVisible\">\n <div class=\"splash-loader\"\n role=\"status\"\n aria-live=\"polite\">\n <div class=\"splash-icon-wrapper\">\n <img src=\"/assets/images/splash-electric.svg\"\n alt=\"Electricity Icon\" />\n <img src=\"/assets/images/splash-water.svg\"\n alt=\"Water Icon\" />\n <img src=\"/assets/images/splash-interval.svg\"\n alt=\"Interval Data Icon\" />\n <img src=\"/assets/images/splash-seedling.svg\"\n alt=\"Seedling Icon\" />\n </div>\n </div>\n\n @if ((messages && messages.length > 0) || title) {\n <div class=\"splash-message-container\">\n @if (title) {\n <h1 class=\"splash-title\">{{title}}</h1>\n }\n @if (messages && messages.length > 0) {\n @for (message of messages; track $index; let i = $index) {\n <p class=\"splash-message\"\n [class.is-visible]=\"i === currentMessageIndex\">{{message}}</p>\n } }\n </div>\n }\n</div>" }]
10190
10202
  }], ctorParameters: () => [{ type: SplashService }] });
10191
10203
 
10192
10204
  class TableMasterHeaderRowComponent {
10193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableMasterHeaderRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10194
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableMasterHeaderRowComponent, selector: "[ecTableMasterHeaderRow]", inputs: { hideTableMaster: "hideTableMaster" }, ngImport: i0, template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, isInline: true, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
10205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableMasterHeaderRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableMasterHeaderRowComponent, isStandalone: false, selector: "[ecTableMasterHeaderRow]", inputs: { hideTableMaster: "hideTableMaster" }, ngImport: i0, template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, isInline: true, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
10195
10207
  }
10196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableMasterHeaderRowComponent, decorators: [{
10208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableMasterHeaderRowComponent, decorators: [{
10197
10209
  type: Component,
10198
- args: [{ selector: '[ecTableMasterHeaderRow]', template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"] }]
10210
+ args: [{ selector: '[ecTableMasterHeaderRow]', template: `<th *ngIf="!hideTableMaster"></th><ng-content></ng-content>`, standalone: false, styles: ["th{width:1.5rem;padding:.25rem 0!important;vertical-align:top}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}\n"] }]
10199
10211
  }], propDecorators: { hideTableMaster: [{
10200
10212
  type: Input
10201
10213
  }] } });
@@ -10229,10 +10241,10 @@ class ToastService {
10229
10241
  const event = new ToastEvent('remove', toast, source);
10230
10242
  this._events.next(event);
10231
10243
  }
10232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10233
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' }); }
10244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10245
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToastService, providedIn: 'root' }); }
10234
10246
  }
10235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
10247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToastService, decorators: [{
10236
10248
  type: Injectable,
10237
10249
  args: [{
10238
10250
  providedIn: 'root'
@@ -10286,12 +10298,12 @@ class ToastComponent {
10286
10298
  }
10287
10299
  });
10288
10300
  }
10289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, deps: [{ token: ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
10290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToastComponent, selector: "ec-toast", inputs: { toastItem: "toastItem" }, outputs: { closed: "closed" }, host: { properties: { "attr.id": "this.id", "class.is-open": "this.open", "style.--toast-animation-duration.ms": "this.TOAST_ANIMATION_DURATION" } }, usesOnChanges: true, ngImport: i0, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
10301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToastComponent, deps: [{ token: ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
10302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ToastComponent, isStandalone: false, selector: "ec-toast", inputs: { toastItem: "toastItem" }, outputs: { closed: "closed" }, host: { properties: { "attr.id": "this.id", "class.is-open": "this.open", "style.--toast-animation-duration.ms": "this.TOAST_ANIMATION_DURATION" } }, usesOnChanges: true, ngImport: i0, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
10291
10303
  }
10292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, decorators: [{
10304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToastComponent, decorators: [{
10293
10305
  type: Component,
10294
- args: [{ selector: 'ec-toast', template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"] }]
10306
+ args: [{ selector: 'ec-toast', standalone: false, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"] }]
10295
10307
  }], ctorParameters: () => [{ type: ToastService }], propDecorators: { toastItem: [{
10296
10308
  type: Input
10297
10309
  }], id: [{
@@ -10403,12 +10415,12 @@ class ToasterComponent {
10403
10415
  toastAction: event.toast.actionLabel ?? '',
10404
10416
  });
10405
10417
  }
10406
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, deps: [{ token: ToastService }, { token: TelemetryService }], target: i0.ɵɵFactoryTarget.Component }); }
10407
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToasterComponent, selector: "ec-toaster", viewQueries: [{ propertyName: "timedToastEl", first: true, predicate: ["timedToast"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>", dependencies: [{ kind: "component", type: ToastComponent, selector: "ec-toast", inputs: ["toastItem"], outputs: ["closed"] }] }); }
10418
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToasterComponent, deps: [{ token: ToastService }, { token: TelemetryService }], target: i0.ɵɵFactoryTarget.Component }); }
10419
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ToasterComponent, isStandalone: false, selector: "ec-toaster", viewQueries: [{ propertyName: "timedToastEl", first: true, predicate: ["timedToast"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>", dependencies: [{ kind: "component", type: ToastComponent, selector: "ec-toast", inputs: ["toastItem"], outputs: ["closed"] }] }); }
10408
10420
  }
10409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, decorators: [{
10421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToasterComponent, decorators: [{
10410
10422
  type: Component,
10411
- args: [{ selector: 'ec-toaster', template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>" }]
10423
+ args: [{ selector: 'ec-toaster', standalone: false, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>" }]
10412
10424
  }], ctorParameters: () => [{ type: ToastService }, { type: TelemetryService }], propDecorators: { timedToastEl: [{
10413
10425
  type: ViewChild,
10414
10426
  args: ['timedToast', { static: false, read: ElementRef }]
@@ -10558,13 +10570,14 @@ class TooltipDirective {
10558
10570
  ngOnDestroy() {
10559
10571
  this.interrupt.next();
10560
10572
  }
10561
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipDirective, deps: [{ token: TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
10562
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TooltipDirective, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
10573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipDirective, deps: [{ token: TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
10574
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TooltipDirective, isStandalone: false, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
10563
10575
  }
10564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipDirective, decorators: [{
10576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TooltipDirective, decorators: [{
10565
10577
  type: Directive,
10566
10578
  args: [{
10567
- selector: '[ecTooltip]'
10579
+ selector: '[ecTooltip]',
10580
+ standalone: false
10568
10581
  }]
10569
10582
  }], ctorParameters: () => [{ type: TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipConfig: [{
10570
10583
  type: Input
@@ -10653,12 +10666,12 @@ class TreeComponent {
10653
10666
  this.hierarchyTreeComponent.scrollToSelectedItem();
10654
10667
  }
10655
10668
  }
10656
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10657
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeComponent, selector: "ec-tree", inputs: { id: "id", treeTitle: "treeTitle", hideTreeHeader: "hideTreeHeader", treeItems: "treeItems", treeHierarchyHideRootNode: "treeHierarchyHideRootNode", collapsibleRootNode: "collapsibleRootNode", treeHierarchy: "treeHierarchy", treeMenuMaintainSelectedItem: "treeMenuMaintainSelectedItem", customTreeMenuTemplate: "customTreeMenuTemplate", customHierarchyItemTemplate: "customHierarchyItemTemplate", status: "status", type: "type", menuItems: "menuItems", menuStatus: "menuStatus", menuTemplateType: "menuTemplateType", preserveIconSpace: "preserveIconSpace", templateType: "templateType" }, outputs: { treeSelection: "treeSelection", getTreeItemChildren: "getTreeItemChildren", treeItemToggled: "treeItemToggled" }, host: { properties: { "attr.id": "this.attrId" } }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "hierarchyTreeComponent", first: true, predicate: HierarchyTreeComponent, descendants: true }], ngImport: i0, template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: ["collapsibleRootNode", "id", "hideRootNode", "customItemTemplate"], outputs: ["itemSelected"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
10669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TreeComponent, isStandalone: false, selector: "ec-tree", inputs: { id: "id", treeTitle: "treeTitle", hideTreeHeader: "hideTreeHeader", treeItems: "treeItems", treeHierarchyHideRootNode: "treeHierarchyHideRootNode", collapsibleRootNode: "collapsibleRootNode", treeHierarchy: "treeHierarchy", treeMenuMaintainSelectedItem: "treeMenuMaintainSelectedItem", customTreeMenuTemplate: "customTreeMenuTemplate", customHierarchyItemTemplate: "customHierarchyItemTemplate", status: "status", type: "type", menuItems: "menuItems", menuStatus: "menuStatus", menuTemplateType: "menuTemplateType", preserveIconSpace: "preserveIconSpace", templateType: "templateType" }, outputs: { treeSelection: "treeSelection", getTreeItemChildren: "getTreeItemChildren", treeItemToggled: "treeItemToggled" }, host: { properties: { "attr.id": "this.attrId" } }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "hierarchyTreeComponent", first: true, predicate: HierarchyTreeComponent, descendants: true }], ngImport: i0, template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: ["collapsibleRootNode", "id", "hideRootNode", "customItemTemplate"], outputs: ["itemSelected"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
10658
10671
  }
10659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, decorators: [{
10672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TreeComponent, decorators: [{
10660
10673
  type: Component,
10661
- args: [{ selector: 'ec-tree', template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"] }]
10674
+ args: [{ selector: 'ec-tree', standalone: false, template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"] }]
10662
10675
  }], ctorParameters: () => [], propDecorators: { attrId: [{
10663
10676
  type: HostBinding,
10664
10677
  args: ['attr.id']
@@ -10721,13 +10734,14 @@ class ClickAreaForDirective {
10721
10734
  this.targetEl.dispatchEvent(new Event('click'));
10722
10735
  }
10723
10736
  }
10724
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClickAreaForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10725
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ClickAreaForDirective, selector: "[ecClickAreaFor]", inputs: { targetEl: ["ecClickAreaFor", "targetEl"] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.cursor-pointer": "this.targetEl" } }, ngImport: i0 }); }
10737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ClickAreaForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10738
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ClickAreaForDirective, isStandalone: false, selector: "[ecClickAreaFor]", inputs: { targetEl: ["ecClickAreaFor", "targetEl"] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.cursor-pointer": "this.targetEl" } }, ngImport: i0 }); }
10726
10739
  }
10727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClickAreaForDirective, decorators: [{
10740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ClickAreaForDirective, decorators: [{
10728
10741
  type: Directive,
10729
10742
  args: [{
10730
- selector: '[ecClickAreaFor]'
10743
+ selector: '[ecClickAreaFor]',
10744
+ standalone: false
10731
10745
  }]
10732
10746
  }], ctorParameters: () => [], propDecorators: { targetEl: [{
10733
10747
  type: HostBinding,
@@ -10833,13 +10847,14 @@ class IfViewportWidthDirective {
10833
10847
  this.isVisible = false;
10834
10848
  }
10835
10849
  }
10836
- 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: WindowService }], target: i0.ɵɵFactoryTarget.Directive }); }
10837
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: IfViewportWidthDirective, selector: "[ecIfViewportWidth]", inputs: { width: ["ecIfViewportWidth", "width"] }, ngImport: i0 }); }
10850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: IfViewportWidthDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: WindowService }], target: i0.ɵɵFactoryTarget.Directive }); }
10851
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: IfViewportWidthDirective, isStandalone: false, selector: "[ecIfViewportWidth]", inputs: { width: ["ecIfViewportWidth", "width"] }, ngImport: i0 }); }
10838
10852
  }
10839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfViewportWidthDirective, decorators: [{
10853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: IfViewportWidthDirective, decorators: [{
10840
10854
  type: Directive,
10841
10855
  args: [{
10842
- selector: '[ecIfViewportWidth]'
10856
+ selector: '[ecIfViewportWidth]',
10857
+ standalone: false
10843
10858
  }]
10844
10859
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: WindowService }], propDecorators: { width: [{
10845
10860
  type: Input,
@@ -10871,12 +10886,15 @@ class DateDisplayPipe2 {
10871
10886
  // Parse and format the date using moment. If displayInUTC is true, use moment.utc() to shift the date to UTC.
10872
10887
  return (displayInUTC ? moment.utc(date) : moment(date)).format(formatString);
10873
10888
  }
10874
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10875
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, name: "dateDisplay2" }); }
10889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe2, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10890
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe2, isStandalone: false, name: "dateDisplay2" }); }
10876
10891
  }
10877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDisplayPipe2, decorators: [{
10892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DateDisplayPipe2, decorators: [{
10878
10893
  type: Pipe,
10879
- args: [{ name: 'dateDisplay2' }]
10894
+ args: [{
10895
+ name: 'dateDisplay2',
10896
+ standalone: false
10897
+ }]
10880
10898
  }], ctorParameters: () => [{ type: UserPreferenceService }] });
10881
10899
 
10882
10900
  /**
@@ -10908,12 +10926,15 @@ class TimeDisplayPipe {
10908
10926
  display = moment(time).format(this.lastFormatString);
10909
10927
  return display;
10910
10928
  }
10911
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10912
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, name: "timeDisplay" }); }
10929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TimeDisplayPipe, deps: [{ token: UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10930
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: TimeDisplayPipe, isStandalone: false, name: "timeDisplay" }); }
10913
10931
  }
10914
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, decorators: [{
10932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TimeDisplayPipe, decorators: [{
10915
10933
  type: Pipe,
10916
- args: [{ name: 'timeDisplay' }]
10934
+ args: [{
10935
+ name: 'timeDisplay',
10936
+ standalone: false
10937
+ }]
10917
10938
  }], ctorParameters: () => [{ type: UserPreferenceService }] });
10918
10939
 
10919
10940
  class RelativeDatePipe {
@@ -10962,25 +10983,26 @@ class RelativeDatePipe {
10962
10983
  }
10963
10984
  return `${prefixValue}${displayValue}${timeDisplay}`;
10964
10985
  }
10965
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, deps: [{ token: DateDisplayPipe }, { token: TimeDisplayPipe }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10966
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, name: "relativeDate" }); }
10986
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RelativeDatePipe, deps: [{ token: DateDisplayPipe }, { token: TimeDisplayPipe }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
10987
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: RelativeDatePipe, isStandalone: false, name: "relativeDate" }); }
10967
10988
  }
10968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, decorators: [{
10989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RelativeDatePipe, decorators: [{
10969
10990
  type: Pipe,
10970
10991
  args: [{
10971
- name: 'relativeDate'
10992
+ name: 'relativeDate',
10993
+ standalone: false
10972
10994
  }]
10973
10995
  }], ctorParameters: () => [{ type: DateDisplayPipe }, { type: TimeDisplayPipe }, { type: i3.TranslateService }] });
10974
10996
 
10975
10997
  class PageTitleComponent {
10976
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10977
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageTitleComponent, selector: "app-page-title", inputs: { title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl" }, host: { classAttribute: "d-flex" }, ngImport: i0, template: "<i *ngIf=\"titleIcon\"\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\n<div class=\"text-truncate\">\n <h1 *ngIf=\"title\"\n class=\"text-title-1 mb-0 py-1 text-truncate\"\n title=\"{{title}}\">{{title}}</h1>\n <p *ngIf=\"subTitle && !subTitleUrl\"\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\n <a *ngIf=\"subTitle && subTitleUrl\"\n id=\"subTitle_link\"\n class=\"d-block text-truncate mb-0 mt-n1 font-size-small\"\n routerLink=\"{{subTitleUrl}}\"\n target=\"_self\">\n {{subTitle}}\n </a>\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
10998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10999
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: PageTitleComponent, isStandalone: false, selector: "app-page-title", inputs: { title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl" }, host: { classAttribute: "d-flex" }, ngImport: i0, template: "<i *ngIf=\"titleIcon\"\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\n<div class=\"text-truncate\">\n <h1 *ngIf=\"title\"\n class=\"text-title-1 mb-0 py-1 text-truncate\"\n title=\"{{title}}\">{{title}}</h1>\n <p *ngIf=\"subTitle && !subTitleUrl\"\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\n <a *ngIf=\"subTitle && subTitleUrl\"\n id=\"subTitle_link\"\n class=\"d-block text-truncate mb-0 mt-n1 font-size-small\"\n routerLink=\"{{subTitleUrl}}\"\n target=\"_self\">\n {{subTitle}}\n </a>\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
10978
11000
  }
10979
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageTitleComponent, decorators: [{
11001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageTitleComponent, decorators: [{
10980
11002
  type: Component,
10981
11003
  args: [{ selector: 'app-page-title', host: {
10982
11004
  class: 'd-flex'
10983
- }, template: "<i *ngIf=\"titleIcon\"\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\n<div class=\"text-truncate\">\n <h1 *ngIf=\"title\"\n class=\"text-title-1 mb-0 py-1 text-truncate\"\n title=\"{{title}}\">{{title}}</h1>\n <p *ngIf=\"subTitle && !subTitleUrl\"\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\n <a *ngIf=\"subTitle && subTitleUrl\"\n id=\"subTitle_link\"\n class=\"d-block text-truncate mb-0 mt-n1 font-size-small\"\n routerLink=\"{{subTitleUrl}}\"\n target=\"_self\">\n {{subTitle}}\n </a>\n</div>" }]
11005
+ }, standalone: false, template: "<i *ngIf=\"titleIcon\"\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\n<div class=\"text-truncate\">\n <h1 *ngIf=\"title\"\n class=\"text-title-1 mb-0 py-1 text-truncate\"\n title=\"{{title}}\">{{title}}</h1>\n <p *ngIf=\"subTitle && !subTitleUrl\"\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\n <a *ngIf=\"subTitle && subTitleUrl\"\n id=\"subTitle_link\"\n class=\"d-block text-truncate mb-0 mt-n1 font-size-small\"\n routerLink=\"{{subTitleUrl}}\"\n target=\"_self\">\n {{subTitle}}\n </a>\n</div>" }]
10984
11006
  }], propDecorators: { title: [{
10985
11007
  type: Input
10986
11008
  }], titleIcon: [{
@@ -11056,14 +11078,14 @@ class PageViewComponent {
11056
11078
  closeDialog() {
11057
11079
  this.dialogService.closeLatestDialog(new DialogResult(false));
11058
11080
  }
11059
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageViewComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
11060
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageViewComponent, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", disablePrimaryAction: "disablePrimaryAction", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\"\n class=\"flex-grow d-flex\"\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\n <div id=\"PageViewScrollContainer\"\n class=\"d-flex flex-column flex-grow scroll-y\"\n [class.is-dialog]=\"isDialog\"\n [class.fit-content]=\"fitContent\"\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\n [class.footer-visible]=\"!!footerTemplate\"\n cdkScrollable>\n <section>\n <ng-content></ng-content>\n </section>\n\n <footer *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </footer>\n\n <header *ngIf=\"showHeader\">\n <ol id=\"breadcrumbs\"\n *ngIf=\"breadcrumbs?.length && !isDialog\">\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\n <a *ngIf=\"crumb.url; else label\"\n [routerLink]=\"crumb.url\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </a>\n <ng-template #label>{{crumb.label}}</ng-template>\n </li>\n </ol>\n\n <div class=\"titlebar\">\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [subTitleUrl]=\"subTitleUrl\"\n [titleIcon]=\"titleIcon\"\n class=\"title text-truncate\">\n </app-page-title>\n\n <ng-template #customTitle>\n <div class=\"title\">\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ec-button id=\"primaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\n type=\"primary\"\n [label]=\"primaryActionLabel\"\n (clicked)=\"primaryAction($event)\">\n </ec-button>\n <ec-button id=\"secondaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\n type=\"secondary\"\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\n (clicked)=\"secondaryAction($event)\">\n </ec-button>\n <ec-dropdown id=\"moreActions\"\n *ngIf=\"moreActions?.length && !readonly\"\n [disabled]=\"status?.status === 'pending'\"\n class=\"ml-2\"\n buttonType=\"text\"\n [label]=\"moreActionsLabel\"\n [items]=\"moreActions\">\n </ec-dropdown>\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"customHeaderTemplate\"\n class=\"page-header\">\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\n </div>\n\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <div [innerHtml]=\"errors\"></div>\n </ec-banner>\n\n <ng-template #customErrorBannerOutlet>\n <ec-banner *ngIf=\"errors\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\n </ec-banner>\n </ng-template>\n </header>\n </div>\n\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\n id=\"pageViewDialogClose\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"closeDialog()\">\n </ec-button>\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] }); }
11081
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageViewComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
11082
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: PageViewComponent, isStandalone: false, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", disablePrimaryAction: "disablePrimaryAction", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\"\n class=\"flex-grow d-flex\"\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\n <div id=\"PageViewScrollContainer\"\n class=\"d-flex flex-column flex-grow scroll-y\"\n [class.is-dialog]=\"isDialog\"\n [class.fit-content]=\"fitContent\"\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\n [class.footer-visible]=\"!!footerTemplate\"\n cdkScrollable>\n <section>\n <ng-content></ng-content>\n </section>\n\n <footer *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </footer>\n\n <header *ngIf=\"showHeader\">\n <ol id=\"breadcrumbs\"\n *ngIf=\"breadcrumbs?.length && !isDialog\">\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\n <a *ngIf=\"crumb.url; else label\"\n [routerLink]=\"crumb.url\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </a>\n <ng-template #label>{{crumb.label}}</ng-template>\n </li>\n </ol>\n\n <div class=\"titlebar\">\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [subTitleUrl]=\"subTitleUrl\"\n [titleIcon]=\"titleIcon\"\n class=\"title text-truncate\">\n </app-page-title>\n\n <ng-template #customTitle>\n <div class=\"title\">\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ec-button id=\"primaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\n type=\"primary\"\n [label]=\"primaryActionLabel\"\n (clicked)=\"primaryAction($event)\">\n </ec-button>\n <ec-button id=\"secondaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\n type=\"secondary\"\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\n (clicked)=\"secondaryAction($event)\">\n </ec-button>\n <ec-dropdown id=\"moreActions\"\n *ngIf=\"moreActions?.length && !readonly\"\n [disabled]=\"status?.status === 'pending'\"\n class=\"ml-2\"\n buttonType=\"text\"\n [label]=\"moreActionsLabel\"\n [items]=\"moreActions\">\n </ec-dropdown>\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"customHeaderTemplate\"\n class=\"page-header\">\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\n </div>\n\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <div [innerHtml]=\"errors\"></div>\n </ec-banner>\n\n <ng-template #customErrorBannerOutlet>\n <ec-banner *ngIf=\"errors\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\n </ec-banner>\n </ng-template>\n </header>\n </div>\n\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\n id=\"pageViewDialogClose\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"closeDialog()\">\n </ec-button>\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] }); }
11061
11083
  }
11062
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageViewComponent, decorators: [{
11084
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageViewComponent, decorators: [{
11063
11085
  type: Component,
11064
11086
  args: [{ selector: 'ec-page-view', host: {
11065
11087
  class: "flex-grow"
11066
- }, template: "<div ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\"\n class=\"flex-grow d-flex\"\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\n <div id=\"PageViewScrollContainer\"\n class=\"d-flex flex-column flex-grow scroll-y\"\n [class.is-dialog]=\"isDialog\"\n [class.fit-content]=\"fitContent\"\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\n [class.footer-visible]=\"!!footerTemplate\"\n cdkScrollable>\n <section>\n <ng-content></ng-content>\n </section>\n\n <footer *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </footer>\n\n <header *ngIf=\"showHeader\">\n <ol id=\"breadcrumbs\"\n *ngIf=\"breadcrumbs?.length && !isDialog\">\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\n <a *ngIf=\"crumb.url; else label\"\n [routerLink]=\"crumb.url\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </a>\n <ng-template #label>{{crumb.label}}</ng-template>\n </li>\n </ol>\n\n <div class=\"titlebar\">\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [subTitleUrl]=\"subTitleUrl\"\n [titleIcon]=\"titleIcon\"\n class=\"title text-truncate\">\n </app-page-title>\n\n <ng-template #customTitle>\n <div class=\"title\">\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ec-button id=\"primaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\n type=\"primary\"\n [label]=\"primaryActionLabel\"\n (clicked)=\"primaryAction($event)\">\n </ec-button>\n <ec-button id=\"secondaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\n type=\"secondary\"\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\n (clicked)=\"secondaryAction($event)\">\n </ec-button>\n <ec-dropdown id=\"moreActions\"\n *ngIf=\"moreActions?.length && !readonly\"\n [disabled]=\"status?.status === 'pending'\"\n class=\"ml-2\"\n buttonType=\"text\"\n [label]=\"moreActionsLabel\"\n [items]=\"moreActions\">\n </ec-dropdown>\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"customHeaderTemplate\"\n class=\"page-header\">\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\n </div>\n\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <div [innerHtml]=\"errors\"></div>\n </ec-banner>\n\n <ng-template #customErrorBannerOutlet>\n <ec-banner *ngIf=\"errors\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\n </ec-banner>\n </ng-template>\n </header>\n </div>\n\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\n id=\"pageViewDialogClose\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"closeDialog()\">\n </ec-button>\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
11088
+ }, standalone: false, template: "<div ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\"\n class=\"flex-grow d-flex\"\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\n <div id=\"PageViewScrollContainer\"\n class=\"d-flex flex-column flex-grow scroll-y\"\n [class.is-dialog]=\"isDialog\"\n [class.fit-content]=\"fitContent\"\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\n [class.footer-visible]=\"!!footerTemplate\"\n cdkScrollable>\n <section>\n <ng-content></ng-content>\n </section>\n\n <footer *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </footer>\n\n <header *ngIf=\"showHeader\">\n <ol id=\"breadcrumbs\"\n *ngIf=\"breadcrumbs?.length && !isDialog\">\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\n <a *ngIf=\"crumb.url; else label\"\n [routerLink]=\"crumb.url\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </a>\n <ng-template #label>{{crumb.label}}</ng-template>\n </li>\n </ol>\n\n <div class=\"titlebar\">\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\n [title]=\"title\"\n [subTitle]=\"subTitle\"\n [subTitleUrl]=\"subTitleUrl\"\n [titleIcon]=\"titleIcon\"\n class=\"title text-truncate\">\n </app-page-title>\n\n <ng-template #customTitle>\n <div class=\"title\">\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"actions\">\n <ec-button id=\"primaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\n type=\"primary\"\n [label]=\"primaryActionLabel\"\n (clicked)=\"primaryAction($event)\">\n </ec-button>\n <ec-button id=\"secondaryAction\"\n class=\"ml-2\"\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\n type=\"secondary\"\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\n (clicked)=\"secondaryAction($event)\">\n </ec-button>\n <ec-dropdown id=\"moreActions\"\n *ngIf=\"moreActions?.length && !readonly\"\n [disabled]=\"status?.status === 'pending'\"\n class=\"ml-2\"\n buttonType=\"text\"\n [label]=\"moreActionsLabel\"\n [items]=\"moreActions\">\n </ec-dropdown>\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"customHeaderTemplate\"\n class=\"page-header\">\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\n </div>\n\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <div [innerHtml]=\"errors\"></div>\n </ec-banner>\n\n <ng-template #customErrorBannerOutlet>\n <ec-banner *ngIf=\"errors\"\n id=\"pageViewErrors\"\n [class.border-bottom-0]=\"!isDialog\">\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\n </ec-banner>\n </ng-template>\n </header>\n </div>\n\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\n id=\"pageViewDialogClose\"\n type=\"icon\"\n icon=\"icon-cancel\"\n (clicked)=\"closeDialog()\">\n </ec-button>\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
11067
11089
  }], ctorParameters: () => [{ type: DialogService }], propDecorators: { isDialog: [{
11068
11090
  type: Input
11069
11091
  }], readonly: [{
@@ -11262,10 +11284,10 @@ class RouterHelper {
11262
11284
  throw error;
11263
11285
  }
11264
11286
  }
11265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11266
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterHelper, providedIn: 'root' }); }
11287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RouterHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11288
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RouterHelper, providedIn: 'root' }); }
11267
11289
  }
11268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterHelper, decorators: [{
11290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RouterHelper, decorators: [{
11269
11291
  type: Injectable,
11270
11292
  args: [{
11271
11293
  providedIn: 'root'
@@ -11298,10 +11320,10 @@ class MockDialog {
11298
11320
  close(result) {
11299
11321
  this.closed.emit(result);
11300
11322
  }
11301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11302
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MockDialog, inputs: { size: "size" }, outputs: { opened: "opened", closed: "closed" }, ngImport: i0 }); }
11323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11324
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: MockDialog, isStandalone: true, inputs: { size: "size" }, outputs: { opened: "opened", closed: "closed" }, ngImport: i0 }); }
11303
11325
  }
11304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockDialog, decorators: [{
11326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockDialog, decorators: [{
11305
11327
  type: Directive
11306
11328
  }], propDecorators: { size: [{
11307
11329
  type: Input
@@ -11331,12 +11353,15 @@ class MockDateDisplayPipe {
11331
11353
  transform(value) {
11332
11354
  return '01/01/2017';
11333
11355
  }
11334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockDateDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11335
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MockDateDisplayPipe, name: "dateDisplay" }); }
11356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockDateDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11357
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: MockDateDisplayPipe, isStandalone: false, name: "dateDisplay" }); }
11336
11358
  }
11337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockDateDisplayPipe, decorators: [{
11359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockDateDisplayPipe, decorators: [{
11338
11360
  type: Pipe,
11339
- args: [{ name: 'dateDisplay' }]
11361
+ args: [{
11362
+ name: 'dateDisplay',
11363
+ standalone: false
11364
+ }]
11340
11365
  }] });
11341
11366
  /** Return a Router spy object that can be used as a mock in tests.*/
11342
11367
  function mockRouterFactory() {
@@ -11392,10 +11417,10 @@ class MockActivatedRoute {
11392
11417
  this.queryParamMap = new Subject();
11393
11418
  this.routeConfig = {};
11394
11419
  }
11395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockActivatedRoute, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11396
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockActivatedRoute }); }
11420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockActivatedRoute, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11421
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockActivatedRoute }); }
11397
11422
  }
11398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MockActivatedRoute, decorators: [{
11423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MockActivatedRoute, decorators: [{
11399
11424
  type: Injectable
11400
11425
  }] });
11401
11426
  /** Return a @see RouterHelper spy object that can be used as a mock in tests */
@@ -11440,12 +11465,12 @@ class WizardButtonsComponent {
11440
11465
  onNextTab() {
11441
11466
  this.nextTab.emit();
11442
11467
  }
11443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11444
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WizardButtonsComponent, selector: "ec-wizard-buttons", inputs: { nextLabel: "nextLabel", backLabel: "backLabel", cancelLabel: "cancelLabel", saveLabel: "saveLabel", cancelId: "cancelId", saveId: "saveId", tabindex: "tabindex", status: "status", showBack: "showBack", showSave: "showSave", hideNextSaveButton: "hideNextSaveButton" }, outputs: { cancel: "cancel", save: "save", nextTab: "nextTab", previousTab: "previousTab" }, ngImport: i0, template: "<ec-button id=\"{{saveId}}\"\n class=\"ml-2\"\n *ngIf=\"!hideNextSaveButton\"\n type=\"primary\"\n [label]=\"(!showSave ? nextLabel : saveLabel)\"\n [tabindex]=\"!tabindex ? 0 : tabindex\"\n (clicked)=\"!showSave ? onNextTab() : onSave($event)\"\n [disabled]=\"status?.status === 'pending' || status?.status === 'error'\">\n</ec-button>\n<ec-button id=\"previousTab\"\n class=\"ml-2\"\n *ngIf=\"showBack\"\n type=\"secondary\"\n [label]=\"backLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+1\"\n (clicked)=\"onPreviousTab()\">\n</ec-button>\n<ec-button id=\"{{cancelId}}\"\n type=\"secondary\"\n [label]=\"cancelLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+2\"\n (clicked)=\"onCancel()\">\n</ec-button>\n", styles: [":host{display:flex;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
11468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11469
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: WizardButtonsComponent, isStandalone: false, selector: "ec-wizard-buttons", inputs: { nextLabel: "nextLabel", backLabel: "backLabel", cancelLabel: "cancelLabel", saveLabel: "saveLabel", cancelId: "cancelId", saveId: "saveId", tabindex: "tabindex", status: "status", showBack: "showBack", showSave: "showSave", hideNextSaveButton: "hideNextSaveButton" }, outputs: { cancel: "cancel", save: "save", nextTab: "nextTab", previousTab: "previousTab" }, ngImport: i0, template: "<ec-button id=\"{{saveId}}\"\n class=\"ml-2\"\n *ngIf=\"!hideNextSaveButton\"\n type=\"primary\"\n [label]=\"(!showSave ? nextLabel : saveLabel)\"\n [tabindex]=\"!tabindex ? 0 : tabindex\"\n (clicked)=\"!showSave ? onNextTab() : onSave($event)\"\n [disabled]=\"status?.status === 'pending' || status?.status === 'error'\">\n</ec-button>\n<ec-button id=\"previousTab\"\n class=\"ml-2\"\n *ngIf=\"showBack\"\n type=\"secondary\"\n [label]=\"backLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+1\"\n (clicked)=\"onPreviousTab()\">\n</ec-button>\n<ec-button id=\"{{cancelId}}\"\n type=\"secondary\"\n [label]=\"cancelLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+2\"\n (clicked)=\"onCancel()\">\n</ec-button>\n", styles: [":host{display:flex;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
11445
11470
  }
11446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardButtonsComponent, decorators: [{
11471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardButtonsComponent, decorators: [{
11447
11472
  type: Component,
11448
- args: [{ selector: 'ec-wizard-buttons', template: "<ec-button id=\"{{saveId}}\"\n class=\"ml-2\"\n *ngIf=\"!hideNextSaveButton\"\n type=\"primary\"\n [label]=\"(!showSave ? nextLabel : saveLabel)\"\n [tabindex]=\"!tabindex ? 0 : tabindex\"\n (clicked)=\"!showSave ? onNextTab() : onSave($event)\"\n [disabled]=\"status?.status === 'pending' || status?.status === 'error'\">\n</ec-button>\n<ec-button id=\"previousTab\"\n class=\"ml-2\"\n *ngIf=\"showBack\"\n type=\"secondary\"\n [label]=\"backLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+1\"\n (clicked)=\"onPreviousTab()\">\n</ec-button>\n<ec-button id=\"{{cancelId}}\"\n type=\"secondary\"\n [label]=\"cancelLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+2\"\n (clicked)=\"onCancel()\">\n</ec-button>\n", styles: [":host{display:flex;flex-direction:row-reverse}\n"] }]
11473
+ args: [{ selector: 'ec-wizard-buttons', standalone: false, template: "<ec-button id=\"{{saveId}}\"\n class=\"ml-2\"\n *ngIf=\"!hideNextSaveButton\"\n type=\"primary\"\n [label]=\"(!showSave ? nextLabel : saveLabel)\"\n [tabindex]=\"!tabindex ? 0 : tabindex\"\n (clicked)=\"!showSave ? onNextTab() : onSave($event)\"\n [disabled]=\"status?.status === 'pending' || status?.status === 'error'\">\n</ec-button>\n<ec-button id=\"previousTab\"\n class=\"ml-2\"\n *ngIf=\"showBack\"\n type=\"secondary\"\n [label]=\"backLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+1\"\n (clicked)=\"onPreviousTab()\">\n</ec-button>\n<ec-button id=\"{{cancelId}}\"\n type=\"secondary\"\n [label]=\"cancelLabel\"\n [tabindex]=\"!tabindex ? 0 : tabindex+2\"\n (clicked)=\"onCancel()\">\n</ec-button>\n", styles: [":host{display:flex;flex-direction:row-reverse}\n"] }]
11449
11474
  }], ctorParameters: () => [], propDecorators: { nextLabel: [{
11450
11475
  type: Input
11451
11476
  }], backLabel: [{
@@ -11480,12 +11505,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11480
11505
 
11481
11506
  class WizardProgressComponent {
11482
11507
  constructor() { }
11483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11484
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WizardProgressComponent, selector: "ec-wizard-progress", inputs: { tabGroup: "tabGroup", currentTab: "currentTab" }, ngImport: i0, template: "<div *ngFor=\"let tab of tabGroup?.items; index as index; first as isFirst; last as isLast\"\n class=\"progress-tab\"\n [class.ml-2]=\"!isFirst\"\n [class.is-active]=\"currentTab?.id === tab.id\">\n\n <i *ngIf=\"tab.completed\"\n class=\"ec-icon icon-check-circle mr-1 font-color-success\"></i>\n <span *ngIf=\"!tab.completed\">{{index+1}}.&nbsp;</span>\n <span>{{tab.label | translate}}</span>\n <i *ngIf=\"!isLast\"\n class=\"ec-icon icon-angle-down rotate-270 ml-2\"></i>\n</div>", styles: [":host{display:flex;align-items:center;padding:0 1rem}.progress-tab{display:flex;align-items:center}.progress-tab.is-active{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
11508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11509
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: WizardProgressComponent, isStandalone: false, selector: "ec-wizard-progress", inputs: { tabGroup: "tabGroup", currentTab: "currentTab" }, ngImport: i0, template: "<div *ngFor=\"let tab of tabGroup?.items; index as index; first as isFirst; last as isLast\"\n class=\"progress-tab\"\n [class.ml-2]=\"!isFirst\"\n [class.is-active]=\"currentTab?.id === tab.id\">\n\n <i *ngIf=\"tab.completed\"\n class=\"ec-icon icon-check-circle mr-1 font-color-success\"></i>\n <span *ngIf=\"!tab.completed\">{{index+1}}.&nbsp;</span>\n <span>{{tab.label | translate}}</span>\n <i *ngIf=\"!isLast\"\n class=\"ec-icon icon-angle-down rotate-270 ml-2\"></i>\n</div>", styles: [":host{display:flex;align-items:center;padding:0 1rem}.progress-tab{display:flex;align-items:center}.progress-tab.is-active{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
11485
11510
  }
11486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardProgressComponent, decorators: [{
11511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardProgressComponent, decorators: [{
11487
11512
  type: Component,
11488
- args: [{ selector: 'ec-wizard-progress', template: "<div *ngFor=\"let tab of tabGroup?.items; index as index; first as isFirst; last as isLast\"\n class=\"progress-tab\"\n [class.ml-2]=\"!isFirst\"\n [class.is-active]=\"currentTab?.id === tab.id\">\n\n <i *ngIf=\"tab.completed\"\n class=\"ec-icon icon-check-circle mr-1 font-color-success\"></i>\n <span *ngIf=\"!tab.completed\">{{index+1}}.&nbsp;</span>\n <span>{{tab.label | translate}}</span>\n <i *ngIf=\"!isLast\"\n class=\"ec-icon icon-angle-down rotate-270 ml-2\"></i>\n</div>", styles: [":host{display:flex;align-items:center;padding:0 1rem}.progress-tab{display:flex;align-items:center}.progress-tab.is-active{font-weight:700}\n"] }]
11513
+ args: [{ selector: 'ec-wizard-progress', standalone: false, template: "<div *ngFor=\"let tab of tabGroup?.items; index as index; first as isFirst; last as isLast\"\n class=\"progress-tab\"\n [class.ml-2]=\"!isFirst\"\n [class.is-active]=\"currentTab?.id === tab.id\">\n\n <i *ngIf=\"tab.completed\"\n class=\"ec-icon icon-check-circle mr-1 font-color-success\"></i>\n <span *ngIf=\"!tab.completed\">{{index+1}}.&nbsp;</span>\n <span>{{tab.label | translate}}</span>\n <i *ngIf=\"!isLast\"\n class=\"ec-icon icon-angle-down rotate-270 ml-2\"></i>\n</div>", styles: [":host{display:flex;align-items:center;padding:0 1rem}.progress-tab{display:flex;align-items:center}.progress-tab.is-active{font-weight:700}\n"] }]
11489
11514
  }], ctorParameters: () => [], propDecorators: { tabGroup: [{
11490
11515
  type: Input
11491
11516
  }], currentTab: [{
@@ -11506,8 +11531,8 @@ class ComponentsModule {
11506
11531
  ]
11507
11532
  };
11508
11533
  }
11509
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11510
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ComponentsModule, declarations: [ButtonComponent,
11534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11535
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: ComponentsModule, declarations: [ButtonComponent,
11511
11536
  TabsComponent,
11512
11537
  TextboxComponent,
11513
11538
  NavItemActiveDirective,
@@ -11650,7 +11675,7 @@ class ComponentsModule {
11650
11675
  DateInputComponent,
11651
11676
  KeyboardNavContainerDirective,
11652
11677
  DateDisplayPipe2] }); }
11653
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentsModule, providers: [
11678
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ComponentsModule, providers: [
11654
11679
  FormGroupHelper,
11655
11680
  DialogService,
11656
11681
  DateDisplayPipe,
@@ -11669,7 +11694,7 @@ class ComponentsModule {
11669
11694
  OverlayModule,
11670
11695
  ScrollingModule] }); }
11671
11696
  }
11672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentsModule, decorators: [{
11697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ComponentsModule, decorators: [{
11673
11698
  type: NgModule,
11674
11699
  args: [{
11675
11700
  declarations: [
@@ -12381,10 +12406,10 @@ class PageBaseComponent {
12381
12406
  this.previousUrl = url;
12382
12407
  this.onNavigationEnd();
12383
12408
  }
12384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageBaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
12385
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PageBaseComponent, host: { properties: { "class": "this.classList" } }, ngImport: i0 }); }
12409
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageBaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
12410
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: PageBaseComponent, isStandalone: true, host: { properties: { "class": "this.classList" } }, ngImport: i0 }); }
12386
12411
  }
12387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageBaseComponent, decorators: [{
12412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: PageBaseComponent, decorators: [{
12388
12413
  type: Directive
12389
12414
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { classList: [{
12390
12415
  type: HostBinding,
@@ -12831,10 +12856,10 @@ class WizardBaseComponent extends PageBaseComponent {
12831
12856
  this.help = tab ? tab.help : undefined;
12832
12857
  this.title = tab ? tab.title : undefined;
12833
12858
  }
12834
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardBaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
12835
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: WizardBaseComponent, usesInheritance: true, ngImport: i0 }); }
12859
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardBaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
12860
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: WizardBaseComponent, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
12836
12861
  }
12837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardBaseComponent, decorators: [{
12862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WizardBaseComponent, decorators: [{
12838
12863
  type: Directive
12839
12864
  }], ctorParameters: () => [{ type: i0.Injector }] });
12840
12865