@abp/ng.theme.shared 5.0.0-beta.1 → 5.0.0-beta.3-1

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 (140) hide show
  1. package/README.md +3 -3
  2. package/bundles/abp-ng.theme.shared-extensions.umd.js +6 -6
  3. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
  4. package/bundles/abp-ng.theme.shared-testing.umd.js.map +1 -1
  5. package/bundles/abp-ng.theme.shared.umd.js +49 -115
  6. package/bundles/abp-ng.theme.shared.umd.js.map +1 -1
  7. package/esm2015/extensions/lib/adapters/date-time.adapter.js.map +1 -1
  8. package/esm2015/extensions/lib/adapters/date.adapter.js.map +1 -1
  9. package/esm2015/extensions/lib/adapters/time.adapter.js.map +1 -1
  10. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js.map +1 -1
  11. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js +37 -37
  12. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js.map +1 -1
  13. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +1 -1
  14. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js.map +1 -1
  15. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +1 -1
  16. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js.map +1 -1
  17. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +1 -1
  18. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js.map +1 -1
  19. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +1 -1
  20. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js.map +1 -1
  21. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +1 -1
  22. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js.map +1 -1
  23. package/esm2015/extensions/lib/constants/extra-properties.js.map +1 -1
  24. package/esm2015/extensions/lib/directives/disabled.directive.js.map +1 -1
  25. package/esm2015/extensions/lib/directives/prop-data.directive.js.map +1 -1
  26. package/esm2015/extensions/lib/enums/props.enum.js.map +1 -1
  27. package/esm2015/extensions/lib/models/actions.js.map +1 -1
  28. package/esm2015/extensions/lib/models/entity-actions.js.map +1 -1
  29. package/esm2015/extensions/lib/models/entity-props.js.map +1 -1
  30. package/esm2015/extensions/lib/models/form-props.js.map +1 -1
  31. package/esm2015/extensions/lib/models/internal/object-extensions.js.map +1 -1
  32. package/esm2015/extensions/lib/models/object-extensions.js.map +1 -1
  33. package/esm2015/extensions/lib/models/props.js.map +1 -1
  34. package/esm2015/extensions/lib/models/toolbar-actions.js.map +1 -1
  35. package/esm2015/extensions/lib/services/extensions.service.js.map +1 -1
  36. package/esm2015/extensions/lib/tokens/extensions.token.js.map +1 -1
  37. package/esm2015/extensions/lib/ui-extensions.module.js.map +1 -1
  38. package/esm2015/extensions/lib/utils/actions.util.js.map +1 -1
  39. package/esm2015/extensions/lib/utils/enum.util.js.map +1 -1
  40. package/esm2015/extensions/lib/utils/factory.util.js.map +1 -1
  41. package/esm2015/extensions/lib/utils/form-props.util.js.map +1 -1
  42. package/esm2015/extensions/lib/utils/localization.util.js.map +1 -1
  43. package/esm2015/extensions/lib/utils/props.util.js.map +1 -1
  44. package/esm2015/extensions/lib/utils/state.util.js.map +1 -1
  45. package/esm2015/extensions/lib/utils/typeahead.util.js.map +1 -1
  46. package/esm2015/extensions/lib/utils/validation.util.js.map +1 -1
  47. package/esm2015/extensions/public-api.js.map +1 -1
  48. package/esm2015/lib/animations/bounce.animations.js.map +1 -1
  49. package/esm2015/lib/animations/collapse.animations.js.map +1 -1
  50. package/esm2015/lib/animations/fade.animations.js.map +1 -1
  51. package/esm2015/lib/animations/index.js.map +1 -1
  52. package/esm2015/lib/animations/modal.animations.js.map +1 -1
  53. package/esm2015/lib/animations/slide.animations.js.map +1 -1
  54. package/esm2015/lib/animations/toast.animations.js.map +1 -1
  55. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +1 -1
  56. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +1 -1
  57. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +1 -1
  58. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js.map +1 -1
  59. package/esm2015/lib/components/button/button.component.js +26 -26
  60. package/esm2015/lib/components/button/button.component.js.map +1 -1
  61. package/esm2015/lib/components/confirmation/confirmation.component.js +1 -1
  62. package/esm2015/lib/components/confirmation/confirmation.component.js.map +1 -1
  63. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +1 -1
  64. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js.map +1 -1
  65. package/esm2015/lib/components/loader-bar/loader-bar.component.js +24 -24
  66. package/esm2015/lib/components/loader-bar/loader-bar.component.js.map +1 -1
  67. package/esm2015/lib/components/loading/loading.component.js +29 -29
  68. package/esm2015/lib/components/loading/loading.component.js.map +1 -1
  69. package/esm2015/lib/components/modal/modal-close.directive.js.map +1 -1
  70. package/esm2015/lib/components/modal/modal-ref.service.js.map +1 -1
  71. package/esm2015/lib/components/modal/modal.component.js +1 -1
  72. package/esm2015/lib/components/modal/modal.component.js.map +1 -1
  73. package/esm2015/lib/components/toast/toast.component.js +1 -1
  74. package/esm2015/lib/components/toast/toast.component.js.map +1 -1
  75. package/esm2015/lib/components/toast-container/toast-container.component.js +1 -1
  76. package/esm2015/lib/components/toast-container/toast-container.component.js.map +1 -1
  77. package/esm2015/lib/constants/styles.js +180 -179
  78. package/esm2015/lib/constants/styles.js.map +1 -1
  79. package/esm2015/lib/constants/validation.js.map +1 -1
  80. package/esm2015/lib/directives/ellipsis.directive.js.map +1 -1
  81. package/esm2015/lib/directives/index.js.map +1 -1
  82. package/esm2015/lib/directives/loading.directive.js.map +1 -1
  83. package/esm2015/lib/directives/ngx-datatable-default.directive.js.map +1 -1
  84. package/esm2015/lib/directives/ngx-datatable-list.directive.js.map +1 -1
  85. package/esm2015/lib/enums/index.js.map +1 -1
  86. package/esm2015/lib/enums/route-names.js.map +1 -1
  87. package/esm2015/lib/handlers/document-dir.handler.js +33 -0
  88. package/esm2015/lib/handlers/document-dir.handler.js.map +1 -0
  89. package/esm2015/lib/handlers/error.handler.js.map +1 -1
  90. package/esm2015/lib/handlers/index.js +1 -1
  91. package/esm2015/lib/handlers/index.js.map +1 -1
  92. package/esm2015/lib/models/common.js.map +1 -1
  93. package/esm2015/lib/models/confirmation.js.map +1 -1
  94. package/esm2015/lib/models/index.js.map +1 -1
  95. package/esm2015/lib/models/nav-item.js.map +1 -1
  96. package/esm2015/lib/models/statistics.js.map +1 -1
  97. package/esm2015/lib/models/toaster.js.map +1 -1
  98. package/esm2015/lib/providers/index.js.map +1 -1
  99. package/esm2015/lib/providers/ng-bootstrap-config.provider.js.map +1 -1
  100. package/esm2015/lib/providers/route.provider.js.map +1 -1
  101. package/esm2015/lib/services/confirmation.service.js.map +1 -1
  102. package/esm2015/lib/services/index.js.map +1 -1
  103. package/esm2015/lib/services/nav-items.service.js.map +1 -1
  104. package/esm2015/lib/services/page-alert.service.js.map +1 -1
  105. package/esm2015/lib/services/toaster.service.js.map +1 -1
  106. package/esm2015/lib/theme-shared.module.js +10 -9
  107. package/esm2015/lib/theme-shared.module.js.map +1 -1
  108. package/esm2015/lib/tokens/append-content.token.js.map +1 -1
  109. package/esm2015/lib/tokens/http-error.token.js.map +1 -1
  110. package/esm2015/lib/tokens/index.js +0 -1
  111. package/esm2015/lib/tokens/index.js.map +1 -1
  112. package/esm2015/lib/tokens/ngx-datatable-messages.token.js.map +1 -1
  113. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js.map +1 -1
  114. package/esm2015/lib/utils/date-parser-formatter.js.map +1 -1
  115. package/esm2015/lib/utils/index.js.map +1 -1
  116. package/esm2015/lib/utils/validation-utils.js.map +1 -1
  117. package/esm2015/public-api.js +0 -1
  118. package/esm2015/public-api.js.map +1 -1
  119. package/esm2015/testing/lib/models/config.js.map +1 -1
  120. package/esm2015/testing/lib/models/index.js.map +1 -1
  121. package/esm2015/testing/lib/theme-shared-testing.module.js.map +1 -1
  122. package/esm2015/testing/public-api.js.map +1 -1
  123. package/fesm2015/abp-ng.theme.shared-extensions.js +42 -42
  124. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  125. package/fesm2015/abp-ng.theme.shared-testing.js.map +1 -1
  126. package/fesm2015/abp-ng.theme.shared.js +307 -362
  127. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  128. package/lib/constants/styles.d.ts +1 -2
  129. package/lib/handlers/document-dir.handler.d.ts +13 -0
  130. package/lib/handlers/index.d.ts +1 -1
  131. package/lib/tokens/index.d.ts +0 -1
  132. package/package.json +4 -4
  133. package/public-api.d.ts +0 -1
  134. package/esm2015/lib/handlers/lazy-style.handler.js +0 -89
  135. package/esm2015/lib/handlers/lazy-style.handler.js.map +0 -1
  136. package/esm2015/lib/tokens/lazy-styles.token.js +0 -3
  137. package/esm2015/lib/tokens/lazy-styles.token.js.map +0 -1
  138. package/lib/handlers/lazy-style.handler.d.ts +0 -23
  139. package/lib/tokens/lazy-styles.token.d.ts +0 -2
  140. package/styles/bootstrap-rtl.min.css +0 -7
