@scbt-ecom/ui 0.31.4 → 0.32.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.
Files changed (30) hide show
  1. package/README.md +1 -1
  2. package/dist/shared/validation/base/base.constants.d.ts +4 -1
  3. package/dist/shared/validation/base/base.validators.d.ts +14 -18
  4. package/dist/shared/validation/base/date.validators.d.ts +27 -19
  5. package/dist/shared/validation/base/email.validators.d.ts +29 -13
  6. package/dist/shared/validation/base/index.d.ts +1 -0
  7. package/dist/shared/validation/base/number.validators.d.ts +33 -16
  8. package/dist/shared/validation/base/phone.validators.d.ts +26 -18
  9. package/dist/shared/validation/base/select.validators.d.ts +49 -24
  10. package/dist/shared/validation/base/string.validators.d.ts +40 -16
  11. package/dist/shared/validation/base/union.validators.d.ts +36 -14
  12. package/dist/shared/validation/dadata/dadata.constants.d.ts +14 -0
  13. package/dist/shared/validation/dadata/fio.validators.d.ts +46 -0
  14. package/dist/shared/validation/dadata/index.d.ts +6 -0
  15. package/dist/shared/validation/index.d.ts +12 -18
  16. package/dist/shared/validation/utils/index.d.ts +1 -0
  17. package/dist/shared/validation/utils/zodUtils.d.ts +41 -0
  18. package/dist/ui.js +2027 -2025
  19. package/dist/ui.js.map +1 -1
  20. package/dist/validation.js +290 -129
  21. package/dist/validation.js.map +1 -1
  22. package/dist/widget.js +39 -32
  23. package/dist/widget.js.map +1 -1
  24. package/dist/widgets/interLinking/InterLinking.d.ts +3 -4
  25. package/dist/widgets/interLinking/model/helpers.d.ts +28 -18
  26. package/dist/widgets/interLinking/model/types.d.ts +3 -4
  27. package/dist/widgets/interLinking/ui/Column.d.ts +4 -4
  28. package/dist/widgets/interLinking/ui/ColumnGroup.d.ts +2 -4
  29. package/dist/widgets/interLinking/ui/LinksList.d.ts +2 -2
  30. package/package.json +1 -1
