@codeleap/form 7.0.2 → 7.1.2

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 (49) hide show
  1. package/dist/fields/bool.js +9 -10
  2. package/dist/fields/bool.js.map +1 -1
  3. package/dist/fields/date.js +17 -32
  4. package/dist/fields/date.js.map +1 -1
  5. package/dist/fields/file.js +9 -10
  6. package/dist/fields/file.js.map +1 -1
  7. package/dist/fields/group.js +9 -10
  8. package/dist/fields/group.js.map +1 -1
  9. package/dist/fields/index.d.ts +3 -3
  10. package/dist/fields/index.js +17 -26
  11. package/dist/fields/index.js.map +1 -1
  12. package/dist/fields/list.js +11 -14
  13. package/dist/fields/list.js.map +1 -1
  14. package/dist/fields/number.js +13 -24
  15. package/dist/fields/number.js.map +1 -1
  16. package/dist/fields/selectable.js +13 -14
  17. package/dist/fields/selectable.js.map +1 -1
  18. package/dist/fields/text.js +9 -10
  19. package/dist/fields/text.js.map +1 -1
  20. package/dist/hooks/index.js +2 -7
  21. package/dist/hooks/index.js.map +1 -1
  22. package/dist/hooks/useField.js +5 -8
  23. package/dist/hooks/useField.js.map +1 -1
  24. package/dist/hooks/useValidate.js +11 -16
  25. package/dist/hooks/useValidate.js.map +1 -1
  26. package/dist/index.js +5 -21
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/Field.d.ts +4 -4
  29. package/dist/lib/Field.js +52 -47
  30. package/dist/lib/Field.js.map +1 -1
  31. package/dist/lib/Form.d.ts +2 -2
  32. package/dist/lib/Form.js +21 -22
  33. package/dist/lib/Form.js.map +1 -1
  34. package/dist/lib/factories.js +2 -5
  35. package/dist/lib/factories.js.map +1 -1
  36. package/dist/lib/index.js +2 -20
  37. package/dist/lib/index.js.map +1 -1
  38. package/dist/lib/useFieldBinding.js +16 -21
  39. package/dist/lib/useFieldBinding.js.map +1 -1
  40. package/dist/types/field.js +1 -2
  41. package/dist/types/form.js +1 -2
  42. package/dist/types/globals.js +1 -2
  43. package/dist/types/index.js +1 -2
  44. package/dist/types/validation.js +1 -2
  45. package/dist/validators/index.js +1 -17
  46. package/dist/validators/index.js.map +1 -1
  47. package/dist/validators/zod.js +6 -11
  48. package/dist/validators/zod.js.map +1 -1
  49. package/package.json +10 -9
@@ -1,19 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BooleanField = void 0;
4
- const Field_1 = require("../lib/Field");
5
- const zod_1 = require("zod");
6
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
7
4
  /**
8
5
  * Field for boolean values (checkboxes, toggles). `Form.setValues` treats
9
6
  * this field specially: it will only set a value when the incoming value is
10
7
  * strictly `boolean`, because falsy coercion would prevent setting `false`.
11
8
  */
