@scbt-ecom/ui 0.74.1 → 0.75.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/dist/index-BcOxdcOI.js +561 -0
  2. package/dist/{index-CrR6G9lz.js.map → index-BcOxdcOI.js.map} +1 -1
  3. package/dist/{index-B6MrMsbc.js → index-DRIZ5Qrl.js} +4897 -4883
  4. package/dist/{index-B6MrMsbc.js.map → index-DRIZ5Qrl.js.map} +1 -1
  5. package/dist/shared/ui/formElements/controlled/slider/SliderControl.d.ts +1 -1
  6. package/dist/shared/ui/formElements/uncontrolled/index.d.ts +1 -1
  7. package/dist/shared/ui/formElements/uncontrolled/slider/index.d.ts +1 -0
  8. package/dist/shared/ui/formElements/uncontrolled/slider/model/index.d.ts +2 -0
  9. package/dist/shared/ui/formElements/uncontrolled/slider/model/types.d.ts +10 -0
  10. package/dist/shared/ui/formElements/uncontrolled/slider/ui/Slider.d.ts +3 -1
  11. package/dist/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.d.ts +1 -1
  12. package/dist/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.d.ts +1 -1
  13. package/dist/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.d.ts +1 -1
  14. package/dist/ui.js +3 -3
  15. package/dist/{utils-k3uzuyeN.js → utils-CaWgHX_C.js} +1224 -1256
  16. package/dist/utils-CaWgHX_C.js.map +1 -0
  17. package/dist/validation.js +47 -47
  18. package/dist/validation.js.map +1 -1
  19. package/dist/widget.js +953 -891
  20. package/dist/widget.js.map +1 -1
  21. package/dist/widgets/calculator/ui/calculatorFields/CalculatorFields.d.ts +4 -1
  22. package/dist/widgets/calculator/ui/calculatorFields/hooks/index.d.ts +1 -0
  23. package/dist/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.d.ts +19 -0
  24. package/dist/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.d.ts +8 -0
  25. package/dist/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.d.ts +6 -1
  26. package/dist/widgets/calculator/ui/calculatorFields/ui/index.d.ts +1 -0
  27. package/dist/widgets/model/utils.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/dist/index-CrR6G9lz.js +0 -446
  30. package/dist/utils-k3uzuyeN.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { AdditionalSliderGroupConfig, SlidersGroupProps } from './FieldsGroup';
3
+ interface AdditionalSliderProps<T extends FieldValues> {
4
+ additionalSliderGroupConfig: AdditionalSliderGroupConfig<T>;
5
+ slidersGroupConfig: SlidersGroupProps<T>;
6
+ }
7
+ export declare const AdditionalSlider: <T extends FieldValues>({ slidersGroupConfig, additionalSliderGroupConfig }: AdditionalSliderProps<T>) => import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
@@ -1,7 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { FieldElementWithoutControl } from '../../../../fieldMapper';
3
3
  import { FieldValidation } from '../../../../model';