@@ -1,230 +1,391 @@
1
- import { z as o, V as l, p as m, i as _, D as E } from "./utils-b38KjjXe.js";
2
- import { T as f } from "./typeGuards-B82KZ2oS.js";
3
- const T = /^[\u0400-\u04FF\u00CB\u00EB -]+$/, I = /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/, L = /^[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\s+[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i, O = (n) => {
4
- const t = n.trim().replace(/\s+/g, " ").split(" "), [s, e, ...i] = t, d = i == null ? void 0 : i.join(" ");
1
+ import { z as o, V as l, p as I, i as E, D as A } from "./utils-b38KjjXe.js";
2
+ import { T as L } from "./typeGuards-B82KZ2oS.js";
3
+ const D = /^[\u0400-\u04FF\u00CB\u00EB -]+$/, N = /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/, Z = /^[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\s+[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i, h = (e) => {
4
+ const t = e.trim().replace(/\s+/g, " ").split(" "), [s, n, ...i] = t, a = i == null ? void 0 : i.join(" ");
5
5
  return {
6
6
  surname: s,
7
- name: e,
8
- patronymic: d
7
+ name: n,
8
+ patronymic: a
9
9
  };
10
- }, b = o.string({ invalid_type_error: "Обязательно к заполнению", required_error: "Обязательно к заполнению" }).superRefine((n, t) => {
11
- n === "" && t.addIssue({
10
+ }, ee = o.string({ invalid_type_error: "Обязательно к заполнению", required_error: "Обязательно к заполнению" }).superRefine((e, t) => {
11
+ e === "" && t.addIssue({
12
12
  code: o.ZodIssueCode.custom,
13
13
  message: "Введите имя и фамилию"
14
- }), T.test(n) || t.addIssue({
14
+ }), D.test(e) || t.addIssue({
15
15
  code: o.ZodIssueCode.custom,
16
16
  message: "Должна быть только кириллица"
17
17
  });
18
- const { surname: s, name: e, patronymic: i } = O(n);
19
- (!s || !e) && t.addIssue({
18
+ const { surname: s, name: n, patronymic: i } = h(e);
19
+ (!s || !n) && t.addIssue({
20
20
  code: o.ZodIssueCode.custom,
21
21
  message: "Введите имя и фамилию"
22
- }), I.test(e) || t.addIssue({
22
+ }), N.test(n) || t.addIssue({
23
23
  code: o.ZodIssueCode.custom,
24
24
  message: "Неверно введено имя"
25
- }), I.test(s) || t.addIssue({
25
+ }), N.test(s) || t.addIssue({
26
26
  code: o.ZodIssueCode.custom,
27
27
  message: "Неверно введена фамилия"
28
- }), i && (L.test(i) || t.addIssue({
28
+ }), i && (Z.test(i) || t.addIssue({
29
29
  code: o.ZodIssueCode.custom,
30
30
  message: "Неверно введено отчество"
31
31
  }));
32
- }), U = o.string().length(10, { message: l.INVALID_DATE }).superRefine((n, t) => {
33
- const [s, e, i] = (n == null ? void 0 : n.split(".")) ?? "", d = m(`${s}/${e}/${i}`, "dd/MM/yyyy", /* @__PURE__ */ new Date());
32
+ }), te = o.string().length(10, { message: l.INVALID_DATE }).superRefine((e, t) => {
33
+ const [s, n, i] = (e == null ? void 0 : e.split(".")) ?? "", a = I(`${s}/${n}/${i}`, "dd/MM/yyyy", /* @__PURE__ */ new Date());
34
34
  +i <= 1950 && t.addIssue({
35
35
  code: o.ZodIssueCode.custom,
36
36
  message: l.INVALID_DATE
37
- }), _(d) || t.addIssue({
37
+ }), E(a) || t.addIssue({
38
38
  code: o.ZodIssueCode.custom,
39
39
  message: l.INVALID_DATE
40
- }), (/* @__PURE__ */ new Date()).getTime() < new Date(d).getTime() && t.addIssue({
40
+ }), (/* @__PURE__ */ new Date()).getTime() < new Date(a).getTime() && t.addIssue({
41
41
  code: o.ZodIssueCode.custom,
42
42
  message: l.FUTURE_DATE_NOT_ALLOWED
43
43
  });
44
- }), G = o.string().superRefine((n, t) => {
45
- const s = n.charAt(0);
44
+ }), ne = o.string().superRefine((e, t) => {
45
+ const s = e.charAt(0);
46
46
  ["3", "4", "5", "6", "9"].includes(s) || t.addIssue({
47
47
  code: o.ZodIssueCode.custom,
48
48
  message: "Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9"
49
- }), n.length !== 10 && t.addIssue({
49
+ }), e.length !== 10 && t.addIssue({
50
50
  code: o.ZodIssueCode.custom,
51
51
  message: "Введите номер телефона полностью"
52
52
  });
53
- }).transform((n) => `7${n}`), w = o.coerce.number().min(1e3, `${l.FIX_LENGTH} 4`).max(9999, `${l.FIX_LENGTH} 4`).nullable().superRefine((n, t) => {
54
- n === null && t.addIssue({
53
+ }).transform((e) => `7${e}`), ie = o.coerce.number().min(1e3, `${l.FIX_LENGTH} 4`).max(9999, `${l.FIX_LENGTH} 4`).nullable().superRefine((e, t) => {
54
+ e === null && t.addIssue({
55
55
  code: o.ZodIssueCode.invalid_type,
56
56
  expected: "number",
57
57
  received: "null",
58
58
  message: `${l.FIX_LENGTH} 4`
59
59
  });
60
- }).default(null), a = {
60
+ }).default(null);
61
+ class se {
62
+ /**
63
+ * Функция для получения значения по умолчанию исходя из схемы
64
+ * @param zodSchema схема формы
65
+ * @param options настройки генерации значений по умолчанию
66
+ * @returns объект значений по умолчанию
67
+ *
68
+ * @example
69
+ * const schema = z.object({
70
+ * name: zodValidators.base.getStringSchema(),
71
+ * role: zodValidators.base.getUnionSchema(['UNKNOWN', 'ADMIN', 'MODERATOR', 'USER'] as const),
72
+ * info: z.object({
73
+ * address: zodValidators.base.getStringSchema(),
74
+ * phone: zodValidators.base.getPhoneSchema({ ignoreMask: true }),
75
+ * age: zodValidators.base.getNumberSchema()
76
+ * })
77
+ * })
78
+ *
79
+ * const defaultValues = ZodUtils.getZodDefaults(schema)
80
+ *
81
+ * // default values will be inferred from schema
82
+ * // {
83
+ * // name: '',
84
+ * // role: 'UNKNOWN',
85
+ * // info: {
86
+ * // address: '',
87
+ * // phone: '',
88
+ * // age: 0
89
+ * // }
90
+ * // }
91
+ */
92
+ static getZodDefaults(t, s) {
93
+ const { fillArrayWithValue: n } = s || {};
94
+ if (t instanceof o.ZodEffects)
95
+ return t.innerType() instanceof o.ZodEffects ? this.getZodDefaults(t.innerType(), s) : this.getZodDefaults(o.ZodObject.create(t.innerType().shape), s);
96
+ const i = (d) => {
97
+ switch (!0) {
98
+ case d instanceof o.ZodDefault:
99
+ return d._def.defaultValue();
100
+ case d instanceof o.ZodOptional:
101
+ return i(d.unwrap());
102
+ case d instanceof o.ZodNullable:
103
+ return null;
104
+ case d instanceof o.ZodArray:
105
+ return n ? [i(d.element)] : [];
106
+ case d instanceof o.ZodObject:
107
+ return this.getZodDefaults(d, s);
108
+ case d instanceof o.ZodUnion:
109
+ return i(d._def.options[0]);
110
+ case d instanceof o.ZodLiteral:
111
+ return d._def.value;
112
+ case d instanceof o.ZodEnum:
113
+ return d._def.values[0];
114
+ case d instanceof o.ZodString:
115
+ return "";
116
+ case d instanceof o.ZodNumber:
117
+ return 0;
118
+ case d instanceof o.ZodBoolean:
119
+ return !1;
120
+ case !("innerType" in d._def):
121
+ return;
122
+ default:
123
+ return i(d._def.innerType);
124
+ }
125
+ }, a = {};
126
+ return Object.entries(t.shape).map(([d, c]) => {
127
+ a[d] = i(c);
128
+ }), a;
129
+ }
130
+ }
131
+ const r = {
61
132
  NON_EMPTY: () => "Поле не может быть пустым",
62
- MIN_LENGTH: (n) => `Поле должно содержать минимум символов: ${n}`,
63
- MAX_LENGTH: (n) => `Поле должно содержать максимум символов: ${n}`,
64
- MIN_VALUE: (n) => `Значение не может быть меньше чем ${n}`,
65
- MAX_VALUE: (n) => `Значение не может быть больше чем ${n}`,
133
+ MIN_LENGTH: (e) => `Поле должно содержать минимум символов: ${e}`,
134
+ MAX_LENGTH: (e) => `Поле должно содержать максимум символов: ${e}`,
135
+ FIX_LENGTH: (e) => `Поле должно быть фиксированной длины символов: ${e}`,
136
+ MIN_VALUE: (e) => `Значение не может быть меньше чем ${e}`,
137
+ MAX_VALUE: (e) => `Значение не может быть больше чем ${e}`,
66
138
  PHONE_NON_EMPTY: () => "Номер телефона должен состоять из 11 цифр",
67
139
  PHONE_INVALID_OPERATOR: () => "Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",
68
140
  EMAIL_INVALID: () => "Email введен некорректно. Пример: example@domain.ru",
69
141
  EMAIL_NON_EMPTY: () => "Введите адрес электронной почты",
70
142
  SELECT_NON_EMPTY: () => "Выберите один из вариантов",
71
- SELECT_MULTIPLE_NON_EMPTY: (n) => `Выберите не менее ${n} вариантов`,
143
+ SELECT_MULTIPLE_MIN_LENGTH: (e) => `Выберите не менее ${e} вариантов`,
144
+ SELECT_MULTIPLE_MAX_LENGTH: (e) => `Выберите не более ${e} вариантов`,
145
+ SELECT_FIX_LENGTH: (e) => `Поле должно быть фиксированного количества вариантов: ${e}`,
72
146
  DATE_INVALID_FORMAT: () => "Дата указана некорректно",
73
147
  DATE_NON_EMPTY: () => "Укажите дату",
74
- VALUE_OUT_OF_RANGE: (n) => `Выберите один из вариантов ${n.join(", ")}`
75
- }, D = (n) => {
76
- const { iso: t = !1, pattern: s = E, message: e } = n || {};
77
- return o.string().min(8, (e == null ? void 0 : e.min) || a.DATE_NON_EMPTY()).superRefine((i, d) => {
78
- const r = s.replace(/\W/g, "").length;
79
- if (i.replace(/[._-]/g, "").length < r && d.addIssue({
148
+ VALUE_OUT_OF_RANGE: (e) => `Выберите один из вариантов ${e.join(", ")}`
149
+ }, P = (e) => {
150
+ const { iso: t = !1, pattern: s = A, message: n } = e || {};
151
+ return o.string().min(8, (n == null ? void 0 : n.min) || r.DATE_NON_EMPTY()).superRefine((i, a) => {
152
+ const u = s.replace(/\W/g, "").length;
153
+ if (i.replace(/[._-]/g, "").length < u && a.addIssue({
80
154
  code: o.ZodIssueCode.too_small,
81
- minimum: r,
155
+ minimum: u,
82
156
  type: "date",
83
157
  inclusive: !0,
84
- message: (e == null ? void 0 : e.min) || a.DATE_NON_EMPTY()
158
+ message: (n == null ? void 0 : n.min) || r.DATE_NON_EMPTY()
85
159
  }), t)
86
160
  try {
87
161
  new Date(i).toISOString();
88
162
  } catch {
89
- d.addIssue({
163
+ a.addIssue({
90
164
  code: o.ZodIssueCode.invalid_date,
91
- message: (e == null ? void 0 : e.invalidDate) || a.DATE_INVALID_FORMAT()
165
+ message: (n == null ? void 0 : n.invalidDate) || r.DATE_INVALID_FORMAT()
92
166
  });
93
167
  }
94
168
  else {
95
- const u = m(i, s, /* @__PURE__ */ new Date());
96
- _(u) || d.addIssue({
169
+ const c = I(i, s, /* @__PURE__ */ new Date());
170
+ E(c) || a.addIssue({
97
171
  code: o.ZodIssueCode.invalid_date,
98
- message: (e == null ? void 0 : e.invalidDate) || a.DATE_INVALID_FORMAT()
172
+ message: (n == null ? void 0 : n.invalidDate) || r.DATE_INVALID_FORMAT()
99
173
  });
100
174
  }
101
175
  }).default("");
102
- }, M = (n) => {
103
- const { iso: t = !1, pattern: s = E, message: e } = n || {};
104
- return o.string().transform((i) => i || void 0).superRefine((i, d) => {
105
- if (f.isString(i) && i.length) {
106
- const r = s.replace(/\W/g, "").length;
107
- if (i.replace(/[._-]/g, "").length < r && d.addIssue({
176
+ }, R = (e) => {
177
+ const { iso: t = !1, pattern: s = A, message: n } = e || {};
178
+ return o.string().transform((i) => i || void 0).superRefine((i, a) => {
179
+ if (L.isString(i) && i.length) {
180
+ const u = s.replace(/\W/g, "").length;
181
+ if (i.replace(/[._-]/g, "").length < u && a.addIssue({
108
182
  code: o.ZodIssueCode.too_small,
109
- minimum: r,
183
+ minimum: u,
110
184
  type: "date",
111
185
  inclusive: !0,
112
- message: (e == null ? void 0 : e.min) || a.DATE_NON_EMPTY()
186
+ message: (n == null ? void 0 : n.min) || r.DATE_NON_EMPTY()
113
187
  }), t)
114
188
  try {
115
189
  new Date(i).toISOString();
116
190
  } catch {
117
- d.addIssue({
191
+ a.addIssue({
118
192
  code: o.ZodIssueCode.invalid_date,
119
- message: (e == null ? void 0 : e.invalidDate) || a.DATE_INVALID_FORMAT()
193
+ message: (n == null ? void 0 : n.invalidDate) || r.DATE_INVALID_FORMAT()
120
194
  });
121
195
  }
122
196
  else {
123
- const u = m(i, s, /* @__PURE__ */ new Date());
124
- _(u) || d.addIssue({
197
+ const c = I(i, s, /* @__PURE__ */ new Date());
198
+ E(c) || a.addIssue({
125
199
  code: o.ZodIssueCode.invalid_date,
126
- message: (e == null ? void 0 : e.invalidDate) || a.DATE_INVALID_FORMAT()
200
+ message: (n == null ? void 0 : n.invalidDate) || r.DATE_INVALID_FORMAT()
127
201
  });
128
202
  }
129
203
  }
130
204
  }).optional();
131
- }, N = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g, h = (n) => {
132
- const { message: t } = n || {};
133
- return o.string().min(1, (t == null ? void 0 : t.min) || a.EMAIL_NON_EMPTY()).regex(N, (t == null ? void 0 : t.invalid) || a.EMAIL_INVALID()).default("");
134
- }, C = (n) => {
135
- const { message: t } = n || {};
205
+ };
206
+ function S(e) {
207
+ const { required: t = !0 } = e || {};
208
+ return t ? P(e) : R(e);
209
+ }
210
+ const T = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g, V = (e) => {
211
+ const { message: t, regexp: s = T } = e || {};
212
+ return o.string().min(1, (t == null ? void 0 : t.min) || r.EMAIL_NON_EMPTY()).regex(s, (t == null ? void 0 : t.invalid) || r.EMAIL_INVALID()).default("");
213
+ }, y = (e) => {
214
+ const { message: t, regexp: s = T } = e || {};
136
215
  return o.string().refine(
137
- (s) => f.isStringEmpty(s) ? !0 : N.test(s),
216
+ (n) => L.isStringEmpty(n) ? !0 : s.test(n),
138
217
  {
139
- message: (t == null ? void 0 : t.invalid) || a.EMAIL_INVALID()
218
+ message: (t == null ? void 0 : t.invalid) || r.EMAIL_INVALID()
140
219
  }
141
- ).optional().transform((s) => (s == null ? void 0 : s.length) === 0 ? void 0 : s);
142
- }, g = (n) => {
143
- const { min: t = 0, max: s, message: e } = n || {};
144
- let i = o.coerce.number().min(t, (e == null ? void 0 : e.min) || a.MIN_VALUE(t));
145
- return s && (i = i.max(s, (e == null ? void 0 : e.min) || a.MAX_VALUE(s))), i.default(0);
146
- }, R = (n) => g(n).optional().transform((t) => t || void 0), P = (n) => {
147
- const { ignoreMask: t = !0, maskSymbols: s = /[()+_ -]/g, message: e } = n || {};
148
- let i = o.string().superRefine((d, r) => {
149
- const c = d.replace(s, ""), u = c.charAt(1);
150
- ["3", "4", "5", "6", "7", "9"].includes(u) || r.addIssue({
220
+ ).optional().transform((n) => (n == null ? void 0 : n.length) === 0 ? void 0 : n);
221
+ };
222
+ function H(e) {
223
+ const { required: t = !0 } = e || {};
224
+ return t ? V(e) : y(e);
225
+ }
226
+ const O = (e) => {
227
+ const { min: t = 0, max: s, message: n } = e || {};
228
+ let i = o.coerce.number().min(t, (n == null ? void 0 : n.min) || r.MIN_VALUE(t));
229
+ return s && (i = i.max(s, (n == null ? void 0 : n.min) || r.MAX_VALUE(s))), i.default(0);
230
+ }, Y = (e) => O(e).optional().transform((t) => t || void 0);
231
+ function F(e) {
232
+ const { required: t = !0 } = e || {};
233
+ return t ? O(e) : Y(e);
234
+ }
235
+ const U = (e) => {
236
+ const { ignoreMask: t = !0, maskSymbols: s = /[()+_ -]/g, message: n } = e || {};
237
+ let i = o.string().superRefine((a, u) => {
238
+ const d = a.replace(s, ""), c = d.charAt(1);
239
+ ["3", "4", "5", "6", "7", "9"].includes(c) || u.addIssue({
151
240
  code: o.ZodIssueCode.invalid_string,
152
241
  validation: "regex",
153
- message: (e == null ? void 0 : e.invalidOperator) || a.PHONE_INVALID_OPERATOR()
154
- }), c.length < 11 && r.addIssue({
242
+ message: (n == null ? void 0 : n.invalidOperator) || r.PHONE_INVALID_OPERATOR()
243
+ }), d.length < 11 && u.addIssue({
155
244
  code: o.ZodIssueCode.too_small,
156
245
  minimum: 11,
157
246
  inclusive: !0,
158
247
  type: "string",
159
- message: (e == null ? void 0 : e.min) || a.PHONE_NON_EMPTY()
248
+ message: (n == null ? void 0 : n.min) || r.PHONE_NON_EMPTY()
160
249
  });
161
250
  });
162
- return t && (i = i.transform((d) => d.replace(s, ""))), i.default("");
163
- }, V = (n) => {
164
- const { ignoreMask: t = !0, maskSymbols: s = /[()+_ -]/g, message: e } = n || {};
165
- let i = o.string().superRefine((d, r) => {
166
- const c = d.replace(s, ""), u = c.charAt(1);
167
- ["3", "4", "5", "6", "7", "9"].includes(u) || r.addIssue({
251
+ return t && (i = i.transform((a) => a.replace(s, ""))), i.default("");
252
+ }, G = (e) => {
253
+ const { ignoreMask: t = !0, maskSymbols: s = /[()+_ -]/g, message: n } = e || {};
254
+ let i = o.string().superRefine((a, u) => {
255
+ const d = a.replace(s, ""), c = d.charAt(1);
256
+ ["3", "4", "5", "6", "7", "9"].includes(c) || u.addIssue({
168
257
  code: o.ZodIssueCode.invalid_string,
169
258
  validation: "regex",
170
- message: (e == null ? void 0 : e.invalidOperator) || a.PHONE_INVALID_OPERATOR()
171
- }), c.length < 11 && r.addIssue({
259
+ message: (n == null ? void 0 : n.invalidOperator) || r.PHONE_INVALID_OPERATOR()
260
+ }), d.length < 11 && u.addIssue({
172
261
  code: o.ZodIssueCode.too_small,
173
262
  minimum: 11,
174
263
  inclusive: !0,
175
264
  type: "string",
176
- message: (e == null ? void 0 : e.min) || a.PHONE_NON_EMPTY()
265
+ message: (n == null ? void 0 : n.min) || r.PHONE_NON_EMPTY()
177
266
  });
178
267
  });
179
- return t && (i = i.transform((d) => d.replace(s, ""))), i.transform((d) => d || void 0);
180
- }, S = (n) => {
181
- const { message: t } = n || {}, s = o.string().min(1, (t == null ? void 0 : t.single) || a.SELECT_NON_EMPTY()).nullable().refine((e) => !!e, (t == null ? void 0 : t.single) || a.SELECT_NON_EMPTY()).default(null);
182
- return n != null && n.multiple ? o.array(s).min((n == null ? void 0 : n.minLength) || 0, (t == null ? void 0 : t.multiple) || a.SELECT_MULTIPLE_NON_EMPTY((n == null ? void 0 : n.minLength) || 0)).default([]) : s;
183
- }, p = (n) => {
268
+ return t && (i = i.transform((a) => a.replace(s, ""))), i.transform((a) => a || void 0);
269
+ };
270
+ function $(e) {
271
+ const { required: t = !0 } = e || {};
272
+ return t ? U(e) : G(e);
273
+ }
274
+ const b = (e) => {
275
+ var n, i;
276
+ const { message: t } = e || {}, s = o.string().min(1, (t == null ? void 0 : t.single) || r.SELECT_NON_EMPTY()).nullable().refine((a) => !!a, (t == null ? void 0 : t.single) || r.SELECT_NON_EMPTY()).default(null);
277
+ if (e != null && e.multiple) {
278
+ let a = o.array(s).min((e == null ? void 0 : e.minLength) || 0, (t == null ? void 0 : t.multiple) || r.SELECT_MULTIPLE_MIN_LENGTH((e == null ? void 0 : e.minLength) || 0));
279
+ return e != null && e.length ? a.length(e.length, ((n = e.message) == null ? void 0 : n.length) || r.SELECT_FIX_LENGTH(e.length)).default([]) : (e != null && e.maxLength && (a = a.max(
280
+ e.maxLength,
281
+ ((i = e.message) == null ? void 0 : i.maxLength) || r.SELECT_MULTIPLE_MAX_LENGTH(e.maxLength)
282
+ )), a.default([]));
283
+ }
284
+ return s;
285
+ };
286
+ function q(e) {
184
287
  const t = o.string().nullable().optional();
185
- return n != null && n.multiple ? o.array(t).optional() : t;
186
- }, y = (n) => {
187
- const { min: t = 1, max: s, message: e } = n || {};
188
- let i = o.string().min(t, { message: (e == null ? void 0 : e.min) || a.MIN_LENGTH(t) });
189
- return s && (i = i.max(s, { message: (e == null ? void 0 : e.max) || a.MAX_LENGTH(s) })), i.refine((d) => !!d.length, { message: (e == null ? void 0 : e.min) || a.NON_EMPTY() }).default("");
190
- }, Z = (n) => {
191
- const { min: t, max: s, message: e } = n || {};
192
- let i = o.string();
193
- return t && (i = i.min(t, { message: (e == null ? void 0 : e.min) || a.MIN_LENGTH(t) })), s && (i = i.max(s, { message: (e == null ? void 0 : e.max) || a.MAX_LENGTH(s) })), i.optional().transform((d) => d != null && d.length ? d : void 0);
194
- }, A = (n, t) => {
195
- const { message: s, ...e } = t || {}, [i, d, ...r] = n.map((u) => o.literal(u)), c = s ? typeof s == "function" ? s(n) : s : a.VALUE_OUT_OF_RANGE(n);
196
- return o.union([i, d, ...r], {
197
- message: c,
198
- ...e
288
+ return e != null && e.multiple ? o.array(t).optional() : t;
289
+ }
290
+ function X(e) {
291
+ const { required: t = !0 } = e || {};
292
+ return t ? b(e) : q(e);
293
+ }
294
+ const x = (e) => {
295
+ const { min: t = 1, max: s, length: n, message: i } = e || {};
296
+ let a = o.string({ message: i == null ? void 0 : i.root }).min(t, { message: (i == null ? void 0 : i.min) || r.MIN_LENGTH(t) });
297
+ return s && (a = a.max(s, { message: (i == null ? void 0 : i.max) || r.MAX_LENGTH(s) })), n && (a = a.length(n, { message: (i == null ? void 0 : i.length) || r.FIX_LENGTH(n) })), a.refine((u) => !!u.length, { message: (i == null ? void 0 : i.min) || r.NON_EMPTY() }).default("");
298
+ }, w = (e) => {
299
+ const { min: t, max: s, length: n, message: i } = e || {};
300
+ let a = o.string({ message: i == null ? void 0 : i.root });
301
+ return t && (a = a.min(t, { message: (i == null ? void 0 : i.min) || r.MIN_LENGTH(t) })), s && (a = a.max(s, { message: (i == null ? void 0 : i.max) || r.MAX_LENGTH(s) })), n && (a = a.length(n, { message: (i == null ? void 0 : i.length) || r.FIX_LENGTH(n) })), a.optional().transform((u) => u != null && u.length ? u : void 0);
302
+ };
303
+ function z(e) {
304
+ const { required: t = !0, ...s } = e || {};
305
+ return t ? x(s) : w(s);
306
+ }
307
+ const M = (e, t) => {
308
+ const { message: s, ...n } = t || {}, [i, a, ...u] = e.map((c) => o.literal(c)), d = s ? typeof s == "function" ? s(e) : s : r.VALUE_OUT_OF_RANGE(e);
309
+ return o.union([i, a, ...u], {
310
+ message: d,
311
+ ...n
199
312
  });
200
- }, $ = (n, t) => A(n, t).optional(), F = {
201
- getStringRequired: y,
202
- getStringOptional: Z,
203
- getEmailRequired: h,
204
- getEmailOptional: C,
205
- getSelectRequired: S,
206
- getSelectOptional: p,
207
- getNumberRequired: g,
208
- getNumberOptional: R,
209
- getPhoneRequired: P,
210
- getPhoneOptional: V,
211
- getDateRequired: D,
212
- getDateOptional: M,
213
- getUnionRequired: A,
214
- getUnionOptional: $
215
- }, z = {
216
- base: F
313
+ }, B = (e, t) => M(e, t).optional();
314
+ function j(e, t) {
315
+ const { required: s, ...n } = t || {};
316
+ return s ? M(e, n) : B(e, n);
317
+ }
318
+ const k = {
319
+ getStringSchema: z,
320
+ getEmailSchema: H,
321
+ getSelectSchema: X,
322
+ getNumberSchema: F,
323
+ getPhoneSchema: $,
324
+ getDateSchema: S,
325
+ getUnionSchema: j
326
+ }, _ = {
327
+ NON_EMPTY: () => "Поле обязательно для заполнения",
328
+ VALUE_NO_WHITESPACE: () => "Укажите фамилию, имя и отчество через пробел",
329
+ ONLY_CYRILLIC: () => "Данные должны быть написаны кириллицей",
330
+ NAME_OR_SURNAME_NON_EMPTY: () => "Укажите имя и фамилию",
331
+ INVALID_NAME: () => "Неверно введено имя",
332
+ INVALID_SURNAME: () => "Неверно введена фамилия",
333
+ INVALID_PATRONYMIC: () => "Неверно введено отчество"
334
+ }, f = {
335
+ ONLY_CYRILLIC: /[\u0400-\u04FF\u00CB\u00EB -]/g,
336
+ CHECK_HYPHEN: /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/,
337
+ PATRONYMIC: /^[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\s+[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i
338
+ }, W = (e) => {
339
+ const [t, s, ...n] = e.trim().replace(/\s+/g, " ").split(" "), i = n.join(" ");
340
+ return { surname: t, name: s, patronymic: i };
341
+ }, C = (e) => {
342
+ const { message: t } = e || {}, { nameOrSurnameEmpty: s, invalidSurname: n, invalidPatronymic: i, invalidName: a } = t || {};
343
+ return o.string().superRefine((u, d) => {
344
+ const { name: c, surname: m, patronymic: g } = W(u);
345
+ f.ONLY_CYRILLIC.test(u) || d.addIssue({
346
+ code: o.ZodIssueCode.invalid_string,
347
+ validation: "regex",
348
+ message: _.ONLY_CYRILLIC()
349
+ }), (!c || !m) && d.addIssue({
350
+ code: o.ZodIssueCode.invalid_string,
351
+ validation: "regex",
352
+ message: s || _.NAME_OR_SURNAME_NON_EMPTY()
353
+ }), f.CHECK_HYPHEN.test(c) || d.addIssue({
354
+ code: o.ZodIssueCode.invalid_string,
355
+ validation: "regex",
356
+ message: a || _.INVALID_NAME()
357
+ }), f.CHECK_HYPHEN.test(m) || d.addIssue({
358
+ code: o.ZodIssueCode.invalid_string,
359
+ validation: "regex",
360
+ message: n || _.INVALID_SURNAME()
361
+ }), g && (f.PATRONYMIC.test(g) || d.addIssue({
362
+ code: o.ZodIssueCode.invalid_string,
363
+ validation: "regex",
364
+ message: i || _.INVALID_PATRONYMIC()
365
+ }));
366
+ }).transform((u) => u.trimEnd()).default("");
367
+ }, v = (e) => C(e).optional().transform((t) => t != null && t.length ? t : void 0);
368
+ function K(e) {
369
+ const { required: t = !0, ...s } = e || {};
370
+ return t ? C(s) : v(s);
371
+ }
372
+ const J = {
373
+ getFioSchema: K
374
+ }, oe = {
375
+ base: k,
376
+ dadata: J
217
377
  };
218
378
  export {
219
- I as RgxCheckForHyphen,
220
- L as RgxPatronymic,
221
- T as RgxUnicode,
379
+ N as RgxCheckForHyphen,
380
+ Z as RgxPatronymic,
381
+ D as RgxUnicode,
222
382
  l as VALIDATION_MESSAGES,
223
- O as formattedDadataFio,
224
- U as zodCalendarValidate,
225
- b as zodDadataFioSchema,
226
- w as zodOtpCodeSchema,
227
- G as zodPhoneSchema,
228
- z as zodValidators
383
+ se as ZodUtils,
384
+ h as formattedDadataFio,
385
+ te as zodCalendarValidate,
386
+ ee as zodDadataFioSchema,
387
+ ie as zodOtpCodeSchema,
388
+ ne as zodPhoneSchema,
389
+ oe as zodValidators
229
390
  };
230
391
  //# sourceMappingURL=validation.js.map