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

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 (47) hide show
  1. package/bundles/abp-ng.theme.shared-extensions.umd.js +4 -4
  2. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
  3. package/bundles/abp-ng.theme.shared.umd.js +44 -110
  4. package/bundles/abp-ng.theme.shared.umd.js.map +1 -1
  5. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js +1 -1
  6. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js.map +1 -1
  7. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +1 -1
  8. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js.map +1 -1
  9. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +1 -1
  10. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js.map +1 -1
  11. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +1 -1
  12. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js.map +1 -1
  13. package/esm2015/lib/components/button/button.component.js +2 -2
  14. package/esm2015/lib/components/button/button.component.js.map +1 -1
  15. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +1 -1
  16. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js.map +1 -1
  17. package/esm2015/lib/components/modal/modal.component.js +1 -1
  18. package/esm2015/lib/components/modal/modal.component.js.map +1 -1
  19. package/esm2015/lib/constants/styles.js +3 -2
  20. package/esm2015/lib/constants/styles.js.map +1 -1
  21. package/esm2015/lib/handlers/document-dir.handler.js +33 -0
  22. package/esm2015/lib/handlers/document-dir.handler.js.map +1 -0
  23. package/esm2015/lib/handlers/index.js +1 -1
  24. package/esm2015/lib/handlers/index.js.map +1 -1
  25. package/esm2015/lib/theme-shared.module.js +10 -9
  26. package/esm2015/lib/theme-shared.module.js.map +1 -1
  27. package/esm2015/lib/tokens/index.js +0 -1
  28. package/esm2015/lib/tokens/index.js.map +1 -1
  29. package/esm2015/public-api.js +0 -1
  30. package/esm2015/public-api.js.map +1 -1
  31. package/fesm2015/abp-ng.theme.shared-extensions.js +4 -4
  32. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  33. package/fesm2015/abp-ng.theme.shared.js +225 -280
  34. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  35. package/lib/constants/styles.d.ts +1 -2
  36. package/lib/handlers/document-dir.handler.d.ts +13 -0
  37. package/lib/handlers/index.d.ts +1 -1
  38. package/lib/tokens/index.d.ts +0 -1
  39. package/package.json +4 -4
  40. package/public-api.d.ts +0 -1
  41. package/esm2015/lib/handlers/lazy-style.handler.js +0 -89
  42. package/esm2015/lib/handlers/lazy-style.handler.js.map +0 -1
  43. package/esm2015/lib/tokens/lazy-styles.token.js +0 -3
  44. package/esm2015/lib/tokens/lazy-styles.token.js.map +0 -1
  45. package/lib/handlers/lazy-style.handler.d.ts +0 -23
  46. package/lib/tokens/lazy-styles.token.d.ts +0 -2
  47. package/styles/bootstrap-rtl.min.css +0 -7
@@ -572,12 +572,12 @@
572
572
  return ButtonComponent;
573
573
  }());
