@reformer/core 11.0.0-beta.4 → 11.0.0-beta.6

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 (47) hide show
  1. package/dist/form/create-form.d.ts +6 -4
  2. package/dist/form/factories/node-factory.d.ts +1 -0
  3. package/dist/form/nodes/field-node.d.ts +3 -0
  4. package/dist/form/validators/email.d.ts +5 -6
  5. package/dist/form/validators/file-type.d.ts +5 -6
  6. package/dist/form/validators/future-date.d.ts +5 -6
  7. package/dist/form/validators/index.d.ts +3 -2
  8. package/dist/form/validators/integer.d.ts +5 -6
  9. package/dist/form/validators/is-date.d.ts +5 -6
  10. package/dist/form/validators/is-number.d.ts +5 -6
  11. package/dist/form/validators/max-age.d.ts +5 -6
  12. package/dist/form/validators/max-date.d.ts +5 -6
  13. package/dist/form/validators/max-file-size.d.ts +5 -6
  14. package/dist/form/validators/max-files.d.ts +5 -6
  15. package/dist/form/validators/max-length.d.ts +6 -7
  16. package/dist/form/validators/max-total-file-size.d.ts +5 -6
  17. package/dist/form/validators/max.d.ts +6 -7
  18. package/dist/form/validators/min-age.d.ts +5 -6
  19. package/dist/form/validators/min-date.d.ts +5 -6
  20. package/dist/form/validators/min-file-size.d.ts +5 -6
  21. package/dist/form/validators/min-files.d.ts +5 -6
  22. package/dist/form/validators/min-length.d.ts +6 -7
  23. package/dist/form/validators/min.d.ts +6 -7
  24. package/dist/form/validators/multiple-of.d.ts +5 -6
  25. package/dist/form/validators/non-negative.d.ts +5 -6
  26. package/dist/form/validators/non-zero.d.ts +5 -6
  27. package/dist/form/validators/past-date.d.ts +5 -6
  28. package/dist/form/validators/pattern.d.ts +6 -14
  29. package/dist/form/validators/phone.d.ts +5 -6
  30. package/dist/form/validators/required.d.ts +7 -12
  31. package/dist/form/validators/url.d.ts +7 -12
  32. package/dist/index.js +423 -376
  33. package/dist/platforms/react/field-binding/field-adapter.d.ts +87 -0
  34. package/dist/platforms/react/field-binding/field-handle.d.ts +50 -0
  35. package/dist/platforms/react/index.d.ts +4 -0
  36. package/docs/llms/02-quick-start.md +3 -3
  37. package/docs/llms/03-api-signatures.md +4 -4
  38. package/docs/llms/09-formschema.md +5 -5
  39. package/docs/llms/10-arrays.md +2 -2
  40. package/docs/llms/15-project-structure.md +19 -16
  41. package/docs/llms/16-ui-components.md +34 -7
  42. package/docs/llms/17-nonexistent-api.md +14 -0
  43. package/docs/llms/29-async-preload.md +3 -3
  44. package/docs/llms/30-type-safety-recipes.md +1 -1
  45. package/llms-index.json +1 -0
  46. package/llms.txt +2146 -68
  47. package/package.json +2 -1
@@ -28,14 +28,13 @@ export interface PhoneValidatorOptions extends ValidateOptions {
28
28
  *
29
29
  * @example Проверка номера телефона
30
30
  * ```typescript
31
+ * import { defineValidationSchema, validate } from '@reformer/core/validation';
31
32
  * import { required, phone } from '@reformer/core/validators';
32
33
  *
33
- * // Внутри FieldConfig схемы формы:
34
- * phone: {
35
- * value: model.$.phone,
36
- * component: Input,
37
- * validators: [required(), phone({ format: 'ru' })],
38
- * },
34
+ * // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
35
+ * const validation = defineValidationSchema<MyForm>(({ model }) => {
36
+ * validate(model.$.phone, [required(), phone({ format: 'ru' })]);
37
+ * });
39
38
  * ```
40
39
  */
41
40
  export declare function phone<TForm = unknown, TField extends string | null | undefined = string>(options?: PhoneValidatorOptions): Validator<TForm, TField>;
@@ -13,20 +13,15 @@ import { Validator, ValidateOptions } from '../types/validation-schema';
13
13
  *
14
14
  * @example Обязательные поля в схеме формы
15
15
  * ```typescript
16
+ * import { defineValidationSchema, validate } from '@reformer/core/validation';
16
17
  * import { required } from '@reformer/core/validators';
17
18
  *
18
- * // Внутри FieldConfig схемы формы:
19
- * email: { value: model.$.email, component: Input, validators: [required()] },
20
- * phone: {
21
- * value: model.$.phone,
22
- * component: Input,
23
- * validators: [required({ message: 'Укажите номер телефона' })],
24
- * },
25
- * agreeToTerms: {
26
- * value: model.$.agreeToTerms,
27
- * component: Checkbox,
28
- * validators: [required({ message: 'Необходимо принять условия' })],
29
- * },
19
+ * // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
20
+ * const validation = defineValidationSchema<MyForm>(({ model }) => {
21
+ * validate(model.$.email, [required()]);
22
+ * validate(model.$.phone, [required({ message: 'Укажите номер телефона' })]);
23
+ * validate(model.$.agreeToTerms, [required({ message: 'Необходимо принять условия' })]);
24
+ * });
30
25
  * ```
31
26
  */
32
27
  export declare function required<TForm = unknown, TField = unknown>(options?: ValidateOptions): Validator<TForm, TField>;
@@ -24,20 +24,15 @@ export interface UrlValidatorOptions extends ValidateOptions {
24
24
  *
25
25
  * @example Проверка URL
26
26
  * ```typescript
27
+ * import { defineValidationSchema, validate } from '@reformer/core/validation';
27
28
  * import { required, url } from '@reformer/core/validators';
28
29
  *
29
- * // Внутри FieldConfig схемы формы:
30
- * website: {
31
- * value: model.$.website,
32
- * component: Input,
33
- * validators: [required(), url({ message: 'Введите корректный URL' })],
34
- * },
35
- * // Требовать протокол и ограничить схему только https:
36
- * homepage: {
37
- * value: model.$.homepage,
38
- * component: Input,
39
- * validators: [url({ requireProtocol: true, allowedProtocols: ['https'] })],
40
- * },
30
+ * // Правила живут в отдельной схеме над МОДЕЛЬЮ — layout-схема валидаторов не несёт.
31
+ * const validation = defineValidationSchema<MyForm>(({ model }) => {
32
+ * validate(model.$.website, [required(), url({ message: 'Введите корректный URL' })]);
33
+ * // Требовать протокол и ограничить схему только https:
34
+ * validate(model.$.homepage, [url({ requireProtocol: true, allowedProtocols: ['https'] })]);
35
+ * });
41
36
  * ```
42
37
  */
43
38
  export declare function url<TForm = unknown, TField extends string | null | undefined = string>(options?: UrlValidatorOptions): Validator<TForm, TField>;