@goodie-forms/core 1.0.0-alpha → 1.1.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +757 -646
- package/dist/index.js.map +1 -1
- package/dist/src/form/CustomValidation.d.ts +10 -0
- package/dist/src/form/CustomValidation.d.ts.map +1 -0
- package/dist/src/form/Field.d.ts +31 -0
- package/dist/src/form/Field.d.ts.map +1 -0
- package/dist/src/form/FormController.d.ts +68 -0
- package/dist/src/form/FormController.d.ts.map +1 -0
- package/dist/{form → src/form}/FormField.d.ts +6 -3
- package/dist/src/form/FormField.d.ts.map +1 -0
- package/dist/src/form/NonullFormField.d.ts +10 -0
- package/dist/src/form/NonullFormField.d.ts.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/types/DeepPartial.d.ts +6 -0
- package/dist/src/types/DeepPartial.d.ts.map +1 -0
- package/dist/src/types/Mixin.d.ts +2 -0
- package/dist/src/types/Mixin.d.ts.map +1 -0
- package/dist/src/utils/ensureImmerability.d.ts +2 -0
- package/dist/src/utils/ensureImmerability.d.ts.map +1 -0
- package/dist/src/utils/getId.d.ts.map +1 -0
- package/dist/src/utils/removeBy.d.ts.map +1 -0
- package/dist/test/test1.d.ts +2 -0
- package/dist/test/test1.d.ts.map +1 -0
- package/package.json +27 -27
- package/src/form/CustomValidation.ts +52 -0
- package/src/form/Field.ts +334 -194
- package/src/form/FormController.ts +310 -290
- package/src/form/FormField.ts +202 -199
- package/src/form/NonullFormField.ts +21 -0
- package/src/index.ts +5 -3
- package/src/types/DeepPartial.ts +7 -3
- package/src/types/Mixin.ts +2 -0
- package/src/utils/ensureImmerability.ts +30 -0
- package/src/utils/getId.ts +5 -5
- package/src/utils/removeBy.ts +11 -11
- package/test/test1.ts +52 -0
- package/tsconfig.json +7 -7
- package/vite.config.ts +18 -18
- package/dist/form/Field.d.ts +0 -17
- package/dist/form/Field.d.ts.map +0 -1
- package/dist/form/FormController.d.ts +0 -62
- package/dist/form/FormController.d.ts.map +0 -1
- package/dist/form/FormField.d.ts.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/types/DeepPartial.d.ts +0 -4
- package/dist/types/DeepPartial.d.ts.map +0 -1
- package/dist/utils/getId.d.ts.map +0 -1
- package/dist/utils/removeBy.d.ts.map +0 -1
- /package/dist/{utils → src/utils}/getId.d.ts +0 -0
- /package/dist/{utils → src/utils}/removeBy.d.ts +0 -0
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
-
import { Field } from '../form/Field';
|
|
3
|
-
import { DeepPartial } from '../types/DeepPartial';
|
|
4
|
-
import { FormField } from './FormField';
|
|
5
|
-
export declare namespace Form {
|
|
6
|
-
type Status = "idle" | "validating" | "submitting";
|
|
7
|
-
type FormConfigs<TShape extends object> = ConstructorParameters<typeof FormController<TShape>>[0];
|
|
8
|
-
interface PreventableEvent {
|
|
9
|
-
preventDefault(): void;
|
|
10
|
-
}
|
|
11
|
-
type SubmitSuccessHandler<TShape extends object, TEvent extends PreventableEvent> = (data: TShape, event: TEvent, abortSignal: AbortSignal) => void | Promise<void>;
|
|
12
|
-
type SubmitErrorHandler<TEvent extends PreventableEvent> = (issues: StandardSchemaV1.Issue[], event: TEvent, abortSignal: AbortSignal) => void | Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare class FormController<TShape extends object = object> {
|
|
15
|
-
_status: Form.Status;
|
|
16
|
-
_fields: Map<Field.Paths<TShape>, FormField<TShape, any>>;
|
|
17
|
-
_initialData: DeepPartial<TShape>;
|
|
18
|
-
_data: DeepPartial<TShape>;
|
|
19
|
-
_issues: StandardSchemaV1.Issue[];
|
|
20
|
-
equalityComparators?: Record<any, (a: any, b: any) => boolean>;
|
|
21
|
-
validationSchema?: StandardSchemaV1<TShape, TShape>;
|
|
22
|
-
readonly events: import('nanoevents').Emitter<{
|
|
23
|
-
statusChanged(newStatus: Form.Status, oldStatus: Form.Status): void;
|
|
24
|
-
fieldBound(fieldPath: Field.Paths<TShape>): void;
|
|
25
|
-
fieldUnbound(fieldPath: Field.Paths<TShape>): void;
|
|
26
|
-
fieldTouchUpdated(path: Field.Paths<TShape>): void;
|
|
27
|
-
fieldDirtyUpdated(path: Field.Paths<TShape>): void;
|
|
28
|
-
elementBound(fieldPath: Field.Paths<TShape>, el: HTMLElement): void;
|
|
29
|
-
elementUnbound(fieldPath: Field.Paths<TShape>): void;
|
|
30
|
-
validationTriggered(fieldPath: Field.Paths<TShape>): void;
|
|
31
|
-
validationIssuesUpdated(fieldPath: Field.Paths<TShape>): void;
|
|
32
|
-
valueChanged(path: Field.Paths<TShape>, newValue: Field.GetValue<TShape, Field.Paths<TShape>> | undefined, oldValue: Field.GetValue<TShape, Field.Paths<TShape>> | undefined): void;
|
|
33
|
-
}>;
|
|
34
|
-
constructor(config: {
|
|
35
|
-
initialData?: DeepPartial<TShape>;
|
|
36
|
-
validationSchema?: StandardSchemaV1<TShape, TShape>;
|
|
37
|
-
equalityComparators?: Record<any, (a: any, b: any) => boolean>;
|
|
38
|
-
});
|
|
39
|
-
get isDirty(): boolean;
|
|
40
|
-
get isValid(): boolean;
|
|
41
|
-
get isSubmitting(): boolean;
|
|
42
|
-
protected setStatus(newStatus: Form.Status): void;
|
|
43
|
-
_unsafeSetFieldValue<TPath extends Field.Paths<TShape>>(path: TPath, value: Field.GetValue<TShape, TPath>, config?: {
|
|
44
|
-
updateInitialValue?: boolean;
|
|
45
|
-
}): void;
|
|
46
|
-
bindField<TPath extends Field.Paths<TShape>>(path: TPath, config?: {
|
|
47
|
-
defaultValue?: Field.GetValue<TShape, TPath>;
|
|
48
|
-
domElement?: HTMLElement;
|
|
49
|
-
}): FormField<TShape, TPath>;
|
|
50
|
-
unbindField(path: Field.Paths<TShape>): void;
|
|
51
|
-
reset(newInitialData?: DeepPartial<TShape>): void;
|
|
52
|
-
getField<TPath extends Field.Paths<TShape>>(path: TPath, config: {
|
|
53
|
-
bindIfMissing: true;
|
|
54
|
-
}): FormField<TShape, TPath>;
|
|
55
|
-
getField<TPath extends Field.Paths<TShape>>(path: TPath): FormField<TShape, TPath> | undefined;
|
|
56
|
-
clearFieldIssues<TPath extends Field.Paths<TShape>>(path: TPath): void;
|
|
57
|
-
private applyValidation;
|
|
58
|
-
validateField<TPath extends Field.Paths<TShape>>(path: TPath): Promise<void>;
|
|
59
|
-
validateForm(): Promise<void>;
|
|
60
|
-
createSubmitHandler<TEvent extends Form.PreventableEvent>(onSuccess?: Form.SubmitSuccessHandler<TShape, TEvent>, onError?: Form.SubmitErrorHandler<TEvent>): (event: TEvent) => Promise<void>;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=FormController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormController.d.ts","sourceRoot":"","sources":["../../src/form/FormController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../src/form/FormField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,SAAS,CACpB,MAAM,SAAS,MAAM,EACrB,KAAK,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;aAUf,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC;aAClC,IAAI,EAAE,KAAK;IAT7B,SAAgB,EAAE,SAAW;IAE7B,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE/B,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,QAAQ,UAAS;gBAGT,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,EAClC,IAAI,EAAE,KAAK;IAG7B,IAAI,KAAK,8CAKR;IAED,IAAI,YAAY,4BAEf;IAED,IAAI,MAAM,6DAIT;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO;IAMxC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO;IAMpC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS;IAMvC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG;IA6B9C,QAAQ,CACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EACpC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAK/C,WAAW,CACT,QAAQ,EAAE,CACR,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EAC3C,KAAK,EAAE,IAAI,KACR,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,EACzC,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IA0DH,KAAK;IAKL,KAAK;IAIL,SAAS;IAKT,iBAAiB;IAIjB,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;CAUvC"}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeepPartial.d.ts","sourceRoot":"","sources":["../../src/types/DeepPartial.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getId.d.ts","sourceRoot":"","sources":["../../src/utils/getId.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,WAEpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"removeBy.d.ts","sourceRoot":"","sources":["../../src/utils/removeBy.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,QAUpE"}
|
|
File without changes
|
|
File without changes
|