@@ -1,15 +1,15 @@
1
1
  import { animation, style, animate, keyframes, trigger, state, transition, useAnimation, query } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, Input, ChangeDetectionStrategy, EventEmitter, Output, ViewChild, ViewEncapsulation, Injectable, InjectionToken, Optional, Inject, ContentChild, Directive, HostListener, HostBinding, NgModule, ComponentFactoryResolver, RendererFactory2, ApplicationRef, APP_INITIALIZER, inject, LOCALE_ID, Injector } from '@angular/core';
3
+ import { Component, Input, ChangeDetectionStrategy, EventEmitter, Output, ViewChild, ViewEncapsulation, Injectable, InjectionToken, Optional, Inject, ContentChild, Directive, HostListener, HostBinding, NgModule, ComponentFactoryResolver, RendererFactory2, ApplicationRef, APP_INITIALIZER, inject, LOCALE_ID } from '@angular/core';
4
4
  import * as i1 from '@angular/common';
5
5
  import { DOCUMENT, formatDate, DatePipe } from '@angular/common';
6
6
  import * as i1$1 from '@angular/router';
7
7
  import { ResolveEnd } from '@angular/router';
8
8
  import * as i2 from '@abp/ng.core';
9
- import { getRoutePath, SubscriptionService, PROJECTION_STRATEGY, uuid, HttpErrorReporterService, RouterEvents, AuthService, LocalizationService, getLocaleDirection, LazyLoadService, LOADING_STRATEGY, RoutesService, InternalStore, DomInsertionService, CONTENT_STRATEGY, CoreModule, noop, ConfigStateService } from '@abp/ng.core';
9
+ import { getRoutePath, SubscriptionService, PROJECTION_STRATEGY, uuid, LocalizationService, getLocaleDirection, HttpErrorReporterService, RouterEvents, AuthService, RoutesService, InternalStore, DomInsertionService, CONTENT_STRATEGY, CoreModule, noop, ConfigStateService } from '@abp/ng.core';
10
10
  import { __rest } from 'tslib';
11
11
  import { startWith, map, debounceTime, filter, takeUntil, distinctUntilChanged, take, catchError, switchMap } from 'rxjs/operators';
12
- import { fromEvent, Subscription, combineLatest, timer, ReplaySubject, Subject, throwError, Observable, of, BehaviorSubject } from 'rxjs';
12
+ import { fromEvent, Subscription, combineLatest, timer, ReplaySubject, Subject, BehaviorSubject, throwError, Observable, of } from 'rxjs';
13
13
  import * as i3 from '@ng-bootstrap/ng-bootstrap';
14
14
  import { NgbInputDatepickerConfig, NgbTypeaheadConfig, NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
15
15
  import * as i1$2 from '@swimlane/ngx-datatable';
@@ -154,7 +154,7 @@ class BreadcrumbItemsComponent {
154
154
  }
155
155
  }
156
156
  BreadcrumbItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
157
- BreadcrumbItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: { items: "items" }, ngImport: i0, template: "<ol class=\"breadcrumb\" *ngIf=\"items.length\">\n <li class=\"breadcrumb-item\">\n <a routerLink=\"/\"><i class=\"fa fa-home\"></i> </a>\n </li>\n <li\n *ngFor=\"let item of items; let last = last\"\n class=\"breadcrumb-item\"\n [class.active]=\"last\"\n aria-current=\"page\"\n >\n <ng-container\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\n ></ng-container>\n </li>\n</ol>\n\n<ng-template #linkTemplate let-item>\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\n</ng-template>\n\n<ng-template #textTemplate let-item>\n {{ item.name | abpLocalization }}\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
157
+ BreadcrumbItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: { items: "items" }, ngImport: i0, template: "<ol class=\"breadcrumb\" *ngIf=\"items.length\">\r\n <li class=\"breadcrumb-item\">\r\n <a routerLink=\"/\"><i class=\"fa fa-home\"></i> </a>\r\n </li>\r\n <li\r\n *ngFor=\"let item of items; let last = last\"\r\n class=\"breadcrumb-item\"\r\n [class.active]=\"last\"\r\n aria-current=\"page\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </li>\r\n</ol>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate let-item>\r\n {{ item.name | abpLocalization }}\r\n</ng-template>\r\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
158
158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbItemsComponent, decorators: [{
159
159
  type: Component,
160
160
  args: [{
@@ -191,7 +191,7 @@ class BreadcrumbComponent {
191
191
  }
192
192
  }
193
193
  BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Router }, { token: i2.RoutesService }, { token: i2.SubscriptionService }, { token: i2.RouterEvents }], target: i0.ɵɵFactoryTarget.Component });