4
- type ValidationField = {
4
+ import { SliderAdditionalProps } from '../../../../../shared/ui/formElements/uncontrolled/slider';
5
+ export type ValidationField = {
5
6
  validation: FieldValidation;
6
7
  };
7
8
  export interface SelectGroupProps<T extends FieldValues> {
@@ -20,6 +21,10 @@ export interface SlidersGroupProps<T extends FieldValues> {
20
21
  export interface SwitchGroupProps<T extends FieldValues> {
21
22
  fields: FieldElementWithoutControl<T, 'SwitchControl', ValidationField>[];
22
23
  }
24
+ export interface AdditionalSliderGroupConfig<T extends FieldValues> {
25
+ args: SliderAdditionalProps<T>;
26
+ type: 'SliderControl';
27
+ }
23
28
  export type FieldsGroupProps<T extends FieldValues> = SelectGroupProps<T> | CheckboxGroupProps<T> | RadioGroupProps<T> | SlidersGroupProps<T> | SwitchGroupProps<T>;
24
29
  export declare const FieldsGroup: <T extends FieldValues>({ fields }: FieldsGroupProps<T>) => import("react/jsx-runtime").JSX.Element;
25
30
  export {};
@@ -1,2 +1,3 @@
1
1
  export * from './CalculatorModal';
2
2
  export * from './FieldsGroup';
3
+ export * from './AdditionalSlider';
@@ -7,4 +7,4 @@ export type FieldValidation = {
7
7
  };
8
8
  export declare const getDynamicSchema: <TFieldValues extends FieldValues>(fields: FieldElement<TFieldValues, any, {
9
9
  validation: FieldValidation;
10
- }>[]) => ZodObject<ZodRawShape>;
10
+ }>[] | undefined) => ZodObject<ZodRawShape>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scbt-ecom/ui",
3
- "version": "0.74.1",
3
+ "version": "0.75.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,446 +0,0 @@
1
- import { z as s, f as m, D as I, p as T, i as A, s as L } from "./utils-k3uzuyeN.js";
2
- import { T as f } from "./typeGuards-CSiImkUY.js";
3
- const D = (e) => {
4
- const { defaultValue: t } = e || {};
5
- return s.boolean().default(t ?? !1);
6
- }, y = (e) => D(e).optional();
7
- function P(e) {
8
- const { required: t = !0, ...r } = e || {};
9
- return t ? D(r) : y(r);
10
- }
11
- const u = {
12
- NON_EMPTY: () => "Поле не может быть пустым",
13
- MIN_LENGTH: (e) => `Поле должно содержать минимум символов: ${e}`,
14
- MAX_LENGTH: (e) => `Поле должно содержать максимум символов: ${e}`,
15
- FIX_LENGTH: (e) => `Поле должно быть фиксированной длины символов: ${e}`,
16
- MIN_VALUE: (e) => `Значение не может быть меньше чем ${e}`,
17
- MAX_VALUE: (e) => `Значение не может быть больше чем ${e}`,
18
- PHONE_NON_EMPTY: () => "Номер телефона должен состоять из 11 цифр",
19
- PHONE_INVALID_OPERATOR: () => "Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",
20
- EMAIL_INVALID: () => "Email введен некорректно. Пример: example@domain.ru",
21
- EMAIL_NON_EMPTY: () => "Введите адрес электронной почты",
22
- SELECT_NON_EMPTY: () => "Выберите один из вариантов",
23
- SELECT_MULTIPLE_MIN_LENGTH: (e) => `Выберите не менее ${e} вариантов`,
24
- SELECT_MULTIPLE_MAX_LENGTH: (e) => `Выберите не более ${e} вариантов`,
25
- SELECT_FIX_LENGTH: (e) => `Поле должно быть фиксированного количества вариантов: ${e}`,
26
- DATE_INVALID_FORMAT: () => "Дата указана некорректно",
27
- DATE_NON_EMPTY: () => "Укажите дату",
28
- VALUE_OUT_OF_RANGE: (e) => `Выберите один из вариантов ${e.join(", ")}`,
29
- DATE_MIN: (e) => {
30
- const t = f.isString(e) ? new Date(e) : e;
31
- return `Выбранная дата должна быть не раньше ${m(t)}`;
32
- },
33
- DATE_MAX: (e) => {
34
- const t = f.isString(e) ? new Date(e) : e;
35
- return `Выбранная дата должна быть не позже ${m(t)}`;
36
- },
37
- INVALID_REGEX_STRING: () => "Поле не соответствует требованиям",
38
- INVALID_URL: () => "Ссылка введена некорректно. Пример: https://example.com, example.com"
39
- }, V = (e) => {
40
- const { iso: t = !0, pattern: r = I, min: n, max: i, defaultValue: o, message: d } = e || {};
41
- return s.string().min(8, (d == null ? void 0 : d.min) || u.DATE_NON_EMPTY()).superRefine((l, a) => {
42
- const c = r.replace(/\W/g, "").length;
43
- if (l.replace(/[._-]/g, "").length < c && a.addIssue({
44
- code: s.ZodIssueCode.too_small,
45
- minimum: c,
46
- type: "date",
47
- inclusive: !0,
48
- message: (d == null ? void 0 : d.min) || u.DATE_NON_EMPTY()
49
- }), t) {
50
- let g = null;
51
- try {
52
- g = new Date(l);
53
- } catch {
54
- a.addIssue({
55
- code: s.ZodIssueCode.invalid_date,
56
- message: (d == null ? void 0 : d.invalidDate) || u.DATE_INVALID_FORMAT()
57
- });
58
- }
59
- n && g.getTime() < (f.isString(n) ? new Date(n).getTime() : n.getTime()) && a.addIssue({
60
- code: s.ZodIssueCode.invalid_date,
61
- message: (d == null ? void 0 : d.min) || u.DATE_MIN(n)
62
- }), i && g.getTime() > (f.isString(i) ? new Date(i).getTime() : i.getTime()) && a.addIssue({
63
- code: s.ZodIssueCode.invalid_date,
64
- message: (d == null ? void 0 : d.max) || u.DATE_MAX(i)
65
- });
66
- } else {
67
- const g = T(l, r, /* @__PURE__ */ new Date());
68
- A(g) || a.addIssue({
69
- code: s.ZodIssueCode.invalid_date,
70
- message: (d == null ? void 0 : d.invalidDate) || u.DATE_INVALID_FORMAT()
71
- }), n && g.getTime() < (f.isString(n) ? new Date(n).getTime() : n.getTime()) && a.addIssue({
72
- code: s.ZodIssueCode.invalid_date,
73
- message: (d == null ? void 0 : d.min) || u.DATE_MIN(n)
74
- }), i && g.getTime() > (f.isString(i) ? new Date(i).getTime() : i.getTime()) && a.addIssue({
75
- code: s.ZodIssueCode.invalid_date,
76
- message: (d == null ? void 0 : d.max) || u.DATE_MAX(i)
77
- });
78
- }
79
- }).default(o ?? "");
80
- }, h = (e) => {
81
- const { iso: t = !0, pattern: r = I, min: n, max: i, message: o } = e || {};
82
- return s.string().transform((d) => d || void 0).superRefine((d, l) => {
83
- if (f.isString(d) && d.length) {
84
- const a = r.replace(/\W/g, "").length;
85
- if (d.replace(/[._-]/g, "").length < a && l.addIssue({
86
- code: s.ZodIssueCode.too_small,
87
- minimum: a,
88
- type: "date",
89
- inclusive: !0,
90
- message: (o == null ? void 0 : o.min) || u.DATE_NON_EMPTY()
91
- }), t) {
92
- let _ = null;
93
- try {
94
- _ = new Date(d);
95
- } catch {
96
- l.addIssue({
97
- code: s.ZodIssueCode.invalid_date,
98
- message: (o == null ? void 0 : o.invalidDate) || u.DATE_INVALID_FORMAT()
99
- });
100
- }
101
- n && _.getTime() < (f.isString(n) ? new Date(n).getTime() : n.getTime()) && l.addIssue({
102
- code: s.ZodIssueCode.invalid_date,
103
- message: (o == null ? void 0 : o.min) || u.DATE_MIN(n)
104
- }), i && _.getTime() > (f.isString(i) ? new Date(i).getTime() : i.getTime()) && l.addIssue({
105
- code: s.ZodIssueCode.invalid_date,
106
- message: (o == null ? void 0 : o.max) || u.DATE_MAX(i)
107
- });
108
- } else {
109
- const _ = T(d, r, /* @__PURE__ */ new Date());
110
- A(_) || l.addIssue({
111
- code: s.ZodIssueCode.invalid_date,
112
- message: (o == null ? void 0 : o.invalidDate) || u.DATE_INVALID_FORMAT()
113
- }), n && _.getTime() < (f.isString(n) ? new Date(n).getTime() : n.getTime()) && l.addIssue({
114
- code: s.ZodIssueCode.invalid_date,
115
- message: (o == null ? void 0 : o.min) || u.DATE_MIN(n)
116
- }), i && _.getTime() > (f.isString(i) ? new Date(i).getTime() : i.getTime()) && l.addIssue({
117
- code: s.ZodIssueCode.invalid_date,
118
- message: (o == null ? void 0 : o.max) || u.DATE_MAX(i)
119
- });
120
- }
121
- }
122
- }).optional();
123
- };
124
- function U(e) {
125
- const { required: t = !0 } = e || {};
126
- return t ? V(e) : h(e);
127
- }
128
- const O = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g, Y = (e) => {
129
- const { message: t, defaultValue: r, regexp: n = O } = e || {}, i = f.isString(n) ? new RegExp(n) : n;
130
- return s.string().min(1, (t == null ? void 0 : t.min) || u.EMAIL_NON_EMPTY()).regex(i, (t == null ? void 0 : t.invalid) || u.EMAIL_INVALID()).default(r ?? "");
131
- }, w = (e) => {
132
- const { message: t, regexp: r = O } = e || {}, n = f.isString(r) ? new RegExp(r) : r;
133
- return s.string().refine(
134
- (i) => f.isStringEmpty(i) ? !0 : n.test(i),
135
- {
136
- message: (t == null ? void 0 : t.invalid) || u.EMAIL_INVALID()
137
- }
138
- ).optional().transform((i) => (i == null ? void 0 : i.length) === 0 ? void 0 : i);
139
- };
140
- function p(e) {
141
- const { required: t = !0 } = e || {};
142
- return t ? Y(e) : w(e);
143
- }
144
- const M = (e) => {
145
- const { min: t, max: r, message: n, defaultValue: i } = e || {};
146
- let o = s.coerce.number();
147
- return t && (o = o.min(t, (n == null ? void 0 : n.min) || u.MIN_VALUE(t))), r && (o = o.max(r, (n == null ? void 0 : n.min) || u.MAX_VALUE(r))), o.default(i ?? 0);
148
- }, H = (e) => M(e).optional().transform((t) => t || void 0);
149
- function x(e) {
150
- const { required: t = !0 } = e || {};
151
- return t ? M(e) : H(e);
152
- }
153
- const b = (e) => {
154
- const {
155
- ignoreMask: t = !0,
156
- maskSymbols: r = /[()+_ -]/g,
157
- message: n,
158
- defaultValue: i,
159
- validOperatorCodes: o = ["3", "4", "5", "6", "7", "9"]
160
- } = e || {}, d = f.isString(r) ? new RegExp(r) : r;
161
- let l = s.string().superRefine((a, c) => {
162
- const _ = a.replace(d, ""), g = _.charAt(1);
163
- o.includes(g) || c.addIssue({
164
- code: s.ZodIssueCode.invalid_string,
165
- validation: "regex",
166
- message: (n == null ? void 0 : n.invalidOperator) || u.PHONE_INVALID_OPERATOR()
167
- }), _.length < 11 && c.addIssue({
168
- code: s.ZodIssueCode.too_small,
169
- minimum: 11,
170
- inclusive: !0,
171
- type: "string",
172
- message: (n == null ? void 0 : n.min) || u.PHONE_NON_EMPTY()
173
- });
174
- });
175
- return t && (l = l.transform((a) => a.replace(d, ""))), l.default(i ?? "");
176
- }, G = (e) => {
177
- const {
178
- ignoreMask: t = !0,
179
- maskSymbols: r = /[()+_ -]/g,
180
- message: n,
181
- validOperatorCodes: i = ["3", "4", "5", "6", "7", "9"]
182
- } = e || {}, o = f.isString(r) ? new RegExp(r) : r;
183
- let d = s.string().superRefine((l, a) => {
184
- const c = l.replace(o, ""), _ = c.charAt(1);
185
- i.includes(_) || a.addIssue({
186
- code: s.ZodIssueCode.invalid_string,
187
- validation: "regex",
188
- message: (n == null ? void 0 : n.invalidOperator) || u.PHONE_INVALID_OPERATOR()
189
- }), c.length < 11 && a.addIssue({
190
- code: s.ZodIssueCode.too_small,
191
- minimum: 11,
192
- inclusive: !0,
193
- type: "string",
194
- message: (n == null ? void 0 : n.min) || u.PHONE_NON_EMPTY()
195
- });
196
- });
197
- return t && (d = d.transform((l) => l.replace(o, ""))), d.transform((l) => l || void 0);
198
- };
199
- function q(e) {
200
- const { required: t = !0 } = e || {};
201
- return t ? b(e) : G(e);
202
- }
203
- const Z = (e, t) => {
204
- const { message: r, defaultValue: n = "" } = t || {};
205
- return s.string().nonempty(u.NON_EMPTY()).regex(e, r || u.INVALID_REGEX_STRING()).default(n);
206
- }, X = (e, t) => Z(e, t).optional().transform((r) => r != null && r.length ? r : void 0);
207
- function v(e, t) {
208
- const { required: r = !0, ...n } = t || {};
209
- return r ? Z(e, n) : X(e, n);
210
- }
211
- const F = (e) => {
212
- var i, o;
213
- const { message: t, defaultValue: r } = e || {}, n = s.string().min(1, (t == null ? void 0 : t.single) || u.SELECT_NON_EMPTY()).nullable().refine((d) => !!d, (t == null ? void 0 : t.single) || u.SELECT_NON_EMPTY()).default(r ?? null);
214
- if (e != null && e.multiple) {
215
- let d = s.array(n).min((e == null ? void 0 : e.minLength) || 0, (t == null ? void 0 : t.multiple) || u.SELECT_MULTIPLE_MIN_LENGTH((e == null ? void 0 : e.minLength) || 0));
216
- return e != null && e.length ? d.length(e.length, ((i = e.message) == null ? void 0 : i.length) || u.SELECT_FIX_LENGTH(e.length)).default([]) : (e != null && e.maxLength && (d = d.max(
217
- e.maxLength,
218
- ((o = e.message) == null ? void 0 : o.maxLength) || u.SELECT_MULTIPLE_MAX_LENGTH(e.maxLength)
219
- )), d.default([]));
220
- }
221
- return n;
222
- };
223
- function $(e) {
224
- const t = s.string().nullable().optional();
225
- return e != null && e.multiple ? s.array(t).optional() : t;
226
- }
227
- function B(e) {
228
- const { required: t = !0 } = e || {};
229
- return t ? F(e) : $(e);
230
- }
231
- const j = (e) => {
232
- const { min: t, max: r, length: n, defaultValue: i, message: o } = e || {};
233
- let d = s.string({ message: o == null ? void 0 : o.root });
234
- return t && (d = d.min(t, { message: (o == null ? void 0 : o.min) || u.MIN_LENGTH(t) })), r && (d = d.max(r, { message: (o == null ? void 0 : o.max) || u.MAX_LENGTH(r) })), n && (d = d.length(n, { message: (o == null ? void 0 : o.length) || u.FIX_LENGTH(n) })), d.refine((l) => !!l.length, { message: (o == null ? void 0 : o.min) || u.NON_EMPTY() }).default(i ?? "");
235
- }, z = (e) => {
236
- const { min: t, max: r, length: n, message: i } = e || {};
237
- let o = s.string({ message: i == null ? void 0 : i.root });
238
- return t && (o = o.min(t, { message: (i == null ? void 0 : i.min) || u.MIN_LENGTH(t) })), r && (o = o.max(r, { message: (i == null ? void 0 : i.max) || u.MAX_LENGTH(r) })), n && (o = o.length(n, { message: (i == null ? void 0 : i.length) || u.FIX_LENGTH(n) })), o.optional().transform((d) => d != null && d.length ? d : void 0);
239
- };
240
- function k(e) {
241
- const { required: t = !0, ...r } = e || {};
242
- return t ? j(r) : z(r);
243
- }
244
- const S = (e, t) => {
245
- const { message: r, ...n } = t || {}, [i, o, ...d] = e.map((a) => s.literal(a)), l = r ? typeof r == "function" ? r(e) : r : u.VALUE_OUT_OF_RANGE(e);
246
- return s.union([i, o, ...d], {
247
- message: l,
248
- ...n
249
- }).nullable().refine(Boolean, u.NON_EMPTY()).default(null);
250
- }, W = (e, t) => S(e, t).optional();
251
- function K(e, t) {
252
- const { required: r, ...n } = t || {};
253
- return r ? S(e, n) : W(e, n);
254
- }
255
- const R = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/, J = (e) => {
256
- const { message: t, defaultValue: r, regexp: n = R } = e || {}, i = f.isString(n) ? new RegExp(n) : n;
257
- return L().min(1, (t == null ? void 0 : t.min) || u.NON_EMPTY()).regex(i, (t == null ? void 0 : t.invalid) || u.INVALID_URL()).default(r ?? "");
258
- }, Q = (e) => {
259
- const { message: t, regexp: r = R } = e || {}, n = f.isString(r) ? new RegExp(r) : r;
260
- return L().refine((i) => f.isStringEmpty(i) ? !0 : n.test(i), (t == null ? void 0 : t.invalid) || u.INVALID_URL()).optional().transform((i) => i != null && i.length ? i : void 0);
261
- };
262
- function ee(e) {
263
- const { required: t = !0 } = e || {};
264
- return t ? J(e) : Q(e);
265
- }
266
- const te = {
267
- getStringSchema: k,
268
- getEmailSchema: p,
269
- getSelectSchema: B,
270
- getNumberSchema: x,
271
- getPhoneSchema: q,
272
- getDateSchema: U,
273
- getUnionSchema: K,
274
- getUrlSchema: ee,
275
- getRegexSchema: v,
276
- getBooleanSchema: P
277
- };
278
- class se {
279
- /**
280
- * Функция для получения значения по умолчанию исходя из схемы
281
- * @param zodSchema схема формы
282
- * @param options настройки генерации значений по умолчанию
283
- * @returns объект значений по умолчанию
284
- *
285
- * @example
286
- * const schema = z.object({
287
- * name: zodValidators.base.getStringSchema(),
288
- * role: zodValidators.base.getUnionSchema(['UNKNOWN', 'ADMIN', 'MODERATOR', 'USER'] as const),
289
- * info: z.object({
290
- * address: zodValidators.base.getStringSchema(),
291
- * phone: zodValidators.base.getPhoneSchema({ ignoreMask: true }),
292
- * age: zodValidators.base.getNumberSchema()
293
- * })
294
- * })
295
- *
296
- * const defaultValues = ZodUtils.getZodDefaults(schema)
297
- *
298
- * // default values will be inferred from schema
299
- * // {
300
- * // name: '',
301
- * // role: 'UNKNOWN',
302
- * // info: {
303
- * // address: '',
304
- * // phone: '',
305
- * // age: 0
306
- * // }
307
- * // }
308
- */
309
- static getZodDefaults(t, r) {
310
- const { fillArrayWithValue: n } = r || {}, i = (a) => {
311
- const c = a._def.schema;
312
- return c instanceof s.ZodEffects || c._def.typeName === "ZodEffects" ? i(c) : c instanceof s.ZodObject || c._def.typeName === "ZodObject" ? this.getZodDefaults(c, r) : o(c);
313
- }, o = (a) => {
314
- if (a instanceof s.ZodEffects || a._def.typeName === "ZodEffects")
315
- return i(a);
316
- switch (!0) {
317
- case (a._def.typeName === "ZodDefault" || a instanceof s.ZodDefault):
318
- return a._def.defaultValue();
319
- case (a._def.typeName === "ZodOptional" || a instanceof s.ZodOptional):
320
- return;
321
- case a._def.typeName === "ZodEffects":
322
- return i(a);
323
- case (a._def.typeName === "ZodNullable" || a instanceof s.ZodNullable):
324
- return null;
325
- case (a._def.typeName === "ZodArray" || a instanceof s.ZodArray):
326
- return n ? [o(a.element)] : [];
327
- case (a._def.typeName === "ZodObject" || a instanceof s.ZodObject):
328
- return this.getZodDefaults(a, r);
329
- case (a._def.typeName === "ZodUnion" || a instanceof s.ZodUnion):
330
- return o(a._def.options[0]);
331
- case (a._def.typeName === "ZodLiteral" || a instanceof s.ZodLiteral):
332
- return a._def.value;
333
- case (a._def.typeName === "ZodDiscriminatedUnion" || a instanceof s.ZodDiscriminatedUnion):
334
- return o(a._def.options[0]);
335
- case (a._def.typeName === "ZodEnum" || a instanceof s.ZodEnum):
336
- return a._def.values[0];
337
- case (a._def.typeName === "ZodString" || a instanceof s.ZodString):
338
- return "";
339
- case (a._def.typeName === "ZodNumber" || a instanceof s.ZodNumber):
340
- return 0;
341
- case (a._def.typeName === "ZodBoolean" || a instanceof s.ZodBoolean):
342
- return !1;
343
- case !("innerType" in a._def):
344
- return;
345
- default:
346
- return o(a._def.innerType);
347
- }
348
- };
349
- if (t instanceof s.ZodEffects || t._def.typeName === "ZodEffects")
350
- return i(t);
351
- const d = {};
352
- return Object.entries(t.shape).map(([a, c]) => {
353
- d[a] = o(c);
354
- }), d;
355
- }
356
- /**
357
- * Функция для объединения zod схождений
358
- * @param {ZodIntersection} zodSchema
359
- * @returns объединенная схема двух схождений
360
- *
361
- * @example
362
- * let schema = z.object({
363
- * foo: z.string()
364
- * })
365
- * // this will return intersection and we need
366
- * // to merge its left to right schema's
367
- * .and(
368
- * z.object({
369
- * bar: z.string()
370
- * })
371
- * )
372
- *
373
- * schema = ZodUtils.zodMergeIntersection(schema)
374
- *
375
- * // schema will be
376
- * z.object({
377
- * foo: z.string(),
378
- * bar: z.string()
379
- * })
380
- */
381
- static zodMergeIntersection(t) {
382
- const { left: r, right: n } = t._def, i = r instanceof s.ZodDiscriminatedUnion || r._def.typeName === "ZodDiscriminatedUnion" ? r._def.options[0] : r, o = n instanceof s.ZodDiscriminatedUnion || n._def.typeName === "ZodDiscriminatedUnion" ? n._def.options[0] : n;
383
- if ((i._def.typeName === "ZodObject" || i instanceof s.ZodObject) && (o._def.typeName === "ZodObject" || o instanceof s.ZodObject))
384
- return i.merge(o);
385
- throw new Error(`Cannot merge schema type ${o._def.typeName} to ${i._def.typeName}`);
386
- }
387
- }
388
- const E = {
389
- NON_EMPTY: () => "Поле обязательно для заполнения",
390
- VALUE_NO_WHITESPACE: () => "Укажите фамилию, имя и отчество через пробел",
391
- ONLY_CYRILLIC: () => "Данные должны быть написаны кириллицей",
392
- NAME_OR_SURNAME_NON_EMPTY: () => "Укажите имя и фамилию",
393
- INVALID_NAME: () => "Неверно введено имя",
394
- INVALID_SURNAME: () => "Неверно введена фамилия",
395
- INVALID_PATRONYMIC: () => "Неверно введено отчество"
396
- }, N = {
397
- ONLY_CYRILLIC: /[\u0400-\u04FF\u00CB\u00EB -]/g,
398
- CHECK_HYPHEN: /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/,
399
- PATRONYMIC: /^[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\s+[a-zA-Zа-яА-ЯёЁ]+(?:\s*-\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i
400
- }, ne = (e) => {
401
- const [t, r, ...n] = e.trim().replace(/\s+/g, " ").split(" "), i = n.join(" ");
402
- return { surname: t, name: r, patronymic: i };
403
- }, C = (e) => {
404
- const { message: t } = e || {}, { nameOrSurnameEmpty: r, invalidSurname: n, invalidPatronymic: i, invalidName: o } = t || {};
405
- return s.string().superRefine((d, l) => {
406
- const { name: a, surname: c, patronymic: _ } = ne(d);
407
- N.ONLY_CYRILLIC.test(d) || l.addIssue({
408
- code: s.ZodIssueCode.invalid_string,
409
- validation: "regex",
410
- message: E.ONLY_CYRILLIC()
411
- }), (!a || !c) && l.addIssue({
412
- code: s.ZodIssueCode.invalid_string,
413
- validation: "regex",
414
- message: r || E.NAME_OR_SURNAME_NON_EMPTY()
415
- }), N.CHECK_HYPHEN.test(a) || l.addIssue({
416
- code: s.ZodIssueCode.invalid_string,
417
- validation: "regex",
418
- message: o || E.INVALID_NAME()
419
- }), N.CHECK_HYPHEN.test(c) || l.addIssue({
420
- code: s.ZodIssueCode.invalid_string,
421
- validation: "regex",
422
- message: n || E.INVALID_SURNAME()
423
- }), _ && (N.PATRONYMIC.test(_) || l.addIssue({
424
- code: s.ZodIssueCode.invalid_string,
425
- validation: "regex",
426
- message: i || E.INVALID_PATRONYMIC()
427
- }));
428
- }).transform((d) => d.trimEnd()).default("");
429
- }, ie = (e) => C(e).optional().transform((t) => t != null && t.length ? t : void 0);
430
- function re(e) {
431
- const { required: t = !0, ...r } = e || {};
432
- return t ? C(r) : ie(r);
433
- }
434
- const oe = {
435
- getFioSchema: re
436
- }, ue = {
437
- base: te,
438
- dadata: oe
439
- };
440
- export {
441
- se as Z,
442
- te as a,
443
- u as b,
444
- ue as z
445
- };
446
- //# sourceMappingURL=index-CrR6G9lz.js.map