574
574
  ButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ButtonComponent, deps: [{ token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
575
- ButtonComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <button\n #button\n [id]=\"buttonId\"\n [attr.type]=\"buttonType\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"loading || disabled\"\n (click.stop)=\"click.next($event); abpClick.next($event)\"\n (focus)=\"focus.next($event); abpFocus.next($event)\"\n (blur)=\"blur.next($event); abpBlur.next($event)\"\n >\n <i [ngClass]=\"icon\" class=\"mr-1\"></i><ng-content></ng-content>\n </button>\n ", isInline: true, directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] });
575
+ ButtonComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <button\n #button\n [id]=\"buttonId\"\n [attr.type]=\"buttonType\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"loading || disabled\"\n (click.stop)=\"click.next($event); abpClick.next($event)\"\n (focus)=\"focus.next($event); abpFocus.next($event)\"\n (blur)=\"blur.next($event); abpBlur.next($event)\"\n >\n <i [ngClass]=\"icon\" class=\"me-1\"></i><ng-content></ng-content>\n </button>\n ", isInline: true, directives: [{ type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] });
576
576
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ButtonComponent, decorators: [{
577
577
  type: i0.Component,
578
578
  args: [{
579
579
  selector: 'abp-button',
580
- template: "\n <button\n #button\n [id]=\"buttonId\"\n [attr.type]=\"buttonType\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"loading || disabled\"\n (click.stop)=\"click.next($event); abpClick.next($event)\"\n (focus)=\"focus.next($event); abpFocus.next($event)\"\n (blur)=\"blur.next($event); abpBlur.next($event)\"\n >\n <i [ngClass]=\"icon\" class=\"mr-1\"></i><ng-content></ng-content>\n </button>\n ",
580
+ template: "\n <button\n #button\n [id]=\"buttonId\"\n [attr.type]=\"buttonType\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"loading || disabled\"\n (click.stop)=\"click.next($event); abpClick.next($event)\"\n (focus)=\"focus.next($event); abpFocus.next($event)\"\n (blur)=\"blur.next($event); abpBlur.next($event)\"\n >\n <i [ngClass]=\"icon\" class=\"me-1\"></i><ng-content></ng-content>\n </button>\n ",
581
581
  }]
582
582
  }], ctorParameters: function () { return [{ type: i0__namespace.Renderer2 }]; }, propDecorators: { buttonId: [{
583
583
  type: i0.Input
@@ -704,7 +704,7 @@
704
704
  return HttpErrorWrapperComponent;
705
705
  }());
706
706
  HttpErrorWrapperComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: HttpErrorWrapperComponent, deps: [{ token: i2__namespace.SubscriptionService }], target: i0__namespace.ɵɵFactoryTarget.Component });
707
- HttpErrorWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [i2.SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0__namespace, 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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i2__namespace.LocalizationPipe } });
707
+ HttpErrorWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [i2.SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0__namespace, 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 me-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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i2__namespace.LocalizationPipe } });
708
708
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: HttpErrorWrapperComponent, decorators: [{
709
709
  type: i0.Component,
710
710
  args: [{
@@ -1082,7 +1082,7 @@
1082
1082
  return ModalComponent;
1083
1083
  }());
1084
1084
  ModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ModalComponent, deps: [{ token: ConfirmationService }, { token: i2__namespace.SubscriptionService }, { token: SUPPRESS_UNSAVED_CHANGES_WARNING, optional: true }, { token: i3__namespace.NgbModal }, { token: ModalRefService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1085
- ModalComponent.ɵcmp = i0__namespace.ɵɵ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: [i2.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__namespace, 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__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1085
+ ModalComponent.ɵcmp = i0__namespace.ɵɵ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: [i2.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__namespace, 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=\"btn-sm btn-close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\"\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__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1086
1086
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ModalComponent, decorators: [{
1087
1087
  type: i0.Component,
1088
1088
  args: [{
@@ -1269,9 +1269,6 @@
1269
1269
  type: i0.Input
1270
1270
  }] } });
1271
1271
 
1272
- var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n padding-right: calc(1.5em + .75rem);\n 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);\n background-repeat: no-repeat;\n background-position: right calc(.375em + .1875rem) center;\n background-size: calc(.75em + .375rem) calc(.75em + .375rem);\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n[dir=rtl] .data-tables-filter {\n text-align: left;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.datatable-scroll {\n margin-bottom: 5px !important;\n width: unset !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar {\n height: 5px !important;\n width: 5px !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-track {\n background: #ddd;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-thumb {\n background: #8a8686;\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ui-widget-overlay {\n z-index: 1000;\n}\n\n.color-white {\n color: #FFF !important;\n}\n\n.custom-checkbox > label {\n cursor: pointer;\n}\n\n/* <animations */\n\n.fade-in-top {\n animation: fadeInTop 0.2s ease-in-out;\n}\n\n.fade-out-top {\n animation: fadeOutTop 0.2s ease-in-out;\n}\n\n.abp-collapsed-height {\n -moz-transition: max-height linear 0.35s;\n -ms-transition: max-height linear 0.35s;\n -o-transition: max-height linear 0.35s;\n -webkit-transition: max-height linear 0.35s;\n overflow:hidden;\n transition:max-height 0.35s linear;\n height:auto;\n max-height: 0;\n}\n\n.abp-mh-25 {\n max-height: 25vh;\n}\n\n.abp-mh-50 {\n transition:max-height 0.65s linear;\n max-height: 50vh;\n}\n\n.abp-mh-75 {\n transition:max-height 0.85s linear;\n max-height: 75vh;\n}\n\n.abp-mh-100 {\n transition:max-height 1s linear;\n max-height: 100vh;\n}\n\n[class^=\"sorting\"] {\n opacity: .3;\n cursor: pointer;\n}\n[class^=\"sorting\"]:before {\n right: 0.5rem;\n content: \"\u2191\";\n}\n[class^=\"sorting\"]:after {\n right: 0.5rem;\n content: \"\u2193\";\n}\n\n.sorting_desc {\n opacity: 1;\n}\n.sorting_desc:before {\n opacity: .3;\n}\n\n.sorting_asc {\n opacity: 1;\n}\n.sorting_asc:after {\n opacity: .3;\n}\n.ngx-datatable.material {\n box-shadow: none;\n}\nngb-typeahead-window, ngb-typeahead-window.dropdown-menu {\n max-height: 25em;\n overflow-y: scroll !important;\n z-index: 1050;\n}\n\n@keyframes fadeInTop {\n from {\n transform: translateY(-5px);\n opacity: 0;\n }\n\n to {\n transform: translateY(0px);\n opacity: 1;\n }\n}\n\n@keyframes fadeOutTop {\n to {\n transform: translateY(-5px);\n opacity: 0;\n }\n}\n\n/* </animations */\n\n";
1273
- var BOOTSTRAP = 'bootstrap-{{dir}}.min.css';
1274
-
1275
1272
  var DEFAULT_VALIDATION_BLUEPRINTS = {
1276
1273
  creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
1277
1274
  email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
@@ -1630,6 +1627,36 @@
1630
1627
  type: i0.Input
1631
1628
  }] } });
1632
1629
 
1630
+ var DocumentDirHandlerService = /** @class */ (function () {
1631
+ function DocumentDirHandlerService(injector) {
1632
+ this.injector = injector;
1633
+ this.dir = new rxjs.BehaviorSubject('ltr');
1634
+ this.dir$ = this.dir.asObservable();
1635
+ this.listenToLanguageChanges();
1636
+ }
1637
+ DocumentDirHandlerService.prototype.listenToLanguageChanges = function () {
1638
+ var _this = this;
1639
+ var l10n = this.injector.get(i2.LocalizationService);
1640
+ // will always listen, no need to unsubscribe
1641
+ l10n.languageChange$
1642
+ .pipe(operators.startWith(l10n.currentLang), operators.map(function (locale) { return i2.getLocaleDirection(locale); }))
1643
+ .subscribe(function (dir) {
1644
+ _this.dir.next(dir);
1645
+ _this.setBodyDir(dir);
1646
+ });
1647
+ };
1648
+ DocumentDirHandlerService.prototype.setBodyDir = function (dir) {
1649
+ document.body.dir = dir;
1650
+ document.dir = dir;
1651
+ };
1652
+ return DocumentDirHandlerService;
1653
+ }());
1654
+ DocumentDirHandlerService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DocumentDirHandlerService, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1655
+ DocumentDirHandlerService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DocumentDirHandlerService });
1656
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DocumentDirHandlerService, decorators: [{
1657
+ type: i0.Injectable
1658
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
1659
+
1633
1660
  function httpErrorConfigFactory(config) {
1634
1661
  if (config === void 0) { config = {}; }
1635
1662
  if (config.errorScreen && config.errorScreen.component && !config.errorScreen.forWhichErrors) {
@@ -1918,98 +1945,6 @@
1918
1945
  args: [{ providedIn: 'root' }]
1919
1946
  }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
1920
1947
 
1921
- var LAZY_STYLES = new i0.InjectionToken('LAZY_STYLES');
1922
-
1923
- var LazyStyleHandler = /** @class */ (function () {
1924
- function LazyStyleHandler(injector) {
1925
- this._dir = 'ltr';
1926
- this.loaded = new Map();
1927
- this.setStyles(injector);
1928
- this.setLazyLoad(injector);
1929
- this.listenToLanguageChanges(injector);
1930
- }
1931
- Object.defineProperty(LazyStyleHandler.prototype, "dir", {
1932
- get: function () {
1933
- return this._dir;
1934
- },
1935
- set: function (dir) {
1936
- if (dir === this._dir)
1937
- return;
1938
- this.switchCSS(dir);
1939
- this.setBodyDir(dir);
1940
- this._dir = dir;
1941
- },
1942
- enumerable: false,
1943
- configurable: true
1944
- });
1945
- LazyStyleHandler.prototype.getHrefFromLink = function (link) {
1946
- if (!link)
1947
- return '';
1948
- var a = document.createElement('a');
1949
- a.href = link.href;
1950
- return a.pathname.replace(/^\//, '');
1951
- };
1952
- LazyStyleHandler.prototype.getLoadedBootstrap = function () {
1953
- var href = createLazyStyleHref(BOOTSTRAP, this.dir);
1954
- var selector = "[href*=\"" + href.replace(/\.css$/, '') + "\"]";
1955
- var link = document.querySelector(selector);
1956
- return { href: href, link: link };
1957
- };
1958
- LazyStyleHandler.prototype.listenToLanguageChanges = function (injector) {
1959
- var _this = this;
1960
- var l10n = injector.get(i2.LocalizationService);
1961
- // will always listen, no need to unsubscribe
1962
- l10n.languageChange$.pipe(operators.startWith(l10n.currentLang)).subscribe(function (locale) {
1963
- _this.dir = i2.getLocaleDirection(locale);
1964
- });
1965
- };
1966
- LazyStyleHandler.prototype.setBodyDir = function (dir) {
1967
- document.body.dir = dir;
1968
- };
1969
- LazyStyleHandler.prototype.setLazyLoad = function (injector) {
1970
- this.lazyLoad = injector.get(i2.LazyLoadService);
1971
- var _a = this.getLoadedBootstrap(), href = _a.href, link = _a.link;
1972
- this.lazyLoad.loaded.set(href, link);
1973
- };
1974
- LazyStyleHandler.prototype.setStyles = function (injector) {
1975
- this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);
1976
- };
1977
- LazyStyleHandler.prototype.switchCSS = function (dir) {
1978
- var _this = this;
1979
- this.styles.forEach(function (style) {
1980
- var oldHref = createLazyStyleHref(style, _this.dir);
1981
- var newHref = createLazyStyleHref(style, dir);
1982
- var link = _this.loaded.get(newHref);
1983
- var href = _this.getHrefFromLink(link) || newHref;
1984
- var strategy = i2.LOADING_STRATEGY.PrependAnonymousStyleToHead(href);
1985
- _this.lazyLoad.load(strategy).subscribe(function () {
1986
- var oldLink = _this.lazyLoad.loaded.get(oldHref);
1987
- _this.loaded.delete(newHref);
1988
- _this.loaded.set(oldHref, oldLink);
1989
- var newLink = _this.lazyLoad.loaded.get(href);
1990
- _this.lazyLoad.loaded.delete(href);
1991
- _this.lazyLoad.loaded.set(newHref, newLink);
1992
- _this.lazyLoad.remove(oldHref);
1993
- });
1994
- });
1995
- };
1996
- return LazyStyleHandler;
1997
- }());
1998
- LazyStyleHandler.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: LazyStyleHandler, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1999
- LazyStyleHandler.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: LazyStyleHandler, providedIn: 'root' });
2000
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: LazyStyleHandler, decorators: [{
2001
- type: i0.Injectable,
2002
- args: [{
2003
- providedIn: 'root',
2004
- }]
2005
- }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
2006
- function createLazyStyleHref(style, dir) {
2007
- return style.replace(/{{\s*dir\s*}}/g, dir);
2008
- }
2009
- function initLazyStyleHandler(injector) {
2010
- return function () { return new LazyStyleHandler(injector); };
2011
- }
2012
-
2013
1948
  var NavItem = /** @class */ (function () {
2014
1949
  function NavItem(props) {
2015
1950
  props = Object.assign(Object.assign({}, props), { visible: props.visible || (function () { return true; }) });
@@ -2231,6 +2166,8 @@
2231
2166
  }]
2232
2167
  }], ctorParameters: function () { return [{ type: i2__namespace.ContentProjectionService }]; } });
2233
2168
 
2169
+ var styles = "\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n padding-right: calc(1.5em + .75rem);\n 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);\n background-repeat: no-repeat;\n background-position: right calc(.375em + .1875rem) center;\n background-size: calc(.75em + .375rem) calc(.75em + .375rem);\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n[dir=rtl] .data-tables-filter {\n text-align: left;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.datatable-scroll {\n margin-bottom: 5px !important;\n width: unset !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar {\n height: 5px !important;\n width: 5px !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-track {\n background: #ddd;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-thumb {\n background: #8a8686;\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ui-widget-overlay {\n z-index: 1000;\n}\n\n.color-white {\n color: #FFF !important;\n}\n\n.custom-checkbox > label {\n cursor: pointer;\n}\n\n/* <animations */\n\n.fade-in-top {\n animation: fadeInTop 0.2s ease-in-out;\n}\n\n.fade-out-top {\n animation: fadeOutTop 0.2s ease-in-out;\n}\n\n.abp-collapsed-height {\n -moz-transition: max-height linear 0.35s;\n -ms-transition: max-height linear 0.35s;\n -o-transition: max-height linear 0.35s;\n -webkit-transition: max-height linear 0.35s;\n overflow:hidden;\n transition:max-height 0.35s linear;\n height:auto;\n max-height: 0;\n}\n\n.abp-mh-25 {\n max-height: 25vh;\n}\n\n.abp-mh-50 {\n transition:max-height 0.65s linear;\n max-height: 50vh;\n}\n\n.abp-mh-75 {\n transition:max-height 0.85s linear;\n max-height: 75vh;\n}\n\n.abp-mh-100 {\n transition:max-height 1s linear;\n max-height: 100vh;\n}\n\n[class^=\"sorting\"] {\n opacity: .3;\n cursor: pointer;\n}\n[class^=\"sorting\"]:before {\n right: 0.5rem;\n content: \"\u2191\";\n}\n[class^=\"sorting\"]:after {\n right: 0.5rem;\n content: \"\u2193\";\n}\n\n.sorting_desc {\n opacity: 1;\n}\n.sorting_desc:before {\n opacity: .3;\n}\n\n.sorting_asc {\n opacity: 1;\n}\n.sorting_asc:after {\n opacity: .3;\n}\n.ngx-datatable.material {\n box-shadow: none;\n}\nngb-typeahead-window, ngb-typeahead-window.dropdown-menu {\n max-height: 25em;\n overflow-y: scroll !important;\n z-index: 1050;\n}\n\n@keyframes fadeInTop {\n from {\n transform: translateY(-5px);\n opacity: 0;\n }\n\n to {\n transform: translateY(0px);\n opacity: 1;\n }\n}\n\n@keyframes fadeOutTop {\n to {\n transform: translateY(-5px);\n opacity: 0;\n }\n}\n\n/* </animations */\n.ngb-dp-body {\n z-index: 1055 !important;\n}\n";
2170
+
2234
2171
  var THEME_SHARED_APPEND_CONTENT = new i0.InjectionToken('THEME_SHARED_APPEND_CONTENT', {
2235
2172
  providedIn: 'root',
2236
2173
  factory: function () {
@@ -2395,12 +2332,6 @@
2395
2332
  deps: [THEME_SHARED_APPEND_CONTENT],
2396
2333
  useFactory: i2.noop,
2397
2334
  },
2398
- {
2399
- provide: i0.APP_INITIALIZER,
2400
- multi: true,
2401
- deps: [i0.Injector],
2402
- useFactory: initLazyStyleHandler,
2403
- },
2404
2335
  { provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },
2405
2336
  {
2406
2337
  provide: 'HTTP_ERROR_CONFIG',
@@ -2421,6 +2352,13 @@
2421
2352
  provide: core.VALIDATION_VALIDATE_ON_SUBMIT,
2422
2353
  useValue: validation.validateOnSubmit,
2423
2354
  },
2355
+ DocumentDirHandlerService,
2356
+ {
2357
+ provide: i0.APP_INITIALIZER,
2358
+ useFactory: i2.noop,
2359
+ multi: true,
2360
+ deps: [DocumentDirHandlerService],
2361
+ },
2424
2362
  ],
2425
2363
  };
2426
2364
  };
