@abp/ng.theme.shared 9.0.4 → 9.1.0-rc.2

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 (111) hide show
  1. package/fesm2022/abp-ng.theme.shared-testing.mjs +5 -5
  2. package/fesm2022/abp-ng.theme.shared.mjs +240 -240
  3. package/fesm2022/abp-ng.theme.shared.mjs.map +1 -1
  4. package/lib/providers/ng-bootstrap-config.provider.d.ts +2 -8
  5. package/lib/providers/route.provider.d.ts +2 -8
  6. package/lib/services/abstract-menu.service.d.ts +3 -1
  7. package/lib/services/toaster.service.d.ts +3 -3
  8. package/package.json +3 -7
  9. package/esm2022/abp-ng.theme.shared.mjs +0 -5
  10. package/esm2022/lib/adapters/date-time.adapter.mjs +0 -46
  11. package/esm2022/lib/adapters/date.adapter.mjs +0 -41
  12. package/esm2022/lib/adapters/index.mjs +0 -4
  13. package/esm2022/lib/adapters/time.adapter.mjs +0 -37
  14. package/esm2022/lib/animations/bounce.animations.mjs +0 -17
  15. package/esm2022/lib/animations/collapse.animations.mjs +0 -50
  16. package/esm2022/lib/animations/fade.animations.mjs +0 -38
  17. package/esm2022/lib/animations/index.mjs +0 -7
  18. package/esm2022/lib/animations/modal.animations.mjs +0 -11
  19. package/esm2022/lib/animations/slide.animations.mjs +0 -8
  20. package/esm2022/lib/animations/toast.animations.mjs +0 -13
  21. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
  22. package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
  23. package/esm2022/lib/components/button/button.component.mjs +0 -102
  24. package/esm2022/lib/components/card/card-body.component.mjs +0 -29
  25. package/esm2022/lib/components/card/card-footer.component.mjs +0 -30
  26. package/esm2022/lib/components/card/card-header.component.mjs +0 -30
  27. package/esm2022/lib/components/card/card-header.directive.mjs +0 -19
  28. package/esm2022/lib/components/card/card-img-top.directive.mjs +0 -19
  29. package/esm2022/lib/components/card/card-subtitle.directive.mjs +0 -19
  30. package/esm2022/lib/components/card/card-title.directive.mjs +0 -19
  31. package/esm2022/lib/components/card/card.component.mjs +0 -23
  32. package/esm2022/lib/components/card/card.module.mjs +0 -49
  33. package/esm2022/lib/components/card/index.mjs +0 -10
  34. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -92
  35. package/esm2022/lib/components/confirmation/confirmation.component.mjs +0 -45
  36. package/esm2022/lib/components/form-input/form-input.component.mjs +0 -98
  37. package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -75
  38. package/esm2022/lib/components/index.mjs +0 -19
  39. package/esm2022/lib/components/internet-connection-status/internet-connection-status.component.mjs +0 -42
  40. package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +0 -121
  41. package/esm2022/lib/components/loading/loading.component.mjs +0 -19
  42. package/esm2022/lib/components/modal/modal-close.directive.mjs +0 -27
  43. package/esm2022/lib/components/modal/modal-ref.service.mjs +0 -26
  44. package/esm2022/lib/components/modal/modal.component.mjs +0 -141
  45. package/esm2022/lib/components/password/password.component.mjs +0 -39
  46. package/esm2022/lib/components/spinner/spinner.component.mjs +0 -27
  47. package/esm2022/lib/components/toast/toast.component.mjs +0 -59
  48. package/esm2022/lib/components/toast-container/toast-container.component.mjs +0 -57
  49. package/esm2022/lib/constants/default-errors.mjs +0 -64
  50. package/esm2022/lib/constants/index.mjs +0 -5
  51. package/esm2022/lib/constants/scripts.mjs +0 -2
  52. package/esm2022/lib/constants/styles.mjs +0 -187
  53. package/esm2022/lib/constants/validation.mjs +0 -21
  54. package/esm2022/lib/directives/disabled.directive.mjs +0 -30
  55. package/esm2022/lib/directives/ellipsis.directive.mjs +0 -52
  56. package/esm2022/lib/directives/index.mjs +0 -7
  57. package/esm2022/lib/directives/loading.directive.mjs +0 -89
  58. package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +0 -76
  59. package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +0 -151
  60. package/esm2022/lib/directives/visible.directive.mjs +0 -63
  61. package/esm2022/lib/enums/form.mjs +0 -6
  62. package/esm2022/lib/enums/index.mjs +0 -3
  63. package/esm2022/lib/enums/route-names.mjs +0 -2
  64. package/esm2022/lib/handlers/document-dir.handler.mjs +0 -31
  65. package/esm2022/lib/handlers/error.handler.mjs +0 -81
  66. package/esm2022/lib/handlers/index.mjs +0 -3
  67. package/esm2022/lib/models/common.mjs +0 -2
  68. package/esm2022/lib/models/confirmation.mjs +0 -10
  69. package/esm2022/lib/models/index.mjs +0 -8
  70. package/esm2022/lib/models/nav-item.mjs +0 -6
  71. package/esm2022/lib/models/statistics.mjs +0 -2
  72. package/esm2022/lib/models/toaster.mjs +0 -2
  73. package/esm2022/lib/models/user-menu.mjs +0 -4
  74. package/esm2022/lib/models/validation.mjs +0 -2
  75. package/esm2022/lib/providers/error-handlers.provider.mjs +0 -30
  76. package/esm2022/lib/providers/index.mjs +0 -6
  77. package/esm2022/lib/providers/ng-bootstrap-config.provider.mjs +0 -17
  78. package/esm2022/lib/providers/route.provider.mjs +0 -18
  79. package/esm2022/lib/providers/tenant-not-found.provider.mjs +0 -19
  80. package/esm2022/lib/providers/theme-shared-config.provider.mjs +0 -117
  81. package/esm2022/lib/services/abp-format-error-handler.service.mjs +0 -45
  82. package/esm2022/lib/services/abstract-menu.service.mjs +0 -49
  83. package/esm2022/lib/services/authentication-error-handler.service.mjs +0 -29
  84. package/esm2022/lib/services/confirmation.service.mjs +0 -68
  85. package/esm2022/lib/services/create-error-component.service.mjs +0 -79
  86. package/esm2022/lib/services/index.mjs +0 -13
  87. package/esm2022/lib/services/nav-items.service.mjs +0 -17
  88. package/esm2022/lib/services/page-alert.service.mjs +0 -28
  89. package/esm2022/lib/services/router-error-handler.service.mjs +0 -44
  90. package/esm2022/lib/services/status-code-error-handler.service.mjs +0 -84
  91. package/esm2022/lib/services/tenant-resolve-error-handler.service.mjs +0 -29
  92. package/esm2022/lib/services/toaster.service.mjs +0 -103
  93. package/esm2022/lib/services/unknown-status-code-error-handler.service.mjs +0 -36
  94. package/esm2022/lib/services/user-menu.service.mjs +0 -17
  95. package/esm2022/lib/theme-shared.module.mjs +0 -151
  96. package/esm2022/lib/tokens/append-content.token.mjs +0 -11
  97. package/esm2022/lib/tokens/confirmation-icons.token.mjs +0 -11
  98. package/esm2022/lib/tokens/http-error.token.mjs +0 -8
  99. package/esm2022/lib/tokens/index.mjs +0 -6
  100. package/esm2022/lib/tokens/ngx-datatable-messages.token.mjs +0 -9
  101. package/esm2022/lib/tokens/suppress-unsaved-changes-warning.token.mjs +0 -3
  102. package/esm2022/lib/utils/date-parser-formatter.mjs +0 -58
  103. package/esm2022/lib/utils/error.utils.mjs +0 -25
  104. package/esm2022/lib/utils/index.mjs +0 -4
  105. package/esm2022/lib/utils/validation-utils.mjs +0 -62
  106. package/esm2022/public-api.mjs +0 -17
  107. package/esm2022/testing/abp-ng.theme.shared-testing.mjs +0 -5
  108. package/esm2022/testing/lib/models/config.mjs +0 -2
  109. package/esm2022/testing/lib/models/index.mjs +0 -2
  110. package/esm2022/testing/lib/theme-shared-testing.module.mjs +0 -46
  111. package/esm2022/testing/public-api.mjs +0 -4