12
- class BooleanField extends Field_1.Field {
9
+ export class BooleanField extends Field {
10
+ _type = "BOOLEAN";
13
11
  constructor(options) {
14
- super(Object.assign({ validate: (0, validators_1.zodValidator)(zod_1.z.boolean()) }, options));
15
- this._type = "BOOLEAN";
12
+ super({
13
+ validate: zodValidator(z.boolean()),
14
+ ...options
15
+ });
16
16
  }
17
17
  }
18
- exports.BooleanField = BooleanField;
19
18
  //# sourceMappingURL=bool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bool.js","sourceRoot":"","sources":["../../src/fields/bool.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAS5C;;;;GAIG;AACH,MAAa,YAAgD,SAAQ,aAAwB;IAG3F,YAAY,OAAsC;QAChD,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,OAAC,CAAC,OAAO,EAAE,CAAwB,IACvD,OAAO,EACV,CAAA;QANJ,UAAK,GAAG,SAAS,CAAA;IAOjB,CAAC;CACF;AATD,oCASC"}
1
+ {"version":3,"file":"bool.js","sourceRoot":"","sources":["../../src/fields/bool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAS5C;;;;GAIG;AACH,MAAM,OAAO,YAAgD,SAAQ,KAAwB;IAC3F,KAAK,GAAG,SAAS,CAAA;IAEjB,YAAY,OAAsC;QAChD,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAwB;YAC1D,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,33 +1,16 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.DateField = void 0;
18
- const Field_1 = require("../lib/Field");
19
- const zod_1 = require("zod");
20
- const validators_1 = require("../validators");
21
- const dayjs_1 = __importDefault(require("dayjs"));
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
4
+ import dayjs from 'dayjs';
22
5
  function normalizeToDate(val) {
23
6
  if (!val)
24
7
  return undefined;
25
8
  if (val instanceof Date)
26
9
  return val;
27
- if (dayjs_1.default.isDayjs(val))
10
+ if (dayjs.isDayjs(val))
28
11
  return val.startOf('day').toDate();
29
12
  if (typeof val === 'string') {
30
- const parsed = (0, dayjs_1.default)(val);
13
+ const parsed = dayjs(val);
31
14
  return parsed.isValid() ? parsed.startOf('day').toDate() : undefined;
32
15
  }
33
16
  return undefined;
@@ -40,24 +23,26 @@ function normalizeToDate(val) {
40
23
  * `undefined`, which fails the `z.date()` check. Bounds are enforced at the
41
24
  * start of the day (`startOf('day')`) for dayjs inputs.
42
25
  */
43
- class DateField extends Field_1.Field {
26
+ export class DateField extends Field {
27
+ _type = "DATE";
44
28
  constructor(options) {
45
- const { minimumDate, maximumDate } = options, rest = __rest(options, ["minimumDate", "maximumDate"]);
46
- const schema = zod_1.z.preprocess((val) => {
29
+ const { minimumDate, maximumDate, ...rest } = options;
30
+ const schema = z.preprocess((val) => {
47
31
  const normalized = normalizeToDate(val);
48
32
  if (!normalized || isNaN(normalized.getTime()))
49
33
  return undefined;
50
34
  return normalized;
51
- }, zod_1.z.date()
35
+ }, z.date()
52
36
  .refine(d => !minimumDate || d >= minimumDate, {
53
- message: `Date must be on or after ${minimumDate === null || minimumDate === void 0 ? void 0 : minimumDate.toDateString()}`,
37
+ message: `Date must be on or after ${minimumDate?.toDateString()}`,
54
38
  })
55
39
  .refine(d => !maximumDate || d <= maximumDate, {
56
- message: `Date must be on or before ${maximumDate === null || maximumDate === void 0 ? void 0 : maximumDate.toDateString()}`,
40
+ message: `Date must be on or before ${maximumDate?.toDateString()}`,
57
41
  }));
58
- super(Object.assign({ validate: (0, validators_1.zodValidator)(schema) }, options));
59
- this._type = "DATE";
42
+ super({
43
+ validate: zodValidator(schema),
44
+ ...options,
45
+ });
60
46
  }
61
47
  }
62
- exports.DateField = DateField;
63
48
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/fields/date.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAC5C,kDAAyB;AAUzB,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAE1B,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,GAAG,CAAA;IACnC,IAAI,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;IAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,eAAK,EAAC,GAAG,CAAC,CAAA;QACzB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAa,SAA0C,SAAQ,aAAqB;IAGlF,YAAY,OAAmC;QAC7C,MAAM,EAAE,WAAW,EAAE,WAAW,KAAc,OAAO,EAAhB,IAAI,UAAK,OAAO,EAA/C,8BAAqC,CAAU,CAAA;QAErD,MAAM,MAAM,GAAG,OAAC,CAAC,UAAU,CAAC,CAAC,GAAY,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YAEvC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,SAAS,CAAA;YAChE,OAAO,UAAU,CAAA;QACnB,CAAC,EAAE,OAAC,CAAC,IAAI,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,EAAE;YAC7C,OAAO,EAAE,4BAA4B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,EAAE,EAAE;SACnE,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,EAAE;YAC7C,OAAO,EAAE,6BAA6B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,EAAE,EAAE;SACpE,CAAC,CACH,CAAA;QAED,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,MAAM,CAAwB,IAClD,OAAO,EACV,CAAA;QAtBJ,UAAK,GAAG,MAAM,CAAA;IAuBd,CAAC;CACF;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/fields/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAE1B,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,GAAG,CAAA;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;IAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACzB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,SAA0C,SAAQ,KAAqB;IAClF,KAAK,GAAG,MAAM,CAAA;IAEd,YAAY,OAAmC;QAC7C,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QAErD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAY,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YAEvC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,SAAS,CAAA;YAChE,OAAO,UAAU,CAAA;QACnB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,EAAE;YAC7C,OAAO,EAAE,4BAA4B,WAAW,EAAE,YAAY,EAAE,EAAE;SACnE,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,EAAE;YAC7C,OAAO,EAAE,6BAA6B,WAAW,EAAE,YAAY,EAAE,EAAE;SACpE,CAAC,CACH,CAAA;QAED,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAwB;YACrD,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,20 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileField = void 0;
4
- const Field_1 = require("../lib/Field");
5
- const zod_1 = require("zod");
6
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
7
4
  /**
8
5
  * Field for file uploads. The value type is `any` because the shape of a
9
6
  * "file" differs between web (`File` / `FileList`) and React Native (asset
10
7
  * descriptor objects). Supply a custom `validate` function to enforce whatever
11
8
  * shape your platform produces.
12
9
  */
13
- class FileField extends Field_1.Field {
10
+ export class FileField extends Field {
11
+ _type = "FILE";
14
12
  constructor(options) {
15
- super(Object.assign({ validate: (0, validators_1.zodValidator)(zod_1.z.any()) }, options));
16
- this._type = "FILE";
13
+ super({
14
+ validate: zodValidator(z.any()),
15
+ ...options
16
+ });
17
17
  }
18
18
  }
19
- exports.FileField = FileField;
20
19
  //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/fields/file.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAO5C;;;;;GAKG;AACH,MAAa,SAA0C,SAAQ,aAAoB;IAGjF,YAAY,OAAmC;QAC7C,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,OAAC,CAAC,GAAG,EAAE,CAAwB,IACnD,OAAO,EACV,CAAA;QANJ,UAAK,GAAG,MAAM,CAAA;IAOd,CAAC;CACF;AATD,8BASC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/fields/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAO5C;;;;;GAKG;AACH,MAAM,OAAO,SAA0C,SAAQ,KAAoB;IACjF,KAAK,GAAG,MAAM,CAAA;IAEd,YAAY,OAAmC;QAC7C,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAwB;YACtD,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,20 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupField = void 0;
4
- const Field_1 = require("../lib/Field");
5
- const zod_1 = require("zod");
6
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
7
4
  /**
8
5
  * Field that represents a selected group or category, stored as a string key.
9
6
  * Structurally identical to `TextField` but carries the `"group"` type tag so
10
7
  * platform renderers can distinguish it and render a group-picker control
11
8
  * instead of a free-text input.
12
9
  */
13
- class GroupField extends Field_1.Field {
10
+ export class GroupField extends Field {
11
+ _type = "group";
14
12
  constructor(options) {
15
- super(Object.assign({ validate: (0, validators_1.zodValidator)(zod_1.z.string()) }, options));
16
- this._type = "group";
13
+ super({
14
+ validate: zodValidator(z.string()),
15
+ ...options
16
+ });
17
17
  }
18
18
  }
19
- exports.GroupField = GroupField;
20
19
  //# sourceMappingURL=group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/fields/group.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAQ5C;;;;;GAKG;AACH,MAAa,UAA4C,SAAQ,aAAuB;IAGtF,YAAY,OAAoC;QAC9C,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,OAAC,CAAC,MAAM,EAAE,CAAwB,IACtD,OAAO,EACV,CAAA;QANJ,UAAK,GAAG,OAAO,CAAA;IAOf,CAAC;CACF;AATD,gCASC"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/fields/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAQ5C;;;;;GAKG;AACH,MAAM,OAAO,UAA4C,SAAQ,KAAuB;IACtF,KAAK,GAAG,OAAO,CAAA;IAEf,YAAY,OAAoC;QAC9C,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAwB;YACzD,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -23,7 +23,7 @@ export declare const fields: {
23
23
  text: <A extends {
24
24
  name?: string;
25
25
  defaultValue?: string | null | undefined;
26
- state?: import("nanostores", { with: { "resolution-mode": "import" } }).WritableAtom<string> | undefined;
26
+ state?: import("nanostores").WritableAtom<string> | undefined;
27
27
  validate?: import("./text").TextValidator<any, any> | undefined;
28
28
  loader?: ((form: any) => Partial<Omit<import("..").FieldOptions<string, import("./text").TextValidator<any, any>>, "loader">>) | undefined;
29
29
  onValueChange?: ((newValue: string) => void) | undefined;
@@ -46,7 +46,7 @@ export declare const fields: {
46
46
  boolean: <A extends {
47
47
  name?: string;
48
48
  defaultValue?: boolean | null | undefined;
49
- state?: import("nanostores", { with: { "resolution-mode": "import" } }).WritableAtom<boolean> | undefined;
49
+ state?: import("nanostores").WritableAtom<boolean> | undefined;
50
50
  validate?: import("./bool").BooleanValidator<any, any> | undefined;
51
51
  loader?: ((form: any) => Partial<Omit<import("..").FieldOptions<boolean, import("./bool").BooleanValidator<any, any>>, "loader">>) | undefined;
52
52
  onValueChange?: ((newValue: boolean) => void) | undefined;
@@ -54,7 +54,7 @@ export declare const fields: {
54
54
  selectable: <A extends {
55
55
  name?: string;
56
56
  defaultValue?: (string | number) | null | undefined;
57
- state?: import("nanostores", { with: { "resolution-mode": "import" } }).WritableAtom<string | number> | undefined;
57
+ state?: import("nanostores").WritableAtom<string | number> | undefined;
58
58
  validate?: import("./selectable").SelectableValidator<string | number, any, any> | undefined;
59
59
  loader?: ((form: any) => Partial<Omit<import("..").FieldOptions<string | number, import("./selectable").SelectableValidator<string | number, any, any>>, "loader">>) | undefined;
60
60
  onValueChange?: ((newValue: string | number) => void) | undefined;
@@ -1,21 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileField = exports.DateField = exports.SelectableField = exports.BooleanField = exports.NumberField = exports.ListField = exports.TextField = exports.fields = void 0;
4
- const factories_1 = require("../lib/factories");
5
- const text_1 = require("./text");
6
- Object.defineProperty(exports, "TextField", { enumerable: true, get: function () { return text_1.TextField; } });
7
- const list_1 = require("./list");
8
- Object.defineProperty(exports, "ListField", { enumerable: true, get: function () { return list_1.ListField; } });
9
- const number_1 = require("./number");
10
- Object.defineProperty(exports, "NumberField", { enumerable: true, get: function () { return number_1.NumberField; } });
11
- const bool_1 = require("./bool");
12
- Object.defineProperty(exports, "BooleanField", { enumerable: true, get: function () { return bool_1.BooleanField; } });
13
- const selectable_1 = require("./selectable");
14
- Object.defineProperty(exports, "SelectableField", { enumerable: true, get: function () { return selectable_1.SelectableField; } });
15
- const date_1 = require("./date");
16
- Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return date_1.DateField; } });
17
- const file_1 = require("./file");
18
- Object.defineProperty(exports, "FileField", { enumerable: true, get: function () { return file_1.FileField; } });
1
+ import { fieldFactory } from "../lib/factories";
2
+ import { TextField } from "./text";
3
+ import { ListField, listFieldFactory } from "./list";
4
+ import { NumberField } from "./number";
5
+ import { BooleanField } from "./bool";
6
+ import { SelectableField } from "./selectable";
7
+ import { DateField } from "./date";
8
+ import { FileField } from "./file";
19
9
  /**
20
10
  * Convenience namespace that exposes factory functions for every built-in field
21
11
  * type. Prefer these over calling constructors directly — they provide better
@@ -30,13 +20,14 @@ Object.defineProperty(exports, "FileField", { enumerable: true, get: function ()
30
20
  * `fieldFactory`, because `ListField` requires the `item` option's type to be
31
21
  * inferred at the call site.
32
22
  */
33
- exports.fields = {
34
- text: (0, factories_1.fieldFactory)(text_1.TextField),
35
- list: list_1.listFieldFactory,
36
- number: (0, factories_1.fieldFactory)(number_1.NumberField),
37
- boolean: (0, factories_1.fieldFactory)(bool_1.BooleanField),
38
- selectable: (0, factories_1.fieldFactory)(selectable_1.SelectableField),
39
- date: (0, factories_1.fieldFactory)(date_1.DateField),
40
- file: (0, factories_1.fieldFactory)(file_1.FileField),
23
+ export const fields = {
24
+ text: fieldFactory(TextField),
25
+ list: listFieldFactory,
26
+ number: fieldFactory(NumberField),
27
+ boolean: fieldFactory(BooleanField),
28
+ selectable: fieldFactory(SelectableField),
29
+ date: fieldFactory(DateField),
30
+ file: fieldFactory(FileField),
41
31
  };
32
+ export { TextField, ListField, NumberField, BooleanField, SelectableField, DateField, FileField, };
42
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAC/C,iCAAkC;AAkChC,0FAlCO,gBAAS,OAkCP;AAjCX,iCAAoD;AAkClD,0FAlCO,gBAAS,OAkCP;AAjCX,qCAAsC;AAkCpC,4FAlCO,oBAAW,OAkCP;AAjCb,iCAAqC;AAkCnC,6FAlCO,mBAAY,OAkCP;AAjCd,6CAA8C;AAkC5C,gGAlCO,4BAAe,OAkCP;AAjCjB,iCAAkC;AAkChC,0FAlCO,gBAAS,OAkCP;AAjCX,iCAAkC;AAkChC,0FAlCO,gBAAS,OAkCP;AA/BX;;;;;;;;;;;;;GAaG;AACU,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,IAAA,wBAAY,EAAC,gBAAS,CAAC;IAC7B,IAAI,EAAE,uBAAgB;IACtB,MAAM,EAAE,IAAA,wBAAY,EAAC,oBAAW,CAAC;IACjC,OAAO,EAAE,IAAA,wBAAY,EAAC,mBAAY,CAAC;IACnC,UAAU,EAAE,IAAA,wBAAY,EAAC,4BAAe,CAAC;IACzC,IAAI,EAAE,IAAA,wBAAY,EAAC,gBAAS,CAAC;IAC7B,IAAI,EAAE,IAAA,wBAAY,EAAC,gBAAS,CAAC;CAC9B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,SAAS,EAAG,gBAAgB,EAAC,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGlC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;IAC7B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC;IACjC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC;IACnC,UAAU,EAAE,YAAY,CAAC,eAAe,CAAC;IACzC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;CAC9B,CAAA;AAED,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,GACV,CAAA"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ListField = void 0;
4
- exports.listFieldFactory = listFieldFactory;
5
- const Field_1 = require("../lib/Field");
1
+ import { Field } from "../lib/Field";
6
2
  /**
7
3
  * Field that holds an array of values, each validated by a delegate `item`
8
4
  * field. The built-in validator iterates every element through
@@ -13,17 +9,19 @@ const Field_1 = require("../lib/Field");
13
9
  * The `item` field acts as a prototype — it is not mounted independently and
14
10
  * does not own its own atom. Do not call `use()` on it directly.
15
11
  */
16
- class ListField extends Field_1.Field {
12
+ export class ListField extends Field {
13
+ _type = "LIST";
17
14
  constructor(options) {
18
- super(Object.assign(Object.assign({}, options), { validate: ((v, form) => {
19
- var _a, _b, _c;
20
- if (!((_a = options.item) === null || _a === void 0 ? void 0 : _a.validate))
15
+ super({
16
+ ...options,
17
+ validate: ((v, form) => {
18
+ if (!options.item?.validate)
21
19
  return {
22
20
  isValid: true
23
21
  };
24
22
  const errors = [];
25
23
  for (const value of v) {
26
- const validation = (_c = (_b = options.item) === null || _b === void 0 ? void 0 : _b.validate) === null || _c === void 0 ? void 0 : _c.call(_b, value);
24
+ const validation = options.item?.validate?.(value);
27
25
  if (!validation.isValid) {
28
26
  errors.push(validation);
29
27
  }
@@ -37,11 +35,10 @@ class ListField extends Field_1.Field {
37
35
  return {
38
36
  isValid: true,
39
37
  };
40
- }) }));
41
- this._type = "LIST";
38
+ }),
39
+ });
42
40
  }
43
41
  }
44
- exports.ListField = ListField;
45
42
  /**
46
43
  * Convenience factory for `ListField`. Unlike `fieldFactory`-based helpers,
47
44
  * `ListField` requires an `item` option whose generic type must be inferred at
@@ -49,7 +46,7 @@ exports.ListField = ListField;
49
46
  * exists to provide a consistent `fields.list(...)` call signature alongside
50
47
  * the other entries in the `fields` namespace.
51
48
  */
52
- function listFieldFactory(options) {
49
+ export function listFieldFactory(options) {
53
50
  return new ListField(options);
54
51
  }
55
52
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/fields/list.ts"],"names":[],"mappings":";;;AAkFA,4CAEC;AApFD,wCAAoC;AA6BpC;;;;;;;;;GASG;AACH,MAAa,SAAqC,SAAQ,aAAiD;IAGzG,YAAY,OAA4B;QACtC,KAAK,CAAC,gCACD,OAAO,KACV,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;;gBACrB,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAA;oBAAE,OAAO;wBAClC,OAAO,EAAE,IAAI;qBACd,CAAA;gBAED,MAAM,MAAM,GAAG,EAAE,CAAA;gBAEjB,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,mDAAG,KAAK,CAAC,CAAA;oBAElD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBACzB,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM;qBACd,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC,CAAuB,GAC8C,CAAC,CAAA;QA/B3E,UAAK,GAAG,MAAM,CAAA;IAgCd,CAAC;CACF;AAlCD,8BAkCC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAA2B,OAA4B;IACrF,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/fields/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AA6BpC;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAqC,SAAQ,KAAiD;IACzG,KAAK,GAAG,MAAM,CAAA;IAEd,YAAY,OAA4B;QACtC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ;oBAAE,OAAO;wBAClC,OAAO,EAAE,IAAI;qBACd,CAAA;gBAED,MAAM,MAAM,GAAG,EAAE,CAAA;gBAEjB,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;oBAElD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBACzB,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM;qBACd,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC,CAAuB;SAC8C,CAAC,CAAA;IAC3E,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAA2B,OAA4B;IACrF,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC"}
@@ -1,20 +1,6 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.NumberField = void 0;
15
- const Field_1 = require("../lib/Field");
16
- const zod_1 = require("zod");
17
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
18
4
  const MAX_VALID_DIGITS = 1000000000000000; // maximum number of digits that the input supports to perform operations
19
5
  /**
20
6
  * Field for numeric values. Supports both single numbers and arrays of numbers
@@ -24,16 +10,19 @@ const MAX_VALID_DIGITS = 1000000000000000; // maximum number of digits that the
24
10
  * supports for arithmetic operations). Values outside the range fail
25
11
  * validation.
26
12
  */
27
- class NumberField extends Field_1.Field {
13
+ export class NumberField extends Field {
14
+ _type = "NUMBER";
28
15
  constructor(options) {
29
- const { min = 0, max = MAX_VALID_DIGITS, defaultValue } = options, others = __rest(options, ["min", "max", "defaultValue"]);
16
+ const { min = 0, max = MAX_VALID_DIGITS, defaultValue, ...others } = options;
30
17
  const isMultiple = Array.isArray(defaultValue);
31
- const zScheme = zod_1.z.number().min(min).max(max);
32
- super(Object.assign({ validate: (0, validators_1.zodValidator)(isMultiple ? zod_1.z.array(zScheme) : zScheme), min,
18
+ const zScheme = z.number().min(min).max(max);
19
+ super({
20
+ validate: zodValidator(isMultiple ? z.array(zScheme) : zScheme),
21
+ min,
33
22
  max,
34
- defaultValue }, others));
35
- this._type = "NUMBER";
23
+ defaultValue,
24
+ ...others
25
+ });
36
26
  }
37
27
  }
38
- exports.NumberField = NumberField;
39
28
  //# sourceMappingURL=number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/fields/number.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAY5C,MAAM,gBAAgB,GAAG,gBAAgB,CAAA,CAAC,yEAAyE;AAEnH;;;;;;;GAOG;AACH,MAAa,WAA8C,SAAQ,aAAkC;IAGnG,YAAY,OAAqC;QAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,gBAAgB,EAAE,YAAY,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO,EAAtE,8BAA4D,CAAU,CAAA;QAE5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAE9C,MAAM,OAAO,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE5C,KAAK,CAAC,gBACJ,QAAQ,EAAE,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAwB,EACtF,GAAG;YACH,GAAG;YACH,YAAY,IACT,MAAM,CACsB,CAAC,CAAA;QAfpC,UAAK,GAAG,QAAQ,CAAA;IAgBhB,CAAC;CACF;AAlBD,kCAkBC"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/fields/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAY5C,MAAM,gBAAgB,GAAG,gBAAgB,CAAA,CAAC,yEAAyE;AAEnH;;;;;;;GAOG;AACH,MAAM,OAAO,WAA8C,SAAQ,KAAkC;IACnG,KAAK,GAAG,QAAQ,CAAA;IAEhB,YAAY,OAAqC;QAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;QAE5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAE9C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE5C,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAwB;YACtF,GAAG;YACH,GAAG;YACH,YAAY;YACZ,GAAG,MAAM;SACsB,CAAC,CAAA;IACpC,CAAC;CACF"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectableField = void 0;
4
- const Field_1 = require("../lib/Field");
5
- const zod_1 = require("zod");
6
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
7
4
  /**
8
5
  * Field for single or multi-select inputs whose options are a fixed list of
9
6
  * string/number keys. `minItems` defaults to `1` (at least one selection
@@ -12,15 +9,17 @@ const validators_1 = require("../validators");
12
9
  * value or an array, so the same field type covers both radio-style and
13
10
  * checkbox-style UIs.
14
11
  */
15
- class SelectableField extends Field_1.Field {
12
+ export class SelectableField extends Field {
13
+ _type = "SELECTABLE";
16
14
  constructor(options) {
17
- var _a;
18
- const { minItems = 1, maxItems = (_a = options === null || options === void 0 ? void 0 : options.options) === null || _a === void 0 ? void 0 : _a.length } = options;
19
- const zScheme = zod_1.z.string().or(zod_1.z.number());
20
- super(Object.assign({ validate: (0, validators_1.zodValidator)(zod_1.z.array(zScheme).min(minItems).max(maxItems).or(zScheme)), minItems,
21
- maxItems }, options));
22
- this._type = "SELECTABLE";
15
+ const { minItems = 1, maxItems = options?.options?.length } = options;
16
+ const zScheme = z.string().or(z.number());
17
+ super({
18
+ validate: zodValidator(z.array(zScheme).min(minItems).max(maxItems).or(zScheme)),
19
+ minItems,
20
+ maxItems,
21
+ ...options,
22
+ });
23
23
  }
24
24
  }
25
- exports.SelectableField = SelectableField;
26
25
  //# sourceMappingURL=selectable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectable.js","sourceRoot":"","sources":["../../src/fields/selectable.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAc5C;;;;;;;GAOG;AACH,MAAa,eAA0E,SAAQ,aAAkB;IAG/G,YAAY,OAA4C;;QACtD,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAErE,MAAM,OAAO,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAEzC,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,OAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAwB,EACvG,QAAQ;YACR,QAAQ,IACL,OAAO,EACV,CAAA;QAZJ,UAAK,GAAG,YAAY,CAAA;IAapB,CAAC;CACF;AAfD,0CAeC"}
1
+ {"version":3,"file":"selectable.js","sourceRoot":"","sources":["../../src/fields/selectable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAc5C;;;;;;;GAOG;AACH,MAAM,OAAO,eAA0E,SAAQ,KAAkB;IAC/G,KAAK,GAAG,YAAY,CAAA;IAEpB,YAAY,OAA4C;QACtD,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAErE,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAEzC,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAwB;YACvG,QAAQ;YACR,QAAQ;YACR,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,20 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextField = void 0;
4
- const Field_1 = require("../lib/Field");
5
- const zod_1 = require("zod");
6
- const validators_1 = require("../validators");
1
+ import { Field } from "../lib/Field";
2
+ import { z } from 'zod';
3
+ import { zodValidator } from "../validators";
7
4
  /**
8
5
  * Field for plain string values. Ships with a `z.string()` fallback validator
9
6
  * so the field is always valid when no custom `validate` option is provided.
10
7
  * Accepts `secure` (password masking) and `multiline` hints that are forwarded
11
8
  * as props to the underlying input component.
12
9
  */
13
- class TextField extends Field_1.Field {
10
+ export class TextField extends Field {
11
+ _type = "TEXT";
14
12
  constructor(options) {
15
- super(Object.assign({ validate: (0, validators_1.zodValidator)(zod_1.z.string().optional()) }, options));
16
- this._type = "TEXT";
13
+ super({
14
+ validate: zodValidator(z.string().optional()),
15
+ ...options
16
+ });
17
17
  }
18
18
  }
19
- exports.TextField = TextField;
20
19
  //# sourceMappingURL=text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/fields/text.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,6BAAuB;AAEvB,8CAA4C;AAY5C;;;;;GAKG;AACH,MAAa,SAA0C,SAAQ,aAAuB;IAGpF,YAAY,OAAmC;QAC7C,KAAK,iBACH,QAAQ,EAAE,IAAA,yBAAY,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAwB,IACjE,OAAO,EACV,CAAA;QANJ,UAAK,GAAG,MAAM,CAAA;IAOd,CAAC;CACF;AATD,8BASC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/fields/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAY5C;;;;;GAKG;AACH,MAAM,OAAO,SAA0C,SAAQ,KAAuB;IACpF,KAAK,GAAG,MAAM,CAAA;IAEd,YAAY,OAAmC;QAC7C,KAAK,CAAC;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAwB;YACpE,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,8 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useValidate = exports.useField = void 0;
4
- var useField_1 = require("./useField");
5
- Object.defineProperty(exports, "useField", { enumerable: true, get: function () { return useField_1.useField; } });
6
- var useValidate_1 = require("./useValidate");
7
- Object.defineProperty(exports, "useValidate", { enumerable: true, get: function () { return useValidate_1.useValidate; } });
1
+ export { useField } from './useField';
2
+ export { useValidate } from './useValidate';
8
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useField = useField;
4
- const react_1 = require("react");
1
+ import { useMemo } from "react";
5
2
  /**
6
3
  * Convenience hook for components that accept an optional `field` prop. When
7
4
  * `field` is provided it is used directly; when it is absent (falsy), a
@@ -15,13 +12,13 @@ const react_1 = require("react");
15
12
  * `params` are forwarded to `field.use()` in either branch, so imperative
16
13
  * ref bindings work regardless of which field is active.
17
14
  */
18
- function useField(field, params, defaultField) {
15
+ export function useField(field, params, defaultField) {
19
16
  if (field) {
20
- return field.use(params === null || params === void 0 ? void 0 : params[0], params === null || params === void 0 ? void 0 : params[1]);
17
+ return field.use(params?.[0], params?.[1]);
21
18
  }
22
- const tempField = (0, react_1.useMemo)(() => {
19
+ const tempField = useMemo(() => {
23
20
  return defaultField();
24
21
  }, []);
25
- return tempField.use(params[0], params === null || params === void 0 ? void 0 : params[1]);
22
+ return tempField.use(params[0], params?.[1]);
26
23
  }
27
24
  //# sourceMappingURL=useField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sourceRoot":"","sources":["../../src/hooks/useField.ts"],"names":[],"mappings":";;AAgBA,4BAUC;AA1BD,iCAA+B;AAG/B;;;;;;;;;;;;GAYG;AACH,SAAgB,QAAQ,CAAkC,KAAQ,EAAE,MAA4B,EAAE,YAAqB;IACrH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAyB,CAAA;IACpE,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC7B,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAyB,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"useField.js","sourceRoot":"","sources":["../../src/hooks/useField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAG/B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CAAkC,KAAQ,EAAE,MAA4B,EAAE,YAAqB;IACrH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAyB,CAAA;IACpE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAyB,CAAA;AACtE,CAAC"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useValidate = void 0;
4
- const react_1 = require("react");
5
- const Field_1 = require("../lib/Field");
1
+ import { useCallback, useRef, useState } from 'react';
2
+ import { ValidationError } from '../lib/Field';
6
3
  /**
7
4
  * Standalone validation hook for values managed outside a `Field` instance.
8
5
  * Useful when you have a raw state value and a validator function but do not
@@ -19,18 +16,17 @@ const Field_1 = require("../lib/Field");
19
16
  * A {@link ValidationError} thrown by `providedValidate` is caught and
20
17
  * normalised; other exceptions propagate.
21
18
  */
22
- const useValidate = (value, providedValidate) => {
23
- var _a, _b, _c, _d;
24
- const [hasBlurred, setHasBlurred] = (0, react_1.useState)(false);
19
+ export const useValidate = (value, providedValidate) => {
20
+ const [hasBlurred, setHasBlurred] = useState(false);
25
21
  const isUnset = typeof value === 'undefined';
26
- const startedUnset = (0, react_1.useRef)(isUnset).current;
27
- const validate = (0, react_1.useCallback)((value) => {
22
+ const startedUnset = useRef(isUnset).current;
23
+ const validate = useCallback((value) => {
28
24
  try {
29
- const result = providedValidate === null || providedValidate === void 0 ? void 0 : providedValidate(value, {});
25
+ const result = providedValidate?.(value, {});
30
26
  return result;
31
27
  }
32
28
  catch (e) {
33
- if (e instanceof Field_1.ValidationError) {
29
+ if (e instanceof ValidationError) {
34
30
  return {
35
31
  isValid: false,
36
32
  error: e.data
@@ -39,13 +35,13 @@ const useValidate = (value, providedValidate) => {
39
35
  throw e;
40
36
  }
41
37
  }, []);
42
- const onInputBlurred = (0, react_1.useCallback)(() => {
38
+ const onInputBlurred = useCallback(() => {
43
39
  setHasBlurred(true);
44
40
  }, []);
45
41
  const validation = validate(value);
46
- const isValid = (_a = validation === null || validation === void 0 ? void 0 : validation.isValid) !== null && _a !== void 0 ? _a : true;
42
+ const isValid = validation?.isValid ?? true;
47
43
  const isInvalid = !isValid;
48
- const message = (_b = validation === null || validation === void 0 ? void 0 : validation.readableError) !== null && _b !== void 0 ? _b : (_d = (_c = validation === null || validation === void 0 ? void 0 : validation.error) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message;
44
+ const message = validation?.readableError ?? validation?.error?.[0]?.message;
49
45
  const errorDisplayRequiresBlur = startedUnset;
50
46
  const showError = isInvalid && (errorDisplayRequiresBlur ? hasBlurred : true);
51
47
  return {
@@ -54,5 +50,4 @@ const useValidate = (value, providedValidate) => {
54
50
  message,
55
51
  };
56
52
  };
57
- exports.useValidate = useValidate;
58
53
  //# sourceMappingURL=useValidate.js.map