monkey-front-core 0.0.27 → 0.0.31

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 (70) hide show
  1. package/bundles/monkey-front-core.umd.js +406 -201
  2. package/bundles/monkey-front-core.umd.js.map +1 -1
  3. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +3 -3
  4. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js +4 -4
  5. package/esm2015/lib/components/progress-bar/progress-bar.component.js +3 -3
  6. package/esm2015/lib/components/progress-bar/progress-bar.module.js +4 -4
  7. package/esm2015/lib/components/progress-bar/progress-bar.service.js +3 -3
  8. package/esm2015/lib/components/version-changed/version-changed.component.js +3 -3
  9. package/esm2015/lib/components/version-changed/version-changed.module.js +4 -4
  10. package/esm2015/lib/core/directives/monkeyecx-directives-module.js +4 -4
  11. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +3 -3
  12. package/esm2015/lib/core/directives/monkeyecx-format-currency.js +3 -3
  13. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +3 -3
  14. package/esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js +3 -3
  15. package/esm2015/lib/core/directives/monkeyecx-only-number-directive.js +3 -3
  16. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +3 -3
  17. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +3 -3
  18. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +3 -3
  19. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +3 -3
  20. package/esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js +4 -4
  21. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +3 -3
  22. package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +3 -3
  23. package/esm2015/lib/core/pipes/monkeyecx-display-first-name.js +3 -3
  24. package/esm2015/lib/core/pipes/monkeyecx-format-currency.js +3 -3
  25. package/esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js +3 -3
  26. package/esm2015/lib/core/pipes/monkeyecx-format-document.js +3 -3
  27. package/esm2015/lib/core/pipes/monkeyecx-format-number.js +3 -3
  28. package/esm2015/lib/core/pipes/monkeyecx-format-size.js +3 -3
  29. package/esm2015/lib/core/pipes/monkeyecx-format-type-document.js +3 -3
  30. package/esm2015/lib/core/pipes/monkeyecx-format-value.js +3 -3
  31. package/esm2015/lib/core/pipes/monkeyecx-format-zipcode.js +3 -3
  32. package/esm2015/lib/core/pipes/monkeyecx-pipes.module.js +4 -4
  33. package/esm2015/lib/core/pipes/monkeyecx-text-truncate.js +3 -3
  34. package/esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js +3 -3
  35. package/esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js +3 -3
  36. package/esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js +3 -3
  37. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +3 -3
  38. package/esm2015/lib/core/services/config/monkeyecx-config.module.js +4 -4
  39. package/esm2015/lib/core/services/config/monkeyecx-config.service.js +3 -3
  40. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +3 -3
  41. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +3 -3
  42. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +3 -3
  43. package/esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js +3 -3
  44. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +3 -3
  45. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +3 -3
  46. package/esm2015/lib/core/services/error/monkeyecx-error-handling.module.js +4 -4
  47. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +3 -3
  48. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +3 -3
  49. package/esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js +3 -3
  50. package/esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js +3 -3
  51. package/esm2015/lib/core/services/monkeyecx-handling.service.js +3 -3
  52. package/esm2015/lib/core/services/monkeyecx-service.service.js +3 -3
  53. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +3 -3
  54. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +3 -3
  55. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +3 -3
  56. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +3 -3
  57. package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +3 -3
  58. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +3 -3
  59. package/esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js +3 -3
  60. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +3 -3
  61. package/esm2015/lib/core/utils/index.js +2 -1
  62. package/esm2015/lib/core/utils/validators.js +194 -0
  63. package/esm2015/lib/monkey-front-core.module.js +4 -4
  64. package/fesm2015/monkey-front-core.js +385 -193
  65. package/fesm2015/monkey-front-core.js.map +1 -1
  66. package/lib/core/utils/index.d.ts +1 -0
  67. package/lib/core/utils/validators.d.ts +27 -0
  68. package/monkey-front-core-0.0.31.tgz +0 -0
  69. package/package.json +3 -3
  70. package/monkey-front-core-0.0.27.tgz +0 -0