@@ -1,141 +0,0 @@
1
- import { SubscriptionService, uuid } from '@abp/ng.core';
2
- import { Component, DestroyRef, contentChild, effect, inject, input, model, output, viewChild, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
5
- import { fromEvent } from 'rxjs';
6
- import { debounceTime, filter } from 'rxjs/operators';
7
- import { Confirmation } from '../../models/confirmation';
8
- import { ConfirmationService } from '../../services/confirmation.service';
9
- import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens/suppress-unsaved-changes-warning.token';
10
- import { ButtonComponent } from '../button/button.component';
11
- import { ModalRefService } from './modal-ref.service';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- export class ModalComponent {
15
- get modalWindowRef() {
16
- return document.querySelector(`ngb-modal-window.${this.modalIdentifier}`);
17
- }
18
- get isFormDirty() {
19
- return Boolean(this.modalWindowRef?.querySelector('.ng-dirty'));
20
- }
21
- constructor() {
22
- this.confirmationService = inject(ConfirmationService);
23
- this.modal = inject(NgbModal);
24
- this.modalRefService = inject(ModalRefService);
25
- this.suppressUnsavedChangesWarningToken = inject(SUPPRESS_UNSAVED_CHANGES_WARNING, {
26
- optional: true,
27
- });
28
- this.destroyRef = inject(DestroyRef);
29
- this.visible = model(false);
30
- this.busy = input(false, {
31
- transform: (value) => {
32
- if (this.abpSubmit() && this.abpSubmit() instanceof ButtonComponent) {
33
- this.abpSubmit().loading = value;
34
- }
35
- return value;
36
- },
37
- });
38
- this.options = input({ keyboard: true });
39
- this.suppressUnsavedChangesWarning = input(this.suppressUnsavedChangesWarningToken);
40
- this.modalContent = viewChild('modalContent');
41
- this.abpHeader = contentChild('abpHeader');
42
- this.abpBody = contentChild('abpBody');
43
- this.abpFooter = contentChild('abpFooter');
44
- this.abpSubmit = contentChild(ButtonComponent, { read: ButtonComponent });
45
- this.init = output();
46
- this.appear = output();
47
- this.disappear = output();
48
- this.isConfirmationOpen = false;
49
- this.modalIdentifier = `modal-${uuid()}`;
50
- effect(() => {
51
- this.toggle(this.visible());
52
- });
53
- }
54
- ngOnInit() {
55
- this.modalRefService.register(this);
56
- }
57
- dismiss(mode) {
58
- switch (mode) {
59
- case 'hard':
60
- this.visible.set(false);
61
- break;
62
- case 'soft':
63
- this.close();
64
- break;
65
- default:
66
- break;
67
- }
68
- }
69
- toggle(value) {
70
- this.visible.set(value);
71
- if (!value) {
72
- this.modalRef?.dismiss();
73
- this.disappear.emit();
74
- return;
75
- }
76
- setTimeout(() => this.listen(), 0);
77
- this.modalRef = this.modal.open(this.modalContent(), {
78
- size: 'md',
79
- centered: false,
80
- keyboard: false,
81
- scrollable: true,
82
- beforeDismiss: () => {
83
- if (!this.visible())
84
- return true;
85
- this.close();
86
- return !this.visible();
87
- },
88
- ...this.options(),
89
- windowClass: `${this.options().windowClass || ''} ${this.modalIdentifier}`,
90
- });
91
- this.appear.emit();
92
- }
93
- ngOnDestroy() {
94
- this.modalRefService.unregister(this);
95
- this.toggle(false);
96
- }
97
- close() {
98
- if (this.busy())
99
- return;
100
- if (this.isFormDirty && !this.suppressUnsavedChangesWarning()) {
101
- if (this.isConfirmationOpen)
102
- return;
103
- this.isConfirmationOpen = true;
104
- this.confirmationService
105
- .warn('AbpUi::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpUi::AreYouSure', {
106
- dismissible: false,
107
- })
108
- .subscribe((status) => {
109
- this.isConfirmationOpen = false;
110
- if (status === Confirmation.Status.confirm) {
111
- this.visible.set(false);
112
- }
113
- });
114
- }
115
- else {
116
- this.visible.set(false);
117
- }
118
- }
119
- listen() {
120
- if (this.modalWindowRef) {
121
- fromEvent(this.modalWindowRef, 'keyup')
122
- .pipe(takeUntilDestroyed(this.destroyRef), debounceTime(150), filter((key) => key && key.key === 'Escape' && this.options().keyboard))
123
- .subscribe(() => this.close());
124
- }
125
- fromEvent(window, 'beforeunload')
126
- .pipe(takeUntilDestroyed(this.destroyRef))
127
- .subscribe(event => {
128
- if (this.isFormDirty && !this.suppressUnsavedChangesWarning()) {
129
- event.preventDefault();
130
- }
131
- });
132
- this.init.emit();
133
- }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: ModalComponent, selector: "abp-modal", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, busy: { classPropertyName: "busy", publicName: "busy", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, suppressUnsavedChangesWarning: { classPropertyName: "suppressUnsavedChangesWarning", publicName: "suppressUnsavedChangesWarning", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true, isSignal: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true, isSignal: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true, isSignal: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent, isSignal: true }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<ng-template #modalContent let-modal>\r\n @if (abpHeader()) {\r\n <div id=\"abp-modal-header\" class=\"modal-header abp-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 }\r\n @if (abpBody()) {\r\n <div id=\"abp-modal-body\" class=\"modal-body\">\r\n <ng-container *ngTemplateOutlet=\"abpBody()\"></ng-container>\r\n </div>\r\n }\r\n @if (abpFooter()) {\r\n <div id=\"abp-modal-footer\" class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"abpFooter()\"></ng-container>\r\n </div>\r\n }\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"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ModalComponent, decorators: [{
138
- type: Component,
139
- args: [{ selector: 'abp-modal', providers: [SubscriptionService], template: "<ng-content></ng-content>\r\n\r\n<ng-template #modalContent let-modal>\r\n @if (abpHeader()) {\r\n <div id=\"abp-modal-header\" class=\"modal-header abp-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 }\r\n @if (abpBody()) {\r\n <div id=\"abp-modal-body\" class=\"modal-body\">\r\n <ng-container *ngTemplateOutlet=\"abpBody()\"></ng-container>\r\n </div>\r\n }\r\n @if (abpFooter()) {\r\n <div id=\"abp-modal-footer\" class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"abpFooter()\"></ng-container>\r\n </div>\r\n }\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"] }]
140
- }], ctorParameters: () => [] });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBSVYsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFzQyxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBVTFGLE1BQU0sT0FBTyxjQUFjO0lBOEN6QixJQUFJLGNBQWM7UUFDaEIsT0FBTyxR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QUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxDQUFDO2dCQUM5RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDOzhHQXhKVSxjQUFjO2tHQUFkLGNBQWMsZ3NCQUZkLENBQUMsbUJBQW1CLENBQUMsd1hBa0NQLGVBQWUsMkJBQVUsZUFBZSwyS0NqRW5FLHMyQkEyQkE7OzJGRE1hLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyxhQUdWLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25TZXJ2aWNlLCB1dWlkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRGVzdHJveVJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIGNvbnRlbnRDaGlsZCxcclxuICBlZmZlY3QsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIG1vZGVsLFxyXG4gIG91dHB1dCxcclxuICB2aWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsT3B0aW9ucywgTmdiTW9kYWxSZWYgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNVUFBSRVNTX1VOU0FWRURfQ0hBTkdFU19XQVJOSU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3N1cHByZXNzLXVuc2F2ZWQtY2hhbmdlcy13YXJuaW5nLnRva2VuJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaXNtaXNzYWJsZU1vZGFsLCBNb2RhbERpc21pc3NNb2RlLCBNb2RhbFJlZlNlcnZpY2UgfSBmcm9tICcuL21vZGFsLXJlZi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGFsU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRGlzbWlzc2FibGVNb2RhbCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2UgPSBpbmplY3QoQ29uZmlybWF0aW9uU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGFsID0gaW5qZWN0KE5nYk1vZGFsKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kYWxSZWZTZXJ2aWNlID0gaW5qZWN0KE1vZGFsUmVmU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nVG9rZW4gPSBpbmplY3QoU1VQUFJFU1NfVU5TQVZFRF9DSEFOR0VTX1dBUk5JTkcsIHtcclxuICAgIG9wdGlvbmFsOiB0cnVlLFxyXG4gIH0pO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICB2aXNpYmxlID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBidXN5ID0gaW5wdXQoZmFsc2UsIHtcclxuICAgIHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmFicFN1Ym1pdCgpICYmIHRoaXMuYWJwU3VibWl0KCkgaW5zdGFuY2VvZiBCdXR0b25Db21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLmFicFN1Ym1pdCgpLmxvYWRpbmcgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9LFxyXG4gIH0pO1xyXG5cclxuICBvcHRpb25zID0gaW5wdXQ8TmdiTW9kYWxPcHRpb25zPih7IGtleWJvYXJkOiB0cnVlIH0pO1xyXG5cclxuICBzdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZyA9IGlucHV0KHRoaXMuc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmdUb2tlbik7XHJcblxyXG4gIG1vZGFsQ29udGVudCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignbW9kYWxDb250ZW50Jyk7XHJcblxyXG4gIGFicEhlYWRlciA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignYWJwSGVhZGVyJyk7XHJcblxyXG4gIGFicEJvZHkgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ2FicEJvZHknKTtcclxuXHJcbiAgYWJwRm9vdGVyID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdhYnBGb290ZXInKTtcclxuXHJcbiAgYWJwU3VibWl0ID0gY29udGVudENoaWxkKEJ1dHRvbkNvbXBvbmVudCwgeyByZWFkOiBCdXR0b25Db21wb25lbnQgfSk7XHJcblxyXG4gIHJlYWRvbmx5IGluaXQgPSBvdXRwdXQoKTtcclxuXHJcbiAgcmVhZG9ubHkgYXBwZWFyID0gb3V0cHV0KCk7XHJcblxyXG4gIHJlYWRvbmx5IGRpc2FwcGVhciA9IG91dHB1dCgpO1xyXG5cclxuICBtb2RhbFJlZiE6IE5nYk1vZGFsUmVmO1xyXG5cclxuICBpc0NvbmZpcm1hdGlvbk9wZW4gPSBmYWxzZTtcclxuXHJcbiAgbW9kYWxJZGVudGlmaWVyID0gYG1vZGFsLSR7dXVpZCgpfWA7XHJcblxyXG4gIGdldCBtb2RhbFdpbmRvd1JlZigpIHtcclxuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBuZ2ItbW9kYWwtd2luZG93LiR7dGhpcy5tb2RhbElkZW50aWZpZXJ9YCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNGb3JtRGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLm1vZGFsV2luZG93UmVmPy5xdWVyeVNlbGVjdG9yKCcubmctZGlydHknKSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudG9nZ2xlKHRoaXMudmlzaWJsZSgpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGFsUmVmU2VydmljZS5yZWdpc3Rlcih0aGlzKTtcclxuICB9XHJcblxyXG4gIGRpc21pc3MobW9kZTogTW9kYWxEaXNtaXNzTW9kZSkge1xyXG4gICAgc3dpdGNoIChtb2RlKSB7XHJcbiAgICAgIGNhc2UgJ2hhcmQnOlxyXG4gICAgICAgIHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzb2Z0JzpcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdG9nZ2xlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnZpc2libGUuc2V0KHZhbHVlKTtcclxuXHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMubW9kYWxSZWY/LmRpc21pc3MoKTtcclxuICAgICAgdGhpcy5kaXNhcHBlYXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmxpc3RlbigpLCAwKTtcclxuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsLm9wZW4odGhpcy5tb2RhbENvbnRlbnQoKSwge1xyXG4gICAgICBzaXplOiAnbWQnLFxyXG4gICAgICBjZW50ZXJlZDogZmFsc2UsXHJcbiAgICAgIGtleWJvYXJkOiBmYWxzZSxcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgICAgYmVmb3JlRGlzbWlzczogKCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy52aXNpYmxlKCkpIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLnZpc2libGUoKTtcclxuICAgICAgfSxcclxuICAgICAgLi4udGhpcy5vcHRpb25zKCksXHJcbiAgICAgIHdpbmRvd0NsYXNzOiBgJHt0aGlzLm9wdGlvbnMoKS53aW5kb3dDbGFzcyB8fCAnJ30gJHt0aGlzLm1vZGFsSWRlbnRpZmllcn1gLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcHBlYXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGFsUmVmU2VydmljZS51bnJlZ2lzdGVyKHRoaXMpO1xyXG4gICAgdGhpcy50b2dnbGUoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5idXN5KCkpIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5pc0Zvcm1EaXJ0eSAmJiAhdGhpcy5zdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZygpKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQ29uZmlybWF0aW9uT3BlbikgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbk9wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgICAud2FybignQWJwVWk6OkFyZVlvdVN1cmVZb3VXYW50VG9DYW5jZWxFZGl0aW5nV2FybmluZ01lc3NhZ2UnLCAnQWJwVWk6OkFyZVlvdVN1cmUnLCB7XHJcbiAgICAgICAgICBkaXNtaXNzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25PcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlLnNldChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpc3RlbigpIHtcclxuICAgIGlmICh0aGlzLm1vZGFsV2luZG93UmVmKSB7XHJcbiAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLm1vZGFsV2luZG93UmVmLCAna2V5dXAnKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcclxuICAgICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5vcHRpb25zKCkua2V5Ym9hcmQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JlZm9yZXVubG9hZCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICBpZiAodGhpcy5pc0Zvcm1EaXJ0eSAmJiAhdGhpcy5zdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZygpKSB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5pbml0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQgbGV0LW1vZGFsPlxyXG4gIEBpZiAoYWJwSGVhZGVyKCkpIHtcclxuICAgIDxkaXYgaWQ9XCJhYnAtbW9kYWwtaGVhZGVyXCIgY2xhc3M9XCJtb2RhbC1oZWFkZXIgYWJwLW1vZGFsLWhlYWRlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJwSGVhZGVyKClcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAg4oCLXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBpZD1cImFicC1tb2RhbC1jbG9zZS1idXR0b25cIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuLXNtIGJ0bi1jbG9zZVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcclxuICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoYWJwQm9keSgpKSB7XHJcbiAgICA8ZGl2IGlkPVwiYWJwLW1vZGFsLWJvZHlcIiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFicEJvZHkoKVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoYWJwRm9vdGVyKCkpIHtcclxuICAgIDxkaXYgaWQ9XCJhYnAtbW9kYWwtZm9vdGVyXCIgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFicEZvb3RlcigpXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { AbstractNgModelComponent } from '@abp/ng.core';
3
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { CommonModule } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- /**
9
- * @deprecated use ShowPasswordDirective directive
10
- * https://abp.io/docs/latest/framework/ui/angular/show-password-directive
11
- */
12
- export class PasswordComponent extends AbstractNgModelComponent {
13
- toggleFieldTextType() {
14
- this.fieldTextType = !this.fieldTextType;
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: PasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: PasswordComponent, isStandalone: true, selector: "abp-password", inputs: { inputId: "inputId", formControlName: "formControlName" }, providers: [
18
- {
19
- provide: NG_VALUE_ACCESSOR,
20
- useExisting: forwardRef(() => PasswordComponent),
21
- multi: true,
22
- },
23
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [ngClass]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: PasswordComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'abp-password', standalone: true, imports: [CommonModule, FormsModule], providers: [
28
- {
29
- provide: NG_VALUE_ACCESSOR,
30
- useExisting: forwardRef(() => PasswordComponent),
31
- multi: true,
32
- },
33
- ], template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [ngClass]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n" }]
34
- }], propDecorators: { inputId: [{
35
- type: Input
36
- }], formControlName: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUUvQzs7O0dBR0c7QUFjSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsd0JBQXdCO0lBSzdELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDOzhHQVBVLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtIQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENwQkgscWdCQW1CQSwyQ0RQWSxZQUFZLDRIQUFFLFdBQVc7OzJGQVV4QixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsYUFFekI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgdXNlIFNob3dQYXNzd29yZERpcmVjdGl2ZSBkaXJlY3RpdmUgXHJcbiAqIGh0dHBzOi8vYWJwLmlvL2RvY3MvbGF0ZXN0L2ZyYW1ld29yay91aS9hbmd1bGFyL3Nob3ctcGFzc3dvcmQtZGlyZWN0aXZlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1wYXNzd29yZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6IGAuL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXNzd29yZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaW5wdXRJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWUhOiBzdHJpbmc7XHJcbiAgZmllbGRUZXh0VHlwZT86IGJvb2xlYW47XHJcblxyXG4gIHRvZ2dsZUZpZWxkVGV4dFR5cGUoKSB7XHJcbiAgICB0aGlzLmZpZWxkVGV4dFR5cGUgPSAhdGhpcy5maWVsZFRleHRUeXBlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gIDxpbnB1dFxyXG4gICAgW3R5cGVdPVwiZmllbGRUZXh0VHlwZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxyXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgW2lkXT1cImlucHV0SWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgLz5cclxuXHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVGaWVsZFRleHRUeXBlKClcIj5cclxuICAgIDxpXHJcbiAgICAgIGNsYXNzPVwiZmFcIlxyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2ZhLWV5ZS1zbGFzaCc6ICFmaWVsZFRleHRUeXBlLFxyXG4gICAgICAgICdmYS1leWUnOiBmaWVsZFRleHRUeXBlXHJcbiAgICAgIH1cIlxyXG4gICAgPjwvaT5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SpinnerComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SpinnerComponent, isStandalone: true, selector: "abp-spinner", ngImport: i0, template: `
6
- <div class="d-flex justify-content-center align-items-center border-top" style="height: 62px">
7
- <div class="spinner-border" role="status" id="loading">
8
- <span class="visually-hidden">Loading...</span>
9
- </div>
10
- </div>
11
- `, isInline: true }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SpinnerComponent, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'abp-spinner',
17
- standalone: true,
18
- template: `
19
- <div class="d-flex justify-content-center align-items-center border-top" style="height: 62px">
20
- <div class="spinner-border" role="status" id="loading">
21
- <span class="visually-hidden">Loading...</span>
22
- </div>
23
- </div>
24
- `,
25
- }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhMUMsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsdUVBUmpCOzs7Ozs7R0FNVDs7MkZBRVUsZ0JBQWdCO2tCQVg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7R0FNVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtc3Bpbm5lcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBib3JkZXItdG9wXCIgc3R5bGU9XCJoZWlnaHQ6IDYycHhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiIGlkPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TG9hZGluZy4uLjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCB7fVxyXG4iXX0=
@@ -1,59 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@abp/ng.core";
5
- export class ToastComponent {
6
- constructor() {
7
- this.remove = new EventEmitter();
8
- }
9
- get severityClass() {
10
- if (!this.toast || !this.toast.severity)
11
- return '';
12
- return `abp-toast-${this.toast.severity}`;
13
- }
14
- get iconClass() {
15
- const { iconClass } = this.toast.options || {};
16
- if (iconClass) {
17
- return iconClass;
18
- }
19
- switch (this.toast.severity) {
20
- case 'success':
21
- return 'bi-check';
22
- case 'info':
23
- return 'bi-info-circle';
24
- case 'warning':
25
- return 'bi-exclamation-triangle';
26
- case 'error':
27
- return 'bi-shield-exclamation';
28
- default:
29
- return 'bi-exclamation-triangle';
30
- }
31
- }
32
- ngOnInit() {
33
- const { sticky, life } = this.toast.options || {};
34
- if (sticky)
35
- return;
36
- const timeout = life || 5000;
37
- setTimeout(() => {
38
- this.close();
39
- }, timeout);
40
- }
41
- close() {
42
- this.remove.emit(this.toast.options?.id);
43
- }
44
- tap() {
45
- if (this.toast.options?.tapToDismiss)
46
- this.close();
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", 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=\"bi icon\" [ngClass]=\"iconClass\" aria-hidden=\"true\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n @if (toast.options?.closable) {\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\">\r\n <i class=\"bi bi-x fs-4\" aria-hidden=\"true\"></i>\r\n </button>\r\n }\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:35px 1fr;gap:5px;margin:5px 0;padding:7px;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;color:#fff;border-radius:8px;font-size:14px;box-shadow:0 0 20px #4c577d05;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid rgb(227.25,227.25,227.25);background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #4fbf67;background-color:#4fbf67;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid rgb(65.2,179.3,89.65);background-color:#41b35a;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #438aa7;background-color:#438aa7;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid rgb(59.6987179487,122.9615384615,148.8012820513);background-color:#3c7b95;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #ff9f38;background-color:#ff9f38;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid rgb(255,146.6984924623,30.5);background-color:#ff931f;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #c00d49;background-color:#c00d49;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid rgb(168.1170731707,11.3829268293,63.9195121951);background-color:#a80b40;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:32px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;flex-direction:column;word-break:break-word;padding-bottom:2px}.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:100%;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"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ToastComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'abp-toast', template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"bi icon\" [ngClass]=\"iconClass\" aria-hidden=\"true\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n @if (toast.options?.closable) {\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\">\r\n <i class=\"bi bi-x fs-4\" aria-hidden=\"true\"></i>\r\n </button>\r\n }\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:35px 1fr;gap:5px;margin:5px 0;padding:7px;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;color:#fff;border-radius:8px;font-size:14px;box-shadow:0 0 20px #4c577d05;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid rgb(227.25,227.25,227.25);background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #4fbf67;background-color:#4fbf67;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid rgb(65.2,179.3,89.65);background-color:#41b35a;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #438aa7;background-color:#438aa7;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid rgb(59.6987179487,122.9615384615,148.8012820513);background-color:#3c7b95;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #ff9f38;background-color:#ff9f38;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid rgb(255,146.6984924623,30.5);background-color:#ff931f;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #c00d49;background-color:#c00d49;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid rgb(168.1170731707,11.3829268293,63.9195121951);background-color:#a80b40;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:32px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;flex-direction:column;word-break:break-word;padding-bottom:2px}.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:100%;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"] }]
54
- }], propDecorators: { toast: [{
55
- type: Input
56
- }], remove: [{
57
- type: Output
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFTWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTZDL0M7SUEzQ0MsSUFBSSxhQUFhO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRCxPQUFPLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUUvQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyxTQUFTO2dCQUNaLE9BQU8seUJBQXlCLENBQUM7WUFDbkMsS0FBSyxPQUFPO2dCQUNWLE9BQU8sdUJBQXVCLENBQUM7WUFDakM7Z0JBQ0UsT0FBTyx5QkFBeUIsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU07WUFBRSxPQUFPO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVk7WUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckQsQ0FBQzs4R0FoRFUsY0FBYztrR0FBZCxjQUFjLDRHQ1AzQiwwdkJBbUJBOzsyRkRaYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7OEJBTXJCLEtBQUs7c0JBREosS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXRvYXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICB0b2FzdCE6IFRvYXN0ZXIuVG9hc3Q7XHJcblxyXG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgZ2V0IHNldmVyaXR5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy50b2FzdCB8fCAhdGhpcy50b2FzdC5zZXZlcml0eSkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGBhYnAtdG9hc3QtJHt0aGlzLnRvYXN0LnNldmVyaXR5fWA7XHJcbiAgfVxyXG5cclxuICBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGljb25DbGFzcyB9ID0gdGhpcy50b2FzdC5vcHRpb25zIHx8IHt9O1xyXG5cclxuICAgIGlmIChpY29uQ2xhc3MpIHtcclxuICAgICAgcmV0dXJuIGljb25DbGFzcztcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMudG9hc3Quc2V2ZXJpdHkpIHtcclxuICAgICAgY2FzZSAnc3VjY2Vzcyc6XHJcbiAgICAgICAgcmV0dXJuICdiaS1jaGVjayc7XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgIHJldHVybiAnYmktaW5mby1jaXJjbGUnO1xyXG4gICAgICBjYXNlICd3YXJuaW5nJzpcclxuICAgICAgICByZXR1cm4gJ2JpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIHJldHVybiAnYmktc2hpZWxkLWV4Y2xhbWF0aW9uJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ2JpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgeyBzdGlja3ksIGxpZmUgfSA9IHRoaXMudG9hc3Qub3B0aW9ucyB8fCB7fTtcclxuXHJcbiAgICBpZiAoc3RpY2t5KSByZXR1cm47XHJcbiAgICBjb25zdCB0aW1lb3V0ID0gbGlmZSB8fCA1MDAwO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH0sIHRpbWVvdXQpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLnJlbW92ZS5lbWl0KHRoaXMudG9hc3Qub3B0aW9ucz8uaWQpO1xyXG4gIH1cclxuXHJcbiAgdGFwKCkge1xyXG4gICAgaWYgKHRoaXMudG9hc3Qub3B0aW9ucz8udGFwVG9EaXNtaXNzKSB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhYnAtdG9hc3RcIiBbbmdDbGFzc109XCJzZXZlcml0eUNsYXNzXCIgKGNsaWNrKT1cInRhcCgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFicC10b2FzdC1pY29uXCI+XHJcbiAgICA8aSBjbGFzcz1cImJpIGljb25cIiBbbmdDbGFzc109XCJpY29uQ2xhc3NcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFicC10b2FzdC1jb250ZW50XCI+XHJcbiAgICBAaWYgKHRvYXN0Lm9wdGlvbnM/LmNsb3NhYmxlKSB7XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJhYnAtdG9hc3QtY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXggZnMtNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWJwLXRvYXN0LXRpdGxlXCI+XHJcbiAgICAgIHt7IHRvYXN0LnRpdGxlIHwgYWJwTG9jYWxpemF0aW9uOiB0b2FzdC5vcHRpb25zPy50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8cFxyXG4gICAgICBjbGFzcz1cImFicC10b2FzdC1tZXNzYWdlXCJcclxuICAgICAgW2lubmVySFRNTF09XCJ0b2FzdC5tZXNzYWdlIHwgYWJwTG9jYWxpemF0aW9uOiB0b2FzdC5vcHRpb25zPy5tZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zXCJcclxuICAgID48L3A+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Component, HostListener, Input } from '@angular/core';
2
- import { toastInOut } from '../../animations/toast.animations';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../toast/toast.component";
5
- export class ToastContainerComponent {
6
- constructor() {
7
- this.toasts = [];
8
- this.right = '30px';
9
- this.defaultRight = '30px';
10
- this.defaultMobileRight = '0';
11
- this.bottom = '30px';
12
- }
13
- ngOnInit() {
14
- this.setDefaultRight();
15
- this.toasts$.subscribe(toasts => {
16
- this.toasts = this.toastKey
17
- ? toasts.filter(t => {
18
- return t.options && t.options.containerKey !== this.toastKey;
19
- })
20
- : toasts;
21
- });
22
- }
23
- onWindowResize() {
24
- this.setDefaultRight();
25
- }
26
- setDefaultRight() {
27
- const screenWidth = window.innerWidth;
28
- if (screenWidth < 768 && this.right == this.defaultRight) {
29
- this.right = this.defaultMobileRight;
30
- }
31
- }
32
- trackByFunc(index, toast) {
33
- if (!toast)
34
- return null;
35
- return toast.options?.id;
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, 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 @for (toast of toasts; track toast.options?.id) {\r\n <abp-toast\r\n [toast]=\"toast\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n }\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}@media only screen and (max-width: 768px){.abp-toast-container{min-width:100%}}\n"], dependencies: [{ kind: "component", type: i1.ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], animations: [toastInOut] }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ToastContainerComponent, decorators: [{
41
- type: Component,
42
- args: [{ selector: 'abp-toast-container', animations: [toastInOut], 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 @for (toast of toasts; track toast.options?.id) {\r\n <abp-toast\r\n [toast]=\"toast\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n }\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}@media only screen and (max-width: 768px){.abp-toast-container{min-width:100%}}\n"] }]
43
- }], propDecorators: { top: [{
44
- type: Input
45
- }], right: [{
46
- type: Input
47
- }], bottom: [{
48
- type: Input
49
- }], left: [{
50
- type: Input
51
- }], toastKey: [{
52
- type: Input
53
- }], onWindowResize: [{
54
- type: HostListener,
55
- args: ['window:resize', ['$event']]
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QtY29udGFpbmVyL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBUy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFXRSxXQUFNLEdBQUcsRUFBcUIsQ0FBQztRQU0vQixVQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBR3pCLFdBQU0sR0FBRyxNQUFNLENBQUM7S0FtQ2pCO0lBM0JDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUTtnQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvRCxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELGNBQWM7UUFDWixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksV0FBVyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsS0FBb0I7UUFDN0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBbERVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDZOQ1hwQyx1ZEFnQkEsMGNEUGMsQ0FBQyxVQUFVLENBQUM7OzJGQUViLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsQ0FBQyxVQUFVLENBQUM7OEJBVXhCLEdBQUc7c0JBREYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBTU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBZU4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdG9hc3RJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvdG9hc3QuYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC10b2FzdC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFt0b2FzdEluT3V0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0b2FzdHMkITogUmVwbGF5U3ViamVjdDxUb2FzdGVyLlRvYXN0W10+O1xyXG5cclxuICByZW1vdmUhOiAodG9hc3RJZDogbnVtYmVyKSA9PiB2b2lkO1xyXG5cclxuICB0b2FzdHMgPSBbXSBhcyBUb2FzdGVyLlRvYXN0W107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG9wPzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0ID0gJzMwcHgnO1xyXG4gIGRlZmF1bHRSaWdodCA9ICczMHB4JztcclxuICBkZWZhdWx0TW9iaWxlUmlnaHQgPSAnMCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYm90dG9tID0gJzMwcHgnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxlZnQ/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG9hc3RLZXk/OiBzdHJpbmc7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0UmlnaHQoKTtcclxuICAgIHRoaXMudG9hc3RzJC5zdWJzY3JpYmUodG9hc3RzID0+IHtcclxuICAgICAgdGhpcy50b2FzdHMgPSB0aGlzLnRvYXN0S2V5XHJcbiAgICAgICAgPyB0b2FzdHMuZmlsdGVyKHQgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdC5vcHRpb25zICYmIHQub3B0aW9ucy5jb250YWluZXJLZXkgIT09IHRoaXMudG9hc3RLZXk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIDogdG9hc3RzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdFJpZ2h0KCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0UmlnaHQoKSB7XHJcbiAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgaWYgKHNjcmVlbldpZHRoIDwgNzY4ICYmIHRoaXMucmlnaHQgPT0gdGhpcy5kZWZhdWx0UmlnaHQpIHtcclxuICAgICAgdGhpcy5yaWdodCA9IHRoaXMuZGVmYXVsdE1vYmlsZVJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZ1bmMoaW5kZXg6IG51bWJlciwgdG9hc3Q6IFRvYXN0ZXIuVG9hc3QpIHtcclxuICAgIGlmICghdG9hc3QpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHRvYXN0Lm9wdGlvbnM/LmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJhYnAtdG9hc3QtY29udGFpbmVyXCJcclxuICBbc3R5bGUudG9wXT1cInRvcCB8fCAnYXV0bydcIlxyXG4gIFtzdHlsZS5yaWdodF09XCJyaWdodCB8fCAnYXV0bydcIlxyXG4gIFtzdHlsZS5ib3R0b21dPVwiYm90dG9tIHx8ICdhdXRvJ1wiXHJcbiAgW3N0eWxlLmxlZnRdPVwibGVmdCB8fCAnYXV0bydcIlxyXG4gIFtzdHlsZS5kaXNwbGF5XT1cInRvYXN0cy5sZW5ndGggPyAnZmxleCcgOiAnbm9uZSdcIlxyXG4gIFtAdG9hc3RJbk91dF09XCJ0b2FzdHMubGVuZ3RoXCJcclxuPlxyXG4gIEBmb3IgKHRvYXN0IG9mIHRvYXN0czsgdHJhY2sgdG9hc3Qub3B0aW9ucz8uaWQpIHtcclxuICAgIDxhYnAtdG9hc3RcclxuICAgICAgW3RvYXN0XT1cInRvYXN0XCJcclxuICAgICAgKHJlbW92ZSk9XCJyZW1vdmUoJGV2ZW50KVwiXHJcbiAgICA+PC9hYnAtdG9hc3Q+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -1,64 +0,0 @@
1
- export const DEFAULT_ERROR_MESSAGES = {
2
- defaultError: {
3
- title: 'An error has occurred!',
4
- details: 'Error detail not sent by server.',
5
- },
6
- defaultError401: {
7
- title: 'You are not authenticated!',
8
- details: 'You should be authenticated (sign in) in order to perform this operation.',
9
- },
10
- defaultError403: {
11
- title: 'You are not authorized!',
12
- details: 'You are not allowed to perform this operation.',
13
- },
14
- defaultError404: {
15
- title: 'Resource not found!',
16
- details: 'The resource requested could not found on the server.',
17
- },
18
- defaultError500: {
19
- title: 'Internal server error',
20
- details: 'Error detail not sent by server.',
21
- },
22
- };
23
- export const DEFAULT_ERROR_LOCALIZATIONS = {
24
- defaultError: {
25
- title: 'AbpUi::DefaultErrorMessage',
26
- details: 'AbpUi::DefaultErrorMessageDetail',
27
- },
28
- defaultError401: {
29
- title: 'AbpUi::DefaultErrorMessage401',
30
- details: 'AbpUi::DefaultErrorMessage401Detail',
31
- },
32
- defaultError403: {
33
- title: 'AbpUi::DefaultErrorMessage403',
34
- details: 'AbpUi::DefaultErrorMessage403Detail',
35
- },
36
- defaultError404: {
37
- title: 'AbpUi::DefaultErrorMessage404',
38
- details: 'AbpUi::DefaultErrorMessage404Detail',
39
- },
40
- defaultError500: {
41
- title: 'AbpUi::500Message',
42
- details: 'AbpUi::DefaultErrorMessage',
43
- },
44
- };
45
- export const CUSTOM_HTTP_ERROR_HANDLER_PRIORITY = Object.freeze({
46
- veryLow: -99,
47
- low: -9,
48
- normal: 0,
49
- high: 9,
50
- veryHigh: 99,
51
- });
52
- export const HTTP_ERROR_STATUS = {
53
- '401': 'AbpUi::401Message',
54
- '403': 'AbpUi::403Message',
55
- '404': 'AbpUi::404Message',
56
- '500': 'AbpUi::500Message',
57
- };
58
- export const HTTP_ERROR_DETAIL = {
59
- '401': 'AbpUi::DefaultErrorMessage401Detail',
60
- '403': 'AbpUi::DefaultErrorMessage403Detail',
61
- '404': 'AbpUi::DefaultErrorMessage404Detail',
62
- '500': 'AbpUi::DefaultErrorMessage',
63
- };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb25zdGFudHMvZGVmYXVsdC1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsWUFBWSxFQUFFO1FBQ1osS0FBSyxFQUFFLHdCQUF3QjtRQUMvQixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxPQUFPLEVBQUUsMkVBQTJFO0tBQ3JGO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxPQUFPLEVBQUUsZ0RBQWdEO0tBQzFEO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixPQUFPLEVBQUUsdURBQXVEO0tBQ2pFO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLHVCQUF1QjtRQUM5QixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLFlBQVksRUFBRTtRQUNaLEtBQUssRUFBRSw0QkFBNEI7UUFDbkMsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELGVBQWUsRUFBRTtRQUNmLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELE9BQU8sRUFBRSxDQUFDLEVBQUU7SUFDWixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsS0FBSyxFQUFFLG1CQUFtQjtDQUMzQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsS0FBSyxFQUFFLHFDQUFxQztJQUM1QyxLQUFLLEVBQUUscUNBQXFDO0lBQzVDLEtBQUssRUFBRSxxQ0FBcUM7SUFDNUMsS0FBSyxFQUFFLDRCQUE0QjtDQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfRVJST1JfTUVTU0FHRVMgPSB7XHJcbiAgZGVmYXVsdEVycm9yOiB7XHJcbiAgICB0aXRsZTogJ0FuIGVycm9yIGhhcyBvY2N1cnJlZCEnLFxyXG4gICAgZGV0YWlsczogJ0Vycm9yIGRldGFpbCBub3Qgc2VudCBieSBzZXJ2ZXIuJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjQwMToge1xyXG4gICAgdGl0bGU6ICdZb3UgYXJlIG5vdCBhdXRoZW50aWNhdGVkIScsXHJcbiAgICBkZXRhaWxzOiAnWW91IHNob3VsZCBiZSBhdXRoZW50aWNhdGVkIChzaWduIGluKSBpbiBvcmRlciB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uLicsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I0MDM6IHtcclxuICAgIHRpdGxlOiAnWW91IGFyZSBub3QgYXV0aG9yaXplZCEnLFxyXG4gICAgZGV0YWlsczogJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4nLFxyXG4gIH0sXHJcbiAgZGVmYXVsdEVycm9yNDA0OiB7XHJcbiAgICB0aXRsZTogJ1Jlc291cmNlIG5vdCBmb3VuZCEnLFxyXG4gICAgZGV0YWlsczogJ1RoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjUwMDoge1xyXG4gICAgdGl0bGU6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InLFxyXG4gICAgZGV0YWlsczogJ0Vycm9yIGRldGFpbCBub3Qgc2VudCBieSBzZXJ2ZXIuJyxcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUyA9IHtcclxuICBkZWZhdWx0RXJyb3I6IHtcclxuICAgIHRpdGxlOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2UnLFxyXG4gICAgZGV0YWlsczogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlRGV0YWlsJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjQwMToge1xyXG4gICAgdGl0bGU6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwMScsXHJcbiAgICBkZXRhaWxzOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2U0MDFEZXRhaWwnLFxyXG4gIH0sXHJcbiAgZGVmYXVsdEVycm9yNDAzOiB7XHJcbiAgICB0aXRsZTogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlNDAzJyxcclxuICAgIGRldGFpbHM6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwM0RldGFpbCcsXHJcbiAgfSxcclxuICBkZWZhdWx0RXJyb3I0MDQ6IHtcclxuICAgIHRpdGxlOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2U0MDQnLFxyXG4gICAgZGV0YWlsczogJ0FicFVpOjpEZWZhdWx0RXJyb3JNZXNzYWdlNDA0RGV0YWlsJyxcclxuICB9LFxyXG4gIGRlZmF1bHRFcnJvcjUwMDoge1xyXG4gICAgdGl0bGU6ICdBYnBVaTo6NTAwTWVzc2FnZScsXHJcbiAgICBkZXRhaWxzOiAnQWJwVWk6OkRlZmF1bHRFcnJvck1lc3NhZ2UnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0hUVFBfRVJST1JfSEFORExFUl9QUklPUklUWSA9IE9iamVjdC5mcmVlemUoe1xyXG4gIHZlcnlMb3c6IC05OSxcclxuICBsb3c6IC05LFxyXG4gIG5vcm1hbDogMCxcclxuICBoaWdoOiA5LFxyXG4gIHZlcnlIaWdoOiA5OSxcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgSFRUUF9FUlJPUl9TVEFUVVMgPSB7XHJcbiAgJzQwMSc6ICdBYnBVaTo6NDAxTWVzc2FnZScsXHJcbiAgJzQwMyc6ICdBYnBVaTo6NDAzTWVzc2FnZScsXHJcbiAgJzQwNCc6ICdBYnBVaTo6NDA0TWVzc2FnZScsXHJcbiAgJzUwMCc6ICdBYnBVaTo6NTAwTWVzc2FnZScsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgSFRUUF9FUlJPUl9ERVRBSUwgPSB7XHJcbiAgJzQwMSc6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwMURldGFpbCcsXHJcbiAgJzQwMyc6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwM0RldGFpbCcsXHJcbiAgJzQwNCc6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZTQwNERldGFpbCcsXHJcbiAgJzUwMCc6ICdBYnBVaTo6RGVmYXVsdEVycm9yTWVzc2FnZScsXHJcbn07XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './validation';
2
- export * from './default-errors';
3
- export * from './styles';
4
- export * from './scripts';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1lcnJvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0eWxlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cyc7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export default '';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbnN0YW50cy9zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgJyc7XHJcbiJdfQ==