ngx-vector-components 5.172.0 → 6.0.0
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.
- package/CHANGELOG.md +12 -0
- package/assets/styles/_primeng-custom-theme.scss +697 -141
- package/assets/styles/_spinner.scss +2 -1
- package/assets/styles/_styles.scss +20 -1
- package/assets/styles/_variables.scss +35 -1
- package/fesm2022/ngx-vector-components.mjs +397 -273
- package/fesm2022/ngx-vector-components.mjs.map +1 -1
- package/lib/components/drawer/drawer.component.d.ts +21 -0
- package/lib/components/drawer/drawer.module.d.ts +9 -0
- package/lib/components/drawer/index.d.ts +2 -0
- package/lib/components/fields/data-table/data-table.component.d.ts +2 -2
- package/lib/components/fields/fields.module.d.ts +5 -5
- package/lib/components/fields/input-switch-field/input-switch-field.component.d.ts +3 -2
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +4 -1
- package/lib/components/fields/text-field/text-field.component.d.ts +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/config/index.d.ts +14 -0
- package/lib/models/profile.model.d.ts +2 -1
- package/package.json +13 -14
- package/public-api.d.ts +1 -0
- package/esm2022/lib/components/badge/badge.component.mjs +0 -39
- package/esm2022/lib/components/badge/badge.module.mjs +0 -19
- package/esm2022/lib/components/badge/index.mjs +0 -3
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -74
- package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +0 -18
- package/esm2022/lib/components/breadcrumb/index.mjs +0 -3
- package/esm2022/lib/components/crud-base/crud-base.component.mjs +0 -47
- package/esm2022/lib/components/crud-base/index.mjs +0 -2
- package/esm2022/lib/components/crud-footer/crud-footer.component.mjs +0 -40
- package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +0 -20
- package/esm2022/lib/components/crud-footer/index.mjs +0 -3
- package/esm2022/lib/components/crud-header/crud-header.component.mjs +0 -30
- package/esm2022/lib/components/crud-header/crud-header.module.mjs +0 -19
- package/esm2022/lib/components/crud-header/index.mjs +0 -3
- package/esm2022/lib/components/crud-history/crud-history.component.mjs +0 -100
- package/esm2022/lib/components/crud-history/crud-history.module.mjs +0 -21
- package/esm2022/lib/components/crud-history/index.mjs +0 -3
- package/esm2022/lib/components/fields/button/button.component.mjs +0 -48
- package/esm2022/lib/components/fields/button/index.mjs +0 -2
- package/esm2022/lib/components/fields/calendar-field/calendar-field.component.mjs +0 -107
- package/esm2022/lib/components/fields/calendar-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/checkbox-field/checkbox-field.component.mjs +0 -62
- package/esm2022/lib/components/fields/checkbox-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/currency-field/currency-field.component.mjs +0 -103
- package/esm2022/lib/components/fields/currency-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/data-table/data-table.component.mjs +0 -454
- package/esm2022/lib/components/fields/data-table/index.mjs +0 -2
- package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +0 -308
- package/esm2022/lib/components/fields/dropdown-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/field-error-message/field-error-message.component.mjs +0 -35
- package/esm2022/lib/components/fields/field-error-message/index.mjs +0 -2
- package/esm2022/lib/components/fields/fields.module.mjs +0 -229
- package/esm2022/lib/components/fields/filters/filters.component.mjs +0 -212
- package/esm2022/lib/components/fields/filters/index.mjs +0 -2
- package/esm2022/lib/components/fields/index.mjs +0 -21
- package/esm2022/lib/components/fields/input-number-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/input-number-field/input-number-field.component.mjs +0 -88
- package/esm2022/lib/components/fields/input-otp/index.mjs +0 -2
- package/esm2022/lib/components/fields/input-otp/input-otp.component.mjs +0 -50
- package/esm2022/lib/components/fields/input-switch-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/input-switch-field/input-switch-field.component.mjs +0 -21
- package/esm2022/lib/components/fields/multiselect-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/multiselect-field/multiselect-field.component.mjs +0 -315
- package/esm2022/lib/components/fields/percentage-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/percentage-field/percentage-field.component.mjs +0 -54
- package/esm2022/lib/components/fields/radio-button-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/radio-button-field/radio-button-field.component.mjs +0 -62
- package/esm2022/lib/components/fields/range-value/index.mjs +0 -2
- package/esm2022/lib/components/fields/range-value/range-value.component.mjs +0 -72
- package/esm2022/lib/components/fields/search-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/search-field/search-field.component.mjs +0 -33
- package/esm2022/lib/components/fields/select-button-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/select-button-field/select-button-field.component.mjs +0 -23
- package/esm2022/lib/components/fields/text-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/text-field/text-field.component.mjs +0 -277
- package/esm2022/lib/components/fields/textarea-field/index.mjs +0 -2
- package/esm2022/lib/components/fields/textarea-field/textarea-field.component.mjs +0 -81
- package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +0 -33
- package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +0 -20
- package/esm2022/lib/components/generic-error-modal/index.mjs +0 -3
- package/esm2022/lib/components/generic-modal/generic-modal.component.mjs +0 -66
- package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +0 -20
- package/esm2022/lib/components/generic-modal/index.mjs +0 -3
- package/esm2022/lib/components/index.mjs +0 -15
- package/esm2022/lib/components/menu/index.mjs +0 -4
- package/esm2022/lib/components/menu/menu.component.mjs +0 -306
- package/esm2022/lib/components/menu/menu.module.mjs +0 -20
- package/esm2022/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +0 -41
- package/esm2022/lib/components/panel/index.mjs +0 -3
- package/esm2022/lib/components/panel/panel.component.mjs +0 -15
- package/esm2022/lib/components/panel/panel.module.mjs +0 -19
- package/esm2022/lib/components/score/index.mjs +0 -3
- package/esm2022/lib/components/score/score.component.mjs +0 -17
- package/esm2022/lib/components/score/score.module.mjs +0 -16
- package/esm2022/lib/components/stepper/index.mjs +0 -3
- package/esm2022/lib/components/stepper/stepper.component.mjs +0 -47
- package/esm2022/lib/components/stepper/stepper.module.mjs +0 -19
- package/esm2022/lib/components/top-bar/index.mjs +0 -3
- package/esm2022/lib/components/top-bar/top-bar.component.mjs +0 -158
- package/esm2022/lib/components/top-bar/top-bar.module.mjs +0 -21
- package/esm2022/lib/guards/crud-list-has-items.guard.mjs +0 -11
- package/esm2022/lib/guards/get-token-by-guid.guard.mjs +0 -41
- package/esm2022/lib/guards/has-permission.guard.mjs +0 -15
- package/esm2022/lib/guards/index.mjs +0 -6
- package/esm2022/lib/guards/role.guard.mjs +0 -14
- package/esm2022/lib/guards/token-is-present.guard.mjs +0 -14
- package/esm2022/lib/injections/index.mjs +0 -5
- package/esm2022/lib/interceptors/http-interceptor.mjs +0 -186
- package/esm2022/lib/interceptors/index.mjs +0 -2
- package/esm2022/lib/models/app-name.enum.mjs +0 -10
- package/esm2022/lib/models/boolean-type.enum.mjs +0 -6
- package/esm2022/lib/models/crud-history.model.mjs +0 -3
- package/esm2022/lib/models/crud-mode.enum.mjs +0 -7
- package/esm2022/lib/models/currency.enum.mjs +0 -7
- package/esm2022/lib/models/data-table.model.mjs +0 -23
- package/esm2022/lib/models/document-type.enum.mjs +0 -6
- package/esm2022/lib/models/filters.model.mjs +0 -2
- package/esm2022/lib/models/generic-modal.model.mjs +0 -2
- package/esm2022/lib/models/http-response.model.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -19
- package/esm2022/lib/models/ip-info.enum.mjs +0 -2
- package/esm2022/lib/models/list-item.model.mjs +0 -2
- package/esm2022/lib/models/locale.enum.mjs +0 -7
- package/esm2022/lib/models/menu-item.model.mjs +0 -2
- package/esm2022/lib/models/message-status.enum.mjs +0 -8
- package/esm2022/lib/models/profile.model.mjs +0 -711
- package/esm2022/lib/models/role.enum.mjs +0 -5
- package/esm2022/lib/models/status.enum.mjs +0 -9
- package/esm2022/lib/models/topbar.model.mjs +0 -2
- package/esm2022/lib/models/vector-app.model.mjs +0 -2
- package/esm2022/lib/models/vector-notification.model.mjs +0 -2
- package/esm2022/lib/models/view.enum.mjs +0 -9
- package/esm2022/lib/pipes/currency-brl.pipe.mjs +0 -18
- package/esm2022/lib/pipes/format-document.pipe.mjs +0 -17
- package/esm2022/lib/pipes/index.mjs +0 -9
- package/esm2022/lib/pipes/mask.pipe.mjs +0 -21
- package/esm2022/lib/pipes/not-hidden.pipe.mjs +0 -16
- package/esm2022/lib/pipes/only-active.pipe.mjs +0 -16
- package/esm2022/lib/pipes/pipes.module.mjs +0 -50
- package/esm2022/lib/pipes/remove-last-child.pipe.mjs +0 -18
- package/esm2022/lib/pipes/unread-notifications.pipe.mjs +0 -15
- package/esm2022/lib/resolvers/get-selected-crud-item.resolver.mjs +0 -17
- package/esm2022/lib/resolvers/index.mjs +0 -2
- package/esm2022/lib/services/auth.service.mjs +0 -78
- package/esm2022/lib/services/base-dropdown.mjs +0 -2
- package/esm2022/lib/services/breadcrumb.service.mjs +0 -22
- package/esm2022/lib/services/crud-base.service.mjs +0 -14
- package/esm2022/lib/services/enum.service.mjs +0 -43
- package/esm2022/lib/services/error-message.service.mjs +0 -16
- package/esm2022/lib/services/geolocation.service.mjs +0 -23
- package/esm2022/lib/services/index.mjs +0 -14
- package/esm2022/lib/services/loading.service.mjs +0 -15
- package/esm2022/lib/services/menu.service.mjs +0 -154
- package/esm2022/lib/services/modal.service.mjs +0 -15
- package/esm2022/lib/services/notifications.service.mjs +0 -64
- package/esm2022/lib/services/profile.service.mjs +0 -115
- package/esm2022/lib/services/storage.service.mjs +0 -104
- package/esm2022/lib/shared/shared.module.mjs +0 -19
- package/esm2022/lib/utils/cpf-cnpj-validator.util.mjs +0 -109
- package/esm2022/lib/utils/file.util.mjs +0 -15
- package/esm2022/lib/utils/index.mjs +0 -8
- package/esm2022/lib/utils/mask.util.mjs +0 -82
- package/esm2022/lib/utils/object.util.mjs +0 -27
- package/esm2022/lib/utils/string.util.mjs +0 -52
- package/esm2022/lib/utils/validation.util.mjs +0 -279
- package/esm2022/lib/utils/window.util.mjs +0 -9
- package/esm2022/ngx-vector-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -10
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
import { ObjectUtil } from './object.util';
|
|
2
|
-
export class ValidationUtil {
|
|
3
|
-
static email(control) {
|
|
4
|
-
const email = control.value;
|
|
5
|
-
if (!email || email === '') {
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
|
-
if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) ||
|
|
9
|
-
email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
|
|
10
|
-
return {
|
|
11
|
-
email: true,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
static fullName(control) {
|
|
17
|
-
const name = control.value;
|
|
18
|
-
if (!name) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
const splittedName = name
|
|
22
|
-
.trim()
|
|
23
|
-
.split(' ')
|
|
24
|
-
.map((namePart) => namePart.trim());
|
|
25
|
-
if (splittedName.length < 2) {
|
|
26
|
-
return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
static noMultipleWhitespace(control) {
|
|
31
|
-
const name = control.value;
|
|
32
|
-
if (name) {
|
|
33
|
-
if (!name.match(/^([a-zA-ZÀ-ú0-9]+\s)*[a-zA-ZÀ-ú0-9]+$/)) {
|
|
34
|
-
return { haveWhiteSpace: true };
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
static isValidTaxId(control) {
|
|
40
|
-
if (!control.value) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
const stripped = control.value.replace(/[.\/-]/g, '');
|
|
44
|
-
if (stripped.length === 11) {
|
|
45
|
-
return ValidationUtil.isValidCpf(control);
|
|
46
|
-
}
|
|
47
|
-
if (stripped.length === 14) {
|
|
48
|
-
return ValidationUtil.isValidCnpj(control);
|
|
49
|
-
}
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
static isValidCpf(control) {
|
|
53
|
-
const cpf = control.value;
|
|
54
|
-
if (cpf) {
|
|
55
|
-
let numbers, digits, sum, i, result, equalDigits;
|
|
56
|
-
equalDigits = 1;
|
|
57
|
-
if (cpf.length < 11) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
for (i = 0; i < cpf.length - 1; i++) {
|
|
61
|
-
if (cpf.charAt(i) !== cpf.charAt(i + 1)) {
|
|
62
|
-
equalDigits = 0;
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (!equalDigits) {
|
|
67
|
-
numbers = cpf.substring(0, 9);
|
|
68
|
-
digits = cpf.substring(9);
|
|
69
|
-
sum = 0;
|
|
70
|
-
for (i = 10; i > 1; i--) {
|
|
71
|
-
sum += numbers.charAt(10 - i) * i;
|
|
72
|
-
}
|
|
73
|
-
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
74
|
-
if (result !== Number(digits.charAt(0))) {
|
|
75
|
-
return { cpfNotValid: true };
|
|
76
|
-
}
|
|
77
|
-
numbers = cpf.substring(0, 10);
|
|
78
|
-
sum = 0;
|
|
79
|
-
for (i = 11; i > 1; i--) {
|
|
80
|
-
sum += numbers.charAt(11 - i) * i;
|
|
81
|
-
}
|
|
82
|
-
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
83
|
-
if (result !== Number(digits.charAt(1))) {
|
|
84
|
-
return { cpfNotValid: true };
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
return { cpfNotValid: true };
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
static charToValue(char) {
|
|
95
|
-
return char.toUpperCase().charCodeAt(0) - 48;
|
|
96
|
-
}
|
|
97
|
-
static isValidCnpj(control) {
|
|
98
|
-
let cnpj = control.value;
|
|
99
|
-
cnpj = cnpj.replace(/[.\/-]/g, '');
|
|
100
|
-
if (cnpj.length !== 14) {
|
|
101
|
-
return { cnpjNotValid: true };
|
|
102
|
-
}
|
|
103
|
-
const body = cnpj.substring(0, 12).toUpperCase();
|
|
104
|
-
const digits = cnpj.substring(12);
|
|
105
|
-
if (!/^[A-Z0-9]{12}$/.test(body) || !/^\d{2}$/.test(digits)) {
|
|
106
|
-
return { cnpjNotValid: true };
|
|
107
|
-
}
|
|
108
|
-
if (/^(\d)\1{13}$/.test(cnpj)) {
|
|
109
|
-
return { cnpjNotValid: true };
|
|
110
|
-
}
|
|
111
|
-
const calc = (x) => {
|
|
112
|
-
let y = x - 7, s = 0;
|
|
113
|
-
for (let i = x; i >= 1; i--) {
|
|
114
|
-
s += this.charToValue(cnpj.charAt(x - i)) * y--;
|
|
115
|
-
if (y < 2)
|
|
116
|
-
y = 9;
|
|
117
|
-
}
|
|
118
|
-
const r = 11 - (s % 11);
|
|
119
|
-
return r > 9 ? 0 : r;
|
|
120
|
-
};
|
|
121
|
-
const d1 = parseInt(digits.charAt(0));
|
|
122
|
-
const d2 = parseInt(digits.charAt(1));
|
|
123
|
-
if (calc(12) === d1 && calc(13) === d2) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
return { cnpjNotValid: true };
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
static majorAge(control) {
|
|
131
|
-
if (!control.value) {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
const age = ~~((Date.now() - control.value) / 31557600000);
|
|
135
|
-
if (age < 18) {
|
|
136
|
-
return { isNotMajorAge: true };
|
|
137
|
-
}
|
|
138
|
-
return null;
|
|
139
|
-
}
|
|
140
|
-
static matchField(anotherField) {
|
|
141
|
-
const validator = (control) => {
|
|
142
|
-
if (!control.value || !anotherField?.value) {
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
if (control.value !== anotherField?.value) {
|
|
146
|
-
return { fieldDoesNotMatch: true };
|
|
147
|
-
}
|
|
148
|
-
return null;
|
|
149
|
-
};
|
|
150
|
-
return validator;
|
|
151
|
-
}
|
|
152
|
-
static cellphone(control) {
|
|
153
|
-
if (!control.value || control.value.length < 11) {
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
const firstNumber = control.value.substring(2, 3);
|
|
157
|
-
if (firstNumber != '9') {
|
|
158
|
-
return { cellphoneInvalid: true };
|
|
159
|
-
}
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
static lowerThanOrEqualTo(greaterControlName) {
|
|
163
|
-
const validator = (control) => {
|
|
164
|
-
const lowerValue = control.value;
|
|
165
|
-
const greaterValue = control.parent?.get(greaterControlName)?.value;
|
|
166
|
-
if (!control.parent?.get(greaterControlName)) {
|
|
167
|
-
console.log(`Control with name ${greaterControlName} not registered`);
|
|
168
|
-
return {};
|
|
169
|
-
}
|
|
170
|
-
if (ObjectUtil.isValid(lowerValue) &&
|
|
171
|
-
ObjectUtil.isValid(greaterValue) &&
|
|
172
|
-
lowerValue !== '' &&
|
|
173
|
-
greaterValue !== '' &&
|
|
174
|
-
+lowerValue > +greaterValue) {
|
|
175
|
-
return {
|
|
176
|
-
invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
return {};
|
|
180
|
-
};
|
|
181
|
-
return validator;
|
|
182
|
-
}
|
|
183
|
-
static greaterThanOrEqualTo(lowerControlName) {
|
|
184
|
-
const validator = (control) => {
|
|
185
|
-
const greaterValue = control.value;
|
|
186
|
-
const lowerValue = control.parent?.get(lowerControlName)?.value;
|
|
187
|
-
if (!control.parent?.get(lowerControlName)) {
|
|
188
|
-
console.log(`Control with name ${lowerControlName} not registered`);
|
|
189
|
-
return {};
|
|
190
|
-
}
|
|
191
|
-
if (ObjectUtil.isValid(lowerValue) &&
|
|
192
|
-
ObjectUtil.isValid(greaterValue) &&
|
|
193
|
-
lowerValue !== '' &&
|
|
194
|
-
greaterValue !== '' &&
|
|
195
|
-
+lowerValue > +greaterValue) {
|
|
196
|
-
return {
|
|
197
|
-
invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
return {};
|
|
201
|
-
};
|
|
202
|
-
return validator;
|
|
203
|
-
}
|
|
204
|
-
static notSequentialNumbers(length) {
|
|
205
|
-
const validator = (control) => {
|
|
206
|
-
const controlValue = control.value;
|
|
207
|
-
const sequentialNumbers = '01234567890123456789';
|
|
208
|
-
if (controlValue) {
|
|
209
|
-
if (controlValue.length === length) {
|
|
210
|
-
if (~sequentialNumbers.indexOf(control.value)) {
|
|
211
|
-
return { isSequential: true };
|
|
212
|
-
}
|
|
213
|
-
else if (!!controlValue.match(/^(\d)\1+$/)) {
|
|
214
|
-
return { isSequential: true };
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
return null;
|
|
222
|
-
};
|
|
223
|
-
return validator;
|
|
224
|
-
}
|
|
225
|
-
static firstLetterIsUppercase(control) {
|
|
226
|
-
const controlValue = control.value;
|
|
227
|
-
const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
|
|
228
|
-
if (!!controlValue) {
|
|
229
|
-
if (!controlValue.match(regex)) {
|
|
230
|
-
return { invalidField: true };
|
|
231
|
-
}
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
static containsLettersAndNumbers(control) {
|
|
237
|
-
const controlValue = control.value;
|
|
238
|
-
const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;
|
|
239
|
-
if (!!controlValue) {
|
|
240
|
-
if (!!!controlValue.match(regex)) {
|
|
241
|
-
return { isNotAlphaNumeric: true };
|
|
242
|
-
}
|
|
243
|
-
return null;
|
|
244
|
-
}
|
|
245
|
-
return null;
|
|
246
|
-
}
|
|
247
|
-
static greaterThanTo(lowerControlName) {
|
|
248
|
-
const validator = (control) => {
|
|
249
|
-
const greaterValue = control.value;
|
|
250
|
-
const lowerValue = control.parent?.get(lowerControlName)?.value;
|
|
251
|
-
if (!control.parent?.get(lowerControlName)) {
|
|
252
|
-
console.log(`Control with name ${lowerControlName} not registered`);
|
|
253
|
-
return {};
|
|
254
|
-
}
|
|
255
|
-
if (ObjectUtil.isValid(lowerValue) &&
|
|
256
|
-
ObjectUtil.isValid(greaterValue) &&
|
|
257
|
-
lowerValue !== '' &&
|
|
258
|
-
greaterValue !== '' &&
|
|
259
|
-
+lowerValue >= +greaterValue) {
|
|
260
|
-
return {
|
|
261
|
-
invalid: ` Este valor não pode ser igual ou menor que o valor inicial`,
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
return {};
|
|
265
|
-
};
|
|
266
|
-
return validator;
|
|
267
|
-
}
|
|
268
|
-
static onlyLetters(control) {
|
|
269
|
-
const value = control.value;
|
|
270
|
-
if (!value || value === '') {
|
|
271
|
-
return null;
|
|
272
|
-
}
|
|
273
|
-
if (/[\d\W]/.test(value)) {
|
|
274
|
-
return { invalid: 'O lembrete de senha só pode conter letras.' };
|
|
275
|
-
}
|
|
276
|
-
return null;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvdmFsaWRhdGlvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLGNBQWM7SUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUF3QjtRQUMxQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1FBRXRDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFDRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbURBQW1ELENBQUM7WUFDakUsS0FBSyxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxFQUN2RDtZQUNBLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQXdCO1FBQzdDLE1BQU0sSUFBSSxHQUFXLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJO2FBQ3RCLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxFQUFFLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxDQUFDO1NBQ25FO1FBQ0Qs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LEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLGdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDO2dCQUNwRSxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsSUFDRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztnQkFDOUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQ2hDLFVBQVUsS0FBSyxFQUFFO2dCQUNqQixZQUFZLEtBQUssRUFBRTtnQkFDbkIsQ0FBQyxVQUFVLElBQUksQ0FBQyxZQUFZLEVBQzVCO2dCQUNBLE9BQU87b0JBQ0wsT0FBTyxFQUFFLDZEQUE2RDtpQkFDdkUsQ0FBQzthQUNIO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUF3QjtRQUNoRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1FBRXRDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsNENBQTRDLEVBQUUsQ0FBQztTQUNsRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuL29iamVjdC51dGlsJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25VdGlsIHtcbiAgcHVibGljIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgZW1haWwgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcblxuICAgIGlmICghZW1haWwgfHwgZW1haWwgPT09ICcnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhZW1haWwubWF0Y2goL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsNH0kLykgfHxcbiAgICAgIGVtYWlsLm1hdGNoKC9bJ2B+ISMlXiYqKCl8K8KoPT87OifCtFwiLDw+XFx7XFx9XFxbXFxdXFxcXFxcL10vZ2kpXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbWFpbDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZ1bGxOYW1lKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICghbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BsaXR0ZWROYW1lID0gbmFtZVxuICAgICAgLnRyaW0oKVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5tYXAoKG5hbWVQYXJ0KSA9PiBuYW1lUGFydC50cmltKCkpO1xuXG4gICAgaWYgKHNwbGl0dGVkTmFtZS5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4geyBpbnZhbGlkOiAnRGV2ZSBjb250ZXIgcGVsbyBtZW5vcyB1bSBub21lIGUgc29icmVub21lLicgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG5vTXVsdGlwbGVXaGl0ZXNwYWNlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGlmICghbmFtZS5tYXRjaCgvXihbYS16QS1aw4Atw7owLTldK1xccykqW2EtekEtWsOALcO6MC05XSskLykpIHtcbiAgICAgICAgcmV0dXJuIHsgaGF2ZVdoaXRlU3BhY2U6IHRydWUgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRUYXhJZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZCA9IChjb250cm9sLnZhbHVlIGFzIHN0cmluZykucmVwbGFjZSgvWy5cXC8tXS9nLCAnJyk7XG5cbiAgICBpZiAoc3RyaXBwZWQubGVuZ3RoID09PSAxMSkge1xuICAgICAgcmV0dXJuIFZhbGlkYXRpb25VdGlsLmlzVmFsaWRDcGYoY29udHJvbCk7XG4gICAgfVxuICAgIGlmIChzdHJpcHBlZC5sZW5ndGggPT09IDE0KSB7XG4gICAgICByZXR1cm4gVmFsaWRhdGlvblV0aWwuaXNWYWxpZENucGooY29udHJvbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDcGYoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGNwZiA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKGNwZikge1xuICAgICAgbGV0IG51bWJlcnMsIGRpZ2l0cywgc3VtLCBpLCByZXN1bHQsIGVxdWFsRGlnaXRzO1xuICAgICAgZXF1YWxEaWdpdHMgPSAxO1xuICAgICAgaWYgKGNwZi5sZW5ndGggPCAxMSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgZm9yIChpID0gMDsgaSA8IGNwZi5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgaWYgKGNwZi5jaGFyQXQoaSkgIT09IGNwZi5jaGFyQXQoaSArIDEpKSB7XG4gICAgICAgICAgZXF1YWxEaWdpdHMgPSAwO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZXF1YWxEaWdpdHMpIHtcbiAgICAgICAgbnVtYmVycyA9IGNwZi5zdWJzdHJpbmcoMCwgOSk7XG4gICAgICAgIGRpZ2l0cyA9IGNwZi5zdWJzdHJpbmcoOSk7XG4gICAgICAgIHN1bSA9IDA7XG4gICAgICAgIGZvciAoaSA9IDEwOyBpID4gMTsgaS0tKSB7XG4gICAgICAgICAgc3VtICs9IG51bWJlcnMuY2hhckF0KDEwIC0gaSkgKiBpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0ID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gKHN1bSAlIDExKTtcblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBOdW1iZXIoZGlnaXRzLmNoYXJBdCgwKSkpIHtcbiAgICAgICAgICByZXR1cm4geyBjcGZOb3RWYWxpZDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIG51bWJlcnMgPSBjcGYuc3Vic3RyaW5nKDAsIDEwKTtcbiAgICAgICAgc3VtID0gMDtcblxuICAgICAgICBmb3IgKGkgPSAxMTsgaSA+IDE7IGktLSkge1xuICAgICAgICAgIHN1bSArPSBudW1iZXJzLmNoYXJBdCgxMSAtIGkpICogaTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBzdW0gJSAxMSA8IDIgPyAwIDogMTEgLSAoc3VtICUgMTEpO1xuXG4gICAgICAgIGlmIChyZXN1bHQgIT09IE51bWJlcihkaWdpdHMuY2hhckF0KDEpKSkge1xuICAgICAgICAgIHJldHVybiB7IGNwZk5vdFZhbGlkOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4geyBjcGZOb3RWYWxpZDogdHJ1ZSB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNoYXJUb1ZhbHVlKGNoYXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNoYXIudG9VcHBlckNhc2UoKS5jaGFyQ29kZUF0KDApIC0gNDg7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDbnBqKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBsZXQgY25wajogc3RyaW5nID0gY29udHJvbC52YWx1ZTtcbiAgICBjbnBqID0gY25wai5yZXBsYWNlKC9bLlxcLy1dL2csICcnKTtcblxuICAgIGlmIChjbnBqLmxlbmd0aCAhPT0gMTQpIHtcbiAgICAgIHJldHVybiB7IGNucGpOb3RWYWxpZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGJvZHkgPSBjbnBqLnN1YnN0cmluZygwLCAxMikudG9VcHBlckNhc2UoKTtcbiAgICBjb25zdCBkaWdpdHMgPSBjbnBqLnN1YnN0cmluZygxMik7XG5cbiAgICBpZiAoIS9eW0EtWjAtOV17MTJ9JC8udGVzdChib2R5KSB8fCAhL15cXGR7Mn0kLy50ZXN0KGRpZ2l0cykpIHtcbiAgICAgIHJldHVybiB7IGNucGpOb3RWYWxpZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmICgvXihcXGQpXFwxezEzfSQvLnRlc3QoY25waikpIHtcbiAgICAgIHJldHVybiB7IGNucGpOb3RWYWxpZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGNhbGMgPSAoeDogbnVtYmVyKSA9PiB7XG4gICAgICBsZXQgeSA9IHggLSA3LFxuICAgICAgICBzID0gMDtcbiAgICAgIGZvciAobGV0IGkgPSB4OyBpID49IDE7IGktLSkge1xuICAgICAgICBzICs9IHRoaXMuY2hhclRvVmFsdWUoY25wai5jaGFyQXQoeCAtIGkpKSAqIHktLTtcbiAgICAgICAgaWYgKHkgPCAyKSB5ID0gOTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHIgPSAxMSAtIChzICUgMTEpO1xuICAgICAgcmV0dXJuIHIgPiA5ID8gMCA6IHI7XG4gICAgfTtcblxuICAgIGNvbnN0IGQxID0gcGFyc2VJbnQoZGlnaXRzLmNoYXJBdCgwKSk7XG4gICAgY29uc3QgZDIgPSBwYXJzZUludChkaWdpdHMuY2hhckF0KDEpKTtcblxuICAgIGlmIChjYWxjKDEyKSA9PT0gZDEgJiYgY2FsYygxMykgPT09IGQyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgY25wak5vdFZhbGlkOiB0cnVlIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBtYWpvckFnZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYWdlID0gfn4oKERhdGUubm93KCkgLSBjb250cm9sLnZhbHVlKSAvIDMxNTU3NjAwMDAwKTtcblxuICAgIGlmIChhZ2UgPCAxOCkge1xuICAgICAgcmV0dXJuIHsgaXNOb3RNYWpvckFnZTogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbWF0Y2hGaWVsZChhbm90aGVyRmllbGQ6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFhbm90aGVyRmllbGQ/LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IGFub3RoZXJGaWVsZD8udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsgZmllbGREb2VzTm90TWF0Y2g6IHRydWUgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjZWxscGhvbmUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghY29udHJvbC52YWx1ZSB8fCBjb250cm9sLnZhbHVlLmxlbmd0aCA8IDExKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdE51bWJlciA9IGNvbnRyb2wudmFsdWUuc3Vic3RyaW5nKDIsIDMpO1xuXG4gICAgaWYgKGZpcnN0TnVtYmVyICE9ICc5Jykge1xuICAgICAgcmV0dXJuIHsgY2VsbHBob25lSW52YWxpZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBsb3dlclRoYW5PckVxdWFsVG8oZ3JlYXRlckNvbnRyb2xOYW1lOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgY29uc3QgbG93ZXJWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCBncmVhdGVyVmFsdWUgPSBjb250cm9sLnBhcmVudD8uZ2V0KGdyZWF0ZXJDb250cm9sTmFtZSk/LnZhbHVlO1xuICAgICAgaWYgKCFjb250cm9sLnBhcmVudD8uZ2V0KGdyZWF0ZXJDb250cm9sTmFtZSkpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbnRyb2wgd2l0aCBuYW1lICR7Z3JlYXRlckNvbnRyb2xOYW1lfSBub3QgcmVnaXN0ZXJlZGApO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdFV0aWwuaXNWYWxpZChsb3dlclZhbHVlKSAmJlxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxuICAgICAgICBsb3dlclZhbHVlICE9PSAnJyAmJlxuICAgICAgICBncmVhdGVyVmFsdWUgIT09ICcnICYmXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DrW5pbW8gZGV2ZSBzZXIgbWVub3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOheGltbycsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfTtcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbk9yRXF1YWxUbyhsb3dlckNvbnRyb2xOYW1lOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgY29uc3QgZ3JlYXRlclZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IGxvd2VyVmFsdWUgPSBjb250cm9sLnBhcmVudD8uZ2V0KGxvd2VyQ29udHJvbE5hbWUpPy52YWx1ZTtcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgQ29udHJvbCB3aXRoIG5hbWUgJHtsb3dlckNvbnRyb2xOYW1lfSBub3QgcmVnaXN0ZXJlZGApO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdFV0aWwuaXNWYWxpZChsb3dlclZhbHVlKSAmJlxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxuICAgICAgICBsb3dlclZhbHVlICE9PSAnJyAmJlxuICAgICAgICBncmVhdGVyVmFsdWUgIT09ICcnICYmXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DoXhpbW8gZGV2ZSBzZXIgbWFpb3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOtbmltbycsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfTtcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBub3RTZXF1ZW50aWFsTnVtYmVycyhsZW5ndGg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCB2YWxpZGF0b3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IHNlcXVlbnRpYWxOdW1iZXJzID0gJzAxMjM0NTY3ODkwMTIzNDU2Nzg5JztcblxuICAgICAgaWYgKGNvbnRyb2xWYWx1ZSkge1xuICAgICAgICBpZiAoY29udHJvbFZhbHVlLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKH5zZXF1ZW50aWFsTnVtYmVycy5pbmRleE9mKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpc1NlcXVlbnRpYWw6IHRydWUgfTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCEhY29udHJvbFZhbHVlLm1hdGNoKC9eKFxcZClcXDErJC8pKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpc1NlcXVlbnRpYWw6IHRydWUgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpcnN0TGV0dGVySXNVcHBlcmNhc2UoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xuICAgIGNvbnN0IHJlZ2V4ID0gL14oW0EtWsOALcOaXVthLXrDoC3Dul0qKSg/OlxccysoW0EtWsOALcOaXVthLXrDoC3Dul0qKSkqJC87XG5cbiAgICBpZiAoISFjb250cm9sVmFsdWUpIHtcbiAgICAgIGlmICghY29udHJvbFZhbHVlLm1hdGNoKHJlZ2V4KSkge1xuICAgICAgICByZXR1cm4geyBpbnZhbGlkRmllbGQ6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29udGFpbnNMZXR0ZXJzQW5kTnVtYmVycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgY29uc3QgcmVnZXggPSAvXig/PS4qWzAtOV0pKD89LipbQS16XSkoW0EtejAtOV8tXSspJC87XG5cbiAgICBpZiAoISFjb250cm9sVmFsdWUpIHtcbiAgICAgIGlmICghISFjb250cm9sVmFsdWUubWF0Y2gocmVnZXgpKSB7XG4gICAgICAgIHJldHVybiB7IGlzTm90QWxwaGFOdW1lcmljOiB0cnVlIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdyZWF0ZXJUaGFuVG8obG93ZXJDb250cm9sTmFtZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnN0IGdyZWF0ZXJWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCBsb3dlclZhbHVlID0gY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKT8udmFsdWU7XG4gICAgICBpZiAoIWNvbnRyb2wucGFyZW50Py5nZXQobG93ZXJDb250cm9sTmFtZSkpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbnRyb2wgd2l0aCBuYW1lICR7bG93ZXJDb250cm9sTmFtZX0gbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQobG93ZXJWYWx1ZSkgJiZcbiAgICAgICAgT2JqZWN0VXRpbC5pc1ZhbGlkKGdyZWF0ZXJWYWx1ZSkgJiZcbiAgICAgICAgbG93ZXJWYWx1ZSAhPT0gJycgJiZcbiAgICAgICAgZ3JlYXRlclZhbHVlICE9PSAnJyAmJlxuICAgICAgICArbG93ZXJWYWx1ZSA+PSArZ3JlYXRlclZhbHVlXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnZhbGlkOiBgIEVzdGUgdmFsb3IgbsOjbyBwb2RlIHNlciBpZ3VhbCBvdSBtZW5vciBxdWUgbyB2YWxvciBpbmljaWFsYCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9O1xuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9ubHlMZXR0ZXJzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xuXG4gICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICgvW1xcZFxcV10vLnRlc3QodmFsdWUpKSB7XG4gICAgICByZXR1cm4geyBpbnZhbGlkOiAnTyBsZW1icmV0ZSBkZSBzZW5oYSBzw7MgcG9kZSBjb250ZXIgbGV0cmFzLicgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class WindowUtil {
|
|
2
|
-
static isSmallDevice() {
|
|
3
|
-
return window.innerWidth < 640;
|
|
4
|
-
}
|
|
5
|
-
static isDesktop() {
|
|
6
|
-
return window.innerWidth >= 1024;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi91dGlscy93aW5kb3cudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsYUFBYTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUztRQUNkLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFdpbmRvd1V0aWwge1xuICBzdGF0aWMgaXNTbWFsbERldmljZSgpIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCA2NDA7XG4gIH1cbiAgc3RhdGljIGlzRGVza3RvcCgpIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPj0gMTAyNDtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZlY3Rvci1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './lib/components';
|
|
2
|
-
export * from './lib/guards';
|
|
3
|
-
export * from './lib/injections';
|
|
4
|
-
export * from './lib/interceptors';
|
|
5
|
-
export * from './lib/models';
|
|
6
|
-
export * from './lib/pipes';
|
|
7
|
-
export * from './lib/resolvers';
|
|
8
|
-
export * from './lib/services';
|
|
9
|
-
export * from './lib/utils';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmplY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbiJdfQ==
|