@native-form/core 0.1.0 → 0.1.1
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.cjs +2073 -0
- package/dist/index.d.cts +495 -0
- package/dist/index.d.ts +495 -9
- package/dist/index.js +2030 -7
- package/package.json +5 -3
- package/dist/Discovery.d.ts +0 -2
- package/dist/Discovery.d.ts.map +0 -1
- package/dist/Discovery.js +0 -2
- package/dist/Discovery.js.map +0 -1
- package/dist/FieldErrorRenderer.d.ts +0 -2
- package/dist/FieldErrorRenderer.d.ts.map +0 -1
- package/dist/FieldErrorRenderer.js +0 -2
- package/dist/FieldErrorRenderer.js.map +0 -1
- package/dist/FieldNode.d.ts +0 -2
- package/dist/FieldNode.d.ts.map +0 -1
- package/dist/FieldNode.js +0 -2
- package/dist/FieldNode.js.map +0 -1
- package/dist/FieldRegistry.d.ts +0 -2
- package/dist/FieldRegistry.d.ts.map +0 -1
- package/dist/FieldRegistry.js +0 -2
- package/dist/FieldRegistry.js.map +0 -1
- package/dist/FieldState.d.ts +0 -2
- package/dist/FieldState.d.ts.map +0 -1
- package/dist/FieldState.js +0 -2
- package/dist/FieldState.js.map +0 -1
- package/dist/Path.d.ts +0 -78
- package/dist/Path.d.ts.map +0 -1
- package/dist/Path.js +0 -219
- package/dist/Path.js.map +0 -1
- package/dist/Runtime.d.ts +0 -2
- package/dist/Runtime.d.ts.map +0 -1
- package/dist/Runtime.js +0 -2
- package/dist/Runtime.js.map +0 -1
- package/dist/RuntimeMutationPolicy.d.ts +0 -2
- package/dist/RuntimeMutationPolicy.d.ts.map +0 -1
- package/dist/RuntimeMutationPolicy.js +0 -2
- package/dist/RuntimeMutationPolicy.js.map +0 -1
- package/dist/Serializer.d.ts +0 -2
- package/dist/Serializer.d.ts.map +0 -1
- package/dist/Serializer.js +0 -2
- package/dist/Serializer.js.map +0 -1
- package/dist/Validation.d.ts +0 -2
- package/dist/Validation.d.ts.map +0 -1
- package/dist/Validation.js +0 -2
- package/dist/Validation.js.map +0 -1
- package/dist/ValidationPipeline.d.ts +0 -2
- package/dist/ValidationPipeline.d.ts.map +0 -1
- package/dist/ValidationPipeline.js +0 -2
- package/dist/ValidationPipeline.js.map +0 -1
- package/dist/discovery/Discovery.d.ts +0 -5
- package/dist/discovery/Discovery.d.ts.map +0 -1
- package/dist/discovery/Discovery.js +0 -63
- package/dist/discovery/Discovery.js.map +0 -1
- package/dist/errors/FieldErrorRenderer.d.ts +0 -17
- package/dist/errors/FieldErrorRenderer.d.ts.map +0 -1
- package/dist/errors/FieldErrorRenderer.js +0 -115
- package/dist/errors/FieldErrorRenderer.js.map +0 -1
- package/dist/field/FieldNode.d.ts +0 -38
- package/dist/field/FieldNode.d.ts.map +0 -1
- package/dist/field/FieldNode.js +0 -154
- package/dist/field/FieldNode.js.map +0 -1
- package/dist/field/FieldRegistry.d.ts +0 -19
- package/dist/field/FieldRegistry.d.ts.map +0 -1
- package/dist/field/FieldRegistry.js +0 -46
- package/dist/field/FieldRegistry.js.map +0 -1
- package/dist/field/FieldState.d.ts +0 -13
- package/dist/field/FieldState.d.ts.map +0 -1
- package/dist/field/FieldState.js +0 -2
- package/dist/field/FieldState.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/runtime/Runtime.d.ts +0 -137
- package/dist/runtime/Runtime.d.ts.map +0 -1
- package/dist/runtime/Runtime.js +0 -1374
- package/dist/runtime/Runtime.js.map +0 -1
- package/dist/runtime/RuntimeMutationPolicy.d.ts +0 -3
- package/dist/runtime/RuntimeMutationPolicy.d.ts.map +0 -1
- package/dist/runtime/RuntimeMutationPolicy.js +0 -34
- package/dist/runtime/RuntimeMutationPolicy.js.map +0 -1
- package/dist/serialization/Serializer.d.ts +0 -52
- package/dist/serialization/Serializer.d.ts.map +0 -1
- package/dist/serialization/Serializer.js +0 -115
- package/dist/serialization/Serializer.js.map +0 -1
- package/dist/shared/types.d.ts +0 -66
- package/dist/shared/types.d.ts.map +0 -1
- package/dist/shared/types.js +0 -2
- package/dist/shared/types.js.map +0 -1
- package/dist/tsdoc-metadata.json +0 -11
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/validation/Validation.d.ts +0 -61
- package/dist/validation/Validation.d.ts.map +0 -1
- package/dist/validation/Validation.js +0 -34
- package/dist/validation/Validation.js.map +0 -1
- package/dist/validation/ValidationPipeline.d.ts +0 -61
- package/dist/validation/ValidationPipeline.d.ts.map +0 -1
- package/dist/validation/ValidationPipeline.js +0 -73
- package/dist/validation/ValidationPipeline.js.map +0 -1
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
export class FieldErrorRenderer {
|
|
2
|
-
static nextErrorId = 0;
|
|
3
|
-
errorIds = new WeakMap();
|
|
4
|
-
errorElements = new WeakMap();
|
|
5
|
-
applyErrors(fields, errors) {
|
|
6
|
-
for (const field of fields) {
|
|
7
|
-
this.applyFieldError(field, errors[field.name]);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
normalizeFields(fields) {
|
|
11
|
-
for (const field of fields) {
|
|
12
|
-
this.normalizeField(field);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
applyFieldError(field, message) {
|
|
16
|
-
const element = field.element;
|
|
17
|
-
try {
|
|
18
|
-
element.setCustomValidity(message ?? "");
|
|
19
|
-
}
|
|
20
|
-
catch (_e) {
|
|
21
|
-
// Some controls in tests may not support setCustomValidity.
|
|
22
|
-
}
|
|
23
|
-
if (!message) {
|
|
24
|
-
this.removeErrorElements(this.findExistingErrorElements(element));
|
|
25
|
-
this.errorElements.delete(element);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
let errorElement = this.getPrimaryErrorElement(element);
|
|
29
|
-
if (!errorElement) {
|
|
30
|
-
errorElement = this.createErrorElement(field);
|
|
31
|
-
element.insertAdjacentElement("afterend", errorElement);
|
|
32
|
-
}
|
|
33
|
-
errorElement.textContent = message;
|
|
34
|
-
this.errorElements.set(element, errorElement);
|
|
35
|
-
}
|
|
36
|
-
normalizeField(field) {
|
|
37
|
-
const element = field.element;
|
|
38
|
-
const existing = this.findExistingErrorElements(element);
|
|
39
|
-
if (existing.length === 0) {
|
|
40
|
-
this.errorElements.delete(element);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const keep = existing[0];
|
|
44
|
-
this.removeErrorElements(existing.slice(1));
|
|
45
|
-
this.decorateErrorElement(field, keep);
|
|
46
|
-
this.errorElements.set(element, keep);
|
|
47
|
-
}
|
|
48
|
-
getPrimaryErrorElement(element) {
|
|
49
|
-
const stored = this.errorElements.get(element);
|
|
50
|
-
if (stored?.isConnected) {
|
|
51
|
-
const existing = this.findExistingErrorElements(element);
|
|
52
|
-
if (existing.length > 1) {
|
|
53
|
-
this.removeErrorElements(existing.slice(1));
|
|
54
|
-
}
|
|
55
|
-
return existing[0] ?? stored;
|
|
56
|
-
}
|
|
57
|
-
const existing = this.findExistingErrorElements(element);
|
|
58
|
-
if (existing.length === 0) {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
const keep = existing[0];
|
|
62
|
-
this.removeErrorElements(existing.slice(1));
|
|
63
|
-
this.errorElements.set(element, keep);
|
|
64
|
-
return keep;
|
|
65
|
-
}
|
|
66
|
-
findExistingErrorElements(element) {
|
|
67
|
-
const results = [];
|
|
68
|
-
let node = element.nextElementSibling;
|
|
69
|
-
while (node) {
|
|
70
|
-
if (node instanceof HTMLElement) {
|
|
71
|
-
const id = node.id ?? "";
|
|
72
|
-
const aria = node.getAttribute("aria-live");
|
|
73
|
-
const isRuntimeLabel = node.dataset.nativeFormError === "true" ||
|
|
74
|
-
id.startsWith("native-form-error-") ||
|
|
75
|
-
aria === "polite";
|
|
76
|
-
if (isRuntimeLabel) {
|
|
77
|
-
results.push(node);
|
|
78
|
-
node = node.nextElementSibling;
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
return results;
|
|
85
|
-
}
|
|
86
|
-
removeErrorElements(elements) {
|
|
87
|
-
for (const element of elements) {
|
|
88
|
-
element.remove();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
createErrorElement(field) {
|
|
92
|
-
const error = document.createElement("div");
|
|
93
|
-
this.decorateErrorElement(field, error);
|
|
94
|
-
error.style.color = "red";
|
|
95
|
-
error.style.fontSize = "0.875rem";
|
|
96
|
-
error.style.marginTop = "0.25rem";
|
|
97
|
-
return error;
|
|
98
|
-
}
|
|
99
|
-
decorateErrorElement(field, element) {
|
|
100
|
-
element.id = this.getOrCreateErrorId(field.element);
|
|
101
|
-
element.dataset.nativeFormError = "true";
|
|
102
|
-
element.setAttribute("data-for", field.name);
|
|
103
|
-
element.setAttribute("aria-live", "polite");
|
|
104
|
-
}
|
|
105
|
-
getOrCreateErrorId(element) {
|
|
106
|
-
const existing = this.errorIds.get(element);
|
|
107
|
-
if (existing) {
|
|
108
|
-
return existing;
|
|
109
|
-
}
|
|
110
|
-
const created = `native-form-error-${FieldErrorRenderer.nextErrorId++}`;
|
|
111
|
-
this.errorIds.set(element, created);
|
|
112
|
-
return created;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=FieldErrorRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldErrorRenderer.js","sourceRoot":"","sources":["../../src/errors/FieldErrorRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { NativeFormElement, NativeFormValue } from "../shared/types";
|
|
2
|
-
import { FieldState } from "./FieldState";
|
|
3
|
-
/** @public */
|
|
4
|
-
export declare class FieldNode {
|
|
5
|
-
readonly element: NativeFormElement;
|
|
6
|
-
constructor(element: NativeFormElement);
|
|
7
|
-
private dirty;
|
|
8
|
-
private touched;
|
|
9
|
-
private mounted;
|
|
10
|
-
private initialValue;
|
|
11
|
-
private stateValue;
|
|
12
|
-
private error?;
|
|
13
|
-
private validating;
|
|
14
|
-
get name(): string;
|
|
15
|
-
get tag(): string;
|
|
16
|
-
get type(): string;
|
|
17
|
-
get value(): unknown;
|
|
18
|
-
focus(): void;
|
|
19
|
-
blur(): void;
|
|
20
|
-
get isDirty(): boolean;
|
|
21
|
-
get isTouched(): boolean;
|
|
22
|
-
get isMounted(): boolean;
|
|
23
|
-
get isValidating(): boolean;
|
|
24
|
-
setValidating(validating: boolean): void;
|
|
25
|
-
register(initialValue?: NativeFormValue): void;
|
|
26
|
-
unregister(): void;
|
|
27
|
-
getState(): FieldState;
|
|
28
|
-
updateValue(value?: NativeFormValue): void;
|
|
29
|
-
markTouched(): void;
|
|
30
|
-
setError(message: string | undefined): void;
|
|
31
|
-
reset(value: NativeFormValue | undefined): void;
|
|
32
|
-
handleInput(value?: NativeFormValue): void;
|
|
33
|
-
handleChange(value?: NativeFormValue): void;
|
|
34
|
-
handleBlur(): void;
|
|
35
|
-
handleReset(value?: NativeFormValue): void;
|
|
36
|
-
handleSubmit(): void;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=FieldNode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldNode.d.ts","sourceRoot":"","sources":["../../src/field/FieldNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,cAAc;AACd,qBAAa,SAAS;aACQ,OAAO,EAAE,iBAAiB;gBAA1B,OAAO,EAAE,iBAAiB;IACtD,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAE3B,IAAI,IAAI,WAEP;IAED,IAAI,GAAG,WAEN;IAED,IAAI,IAAI,WAUP;IAED,IAAI,KAAK,IAAI,OAAO,CA6BnB;IAED,KAAK;IAIL,IAAI;IAIJ,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,YAAY,YAEf;IAED,aAAa,CAAC,UAAU,EAAE,OAAO;IAKjC,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe;IAUvC,UAAU;IAIV,QAAQ,IAAI,UAAU;IAatB,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe;IAMnC,WAAW;IAIX,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAIpC,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS;IAWxC,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe;IAKnC,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IAKpC,UAAU;IAKV,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe;IAQnC,YAAY;CAGb"}
|
package/dist/field/FieldNode.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/** @public */
|
|
2
|
-
export class FieldNode {
|
|
3
|
-
element;
|
|
4
|
-
constructor(element) {
|
|
5
|
-
this.element = element;
|
|
6
|
-
}
|
|
7
|
-
dirty = false;
|
|
8
|
-
touched = false;
|
|
9
|
-
mounted = true;
|
|
10
|
-
initialValue = undefined;
|
|
11
|
-
stateValue = undefined;
|
|
12
|
-
error;
|
|
13
|
-
validating = false;
|
|
14
|
-
get name() {
|
|
15
|
-
return this.element.name;
|
|
16
|
-
}
|
|
17
|
-
get tag() {
|
|
18
|
-
return this.element.tagName.toLowerCase();
|
|
19
|
-
}
|
|
20
|
-
get type() {
|
|
21
|
-
if (this.element instanceof HTMLInputElement) {
|
|
22
|
-
return this.element.type;
|
|
23
|
-
}
|
|
24
|
-
if (this.element instanceof HTMLSelectElement) {
|
|
25
|
-
return this.element.multiple ? "select-multiple" : "select";
|
|
26
|
-
}
|
|
27
|
-
return "textarea";
|
|
28
|
-
}
|
|
29
|
-
get value() {
|
|
30
|
-
if (this.element instanceof HTMLInputElement) {
|
|
31
|
-
switch (this.element.type) {
|
|
32
|
-
case "checkbox":
|
|
33
|
-
return this.element.checked;
|
|
34
|
-
case "radio":
|
|
35
|
-
return this.element.checked ? this.element.value : undefined;
|
|
36
|
-
case "number":
|
|
37
|
-
return this.element.value === ""
|
|
38
|
-
? undefined
|
|
39
|
-
: this.element.valueAsNumber;
|
|
40
|
-
case "file":
|
|
41
|
-
return this.element.files;
|
|
42
|
-
default:
|
|
43
|
-
return this.element.value;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (this.element instanceof HTMLSelectElement) {
|
|
47
|
-
return this.element.multiple
|
|
48
|
-
? Array.from(this.element.selectedOptions).map((o) => o.value)
|
|
49
|
-
: this.element.value;
|
|
50
|
-
}
|
|
51
|
-
return this.element.value;
|
|
52
|
-
}
|
|
53
|
-
focus() {
|
|
54
|
-
this.element.focus();
|
|
55
|
-
}
|
|
56
|
-
blur() {
|
|
57
|
-
this.element.blur();
|
|
58
|
-
}
|
|
59
|
-
get isDirty() {
|
|
60
|
-
return this.dirty;
|
|
61
|
-
}
|
|
62
|
-
get isTouched() {
|
|
63
|
-
return this.touched;
|
|
64
|
-
}
|
|
65
|
-
get isMounted() {
|
|
66
|
-
return this.mounted;
|
|
67
|
-
}
|
|
68
|
-
get isValidating() {
|
|
69
|
-
return this.validating;
|
|
70
|
-
}
|
|
71
|
-
setValidating(validating) {
|
|
72
|
-
this.validating = validating;
|
|
73
|
-
}
|
|
74
|
-
// --- New state API (replaces FieldStateStore) ---
|
|
75
|
-
register(initialValue) {
|
|
76
|
-
this.mounted = true;
|
|
77
|
-
this.initialValue = initialValue;
|
|
78
|
-
this.stateValue = initialValue;
|
|
79
|
-
this.dirty = false;
|
|
80
|
-
this.touched = false;
|
|
81
|
-
this.error = undefined;
|
|
82
|
-
this.validating = false;
|
|
83
|
-
}
|
|
84
|
-
unregister() {
|
|
85
|
-
this.mounted = false;
|
|
86
|
-
}
|
|
87
|
-
getState() {
|
|
88
|
-
return {
|
|
89
|
-
name: this.name,
|
|
90
|
-
dirty: this.dirty,
|
|
91
|
-
touched: this.touched,
|
|
92
|
-
mounted: this.mounted,
|
|
93
|
-
initialValue: this.initialValue,
|
|
94
|
-
value: this.stateValue,
|
|
95
|
-
error: this.error,
|
|
96
|
-
validating: this.validating,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
updateValue(value) {
|
|
100
|
-
const next = value === undefined ? this.value : value;
|
|
101
|
-
this.stateValue = next;
|
|
102
|
-
this.dirty = !isEqualValue(this.initialValue, next);
|
|
103
|
-
}
|
|
104
|
-
markTouched() {
|
|
105
|
-
this.touched = true;
|
|
106
|
-
}
|
|
107
|
-
setError(message) {
|
|
108
|
-
this.error = message;
|
|
109
|
-
}
|
|
110
|
-
reset(value) {
|
|
111
|
-
this.initialValue = value;
|
|
112
|
-
this.stateValue = value;
|
|
113
|
-
this.dirty = false;
|
|
114
|
-
this.touched = false;
|
|
115
|
-
this.error = undefined;
|
|
116
|
-
this.validating = false;
|
|
117
|
-
}
|
|
118
|
-
// --- Lifecycle helpers ---
|
|
119
|
-
// Called when the browser emits input on the control
|
|
120
|
-
handleInput(value) {
|
|
121
|
-
this.updateValue(value);
|
|
122
|
-
}
|
|
123
|
-
// Called when the browser emits change on the control
|
|
124
|
-
handleChange(value) {
|
|
125
|
-
this.updateValue(value);
|
|
126
|
-
}
|
|
127
|
-
// Called when the control is blurred
|
|
128
|
-
handleBlur() {
|
|
129
|
-
this.markTouched();
|
|
130
|
-
}
|
|
131
|
-
// Called when the form is reset
|
|
132
|
-
handleReset(value) {
|
|
133
|
-
const initial = value ?? this.initialValue ?? this.value;
|
|
134
|
-
this.reset(initial);
|
|
135
|
-
this.setError(undefined);
|
|
136
|
-
}
|
|
137
|
-
// Called when the form is submitted (mark touched)
|
|
138
|
-
handleSubmit() {
|
|
139
|
-
this.markTouched();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
function isEqualValue(left, right) {
|
|
143
|
-
if (Array.isArray(left) || Array.isArray(right)) {
|
|
144
|
-
if (!Array.isArray(left) || !Array.isArray(right)) {
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
|
-
if (left.length !== right.length) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
return left.every((value, index) => value === right[index]);
|
|
151
|
-
}
|
|
152
|
-
return left === right;
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=FieldNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldNode.js","sourceRoot":"","sources":["../../src/field/FieldNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { FieldNode } from "./FieldNode";
|
|
2
|
-
export declare class FieldRegistry {
|
|
3
|
-
private readonly fields;
|
|
4
|
-
onChange?: (event: {
|
|
5
|
-
type: "mount" | "unmount";
|
|
6
|
-
field: FieldNode;
|
|
7
|
-
}) => void;
|
|
8
|
-
register(field: FieldNode): void;
|
|
9
|
-
unregister(name: string): void;
|
|
10
|
-
get(name: string): FieldNode | undefined;
|
|
11
|
-
has(name: string): boolean;
|
|
12
|
-
values(): FieldNode[];
|
|
13
|
-
keys(): string[];
|
|
14
|
-
entries(): [string, FieldNode][];
|
|
15
|
-
clear(): void;
|
|
16
|
-
get size(): number;
|
|
17
|
-
getAll(): FieldNode[];
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=FieldRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldRegistry.d.ts","sourceRoot":"","sources":["../../src/field/FieldRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;IAE5E,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,IAAI,SAAS,EAAE;IAIrB,IAAI,IAAI,MAAM,EAAE;IAIhB,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;IAIhC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,SAAS,EAAE;CAGtB"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export class FieldRegistry {
|
|
2
|
-
fields = new Map();
|
|
3
|
-
// Optional change callback used by Runtime to observe mount/unmount events.
|
|
4
|
-
onChange;
|
|
5
|
-
register(field) {
|
|
6
|
-
this.fields.set(field.name, field);
|
|
7
|
-
this.onChange?.({ type: "mount", field });
|
|
8
|
-
}
|
|
9
|
-
unregister(name) {
|
|
10
|
-
const field = this.fields.get(name);
|
|
11
|
-
if (field) {
|
|
12
|
-
field.unregister();
|
|
13
|
-
this.onChange?.({ type: "unmount", field });
|
|
14
|
-
}
|
|
15
|
-
this.fields.delete(name);
|
|
16
|
-
}
|
|
17
|
-
get(name) {
|
|
18
|
-
return this.fields.get(name);
|
|
19
|
-
}
|
|
20
|
-
has(name) {
|
|
21
|
-
return this.fields.has(name);
|
|
22
|
-
}
|
|
23
|
-
values() {
|
|
24
|
-
return [...this.fields.values()];
|
|
25
|
-
}
|
|
26
|
-
keys() {
|
|
27
|
-
return Array.from(this.fields.keys());
|
|
28
|
-
}
|
|
29
|
-
entries() {
|
|
30
|
-
return Array.from(this.fields.entries());
|
|
31
|
-
}
|
|
32
|
-
clear() {
|
|
33
|
-
for (const field of this.fields.values()) {
|
|
34
|
-
field.unregister();
|
|
35
|
-
this.onChange?.({ type: "unmount", field });
|
|
36
|
-
}
|
|
37
|
-
this.fields.clear();
|
|
38
|
-
}
|
|
39
|
-
get size() {
|
|
40
|
-
return this.fields.size;
|
|
41
|
-
}
|
|
42
|
-
getAll() {
|
|
43
|
-
return Array.from(this.fields.values());
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=FieldRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldRegistry.js","sourceRoot":"","sources":["../../src/field/FieldRegistry.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACP,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IACvD,4EAA4E;IAC5E,QAAQ,CAAoE;IAE5E,QAAQ,CAAC,KAAgB;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { NativeFormValue } from "../shared/types";
|
|
2
|
-
/** @public */
|
|
3
|
-
export interface FieldState {
|
|
4
|
-
name: string;
|
|
5
|
-
dirty: boolean;
|
|
6
|
-
touched: boolean;
|
|
7
|
-
mounted: boolean;
|
|
8
|
-
initialValue: NativeFormValue | undefined;
|
|
9
|
-
value: NativeFormValue | undefined;
|
|
10
|
-
error?: string;
|
|
11
|
-
validating?: boolean;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=FieldState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldState.d.ts","sourceRoot":"","sources":["../../src/field/FieldState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,OAAO,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;IAE1C,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
package/dist/field/FieldState.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldState.js","sourceRoot":"","sources":["../../src/field/FieldState.ts"],"names":[],"mappings":""}
|
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,OAAO,EACL,UAAU,EACV,KAAK,sBAAsB,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,OAAO,EACP,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,SAAS,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAEX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,OAAO,GAIR,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EAGb,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,wBAAwB,GAMzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,GAWhB,MAAM,cAAc,CAAC"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { FieldState } from "../field/FieldState";
|
|
2
|
-
import { SerializeFieldsOptions } from "../serialization/Serializer";
|
|
3
|
-
import { ValidationPipeline } from "../validation/ValidationPipeline";
|
|
4
|
-
import { NativeFormFlatValues, NativeFormValue, NativeFormValues, RuntimeListener, SerializationMode, ValidationMode } from "../shared/types";
|
|
5
|
-
import { AsyncFieldValidator, SchemaLike, ValidationResult, Validator } from "../validation/Validation";
|
|
6
|
-
/** @public */
|
|
7
|
-
export interface RuntimeOptions<TValues extends NativeFormValues = NativeFormValues> {
|
|
8
|
-
mode?: ValidationMode;
|
|
9
|
-
serializationMode?: SerializationMode;
|
|
10
|
-
serializeFieldsOptions?: SerializeFieldsOptions;
|
|
11
|
-
nesting?: "flat" | "nested";
|
|
12
|
-
/**
|
|
13
|
-
* When true, preserves serialized values of fields that are removed from the DOM,
|
|
14
|
-
* merging them into subsequent serializations and final submit.
|
|
15
|
-
* @defaultValue false
|
|
16
|
-
*/
|
|
17
|
-
preserveUnmountedValues?: boolean;
|
|
18
|
-
schema?: SchemaLike<TValues>;
|
|
19
|
-
validator?: Validator<TValues>;
|
|
20
|
-
pipeline?: ValidationPipeline<TValues>;
|
|
21
|
-
debounceMs?: number;
|
|
22
|
-
asyncValidators?: Record<string, AsyncFieldValidator>;
|
|
23
|
-
onSubmit?: (values: TValues, event?: SubmitEvent) => void | Promise<void>;
|
|
24
|
-
onInvalid?: (errors: Record<string, string>, values: NativeFormValues, event?: SubmitEvent) => void;
|
|
25
|
-
}
|
|
26
|
-
/** @public */
|
|
27
|
-
export interface RuntimeFormState {
|
|
28
|
-
dirty: boolean;
|
|
29
|
-
touched: boolean;
|
|
30
|
-
valid: boolean;
|
|
31
|
-
submitting: boolean;
|
|
32
|
-
validating: boolean;
|
|
33
|
-
errors: Record<string, string>;
|
|
34
|
-
fields: FieldState[];
|
|
35
|
-
values: NativeFormFlatValues;
|
|
36
|
-
}
|
|
37
|
-
/** @public */
|
|
38
|
-
export interface RuntimePublicApi<TValues extends NativeFormValues = NativeFormValues> {
|
|
39
|
-
readonly fields: FieldState[];
|
|
40
|
-
readonly serializationMode: SerializationMode;
|
|
41
|
-
/**
|
|
42
|
-
* Preserved values from fields that have been unmounted from the DOM
|
|
43
|
-
* when `preserveUnmountedValues: true` is configured.
|
|
44
|
-
*/
|
|
45
|
-
readonly preservedValues: Record<string, NativeFormValue>;
|
|
46
|
-
mount(form: HTMLFormElement): void;
|
|
47
|
-
unmount(): void;
|
|
48
|
-
serialize(): NativeFormFlatValues;
|
|
49
|
-
serializeFields(options?: SerializeFieldsOptions): NativeFormValues;
|
|
50
|
-
validate(): Promise<ValidationResult<TValues>>;
|
|
51
|
-
validateFields(fieldNames: readonly string[]): Promise<ValidationResult<TValues>>;
|
|
52
|
-
submit(event?: SubmitEvent): Promise<ValidationResult<TValues>>;
|
|
53
|
-
subscribe(listener: RuntimeListener): () => void;
|
|
54
|
-
unsubscribe(listener: RuntimeListener): void;
|
|
55
|
-
getFieldValue(name: string): NativeFormValue | undefined;
|
|
56
|
-
getFieldState(name: string): FieldState | undefined;
|
|
57
|
-
getFieldStates(): FieldState[];
|
|
58
|
-
getFormState(): RuntimeFormState;
|
|
59
|
-
setOptions(options: Partial<RuntimeOptions<TValues>>): void;
|
|
60
|
-
removeArrayItem(arrayName: string, index: number): void;
|
|
61
|
-
swapArrayItems(arrayName: string, indexA: number, indexB: number): void;
|
|
62
|
-
moveArrayItem(arrayName: string, fromIndex: number, toIndex: number): void;
|
|
63
|
-
insertArrayItem(arrayName: string, index: number): void;
|
|
64
|
-
}
|
|
65
|
-
/** @public */
|
|
66
|
-
export declare class Runtime<TValues extends NativeFormValues = NativeFormValues> implements RuntimePublicApi<TValues> {
|
|
67
|
-
private readonly options;
|
|
68
|
-
private readonly registry;
|
|
69
|
-
private readonly discovery;
|
|
70
|
-
private readonly serializer;
|
|
71
|
-
private readonly fieldErrorRenderer;
|
|
72
|
-
private form?;
|
|
73
|
-
private readonly listeners;
|
|
74
|
-
private observer?;
|
|
75
|
-
private validationController?;
|
|
76
|
-
private readonly debounceTimers;
|
|
77
|
-
private readonly fieldValidationControllers;
|
|
78
|
-
private submitting;
|
|
79
|
-
private validating;
|
|
80
|
-
private errors;
|
|
81
|
-
private preservedValuesStore;
|
|
82
|
-
private isSyncingFields;
|
|
83
|
-
private pipeline;
|
|
84
|
-
constructor(options?: RuntimeOptions<TValues>);
|
|
85
|
-
mount(form: HTMLFormElement): void;
|
|
86
|
-
unmount(): void;
|
|
87
|
-
private clearDebounceTimers;
|
|
88
|
-
private abortAllValidations;
|
|
89
|
-
private getAsyncValidator;
|
|
90
|
-
serialize(): NativeFormFlatValues;
|
|
91
|
-
serializeFields(options?: SerializeFieldsOptions): NativeFormValues;
|
|
92
|
-
get fields(): FieldState[];
|
|
93
|
-
get serializationMode(): SerializationMode;
|
|
94
|
-
get preservedValues(): Record<string, NativeFormValue>;
|
|
95
|
-
private extractCurrentValues;
|
|
96
|
-
subscribe(listener: RuntimeListener): () => void;
|
|
97
|
-
unsubscribe(listener: RuntimeListener): void;
|
|
98
|
-
private notify;
|
|
99
|
-
private emitFieldEvent;
|
|
100
|
-
private emitValidationEvent;
|
|
101
|
-
private emitFormEvent;
|
|
102
|
-
submit(event?: SubmitEvent): Promise<ValidationResult<TValues>>;
|
|
103
|
-
validate(): Promise<ValidationResult<TValues>>;
|
|
104
|
-
validateFields(fieldNames: readonly string[]): Promise<ValidationResult<TValues>>;
|
|
105
|
-
private handleSubmit;
|
|
106
|
-
private processSubmitFlow;
|
|
107
|
-
private runValidation;
|
|
108
|
-
private handleFieldUpdate;
|
|
109
|
-
private processInputFlow;
|
|
110
|
-
private processChangeFlow;
|
|
111
|
-
private processUpdateFlow;
|
|
112
|
-
private prepareFieldFlow;
|
|
113
|
-
private triggerFieldValidation;
|
|
114
|
-
private executeFieldValidation;
|
|
115
|
-
private handleFieldBlur;
|
|
116
|
-
private runFieldValidation;
|
|
117
|
-
private handleReset;
|
|
118
|
-
private processResetFlow;
|
|
119
|
-
getFieldState(name: string): FieldState | undefined;
|
|
120
|
-
getFieldStates(): FieldState[];
|
|
121
|
-
setOptions(options: Partial<RuntimeOptions<TValues>>): void;
|
|
122
|
-
removeArrayItem(arrayName: string, index: number): void;
|
|
123
|
-
swapArrayItems(arrayName: string, indexA: number, indexB: number): void;
|
|
124
|
-
moveArrayItem(arrayName: string, fromIndex: number, toIndex: number): void;
|
|
125
|
-
insertArrayItem(arrayName: string, index: number): void;
|
|
126
|
-
getFormState(): RuntimeFormState;
|
|
127
|
-
private ensureField;
|
|
128
|
-
getFieldValue(name: string): NativeFormValue | undefined;
|
|
129
|
-
private getValidationFields;
|
|
130
|
-
private toValidationField;
|
|
131
|
-
private syncFields;
|
|
132
|
-
private handleMutation;
|
|
133
|
-
private applyFieldValidationResult;
|
|
134
|
-
private applyValidationResult;
|
|
135
|
-
private applyNativeErrors;
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=Runtime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/Runtime.ts"],"names":[],"mappings":"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"}
|