ngx-vector-components 5.173.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 +2980 -2974
- package/README.md +35 -35
- package/assets/icons/chevron_down_icon.svg +3 -3
- package/assets/icons/home_menu_icon.svg +3 -3
- package/assets/icons/logout_icon.svg +9 -9
- package/assets/icons/menu_footer_icon.svg +3 -3
- package/assets/icons/menu_hamburguer_icon.svg +3 -3
- package/assets/icons/terms_of_use_icon.svg +9 -9
- package/assets/icons/vector_admin_icon.svg +4 -4
- package/assets/icons/vector_fintech_icon.svg +3 -3
- package/assets/icons/vector_logtech_icon.svg +6 -6
- package/assets/icons/vector_marketplace_icon.svg +3 -3
- package/assets/images/bunge_logo.svg +23 -23
- package/assets/images/cofco_logo.svg +117 -117
- package/assets/images/emote_bad.svg +6 -6
- package/assets/images/emote_cool.svg +5 -5
- package/assets/images/emote_nice.svg +5 -5
- package/assets/images/success_sign.svg +4 -4
- package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
- package/assets/images/vector_logo_horizontal.svg +13 -13
- package/assets/images/warn_sign.svg +4 -4
- package/assets/styles/_fonts.scss +114 -114
- package/assets/styles/_mixins.scss +7 -7
- package/assets/styles/_primeng-custom-theme.scss +1858 -1302
- package/assets/styles/_spinner.scss +36 -35
- package/assets/styles/_styles.scss +134 -115
- package/assets/styles/_variables.scss +61 -27
- package/fesm2022/ngx-vector-components.mjs +396 -273
- package/fesm2022/ngx-vector-components.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +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/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 -712
- 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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LEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLGdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDO2dCQUNwRSxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsSUFDRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztnQkFDOUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQ2hDLFVBQVUsS0FBSyxFQUFFO2dCQUNqQixZQUFZLEtBQUssRUFBRTtnQkFDbkIsQ0FBQyxVQUFVLElBQUksQ0FBQyxZQUFZLEVBQzVCO2dCQUNBLE9BQU87b0JBQ0wsT0FBTyxFQUFFLDZEQUE2RDtpQkFDdkUsQ0FBQzthQUNIO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUF3QjtRQUNoRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1FBRXRDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsNENBQTRDLEVBQUUsQ0FBQztTQUNsRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4vb2JqZWN0LnV0aWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25VdGlsIHtcclxuICBwdWJsaWMgc3RhdGljIGVtYWlsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGNvbnN0IGVtYWlsID0gY29udHJvbC52YWx1ZSBhcyBzdHJpbmc7XHJcblxyXG4gICAgaWYgKCFlbWFpbCB8fCBlbWFpbCA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhZW1haWwubWF0Y2goL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsNH0kLykgfHxcclxuICAgICAgZW1haWwubWF0Y2goL1snYH4hIyVeJiooKXwrwqg9Pzs6J8K0XCIsPD5cXHtcXH1cXFtcXF1cXFxcXFwvXS9naSlcclxuICAgICkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGVtYWlsOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmdWxsTmFtZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgaWYgKCFuYW1lKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNwbGl0dGVkTmFtZSA9IG5hbWVcclxuICAgICAgLnRyaW0oKVxyXG4gICAgICAuc3BsaXQoJyAnKVxyXG4gICAgICAubWFwKChuYW1lUGFydCkgPT4gbmFtZVBhcnQudHJpbSgpKTtcclxuXHJcbiAgICBpZiAoc3BsaXR0ZWROYW1lLmxlbmd0aCA8IDIpIHtcclxuICAgICAgcmV0dXJuIHsgaW52YWxpZDogJ0RldmUgY29udGVyIHBlbG8gbWVub3MgdW0gbm9tZSBlIHNvYnJlbm9tZS4nIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm9NdWx0aXBsZVdoaXRlc3BhY2UoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgbmFtZTogc3RyaW5nID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAobmFtZSkge1xyXG4gICAgICBpZiAoIW5hbWUubWF0Y2goL14oW2EtekEtWsOALcO6MC05XStcXHMpKlthLXpBLVrDgC3DujAtOV0rJC8pKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgaGF2ZVdoaXRlU3BhY2U6IHRydWUgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRUYXhJZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RyaXBwZWQgPSAoY29udHJvbC52YWx1ZSBhcyBzdHJpbmcpLnJlcGxhY2UoL1suXFwvLV0vZywgJycpO1xyXG5cclxuICAgIGlmIChzdHJpcHBlZC5sZW5ndGggPT09IDExKSB7XHJcbiAgICAgIHJldHVybiBWYWxpZGF0aW9uVXRpbC5pc1ZhbGlkQ3BmKGNvbnRyb2wpO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0cmlwcGVkLmxlbmd0aCA9PT0gMTQpIHtcclxuICAgICAgcmV0dXJuIFZhbGlkYXRpb25VdGlsLmlzVmFsaWRDbnBqKGNvbnRyb2wpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkQ3BmKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGNvbnN0IGNwZiA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICBpZiAoY3BmKSB7XHJcbiAgICAgIGxldCBudW1iZXJzLCBkaWdpdHMsIHN1bSwgaSwgcmVzdWx0LCBlcXVhbERpZ2l0cztcclxuICAgICAgZXF1YWxEaWdpdHMgPSAxO1xyXG4gICAgICBpZiAoY3BmLmxlbmd0aCA8IDExKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjcGYubGVuZ3RoIC0gMTsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGNwZi5jaGFyQXQoaSkgIT09IGNwZi5jaGFyQXQoaSArIDEpKSB7XHJcbiAgICAgICAgICBlcXVhbERpZ2l0cyA9IDA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghZXF1YWxEaWdpdHMpIHtcclxuICAgICAgICBudW1iZXJzID0gY3BmLnN1YnN0cmluZygwLCA5KTtcclxuICAgICAgICBkaWdpdHMgPSBjcGYuc3Vic3RyaW5nKDkpO1xyXG4gICAgICAgIHN1bSA9IDA7XHJcbiAgICAgICAgZm9yIChpID0gMTA7IGkgPiAxOyBpLS0pIHtcclxuICAgICAgICAgIHN1bSArPSBudW1iZXJzLmNoYXJBdCgxMCAtIGkpICogaTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlc3VsdCA9IHN1bSAlIDExIDwgMiA/IDAgOiAxMSAtIChzdW0gJSAxMSk7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQgIT09IE51bWJlcihkaWdpdHMuY2hhckF0KDApKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgY3BmTm90VmFsaWQ6IHRydWUgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbnVtYmVycyA9IGNwZi5zdWJzdHJpbmcoMCwgMTApO1xyXG4gICAgICAgIHN1bSA9IDA7XHJcblxyXG4gICAgICAgIGZvciAoaSA9IDExOyBpID4gMTsgaS0tKSB7XHJcbiAgICAgICAgICBzdW0gKz0gbnVtYmVycy5jaGFyQXQoMTEgLSBpKSAqIGk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdCA9IHN1bSAlIDExIDwgMiA/IDAgOiAxMSAtIChzdW0gJSAxMSk7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQgIT09IE51bWJlcihkaWdpdHMuY2hhckF0KDEpKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgY3BmTm90VmFsaWQ6IHRydWUgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHsgY3BmTm90VmFsaWQ6IHRydWUgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjaGFyVG9WYWx1ZShjaGFyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGNoYXIudG9VcHBlckNhc2UoKS5jaGFyQ29kZUF0KDApIC0gNDg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDbnBqKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGxldCBjbnBqOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgY25waiA9IGNucGoucmVwbGFjZSgvWy5cXC8tXS9nLCAnJyk7XHJcblxyXG4gICAgaWYgKGNucGoubGVuZ3RoICE9PSAxNCkge1xyXG4gICAgICByZXR1cm4geyBjbnBqTm90VmFsaWQ6IHRydWUgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBib2R5ID0gY25wai5zdWJzdHJpbmcoMCwgMTIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBjb25zdCBkaWdpdHMgPSBjbnBqLnN1YnN0cmluZygxMik7XHJcblxyXG4gICAgaWYgKCEvXltBLVowLTldezEyfSQvLnRlc3QoYm9keSkgfHwgIS9eXFxkezJ9JC8udGVzdChkaWdpdHMpKSB7XHJcbiAgICAgIHJldHVybiB7IGNucGpOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgvXihcXGQpXFwxezEzfSQvLnRlc3QoY25waikpIHtcclxuICAgICAgcmV0dXJuIHsgY25wak5vdFZhbGlkOiB0cnVlIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2FsYyA9ICh4OiBudW1iZXIpID0+IHtcclxuICAgICAgbGV0IHkgPSB4IC0gNyxcclxuICAgICAgICBzID0gMDtcclxuICAgICAgZm9yIChsZXQgaSA9IHg7IGkgPj0gMTsgaS0tKSB7XHJcbiAgICAgICAgcyArPSB0aGlzLmNoYXJUb1ZhbHVlKGNucGouY2hhckF0KHggLSBpKSkgKiB5LS07XHJcbiAgICAgICAgaWYgKHkgPCAyKSB5ID0gOTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByID0gMTEgLSAocyAlIDExKTtcclxuICAgICAgcmV0dXJuIHIgPiA5ID8gMCA6IHI7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGQxID0gcGFyc2VJbnQoZGlnaXRzLmNoYXJBdCgwKSk7XHJcbiAgICBjb25zdCBkMiA9IHBhcnNlSW50KGRpZ2l0cy5jaGFyQXQoMSkpO1xyXG5cclxuICAgIGlmIChjYWxjKDEyKSA9PT0gZDEgJiYgY2FsYygxMykgPT09IGQyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHsgY25wak5vdFZhbGlkOiB0cnVlIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG1ham9yQWdlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGFnZSA9IH5+KChEYXRlLm5vdygpIC0gY29udHJvbC52YWx1ZSkgLyAzMTU1NzYwMDAwMCk7XHJcblxyXG4gICAgaWYgKGFnZSA8IDE4KSB7XHJcbiAgICAgIHJldHVybiB7IGlzTm90TWFqb3JBZ2U6IHRydWUgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBtYXRjaEZpZWxkKGFub3RoZXJGaWVsZDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCk6IFZhbGlkYXRvckZuIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFhbm90aGVyRmllbGQ/LnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IGFub3RoZXJGaWVsZD8udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4geyBmaWVsZERvZXNOb3RNYXRjaDogdHJ1ZSB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjZWxscGhvbmUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoIDwgMTEpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlyc3ROdW1iZXIgPSBjb250cm9sLnZhbHVlLnN1YnN0cmluZygyLCAzKTtcclxuXHJcbiAgICBpZiAoZmlyc3ROdW1iZXIgIT0gJzknKSB7XHJcbiAgICAgIHJldHVybiB7IGNlbGxwaG9uZUludmFsaWQ6IHRydWUgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbG93ZXJUaGFuT3JFcXVhbFRvKGdyZWF0ZXJDb250cm9sTmFtZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBjb25zdCBsb3dlclZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgZ3JlYXRlclZhbHVlID0gY29udHJvbC5wYXJlbnQ/LmdldChncmVhdGVyQ29udHJvbE5hbWUpPy52YWx1ZTtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudD8uZ2V0KGdyZWF0ZXJDb250cm9sTmFtZSkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgQ29udHJvbCB3aXRoIG5hbWUgJHtncmVhdGVyQ29udHJvbE5hbWV9IG5vdCByZWdpc3RlcmVkYCk7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQobG93ZXJWYWx1ZSkgJiZcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxyXG4gICAgICAgIGxvd2VyVmFsdWUgIT09ICcnICYmXHJcbiAgICAgICAgZ3JlYXRlclZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DrW5pbW8gZGV2ZSBzZXIgbWVub3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOheGltbycsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW5PckVxdWFsVG8obG93ZXJDb250cm9sTmFtZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBjb25zdCBncmVhdGVyVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBsb3dlclZhbHVlID0gY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKT8udmFsdWU7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBDb250cm9sIHdpdGggbmFtZSAke2xvd2VyQ29udHJvbE5hbWV9IG5vdCByZWdpc3RlcmVkYCk7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQobG93ZXJWYWx1ZSkgJiZcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxyXG4gICAgICAgIGxvd2VyVmFsdWUgIT09ICcnICYmXHJcbiAgICAgICAgZ3JlYXRlclZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DoXhpbW8gZGV2ZSBzZXIgbWFpb3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOtbmltbycsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm90U2VxdWVudGlhbE51bWJlcnMobGVuZ3RoOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBzZXF1ZW50aWFsTnVtYmVycyA9ICcwMTIzNDU2Nzg5MDEyMzQ1Njc4OSc7XHJcblxyXG4gICAgICBpZiAoY29udHJvbFZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2xWYWx1ZS5sZW5ndGggPT09IGxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKH5zZXF1ZW50aWFsTnVtYmVycy5pbmRleE9mKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGlzU2VxdWVudGlhbDogdHJ1ZSB9O1xyXG4gICAgICAgICAgfSBlbHNlIGlmICghIWNvbnRyb2xWYWx1ZS5tYXRjaCgvXihcXGQpXFwxKyQvKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyBpc1NlcXVlbnRpYWw6IHRydWUgfTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmaXJzdExldHRlcklzVXBwZXJjYXNlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgcmVnZXggPSAvXihbQS1aw4Atw5pdW2EtesOgLcO6XSopKD86XFxzKyhbQS1aw4Atw5pdW2EtesOgLcO6XSopKSokLztcclxuXHJcbiAgICBpZiAoISFjb250cm9sVmFsdWUpIHtcclxuICAgICAgaWYgKCFjb250cm9sVmFsdWUubWF0Y2gocmVnZXgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgaW52YWxpZEZpZWxkOiB0cnVlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29udGFpbnNMZXR0ZXJzQW5kTnVtYmVycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcclxuICAgIGNvbnN0IHJlZ2V4ID0gL14oPz0uKlswLTldKSg/PS4qW0Etel0pKFtBLXowLTlfLV0rKSQvO1xyXG5cclxuICAgIGlmICghIWNvbnRyb2xWYWx1ZSkge1xyXG4gICAgICBpZiAoISEhY29udHJvbFZhbHVlLm1hdGNoKHJlZ2V4KSkge1xyXG4gICAgICAgIHJldHVybiB7IGlzTm90QWxwaGFOdW1lcmljOiB0cnVlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW5Ubyhsb3dlckNvbnRyb2xOYW1lOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgIGNvbnN0IGdyZWF0ZXJWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgIGNvbnN0IGxvd2VyVmFsdWUgPSBjb250cm9sLnBhcmVudD8uZ2V0KGxvd2VyQ29udHJvbE5hbWUpPy52YWx1ZTtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudD8uZ2V0KGxvd2VyQ29udHJvbE5hbWUpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYENvbnRyb2wgd2l0aCBuYW1lICR7bG93ZXJDb250cm9sTmFtZX0gbm90IHJlZ2lzdGVyZWRgKTtcclxuICAgICAgICByZXR1cm4ge307XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIE9iamVjdFV0aWwuaXNWYWxpZChsb3dlclZhbHVlKSAmJlxyXG4gICAgICAgIE9iamVjdFV0aWwuaXNWYWxpZChncmVhdGVyVmFsdWUpICYmXHJcbiAgICAgICAgbG93ZXJWYWx1ZSAhPT0gJycgJiZcclxuICAgICAgICBncmVhdGVyVmFsdWUgIT09ICcnICYmXHJcbiAgICAgICAgK2xvd2VyVmFsdWUgPj0gK2dyZWF0ZXJWYWx1ZVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZDogYCBFc3RlIHZhbG9yIG7Do28gcG9kZSBzZXIgaWd1YWwgb3UgbWVub3IgcXVlIG8gdmFsb3IgaW5pY2lhbGAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgb25seUxldHRlcnMoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcclxuXHJcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoL1tcXGRcXFddLy50ZXN0KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4geyBpbnZhbGlkOiAnTyBsZW1icmV0ZSBkZSBzZW5oYSBzw7MgcG9kZSBjb250ZXIgbGV0cmFzLicgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi91dGlscy93aW5kb3cudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsYUFBYTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUztRQUNkLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFdpbmRvd1V0aWwge1xyXG4gIHN0YXRpYyBpc1NtYWxsRGV2aWNlKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgNjQwO1xyXG4gIH1cclxuICBzdGF0aWMgaXNEZXNrdG9wKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoID49IDEwMjQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5qZWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XHJcbiJdfQ==
|