@@ -2475,7 +2413,6 @@
2475
2413
  * Generated bundle index. Do not edit.
2476
2414
  */
2477
2415
 
2478
- exports.BOOTSTRAP = BOOTSTRAP;
2479
2416
  exports.BaseThemeSharedModule = BaseThemeSharedModule;
2480
2417
  exports.BreadcrumbComponent = BreadcrumbComponent;
2481
2418
  exports.BreadcrumbItemsComponent = BreadcrumbItemsComponent;
@@ -2486,14 +2423,13 @@
2486
2423
  exports.DEFAULT_ERROR_MESSAGES = DEFAULT_ERROR_MESSAGES;
2487
2424
  exports.DEFAULT_VALIDATION_BLUEPRINTS = DEFAULT_VALIDATION_BLUEPRINTS;
2488
2425
  exports.DateParserFormatter = DateParserFormatter;
2426
+ exports.DocumentDirHandlerService = DocumentDirHandlerService;
2489
2427
  exports.EllipsisDirective = EllipsisDirective;
2490
2428
  exports.EllipsisModule = EllipsisModule;
2491
2429
  exports.ErrorHandler = ErrorHandler;
2492
2430
  exports.HTTP_ERROR_CONFIG = HTTP_ERROR_CONFIG;
2493
2431
  exports.HTTP_ERROR_HANDLER = HTTP_ERROR_HANDLER;