@@ -0,0 +1,194 @@
1
+ import * as moment_ from 'moment';
2
+ import { MonkeyEcxUtils } from './utils';
3
+ const moment = moment_;
4
+ // eslint-disable-next-line max-len
5
+ const EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)([A-Za-z0-9_\-.])+@([A-Za-z0-9])+\.([A-Za-z]{1,61})?(\.[a-z0-9]([a-z0-9-]*[a-z0-9]{1,61})?)*$/;
6
+ function isEmptyInputValue(value) {
7
+ return value == null || value.length === 0;
8
+ }
9
+ export function emailValidator(control) {
10
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
11
+ return null;
12
+ }
13
+ const test = EMAIL_REGEXP.test(control.value);
14
+ if (test)
15
+ return null;
16
+ return {
17
+ email: true
18
+ };
19
+ }
20
+ export function dateRangeValidator(control) {
21
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
22
+ return null;
23
+ }
24
+ const dates = control.parent.get('dates').value;
25
+ if (dates &&
26
+ (!MonkeyEcxUtils.persistNullEmptyUndefined(dates === null || dates === void 0 ? void 0 : dates.startDate) ||
27
+ !MonkeyEcxUtils.persistNullEmptyUndefined(dates === null || dates === void 0 ? void 0 : dates.endDate))) {
28
+ return {
29
+ dateRange: true
30
+ };
31
+ }
32
+ return null;
33
+ }
34
+ export function registerValidator(control, type) {
35
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
36
+ return null;
37
+ }
38
+ if (control && control.value !== `#MONKEY${type}`.toUpperCase()) {
39
+ return {
40
+ invalidUnlockRegister: true
41
+ };
42
+ }
43
+ return null;
44
+ }
45
+ export function dateStartEndValidator(control) {
46
+ if (!control.parent || !control) {
47
+ return null;
48
+ }
49
+ const { parent } = control;
50
+ const valueStart = parent.get('dateStart').value;
51
+ const valueEnd = parent.get('dateEnd').value;
52
+ let dateStart;
53
+ let dateEnd;
54
+ if (valueStart) {
55
+ dateStart = new Date(valueStart);
56
+ }
57
+ if (valueEnd) {
58
+ dateEnd = new Date(valueEnd);
59
+ }
60
+ if (!dateEnd || !dateStart)
61
+ return null;
62
+ if (dateStart > dateEnd) {
63
+ return {
64
+ dateStartMustBeLessThanAnd: true
65
+ };
66
+ }
67
+ return null;
68
+ }
69
+ export function urlValidator(control) {
70
+ if (!control.parent || !control || isEmptyInputValue(control.value))
71
+ return null;
72
+ if (!MonkeyEcxUtils.isValidUrl(control.value)) {
73
+ return {
74
+ url: true
75
+ };
76
+ }
77
+ return null;
78
+ }
79
+ export function passwordConfirmValidator(control) {
80
+ if (!control.parent || !control || isEmptyInputValue(control.value))
81
+ return null;
82
+ const { parent } = control;
83
+ const password = parent.get('password').value;
84
+ const passwordConfirm = parent.get('passwordConfirm').value;
85
+ if (!password || !passwordConfirm)
86
+ return null;
87
+ if (password === passwordConfirm)
88
+ return null;
89
+ return {
90
+ passwordsNotMatching: true
91
+ };
92
+ }
93
+ export function trueValidator(control) {
94
+ if (!control.parent || !control)
95
+ return null;
96
+ if (control && control.value !== false)
97
+ return null;
98
+ return {
99
+ invalidTrue: true
100
+ };
101
+ }
102
+ export function comboValidator(control) {
103
+ if (!control.parent || !control)
104
+ return null;
105
+ if (control && control.value !== '0')
106
+ return null;
107
+ return {
108
+ invalidCombo: true
109
+ };
110
+ }
111
+ export function zipCodeValidator(control) {
112
+ if (!control.parent || !control || isEmptyInputValue(control.value))
113
+ return null;
114
+ if (control && control.value) {
115
+ if (!MonkeyEcxUtils.isValidZipCode(control.value)) {
116
+ return {
117
+ invalidZipCode: true
118
+ };
119
+ }
120
+ }
121
+ return null;
122
+ }
123
+ export function documentValidator(control, country) {
124
+ if (!control.parent || !control || isEmptyInputValue(control.value))
125
+ return null;
126
+ if (country === 'BR') {
127
+ if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
128
+ return {
129
+ invalidCpfCnpj: true
130
+ };
131
+ }
132
+ }
133
+ else if (country === 'CL') {
134
+ if (!MonkeyEcxUtils.isValidRUT(control.value)) {
135
+ return {
136
+ invalidCpfCnpj: true
137
+ };
138
+ }
139
+ }
140
+ return null;
141
+ }
142
+ export function dateValidator(control) {
143
+ if (!control.parent || !control || isEmptyInputValue(control.value))
144
+ return null;
145
+ const dateFormat = 'MM-DD-YYYY';
146
+ if (!moment(moment(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true).isValid()) {
147
+ return {
148
+ invalidDate: true
149
+ };
150
+ }
151
+ return null;
152
+ }
153
+ export class Validators {
154
+ static email(control) {
155
+ return emailValidator(control);
156
+ }
157
+ static dateRange(control) {
158
+ return dateRangeValidator(control);
159
+ }
160
+ static unlockSponsorRegister(control) {
161
+ return registerValidator(control, 'sponsor');
162
+ }
163
+ static unlockBuyerRegister(control) {
164
+ return registerValidator(control, 'buyer');
165
+ }
166
+ static dateStartEnd(control) {
167
+ return dateStartEndValidator(control);
168
+ }
169
+ static url(control) {
170
+ return urlValidator(control);
171
+ }
172
+ static passwordConfirm(control) {
173
+ return passwordConfirmValidator(control);
174
+ }
175
+ static true(control) {
176
+ return trueValidator(control);
177
+ }
178
+ static combo(control) {
179
+ return comboValidator(control);
180
+ }
181
+ static zipCode(control) {
182
+ return zipCodeValidator(control);
183
+ }
184
+ static documentBR(control) {
185
+ return documentValidator(control, 'BR');
186
+ }
187
+ static documentCL(control) {
188
+ return documentValidator(control, 'CL');
189
+ }
190
+ static date(control) {
191
+ return dateValidator(control);
192
+ }
193
+ }
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBRXZCLG1DQUFtQztBQUNuQyxNQUFNLFlBQVksR0FBRyx5SEFBeUgsQ0FBQztBQUUvSSxTQUFTLGlCQUFpQixDQUFDLEtBQVU7SUFDbkMsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQXdCO0lBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuRSxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDdEIsT0FBTztRQUNMLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBd0I7SUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxD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QyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQXdCO1FBQ3hDLE9BQU8saUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXdCO1FBQ2xDLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG5jb25zdCBFTUFJTF9SRUdFWFAgPSAvXig/PS57MSwyNTR9JCkoPz0uezEsNjR9QCkoW0EtWmEtejAtOV9cXC0uXSkrQChbQS1aYS16MC05XSkrXFwuKFtBLVphLXpdezEsNjF9KT8oXFwuW2EtejAtOV0oW2EtejAtOS1dKlthLXowLTldezEsNjF9KT8pKiQvO1xuXG5mdW5jdGlvbiBpc0VtcHR5SW5wdXRWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHRlc3QgPSBFTUFJTF9SRUdFWFAudGVzdChjb250cm9sLnZhbHVlKTtcbiAgaWYgKHRlc3QpIHJldHVybiBudWxsO1xuICByZXR1cm4ge1xuICAgIGVtYWlsOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlUmFuZ2VWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBkYXRlcyA9IGNvbnRyb2wucGFyZW50LmdldCgnZGF0ZXMnKS52YWx1ZTtcbiAgaWYgKFxuICAgIGRhdGVzICYmXG4gICAgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGVzPy5zdGFydERhdGUpIHx8XG4gICAgICAhTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChkYXRlcz8uZW5kRGF0ZSkpXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRlUmFuZ2U6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHR5cGU6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gYCNNT05LRVkke3R5cGV9YC50b1VwcGVyQ2FzZSgpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmFsaWRVbmxvY2tSZWdpc3RlcjogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVTdGFydEVuZFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHsgcGFyZW50IH0gPSBjb250cm9sO1xuXG4gIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQuZ2V0KCdkYXRlU3RhcnQnKS52YWx1ZTtcbiAgY29uc3QgdmFsdWVFbmQgPSBwYXJlbnQuZ2V0KCdkYXRlRW5kJykudmFsdWU7XG4gIGxldCBkYXRlU3RhcnQ6IERhdGU7XG4gIGxldCBkYXRlRW5kOiBEYXRlO1xuICBpZiAodmFsdWVTdGFydCkge1xuICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xuICB9XG4gIGlmICh2YWx1ZUVuZCkge1xuICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XG4gIH1cblxuICBpZiAoIWRhdGVFbmQgfHwgIWRhdGVTdGFydCkgcmV0dXJuIG51bGw7XG4gIGlmIChkYXRlU3RhcnQgPiBkYXRlRW5kKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVTdGFydE11c3RCZUxlc3NUaGFuQW5kOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkVXJsKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhc3N3b3JkQ29uZmlybVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHsgcGFyZW50IH0gPSBjb250cm9sO1xuICBjb25zdCBwYXNzd29yZCA9IHBhcmVudC5nZXQoJ3Bhc3N3b3JkJykudmFsdWU7XG4gIGNvbnN0IHBhc3N3b3JkQ29uZmlybSA9IHBhcmVudC5nZXQoJ3Bhc3N3b3JkQ29uZmlybScpLnZhbHVlO1xuICBpZiAoIXBhc3N3b3JkIHx8ICFwYXNzd29yZENvbmZpcm0pIHJldHVybiBudWxsO1xuICBpZiAocGFzc3dvcmQgPT09IHBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBwYXNzd29yZHNOb3RNYXRjaGluZzogdHJ1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJ1ZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBmYWxzZSkgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBpbnZhbGlkVHJ1ZTogdHJ1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYm9WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gJzAnKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIGludmFsaWRDb21ibzogdHJ1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gemlwQ29kZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkWmlwQ29kZShjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZFppcENvZGU6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2N1bWVudFZhbGlkYXRvcihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICBjb3VudHJ5OiBzdHJpbmdcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG4gIGlmIChjb3VudHJ5ID09PSAnQlInKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc0NQRkNOUEpWYWxpZChjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZENwZkNucGo6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKGNvdW50cnkgPT09ICdDTCcpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRSVVQoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWRDcGZDbnBqOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGRhdGVGb3JtYXQgPSAnTU0tREQtWVlZWSc7XG4gIGlmIChcbiAgICAhbW9tZW50KFxuICAgICAgbW9tZW50KGNvbnRyb2wudmFsdWUpLmZvcm1hdChkYXRlRm9ybWF0KSxcbiAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcbiAgICAgIHRydWVcbiAgICApLmlzVmFsaWQoKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZERhdGU6IHRydWVcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XG4gIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRhdGVSYW5nZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB1bmxvY2tTcG9uc29yUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnc3BvbnNvcicpO1xuICB9XG5cbiAgc3RhdGljIHVubG9ja0J1eWVyUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnYnV5ZXInKTtcbiAgfVxuXG4gIHN0YXRpYyBkYXRlU3RhcnRFbmQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkYXRlU3RhcnRFbmRWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdXJsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHBhc3N3b3JkQ29uZmlybShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHBhc3N3b3JkQ29uZmlybVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB0cnVlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdHJ1ZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBjb21ibyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGNvbWJvVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHppcENvZGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB6aXBDb2RlVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRvY3VtZW50QlIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudFZhbGlkYXRvcihjb250cm9sLCAnQlInKTtcbiAgfVxuXG4gIHN0YXRpYyBkb2N1bWVudENMKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnRWYWxpZGF0b3IoY29udHJvbCwgJ0NMJyk7XG4gIH1cblxuICBzdGF0aWMgZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cbn1cbiJdfQ==
@@ -15,11 +15,11 @@ import * as i4 from "./core/services/error/monkeyecx-error-handling.module";
15
15
  import * as i5 from "@angular/service-worker";
16
16
  export class MonkeyFrontCoreModuleModule {
17
17
  }
18
- MonkeyFrontCoreModuleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MonkeyFrontCoreModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- MonkeyFrontCoreModuleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MonkeyFrontCoreModuleModule, imports: [CommonModule,
18
+ MonkeyFrontCoreModuleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyFrontCoreModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ MonkeyFrontCoreModuleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyFrontCoreModuleModule, imports: [CommonModule,
20
20
  HttpClientModule, i1.TranslateModule, i2.MonkeyEcxConfigModule, i3.MonkeyEcxHttpConfigInterceptorModule, i4.MonkeyEcxErrorHandlingModule, MonkeyStyleGuideModule, i5.ServiceWorkerModule, ClosedToMaintenanceModule,
21
21
  VersionChangedModule] });
22
- MonkeyFrontCoreModuleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MonkeyFrontCoreModuleModule, providers: [
22
+ MonkeyFrontCoreModuleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyFrontCoreModuleModule, providers: [
23
23
  MonkeyStyleGuideModalService,
24
24
  MonkeyStyleGuideSettingsService,
25
25
  MonkeyStyleGuideSnackbarService
@@ -35,7 +35,7 @@ MonkeyFrontCoreModuleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
35
35
  ClosedToMaintenanceModule,
36
36
  VersionChangedModule
37
37
  ]] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MonkeyFrontCoreModuleModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyFrontCoreModuleModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  imports: [