194
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbComponent, selector: "abp-breadcrumb", providers: [SubscriptionService], ngImport: i0, template: "<abp-breadcrumb-items [items]=\"segments\"></abp-breadcrumb-items>\n", components: [{ type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
194
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbComponent, selector: "abp-breadcrumb", providers: [SubscriptionService], ngImport: i0, template: "<abp-breadcrumb-items [items]=\"segments\"></abp-breadcrumb-items>\r\n", components: [{ type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbComponent, decorators: [{
196
196
  type: Component,
197
197
  args: [{
@@ -232,37 +232,37 @@ class ButtonComponent {
232
232
  }
233
233
  }
234
234
  ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
235
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ButtonComponent, selector: "abp-button", inputs: { buttonId: "buttonId", buttonClass: "buttonClass", buttonType: "buttonType", iconClass: "iconClass", loading: "loading", disabled: "disabled", attributes: "attributes" }, outputs: { click: "click", focus: "focus", blur: "blur", abpClick: "abpClick", abpFocus: "abpFocus", abpBlur: "abpBlur" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, static: true }], ngImport: i0, template: `
236
- <button
237
- #button
238
- [id]="buttonId"
239
- [attr.type]="buttonType"
240
- [ngClass]="buttonClass"
241
- [disabled]="loading || disabled"
242
- (click.stop)="click.next($event); abpClick.next($event)"
243
- (focus)="focus.next($event); abpFocus.next($event)"
244
- (blur)="blur.next($event); abpBlur.next($event)"
245
- >
246
- <i [ngClass]="icon" class="mr-1"></i><ng-content></ng-content>
247
- </button>
235
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ButtonComponent, selector: "abp-button", inputs: { buttonId: "buttonId", buttonClass: "buttonClass", buttonType: "buttonType", iconClass: "iconClass", loading: "loading", disabled: "disabled", attributes: "attributes" }, outputs: { click: "click", focus: "focus", blur: "blur", abpClick: "abpClick", abpFocus: "abpFocus", abpBlur: "abpBlur" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, static: true }], ngImport: i0, template: `
236
+ <button
237
+ #button
238
+ [id]="buttonId"
239
+ [attr.type]="buttonType"
240
+ [ngClass]="buttonClass"
241
+ [disabled]="loading || disabled"
242
+ (click.stop)="click.next($event); abpClick.next($event)"
243
+ (focus)="focus.next($event); abpFocus.next($event)"
244
+ (blur)="blur.next($event); abpBlur.next($event)"
245
+ >
246
+ <i [ngClass]="icon" class="me-1"></i><ng-content></ng-content>
247
+ </button>
248
248
  `, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] });
249
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ButtonComponent, decorators: [{
250
250
  type: Component,
251
251
  args: [{
252
252
  selector: 'abp-button',
253
- template: `
254
- <button
255
- #button
256
- [id]="buttonId"
257
- [attr.type]="buttonType"
258
- [ngClass]="buttonClass"
259
- [disabled]="loading || disabled"
260
- (click.stop)="click.next($event); abpClick.next($event)"
261
- (focus)="focus.next($event); abpFocus.next($event)"
262
- (blur)="blur.next($event); abpBlur.next($event)"
263
- >
264
- <i [ngClass]="icon" class="mr-1"></i><ng-content></ng-content>
265
- </button>
253
+ template: `
254
+ <button
255
+ #button
256
+ [id]="buttonId"
257
+ [attr.type]="buttonType"
258
+ [ngClass]="buttonClass"
259
+ [disabled]="loading || disabled"
260
+ (click.stop)="click.next($event); abpClick.next($event)"
261
+ (focus)="focus.next($event); abpFocus.next($event)"
262
+ (blur)="blur.next($event); abpBlur.next($event)"
263
+ >
264
+ <i [ngClass]="icon" class="me-1"></i><ng-content></ng-content>
265
+ </button>
266
266
  `,
267
267
  }]
268
268
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { buttonId: [{
@@ -331,7 +331,7 @@ class ConfirmationComponent {
331
331
  }
332
332
  }
333
333
  ConfirmationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
334
- ConfirmationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ConfirmationComponent, selector: "abp-confirmation", ngImport: i0, template: "<div class=\"confirmation\" *ngIf=\"confirmation$ | async as data\">\n <div\n class=\"confirmation-backdrop\"\n (click)=\"data.options?.dismissible ? close(dismiss) : null\"\n ></div>\n <div class=\"confirmation-dialog\">\n <div class=\"icon-container\" [ngClass]=\"data.severity\" *ngIf=\"data.severity\">\n <i class=\"fa icon\" [ngClass]=\"getIconClass(data)\"></i>\n </div>\n <div class=\"content\">\n <h1\n class=\"title\"\n *ngIf=\"data.title\"\n [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"\n ></h1>\n <p\n class=\"message\"\n *ngIf=\"data.message\"\n [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"\n ></p>\n </div>\n <div class=\"footer\">\n <button\n id=\"cancel\"\n class=\"confirmation-button confirmation-button--reject\"\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\"\n *ngIf=\"!data?.options?.hideCancelBtn\"\n (click)=\"close(reject)\"\n ></button>\n <button\n id=\"confirm\"\n class=\"confirmation-button confirmation-button--approve\"\n [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\n *ngIf=\"!data?.options?.hideYesBtn\"\n (click)=\"close(confirm)\"\n ></button>\n </div>\n </div>\n</div>\n", styles: [".confirmation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width: 500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;margin:0 0 10px;padding:20px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;margin:10px auto;padding:20px;font-size:16px;font-weight:400;text-align:center}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;margin:10px 0 0;padding:20px;width:100%}.confirmation .confirmation-dialog .footer .confirmation-button{display:inline-block;margin:0 5px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe, "abpLocalization": i2.LocalizationPipe } });
334
+ ConfirmationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ConfirmationComponent, selector: "abp-confirmation", ngImport: i0, template: "<div class=\"confirmation\" *ngIf=\"confirmation$ | async as data\">\r\n <div\r\n class=\"confirmation-backdrop\"\r\n (click)=\"data.options?.dismissible ? close(dismiss) : null\"\r\n ></div>\r\n <div class=\"confirmation-dialog\">\r\n <div class=\"icon-container\" [ngClass]=\"data.severity\" *ngIf=\"data.severity\">\r\n <i class=\"fa icon\" [ngClass]=\"getIconClass(data)\"></i>\r\n </div>\r\n <div class=\"content\">\r\n <h1\r\n class=\"title\"\r\n *ngIf=\"data.title\"\r\n [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"\r\n ></h1>\r\n <p\r\n class=\"message\"\r\n *ngIf=\"data.message\"\r\n [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"\r\n ></p>\r\n </div>\r\n <div class=\"footer\">\r\n <button\r\n id=\"cancel\"\r\n class=\"confirmation-button confirmation-button--reject\"\r\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\"\r\n *ngIf=\"!data?.options?.hideCancelBtn\"\r\n (click)=\"close(reject)\"\r\n ></button>\r\n <button\r\n id=\"confirm\"\r\n class=\"confirmation-button confirmation-button--approve\"\r\n [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\r\n *ngIf=\"!data?.options?.hideYesBtn\"\r\n (click)=\"close(confirm)\"\r\n ></button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".confirmation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width: 500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;margin:0 0 10px;padding:20px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;margin:10px auto;padding:20px;font-size:16px;font-weight:400;text-align:center}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;margin:10px 0 0;padding:20px;width:100%}.confirmation .confirmation-dialog .footer .confirmation-button{display:inline-block;margin:0 5px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe, "abpLocalization": i2.LocalizationPipe } });
335
335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationComponent, decorators: [{
336
336
  type: Component,
337
337
  args: [{
@@ -382,7 +382,7 @@ class HttpErrorWrapperComponent {
382
382
  }
383
383
  }
384
384
  HttpErrorWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpErrorWrapperComponent, deps: [{ token: i2.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
385
- HttpErrorWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n id=\"abp-http-error-container\"\n class=\"error\"\n [style.backgroundColor]=\"backgroundColor\"\n>\n <button\n *ngIf=\"!hideCloseIcon\"\n id=\"abp-close-button\"\n type=\"button\"\n class=\"close mr-2\"\n (click)=\"destroy()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n\n <div *ngIf=\"!customComponent\" class=\"row centered\">\n <div class=\"col-md-12\">\n <div class=\"error-template\">\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\n <div class=\"error-details\">\n {{ details | abpLocalization }}\n </div>\n <div class=\"error-actions\">\n <a\n *ngIf=\"isHomeShow\"\n (click)=\"destroy()\"\n routerLink=\"/\"\n class=\"btn btn-primary btn-md mt-2\"\n ><span class=\"glyphicon glyphicon-home\"></span>\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
385
+ HttpErrorWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\r\n #container\r\n id=\"abp-http-error-container\"\r\n class=\"error\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n <button\r\n *ngIf=\"!hideCloseIcon\"\r\n id=\"abp-close-button\"\r\n type=\"button\"\r\n class=\"close me-2\"\r\n (click)=\"destroy()\"\r\n >\r\n <span aria-hidden=\"true\">&times;</span>\r\n </button>\r\n\r\n <div *ngIf=\"!customComponent\" class=\"row centered\">\r\n <div class=\"col-md-12\">\r\n <div class=\"error-template\">\r\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\r\n <div class=\"error-details\">\r\n {{ details | abpLocalization }}\r\n </div>\r\n <div class=\"error-actions\">\r\n <a\r\n *ngIf=\"isHomeShow\"\r\n (click)=\"destroy()\"\r\n routerLink=\"/\"\r\n class=\"btn btn-primary btn-md mt-2\"\r\n ><span class=\"glyphicon glyphicon-home\"></span>\r\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
386
386
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpErrorWrapperComponent, decorators: [{
387
387
  type: Component,
388
388
  args: [{
@@ -473,35 +473,35 @@ class LoaderBarComponent {
473
473
  }
474
474
  }
475
475
  LoaderBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoaderBarComponent, deps: [{ token: i1$1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SubscriptionService }, { token: i2.HttpWaitService }, { token: i2.RouterWaitService }], target: i0.ɵɵFactoryTarget.Component });
476
- LoaderBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoaderBarComponent, selector: "abp-loader-bar", inputs: { isLoading: "isLoading", containerClass: "containerClass", color: "color" }, providers: [SubscriptionService], ngImport: i0, template: `
477
- <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
478
- <div
479
- class="abp-progress"
480
- [class.progressing]="progressLevel"
481
- [style.width.vw]="progressLevel"
482
- [ngStyle]="{
483
- 'background-color': color,
484
- 'box-shadow': boxShadow
485
- }"
486
- ></div>
487
- </div>
476
+ LoaderBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoaderBarComponent, selector: "abp-loader-bar", inputs: { isLoading: "isLoading", containerClass: "containerClass", color: "color" }, providers: [SubscriptionService], ngImport: i0, template: `
477
+ <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
478
+ <div
479
+ class="abp-progress"
480
+ [class.progressing]="progressLevel"
481
+ [style.width.vw]="progressLevel"
482
+ [ngStyle]="{
483
+ 'background-color': color,
484
+ 'box-shadow': boxShadow
485
+ }"
486
+ ></div>
487
+ </div>
488
488
  `, isInline: true, styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
489
489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoaderBarComponent, decorators: [{
490
490
  type: Component,
491
491
  args: [{
492
492
  selector: 'abp-loader-bar',
493
- template: `
494
- <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
495
- <div
496
- class="abp-progress"
497
- [class.progressing]="progressLevel"
498
- [style.width.vw]="progressLevel"
499
- [ngStyle]="{
500
- 'background-color': color,
501
- 'box-shadow': boxShadow
502
- }"
503
- ></div>
504
- </div>
493
+ template: `
494
+ <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
495
+ <div
496
+ class="abp-progress"
497
+ [class.progressing]="progressLevel"
498
+ [style.width.vw]="progressLevel"
499
+ [ngStyle]="{
500
+ 'background-color': color,
501
+ 'box-shadow': boxShadow
502
+ }"
503
+ ></div>
504
+ </div>
505
505
  `,
506
506
  styleUrls: ['./loader-bar.component.scss'],
507
507
  providers: [SubscriptionService],
@@ -517,43 +517,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
517
517
  class LoadingComponent {
518
518
  }
519
519
  LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
520
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoadingComponent, selector: "abp-loading", ngImport: i0, template: `
521
- <div class="abp-loading">
522
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
523
- </div>
520
+ LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoadingComponent, selector: "abp-loading", ngImport: i0, template: `
521
+ <div class="abp-loading">
522
+ <i class="fa fa-spinner fa-pulse abp-spinner"></i>
523
+ </div>
524
524
  `, isInline: true, styles: ["\n .abp-loading {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1040;\n }\n\n .abp-loading .abp-spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 14px;\n -moz-transform: translateX(-50%) translateY(-50%);\n -o-transform: translateX(-50%) translateY(-50%);\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n }\n "], encapsulation: i0.ViewEncapsulation.None });
525
525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingComponent, decorators: [{
526
526
  type: Component,
527
527
  args: [{
528
528
  selector: 'abp-loading',
529
- template: `
530
- <div class="abp-loading">
531
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
532
- </div>
529
+ template: `
530
+ <div class="abp-loading">
531
+ <i class="fa fa-spinner fa-pulse abp-spinner"></i>
532
+ </div>
533
533
  `,
534
534
  encapsulation: ViewEncapsulation.None,
535
535
  styles: [
536
- `
537
- .abp-loading {
538
- position: absolute;
539
- width: 100%;
540
- height: 100%;
541
- top: 0;
542
- left: 0;
543
- z-index: 1040;
544
- }
545
-
546
- .abp-loading .abp-spinner {
547
- position: absolute;
548
- top: 50%;
549
- left: 50%;
550
- font-size: 14px;
551
- -moz-transform: translateX(-50%) translateY(-50%);
552
- -o-transform: translateX(-50%) translateY(-50%);
553
- -ms-transform: translateX(-50%) translateY(-50%);
554
- -webkit-transform: translateX(-50%) translateY(-50%);
555
- transform: translateX(-50%) translateY(-50%);
556
- }
536
+ `
537
+ .abp-loading {
538
+ position: absolute;
539
+ width: 100%;
540
+ height: 100%;
541
+ top: 0;
542
+ left: 0;
543
+ z-index: 1040;
544
+ }
545
+
546
+ .abp-loading .abp-spinner {
547
+ position: absolute;
548
+ top: 50%;
549
+ left: 50%;
550
+ font-size: 14px;
551
+ -moz-transform: translateX(-50%) translateY(-50%);
552
+ -o-transform: translateX(-50%) translateY(-50%);
553
+ -ms-transform: translateX(-50%) translateY(-50%);
554
+ -webkit-transform: translateX(-50%) translateY(-50%);
555
+ transform: translateX(-50%) translateY(-50%);
556
+ }
557
557
  `,
558
558
  ],
559
559
  }]
@@ -770,7 +770,7 @@ class ModalComponent {
770
770
  }
771
771
  }
772
772
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalComponent, deps: [{ token: ConfirmationService }, { token: i2.SubscriptionService }, { token: SUPPRESS_UNSAVED_CHANGES_WARNING, optional: true }, { token: i3.NgbModal }, { token: ModalRefService }], target: i0.ɵɵFactoryTarget.Component });
773
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ModalComponent, selector: "abp-modal", inputs: { visible: "visible", busy: "busy", options: "options", suppressUnsavedChangesWarning: "suppressUnsavedChangesWarning" }, outputs: { visibleChange: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #modalContent let-modal>\n <div id=\"abp-modal-header\" class=\"modal-header\">\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\n \u200B\n <button\n id=\"abp-modal-close-button\"\n type=\"button\"\n class=\"close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div id=\"abp-modal-body\" class=\"modal-body\">\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\n </div>\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\n </div>\n</ng-template>\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
773
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ModalComponent, selector: "abp-modal", inputs: { visible: "visible", busy: "busy", options: "options", suppressUnsavedChangesWarning: "suppressUnsavedChangesWarning" }, outputs: { visibleChange: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<ng-template #modalContent let-modal>\r\n <div id=\"abp-modal-header\" class=\"modal-header\">\r\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\r\n \u200B\r\n <button\r\n id=\"abp-modal-close-button\"\r\n type=\"button\"\r\n class=\"btn-sm btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"modal.dismiss()\"\r\n ></button>\r\n </div>\r\n <div id=\"abp-modal-body\" class=\"modal-body\">\r\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\r\n </div>\r\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
774
774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalComponent, decorators: [{
775
775
  type: Component,
776
776
  args: [{
@@ -883,7 +883,7 @@ class ToastComponent {
883
883
  }
884
884
  }
885
885
  ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
886
- ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastComponent, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\n <div class=\"abp-toast-icon\">\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"abp-toast-content\">\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options.closable\">\n <i class=\"fa fa-times\"></i>\n </button>\n <div class=\"abp-toast-title\">\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\n </div>\n <p\n class=\"abp-toast-message\"\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\n ></p>\n </div>\n</div>\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;grid-gap:10px;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
886
+ ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastComponent, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options.closable\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <div class=\"abp-toast-title\">\r\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\r\n </div>\r\n <p\r\n class=\"abp-toast-message\"\r\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\r\n ></p>\r\n </div>\r\n</div>\r\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;grid-gap:10px;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
887
887
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastComponent, decorators: [{
888
888
  type: Component,
889
889
  args: [{
@@ -919,7 +919,7 @@ class ToastContainerComponent {
919
919
  }
920
920
  }
921
921
  ToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
922
- ToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, ngImport: i0, template: "<div\n class=\"abp-toast-container\"\n [style.top]=\"top || 'auto'\"\n [style.right]=\"right || 'auto'\"\n [style.bottom]=\"bottom || 'auto'\"\n [style.left]=\"left || 'auto'\"\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\n [@toastInOut]=\"toasts.length\"\n>\n <abp-toast\n [toast]=\"toast\"\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\n (remove)=\"remove($event)\"\n ></abp-toast>\n</div>\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}\n"], components: [{ type: ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [toastInOut] });
922
+ ToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, ngImport: i0, template: "<div\r\n class=\"abp-toast-container\"\r\n [style.top]=\"top || 'auto'\"\r\n [style.right]=\"right || 'auto'\"\r\n [style.bottom]=\"bottom || 'auto'\"\r\n [style.left]=\"left || 'auto'\"\r\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\r\n [@toastInOut]=\"toasts.length\"\r\n>\r\n <abp-toast\r\n [toast]=\"toast\"\r\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n</div>\r\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}\n"], components: [{ type: ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [toastInOut] });
923
923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastContainerComponent, decorators: [{
924
924
  type: Component,
925
925
  args: [{
@@ -940,187 +940,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
940
940
  type: Input
941
941
  }] } });
942
942
 
943
- var styles = `
944
- .is-invalid .form-control {
945
- border-color: #dc3545;
946
- border-style: solid !important;
947
- padding-right: calc(1.5em + .75rem);
948
- background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
949
- background-repeat: no-repeat;
950
- background-position: right calc(.375em + .1875rem) center;
951
- background-size: calc(.75em + .375rem) calc(.75em + .375rem);
952
- }
953
-
954
- .is-invalid .invalid-feedback,
955
- .is-invalid + * .invalid-feedback {
956
- display: block;
957
- }
958
-
959
- .data-tables-filter {
960
- text-align: right;
961
- }
962
-
963
- [dir=rtl] .data-tables-filter {
964
- text-align: left;
965
- }
966
-
967
- .pointer {
968
- cursor: pointer;
969
- }
970
-
971
- .navbar .dropdown-submenu a::after {
972
- transform: rotate(-90deg);
973
- position: absolute;
974
- right: 16px;
975
- top: 18px;
976
- }
977
-
978
- .navbar .dropdown-menu {
979
- min-width: 215px;
980
- }
981
-
982
- .datatable-scroll {
983
- margin-bottom: 5px !important;
984
- width: unset !important;
985
- }
986
-
987
- .ui-table-scrollable-body::-webkit-scrollbar {
988
- height: 5px !important;
989
- width: 5px !important;
990
- }
991
-
992
- .ui-table-scrollable-body::-webkit-scrollbar-track {
993
- background: #ddd;
994
- }
995
-
996
- .ui-table-scrollable-body::-webkit-scrollbar-thumb {
997
- background: #8a8686;
998
- }
999
-
1000
- .abp-ellipsis-inline {
1001
- display: inline-block;
1002
- overflow: hidden;
1003
- text-overflow: ellipsis;
1004
- white-space: nowrap;
1005
- }
1006
-
1007
- .abp-ellipsis {
1008
- overflow: hidden !important;
1009
- text-overflow: ellipsis;
1010
- white-space: nowrap;
1011
- }
1012
-
1013
- .ui-widget-overlay {
1014
- z-index: 1000;
1015
- }
1016
-
1017
- .color-white {
1018
- color: #FFF !important;
1019
- }
1020
-
1021
- .custom-checkbox > label {
1022
- cursor: pointer;
1023
- }
1024
-
1025
- /* <animations */
1026
-
1027
- .fade-in-top {
1028
- animation: fadeInTop 0.2s ease-in-out;
1029
- }
1030
-
1031
- .fade-out-top {
1032
- animation: fadeOutTop 0.2s ease-in-out;
1033
- }
1034
-
1035
- .abp-collapsed-height {
1036
- -moz-transition: max-height linear 0.35s;
1037
- -ms-transition: max-height linear 0.35s;
1038
- -o-transition: max-height linear 0.35s;
1039
- -webkit-transition: max-height linear 0.35s;
1040
- overflow:hidden;
1041
- transition:max-height 0.35s linear;
1042
- height:auto;
1043
- max-height: 0;
1044
- }
1045
-
1046
- .abp-mh-25 {
1047
- max-height: 25vh;
1048
- }
1049
-
1050
- .abp-mh-50 {
1051
- transition:max-height 0.65s linear;
1052
- max-height: 50vh;
1053
- }
1054
-
1055
- .abp-mh-75 {
1056
- transition:max-height 0.85s linear;
1057
- max-height: 75vh;
1058
- }
1059
-
1060
- .abp-mh-100 {
1061
- transition:max-height 1s linear;
1062
- max-height: 100vh;
1063
- }
1064
-
1065
- [class^="sorting"] {
1066
- opacity: .3;
1067
- cursor: pointer;
1068
- }
1069
- [class^="sorting"]:before {
1070
- right: 0.5rem;
1071
- content: "↑";
1072
- }
1073
- [class^="sorting"]:after {
1074
- right: 0.5rem;
1075
- content: "↓";
1076
- }
1077
-
1078
- .sorting_desc {
1079
- opacity: 1;
1080
- }
1081
- .sorting_desc:before {
1082
- opacity: .3;
1083
- }
1084
-
1085
- .sorting_asc {
1086
- opacity: 1;
1087
- }
1088
- .sorting_asc:after {
1089
- opacity: .3;
1090
- }
1091
- .ngx-datatable.material {
1092
- box-shadow: none;
1093
- }
1094
- ngb-typeahead-window, ngb-typeahead-window.dropdown-menu {
1095
- max-height: 25em;
1096
- overflow-y: scroll !important;
1097
- z-index: 1050;
1098
- }
1099
-
1100
- @keyframes fadeInTop {
1101
- from {
1102
- transform: translateY(-5px);
1103
- opacity: 0;
1104
- }
1105
-
1106
- to {
1107
- transform: translateY(0px);
1108
- opacity: 1;
1109
- }
1110
- }
1111
-
1112
- @keyframes fadeOutTop {
1113
- to {
1114
- transform: translateY(-5px);
1115
- opacity: 0;
1116
- }
1117
- }
1118
-
1119
- /* </animations */
1120
-
1121
- `;
1122
- const BOOTSTRAP = 'bootstrap-{{dir}}.min.css';
1123
-
1124
943
  const DEFAULT_VALIDATION_BLUEPRINTS = {
1125
944
  creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
1126
945
  email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
@@ -1440,6 +1259,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
1440
1259
  type: Input
1441
1260
  }] } });
1442
1261
 
1262
+ class DocumentDirHandlerService {
1263
+ constructor(injector) {
1264
+ this.injector = injector;
1265
+ this.dir = new BehaviorSubject('ltr');
1266
+ this.dir$ = this.dir.asObservable();
1267
+ this.listenToLanguageChanges();
1268
+ }
1269
+ listenToLanguageChanges() {
1270
+ const l10n = this.injector.get(LocalizationService);
1271
+ // will always listen, no need to unsubscribe
1272
+ l10n.languageChange$
1273
+ .pipe(startWith(l10n.currentLang), map(locale => getLocaleDirection(locale)))
1274
+ .subscribe(dir => {
1275
+ this.dir.next(dir);
1276
+ this.setBodyDir(dir);
1277
+ });
1278
+ }
1279
+ setBodyDir(dir) {
1280
+ document.body.dir = dir;
1281
+ document.dir = dir;
1282
+ }
1283
+ }
1284
+ DocumentDirHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1285
+ DocumentDirHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService });
1286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
1287
+ type: Injectable
1288
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1289
+
1443
1290
  function httpErrorConfigFactory(config = {}) {
1444
1291
  if (config.errorScreen && config.errorScreen.component && !config.errorScreen.forWhichErrors) {
1445
1292
  config.errorScreen.forWhichErrors = [401, 403, 404, 500];
@@ -1720,91 +1567,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
1720
1567
  args: [{ providedIn: 'root' }]
1721
1568
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1722
1569
 
1723
- const LAZY_STYLES = new InjectionToken('LAZY_STYLES');
1724
-
1725
- class LazyStyleHandler {
1726
- constructor(injector) {
1727
- this._dir = 'ltr';
1728
- this.loaded = new Map();
1729
- this.setStyles(injector);
1730
- this.setLazyLoad(injector);
1731
- this.listenToLanguageChanges(injector);
1732
- }
1733
- set dir(dir) {
1734
- if (dir === this._dir)
1735
- return;
1736
- this.switchCSS(dir);
1737
- this.setBodyDir(dir);
1738
- this._dir = dir;
1739
- }
1740
- get dir() {
1741
- return this._dir;
1742
- }
1743
- getHrefFromLink(link) {
1744
- if (!link)
1745
- return '';
1746
- const a = document.createElement('a');
1747
- a.href = link.href;
1748
- return a.pathname.replace(/^\//, '');
1749
- }
1750
- getLoadedBootstrap() {
1751
- const href = createLazyStyleHref(BOOTSTRAP, this.dir);
1752
- const selector = `[href*="${href.replace(/\.css$/, '')}"]`;
1753
- const link = document.querySelector(selector);
1754
- return { href, link };
1755
- }
1756
- listenToLanguageChanges(injector) {
1757
- const l10n = injector.get(LocalizationService);
1758
- // will always listen, no need to unsubscribe
1759
- l10n.languageChange$.pipe(startWith(l10n.currentLang)).subscribe(locale => {
1760
- this.dir = getLocaleDirection(locale);
1761
- });
1762
- }
1763
- setBodyDir(dir) {
1764
- document.body.dir = dir;
1765
- }
1766
- setLazyLoad(injector) {
1767
- this.lazyLoad = injector.get(LazyLoadService);
1768
- const { href, link } = this.getLoadedBootstrap();
1769
- this.lazyLoad.loaded.set(href, link);
1770
- }
1771
- setStyles(injector) {
1772
- this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);
1773
- }
1774
- switchCSS(dir) {
1775
- this.styles.forEach(style => {
1776
- const oldHref = createLazyStyleHref(style, this.dir);
1777
- const newHref = createLazyStyleHref(style, dir);
1778
- const link = this.loaded.get(newHref);
1779
- const href = this.getHrefFromLink(link) || newHref;
1780
- const strategy = LOADING_STRATEGY.PrependAnonymousStyleToHead(href);
1781
- this.lazyLoad.load(strategy).subscribe(() => {
1782
- const oldLink = this.lazyLoad.loaded.get(oldHref);
1783
- this.loaded.delete(newHref);
1784
- this.loaded.set(oldHref, oldLink);
1785
- const newLink = this.lazyLoad.loaded.get(href);
1786
- this.lazyLoad.loaded.delete(href);
1787
- this.lazyLoad.loaded.set(newHref, newLink);
1788
- this.lazyLoad.remove(oldHref);
1789
- });
1790
- });
1791
- }
1792
- }
1793
- LazyStyleHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyStyleHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1794
- LazyStyleHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyStyleHandler, providedIn: 'root' });
1795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyStyleHandler, decorators: [{
1796
- type: Injectable,
1797
- args: [{
1798
- providedIn: 'root',
1799
- }]
1800
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1801
- function createLazyStyleHref(style, dir) {
1802
- return style.replace(/{{\s*dir\s*}}/g, dir);
1803
- }
1804
- function initLazyStyleHandler(injector) {
1805
- return () => new LazyStyleHandler(injector);
1806
- }
1807
-
1808
1570
  class NavItem {
1809
1571
  constructor(props) {
1810
1572
  props = Object.assign(Object.assign({}, props), { visible: props.visible || (() => true) });
@@ -2010,6 +1772,188 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
2010
1772
  }]
2011
1773
  }], ctorParameters: function () { return [{ type: i2.ContentProjectionService }]; } });
2012
1774
 
1775
+ var styles = `
1776
+ .is-invalid .form-control {
1777
+ border-color: #dc3545;
1778
+ border-style: solid !important;
1779
+ padding-right: calc(1.5em + .75rem);
1780
+ background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
1781
+ background-repeat: no-repeat;
1782
+ background-position: right calc(.375em + .1875rem) center;
1783
+ background-size: calc(.75em + .375rem) calc(.75em + .375rem);
1784
+ }
1785
+
1786
+ .is-invalid .invalid-feedback,
1787
+ .is-invalid + * .invalid-feedback {
1788
+ display: block;
1789
+ }
1790
+
1791
+ .data-tables-filter {
1792
+ text-align: right;
1793
+ }
1794
+
1795
+ [dir=rtl] .data-tables-filter {
1796
+ text-align: left;
1797
+ }
1798
+
1799
+ .pointer {
1800
+ cursor: pointer;
1801
+ }
1802
+
1803
+ .navbar .dropdown-submenu a::after {
1804
+ transform: rotate(-90deg);
1805
+ position: absolute;
1806
+ right: 16px;
1807
+ top: 18px;
1808
+ }
1809
+
1810
+ .navbar .dropdown-menu {
1811
+ min-width: 215px;
1812
+ }
1813
+
1814
+ .datatable-scroll {
1815
+ margin-bottom: 5px !important;
1816
+ width: unset !important;
1817
+ }
1818
+
1819
+ .ui-table-scrollable-body::-webkit-scrollbar {
1820
+ height: 5px !important;
1821
+ width: 5px !important;
1822
+ }
1823
+
1824
+ .ui-table-scrollable-body::-webkit-scrollbar-track {
1825
+ background: #ddd;
1826
+ }
1827
+
1828
+ .ui-table-scrollable-body::-webkit-scrollbar-thumb {
1829
+ background: #8a8686;
1830
+ }
1831
+
1832
+ .abp-ellipsis-inline {
1833
+ display: inline-block;
1834
+ overflow: hidden;
1835
+ text-overflow: ellipsis;
1836
+ white-space: nowrap;
1837
+ }
1838
+
1839
+ .abp-ellipsis {
1840
+ overflow: hidden !important;
1841
+ text-overflow: ellipsis;
1842
+ white-space: nowrap;
1843
+ }
1844
+
1845
+ .ui-widget-overlay {
1846
+ z-index: 1000;
1847
+ }
1848
+
1849
+ .color-white {
1850
+ color: #FFF !important;
1851
+ }
1852
+
1853
+ .custom-checkbox > label {
1854
+ cursor: pointer;
1855
+ }
1856
+
1857
+ /* <animations */
1858
+
1859
+ .fade-in-top {
1860
+ animation: fadeInTop 0.2s ease-in-out;
1861
+ }
1862
+
1863
+ .fade-out-top {
1864
+ animation: fadeOutTop 0.2s ease-in-out;
1865
+ }
1866
+
1867
+ .abp-collapsed-height {
1868
+ -moz-transition: max-height linear 0.35s;
1869
+ -ms-transition: max-height linear 0.35s;
1870
+ -o-transition: max-height linear 0.35s;
1871
+ -webkit-transition: max-height linear 0.35s;
1872
+ overflow:hidden;
1873
+ transition:max-height 0.35s linear;
1874
+ height:auto;
1875
+ max-height: 0;
1876
+ }
1877
+
1878
+ .abp-mh-25 {
1879
+ max-height: 25vh;
1880
+ }
1881
+
1882
+ .abp-mh-50 {
1883
+ transition:max-height 0.65s linear;
1884
+ max-height: 50vh;
1885
+ }
1886
+
1887
+ .abp-mh-75 {
1888
+ transition:max-height 0.85s linear;
1889
+ max-height: 75vh;
1890
+ }
1891
+
1892
+ .abp-mh-100 {
1893
+ transition:max-height 1s linear;
1894
+ max-height: 100vh;
1895
+ }
1896
+
1897
+ [class^="sorting"] {
1898
+ opacity: .3;
1899
+ cursor: pointer;
1900
+ }
1901
+ [class^="sorting"]:before {
1902
+ right: 0.5rem;
1903
+ content: "↑";
1904
+ }
1905
+ [class^="sorting"]:after {
1906
+ right: 0.5rem;
1907
+ content: "↓";
1908
+ }
1909
+
1910
+ .sorting_desc {
1911
+ opacity: 1;
1912
+ }
1913
+ .sorting_desc:before {
1914
+ opacity: .3;
1915
+ }
1916
+
1917
+ .sorting_asc {
1918
+ opacity: 1;
1919
+ }
1920
+ .sorting_asc:after {
1921
+ opacity: .3;
1922
+ }
1923
+ .ngx-datatable.material {
1924
+ box-shadow: none;
1925
+ }
1926
+ ngb-typeahead-window, ngb-typeahead-window.dropdown-menu {
1927
+ max-height: 25em;
1928
+ overflow-y: scroll !important;
1929
+ z-index: 1050;
1930
+ }
1931
+
1932
+ @keyframes fadeInTop {
1933
+ from {
1934
+ transform: translateY(-5px);
1935
+ opacity: 0;
1936
+ }
1937
+
1938
+ to {
1939
+ transform: translateY(0px);
1940
+ opacity: 1;
1941
+ }
1942
+ }
1943
+
1944
+ @keyframes fadeOutTop {
1945
+ to {
1946
+ transform: translateY(-5px);
1947
+ opacity: 0;
1948
+ }
1949
+ }
1950
+
1951
+ /* </animations */
1952
+ .ngb-dp-body {
1953
+ z-index: 1055 !important;
1954
+ }
1955
+ `;
1956
+
2013
1957
  const THEME_SHARED_APPEND_CONTENT = new InjectionToken('THEME_SHARED_APPEND_CONTENT', {
2014
1958
  providedIn: 'root',
2015
1959
  factory: () => {
@@ -2163,12 +2107,6 @@ class ThemeSharedModule {
2163
2107
  deps: [THEME_SHARED_APPEND_CONTENT],
2164
2108
  useFactory: noop,
2165
2109
  },
2166
- {
2167
- provide: APP_INITIALIZER,
2168
- multi: true,
2169
- deps: [Injector],
2170
- useFactory: initLazyStyleHandler,
2171
- },
2172
2110
  { provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },
2173
2111
  {
2174
2112
  provide: 'HTTP_ERROR_CONFIG',
@@ -2189,6 +2127,13 @@ class ThemeSharedModule {
2189
2127
  provide: VALIDATION_VALIDATE_ON_SUBMIT,
2190
2128
  useValue: validation.validateOnSubmit,
2191
2129
  },
2130
+ DocumentDirHandlerService,
2131
+ {
2132
+ provide: APP_INITIALIZER,
2133
+ useFactory: noop,
2134
+ multi: true,
2135
+ deps: [DocumentDirHandlerService],
2136
+ },
2192
2137
  ],
2193
2138
  };
2194
2139
  }
@@ -2242,5 +2187,5 @@ function getRuleFn(injector) {
2242
2187
  * Generated bundle index. Do not edit.
2243
2188
  */
2244
2189
 
2245
- export { BOOTSTRAP, BaseThemeSharedModule, BreadcrumbComponent, BreadcrumbItemsComponent, ButtonComponent, Confirmation, ConfirmationComponent, ConfirmationService, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, DEFAULT_VALIDATION_BLUEPRINTS, DateParserFormatter, EllipsisDirective, EllipsisModule, ErrorHandler, HTTP_ERROR_CONFIG, HTTP_ERROR_HANDLER, HttpErrorWrapperComponent, LAZY_STYLES, LazyStyleHandler, LoaderBarComponent, LoadingComponent, LoadingDirective, ModalCloseDirective, ModalComponent, ModalRefService, NGX_DATATABLE_MESSAGES, NG_BOOTSTRAP_CONFIG_PROVIDERS, NavItem, NavItemsService, NgxDatatableDefaultDirective, NgxDatatableListDirective, PageAlertService, SUPPRESS_UNSAVED_CHANGES_WARNING, THEME_SHARED_APPEND_CONTENT, THEME_SHARED_ROUTE_PROVIDERS, ThemeSharedModule, ToastComponent, ToastContainerComponent, ToasterService, bounceIn, collapse, collapseLinearWithMargin, collapseWithMargin, collapseX, collapseY, collapseYWithMargin, configureNgBootstrap, configureRoutes, createLazyStyleHref, defaultNgxDatatableMessages, dialogAnimation, expandX, expandY, expandYWithMargin, fadeAnimation, fadeIn, fadeInDown, fadeInLeft, fadeInRight, fadeInUp, fadeOut, fadeOutDown, fadeOutLeft, fadeOutRight, fadeOutUp, getPasswordValidators, httpErrorConfigFactory, initLazyStyleHandler, slideFromBottom, toastInOut };
2190
+ export { BaseThemeSharedModule, BreadcrumbComponent, BreadcrumbItemsComponent, ButtonComponent, Confirmation, ConfirmationComponent, ConfirmationService, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, DEFAULT_VALIDATION_BLUEPRINTS, DateParserFormatter, DocumentDirHandlerService, EllipsisDirective, EllipsisModule, ErrorHandler, HTTP_ERROR_CONFIG, HTTP_ERROR_HANDLER, HttpErrorWrapperComponent, LoaderBarComponent, LoadingComponent, LoadingDirective, ModalCloseDirective, ModalComponent, ModalRefService, NGX_DATATABLE_MESSAGES, NG_BOOTSTRAP_CONFIG_PROVIDERS, NavItem, NavItemsService, NgxDatatableDefaultDirective, NgxDatatableListDirective, PageAlertService, SUPPRESS_UNSAVED_CHANGES_WARNING, THEME_SHARED_APPEND_CONTENT, THEME_SHARED_ROUTE_PROVIDERS, ThemeSharedModule, ToastComponent, ToastContainerComponent, ToasterService, bounceIn, collapse, collapseLinearWithMargin, collapseWithMargin, collapseX, collapseY, collapseYWithMargin, configureNgBootstrap, configureRoutes, defaultNgxDatatableMessages, dialogAnimation, expandX, expandY, expandYWithMargin, fadeAnimation, fadeIn, fadeInDown, fadeInLeft, fadeInRight, fadeInUp, fadeOut, fadeOutDown, fadeOutLeft, fadeOutRight, fadeOutUp, getPasswordValidators, httpErrorConfigFactory, slideFromBottom, toastInOut };
2246
2191
  //# sourceMappingURL=abp-ng.theme.shared.js.map