2494
2432
  exports.HttpErrorWrapperComponent = HttpErrorWrapperComponent;
2495
- exports.LAZY_STYLES = LAZY_STYLES;
2496
- exports.LazyStyleHandler = LazyStyleHandler;
2497
2433
  exports.LoaderBarComponent = LoaderBarComponent;
2498
2434
  exports.LoadingComponent = LoadingComponent;
2499
2435
  exports.LoadingDirective = LoadingDirective;
@@ -2523,7 +2459,6 @@
2523
2459
  exports.collapseYWithMargin = collapseYWithMargin;
2524
2460
  exports.configureNgBootstrap = configureNgBootstrap;
2525
2461
  exports.configureRoutes = configureRoutes;
2526
- exports.createLazyStyleHref = createLazyStyleHref;
2527
2462
  exports.defaultNgxDatatableMessages = defaultNgxDatatableMessages;
2528
2463
  exports.dialogAnimation = dialogAnimation;
2529
2464
  exports.expandX = expandX;
@@ -2542,7 +2477,6 @@
2542
2477
  exports.fadeOutUp = fadeOutUp;
2543
2478
  exports.getPasswordValidators = getPasswordValidators;
2544
2479
  exports.httpErrorConfigFactory = httpErrorConfigFactory;
2545
- exports.initLazyStyleHandler = initLazyStyleHandler;
2546
2480
  exports.slideFromBottom = slideFromBottom;
2547
2481
  exports.toastInOut = toastInOut;
2548
2482