@lehnihon/bit-form 2.2.8 → 2.2.10
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/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.d.cts +27 -59
- package/dist/angular/index.d.ts +27 -59
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/bus-BFOBGmd9.d.ts +41 -0
- package/dist/bus-DzTqgkZ4.d.cts +41 -0
- package/dist/chunk-2AFWJAQG.js +2 -0
- package/dist/chunk-2AFWJAQG.js.map +1 -0
- package/dist/chunk-3KI3GEU3.cjs +2 -0
- package/dist/chunk-3KI3GEU3.cjs.map +1 -0
- package/dist/chunk-4RQFECC7.cjs +2 -0
- package/dist/chunk-4RQFECC7.cjs.map +1 -0
- package/dist/chunk-FLFIOW75.js +2 -0
- package/dist/chunk-FLFIOW75.js.map +1 -0
- package/dist/chunk-G2FQQDRK.js +2 -0
- package/dist/chunk-G2FQQDRK.js.map +1 -0
- package/dist/chunk-GPMAT4PT.cjs +2 -0
- package/dist/chunk-GPMAT4PT.cjs.map +1 -0
- package/dist/chunk-GQ2QJCBF.js +2 -0
- package/dist/chunk-GQ2QJCBF.js.map +1 -0
- package/dist/chunk-ICYXODTQ.js +2 -0
- package/dist/chunk-ICYXODTQ.js.map +1 -0
- package/dist/{chunk-P2YWYBWG.cjs → chunk-IVPCXKYW.cjs} +2 -2
- package/dist/{chunk-P2YWYBWG.cjs.map → chunk-IVPCXKYW.cjs.map} +1 -1
- package/dist/{chunk-JC4R5WCC.js → chunk-LX4GSDUV.js} +2 -2
- package/dist/chunk-NVFZ22A7.cjs +2 -0
- package/dist/chunk-NVFZ22A7.cjs.map +1 -0
- package/dist/chunk-OPC7HFNN.js +2 -0
- package/dist/chunk-OPC7HFNN.js.map +1 -0
- package/dist/chunk-PA43XYOW.cjs +2 -0
- package/dist/{chunk-IV32WXCF.cjs.map → chunk-PA43XYOW.cjs.map} +1 -1
- package/dist/chunk-PG7ZH32Z.js +2 -0
- package/dist/chunk-PG7ZH32Z.js.map +1 -0
- package/dist/{chunk-D7JQWF6V.cjs → chunk-RHMJPKNV.cjs} +1 -1
- package/dist/{chunk-D7JQWF6V.cjs.map → chunk-RHMJPKNV.cjs.map} +1 -1
- package/dist/{chunk-EQ55DKX2.js → chunk-UIKO6GGW.js} +1 -1
- package/dist/chunk-UIKO6GGW.js.map +1 -0
- package/dist/chunk-VBX5I5XG.cjs +2 -0
- package/dist/chunk-VBX5I5XG.cjs.map +1 -0
- package/dist/chunk-ZKAFHJPU.cjs +2 -0
- package/dist/chunk-ZKAFHJPU.cjs.map +1 -0
- package/dist/cli/index.cjs +5 -5
- package/dist/{types-D6LhF5GC.d.cts → config-types-5eR82k2V.d.cts} +45 -168
- package/dist/{types-CG5nYeRk.d.ts → config-types-D9n-rQLk.d.ts} +45 -168
- package/dist/core/bindings.cjs +1 -1
- package/dist/core/bindings.cjs.map +1 -1
- package/dist/core/bindings.d.cts +33 -21
- package/dist/core/bindings.d.ts +33 -21
- package/dist/core/bindings.js +1 -1
- package/dist/core/status.cjs +1 -1
- package/dist/core/status.d.cts +5 -6
- package/dist/core/status.d.ts +5 -6
- package/dist/core/status.js +1 -1
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.cjs.map +1 -1
- package/dist/core/store.d.cts +8 -6
- package/dist/core/store.d.ts +8 -6
- package/dist/core/store.js +1 -1
- package/dist/core/utils.cjs +1 -1
- package/dist/core/utils.cjs.map +1 -1
- package/dist/core/utils.d.cts +4 -12
- package/dist/core/utils.d.ts +4 -12
- package/dist/core/utils.js +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +10 -9
- package/dist/core.d.ts +10 -9
- package/dist/core.js +1 -1
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.cjs.map +1 -1
- package/dist/devtools/bridge.d.cts +2 -3
- package/dist/devtools/bridge.d.ts +2 -3
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +2 -2
- package/dist/devtools/index.cjs.map +1 -1
- package/dist/devtools/index.d.cts +5 -3
- package/dist/devtools/index.d.ts +5 -3
- package/dist/devtools/index.js +1 -1
- package/dist/devtools/index.js.map +1 -1
- package/dist/{field-binding-MX6jVQbT.d.ts → field-binding-Bi1g-D8X.d.ts} +1 -1
- package/dist/{field-binding-B_OX3bjp.d.cts → field-binding-X5TkvfUt.d.cts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -1
- package/dist/mask.cjs +1 -1
- package/dist/mask.cjs.map +1 -1
- package/dist/mask.d.cts +2 -2
- package/dist/mask.d.ts +2 -2
- package/dist/mask.js +1 -1
- package/dist/mask.js.map +1 -1
- package/dist/meta-types-BC1VLABk.d.cts +28 -0
- package/dist/meta-types-BC1VLABk.d.ts +28 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +12 -12
- package/dist/react/index.d.ts +12 -12
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.cjs.map +1 -1
- package/dist/react-native/index.d.cts +10 -9
- package/dist/react-native/index.d.ts +10 -9
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/resolvers/index.d.cts +2 -3
- package/dist/resolvers/index.d.ts +2 -3
- package/dist/resolvers/joi.d.cts +2 -3
- package/dist/resolvers/joi.d.ts +2 -3
- package/dist/resolvers/yup.d.cts +2 -3
- package/dist/resolvers/yup.d.ts +2 -3
- package/dist/resolvers/zod.d.cts +2 -3
- package/dist/resolvers/zod.d.ts +2 -3
- package/dist/runtime-types-D1SRZr-n.d.cts +43 -0
- package/dist/runtime-types-D1SRZr-n.d.ts +43 -0
- package/dist/state-types-8bUndWfg.d.cts +42 -0
- package/dist/state-types-8bUndWfg.d.ts +42 -0
- package/dist/{store-api-types-DPi30jQF.d.ts → store-api-types-Bozwlwyb.d.ts} +18 -14
- package/dist/{store-api-types-D-ZHxzRy.d.cts → store-api-types-DSgYwMS3.d.cts} +18 -14
- package/dist/{types-D8DgIUhJ.d.cts → types-CUXh7PqD.d.cts} +1 -1
- package/dist/{types-D8DgIUhJ.d.ts → types-CUXh7PqD.d.ts} +1 -1
- package/dist/upload-C4JqIaU2.d.cts +89 -0
- package/dist/upload-ao6skK9K.d.ts +89 -0
- package/dist/{use-bit-persist-BTwy8kvA.d.ts → use-bit-persist-Bd1H2fge.d.ts} +12 -45
- package/dist/{use-bit-persist-C2LHNTVv.d.cts → use-bit-persist-DDxV21AN.d.cts} +12 -45
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.cts +18 -51
- package/dist/vue/index.d.ts +18 -51
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +10 -7
- package/dist/array-controller-B5bfXV1W.d.cts +0 -23
- package/dist/array-controller-Cx-DMH7Y.d.ts +0 -23
- package/dist/bus-B2VEKrPI.d.ts +0 -19
- package/dist/bus-ZLQeq4Vr.d.cts +0 -19
- package/dist/chunk-63OJBMKK.js +0 -2
- package/dist/chunk-63OJBMKK.js.map +0 -1
- package/dist/chunk-CPP7ELA5.js +0 -2
- package/dist/chunk-CPP7ELA5.js.map +0 -1
- package/dist/chunk-E2NZR44P.js +0 -2
- package/dist/chunk-E2NZR44P.js.map +0 -1
- package/dist/chunk-EQ55DKX2.js.map +0 -1
- package/dist/chunk-IV32WXCF.cjs +0 -2
- package/dist/chunk-M6WBNHIT.cjs +0 -2
- package/dist/chunk-M6WBNHIT.cjs.map +0 -1
- package/dist/chunk-MFSQATNZ.cjs +0 -2
- package/dist/chunk-MFSQATNZ.cjs.map +0 -1
- package/dist/chunk-MFTWAFMG.cjs +0 -2
- package/dist/chunk-MFTWAFMG.cjs.map +0 -1
- package/dist/chunk-O5UPA33R.js +0 -2
- package/dist/chunk-O5UPA33R.js.map +0 -1
- package/dist/chunk-RD73EBSN.js +0 -2
- package/dist/chunk-RD73EBSN.js.map +0 -1
- package/dist/chunk-T2JRSWQU.cjs +0 -2
- package/dist/chunk-T2JRSWQU.cjs.map +0 -1
- package/dist/chunk-UQ3DSUWC.js +0 -2
- package/dist/chunk-UQ3DSUWC.js.map +0 -1
- package/dist/chunk-VZHG372Q.cjs +0 -2
- package/dist/chunk-VZHG372Q.cjs.map +0 -1
- package/dist/meta-types-Bzmm21TP.d.cts +0 -18
- package/dist/meta-types-Bzmm21TP.d.ts +0 -18
- package/dist/upload-C2mpfhp1.d.cts +0 -17
- package/dist/upload-C2mpfhp1.d.ts +0 -17
- /package/dist/{chunk-JC4R5WCC.js.map → chunk-LX4GSDUV.js.map} +0 -0
|
@@ -24,4 +24,4 @@ interface DateMaskConfig extends PatternMaskOptions {
|
|
|
24
24
|
format?: "DD/MM/YYYY" | "YYYY-MM-DD";
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export type { BitMask as B, CurrencyMaskConfig as C, DateMaskConfig as D, PatternMaskOptions as P,
|
|
27
|
+
export type { BitMask as B, CurrencyMaskConfig as C, DateMaskConfig as D, PatternMaskOptions as P, BitBuiltInMaskName as a, BitMaskName as b };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { a as BitArrayPath, B as BitArrayItem, e as BitPathValue } from './state-types-8bUndWfg.cjs';
|
|
2
|
+
|
|
3
|
+
interface BitArrayBindingField<TItem> {
|
|
4
|
+
key: string;
|
|
5
|
+
value: TItem;
|
|
6
|
+
index: number;
|
|
7
|
+
}
|
|
8
|
+
interface BitArrayBinding<TForm extends object, P extends BitArrayPath<TForm>> {
|
|
9
|
+
readItems(): BitArrayItem<BitPathValue<TForm, P>>[];
|
|
10
|
+
getFields(items: BitArrayItem<BitPathValue<TForm, P>>[]): BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[];
|
|
11
|
+
append(value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
12
|
+
prepend(value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
13
|
+
insert(index: number, value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
14
|
+
remove(index: number): void;
|
|
15
|
+
move(from: number, to: number): void;
|
|
16
|
+
swap(indexA: number, indexB: number): void;
|
|
17
|
+
replace(items: BitArrayItem<BitPathValue<TForm, P>>[]): void;
|
|
18
|
+
clear(): void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Shared framework adapter contracts.
|
|
23
|
+
*
|
|
24
|
+
* These contracts define shape only; each framework provides its own reactive wrappers.
|
|
25
|
+
*/
|
|
26
|
+
interface BitStepsAdapterResult<TStep, TStepIndex, TScope, TBoolean, TStatus, TErrors, TValidateResult> {
|
|
27
|
+
step: TStep;
|
|
28
|
+
stepIndex: TStepIndex;
|
|
29
|
+
scope: TScope;
|
|
30
|
+
next: () => Promise<boolean>;
|
|
31
|
+
prev: () => void;
|
|
32
|
+
goTo: (step: number) => void;
|
|
33
|
+
isFirst: TBoolean;
|
|
34
|
+
isLast: TBoolean;
|
|
35
|
+
status: TStatus;
|
|
36
|
+
errors: TErrors;
|
|
37
|
+
isValid: TBoolean;
|
|
38
|
+
isDirty: TBoolean;
|
|
39
|
+
validate: () => Promise<TValidateResult>;
|
|
40
|
+
getErrors: () => Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
interface BitHistoryAdapterResult<TCanUndo, TCanRedo, THistoryIndex, THistorySize> {
|
|
43
|
+
canUndo: TCanUndo;
|
|
44
|
+
canRedo: TCanRedo;
|
|
45
|
+
historyIndex: THistoryIndex;
|
|
46
|
+
historySize: THistorySize;
|
|
47
|
+
undo: () => void;
|
|
48
|
+
redo: () => void;
|
|
49
|
+
}
|
|
50
|
+
interface BitPersistAdapterResult<TMeta> {
|
|
51
|
+
restore: () => Promise<boolean>;
|
|
52
|
+
save: () => Promise<void>;
|
|
53
|
+
clear: () => Promise<void>;
|
|
54
|
+
meta: TMeta;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Upload Integration Types
|
|
59
|
+
*
|
|
60
|
+
* Core types for backend-first upload integration.
|
|
61
|
+
*/
|
|
62
|
+
/** Upload result with URL and key for reference/deletion. */
|
|
63
|
+
interface BitUploadResult<TMetadata extends Record<string, unknown> = Record<string, unknown>> {
|
|
64
|
+
url: string;
|
|
65
|
+
key: string;
|
|
66
|
+
metadata?: TMetadata;
|
|
67
|
+
}
|
|
68
|
+
/** Upload function contract (backend-first). All context is managed by the caller. */
|
|
69
|
+
type BitUploadFn<TMetadata extends Record<string, unknown> = Record<string, unknown>> = (file: File) => Promise<BitUploadResult<TMetadata>>;
|
|
70
|
+
/** Optional delete function contract. */
|
|
71
|
+
type BitDeleteUploadFn = (key: string) => Promise<void>;
|
|
72
|
+
/** Canonical value used by upload bindings across frameworks. */
|
|
73
|
+
type BitUploadValue = string | File | null;
|
|
74
|
+
/** Input accepted by upload handlers. */
|
|
75
|
+
type BitUploadInput = File | null | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Base upload contract for framework adapters.
|
|
78
|
+
* Frameworks specialize `value`, `error`, and `isValidating` with their reactive wrappers.
|
|
79
|
+
*/
|
|
80
|
+
interface BitUploadAdapterResult<TValue, TError, TIsValidating> {
|
|
81
|
+
value: TValue;
|
|
82
|
+
setValue: (value: BitUploadValue) => void;
|
|
83
|
+
error: TError;
|
|
84
|
+
isValidating: TIsValidating;
|
|
85
|
+
upload: (file: BitUploadInput) => Promise<void>;
|
|
86
|
+
remove: () => Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type { BitArrayBinding as B, BitArrayBindingField as a, BitDeleteUploadFn as b, BitHistoryAdapterResult as c, BitPersistAdapterResult as d, BitStepsAdapterResult as e, BitUploadAdapterResult as f, BitUploadFn as g, BitUploadInput as h, BitUploadResult as i, BitUploadValue as j };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { a as BitArrayPath, B as BitArrayItem, e as BitPathValue } from './state-types-8bUndWfg.js';
|
|
2
|
+
|
|
3
|
+
interface BitArrayBindingField<TItem> {
|
|
4
|
+
key: string;
|
|
5
|
+
value: TItem;
|
|
6
|
+
index: number;
|
|
7
|
+
}
|
|
8
|
+
interface BitArrayBinding<TForm extends object, P extends BitArrayPath<TForm>> {
|
|
9
|
+
readItems(): BitArrayItem<BitPathValue<TForm, P>>[];
|
|
10
|
+
getFields(items: BitArrayItem<BitPathValue<TForm, P>>[]): BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[];
|
|
11
|
+
append(value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
12
|
+
prepend(value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
13
|
+
insert(index: number, value: BitArrayItem<BitPathValue<TForm, P>>): void;
|
|
14
|
+
remove(index: number): void;
|
|
15
|
+
move(from: number, to: number): void;
|
|
16
|
+
swap(indexA: number, indexB: number): void;
|
|
17
|
+
replace(items: BitArrayItem<BitPathValue<TForm, P>>[]): void;
|
|
18
|
+
clear(): void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Shared framework adapter contracts.
|
|
23
|
+
*
|
|
24
|
+
* These contracts define shape only; each framework provides its own reactive wrappers.
|
|
25
|
+
*/
|
|
26
|
+
interface BitStepsAdapterResult<TStep, TStepIndex, TScope, TBoolean, TStatus, TErrors, TValidateResult> {
|
|
27
|
+
step: TStep;
|
|
28
|
+
stepIndex: TStepIndex;
|
|
29
|
+
scope: TScope;
|
|
30
|
+
next: () => Promise<boolean>;
|
|
31
|
+
prev: () => void;
|
|
32
|
+
goTo: (step: number) => void;
|
|
33
|
+
isFirst: TBoolean;
|
|
34
|
+
isLast: TBoolean;
|
|
35
|
+
status: TStatus;
|
|
36
|
+
errors: TErrors;
|
|
37
|
+
isValid: TBoolean;
|
|
38
|
+
isDirty: TBoolean;
|
|
39
|
+
validate: () => Promise<TValidateResult>;
|
|
40
|
+
getErrors: () => Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
interface BitHistoryAdapterResult<TCanUndo, TCanRedo, THistoryIndex, THistorySize> {
|
|
43
|
+
canUndo: TCanUndo;
|
|
44
|
+
canRedo: TCanRedo;
|
|
45
|
+
historyIndex: THistoryIndex;
|
|
46
|
+
historySize: THistorySize;
|
|
47
|
+
undo: () => void;
|
|
48
|
+
redo: () => void;
|
|
49
|
+
}
|
|
50
|
+
interface BitPersistAdapterResult<TMeta> {
|
|
51
|
+
restore: () => Promise<boolean>;
|
|
52
|
+
save: () => Promise<void>;
|
|
53
|
+
clear: () => Promise<void>;
|
|
54
|
+
meta: TMeta;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Upload Integration Types
|
|
59
|
+
*
|
|
60
|
+
* Core types for backend-first upload integration.
|
|
61
|
+
*/
|
|
62
|
+
/** Upload result with URL and key for reference/deletion. */
|
|
63
|
+
interface BitUploadResult<TMetadata extends Record<string, unknown> = Record<string, unknown>> {
|
|
64
|
+
url: string;
|
|
65
|
+
key: string;
|
|
66
|
+
metadata?: TMetadata;
|
|
67
|
+
}
|
|
68
|
+
/** Upload function contract (backend-first). All context is managed by the caller. */
|
|
69
|
+
type BitUploadFn<TMetadata extends Record<string, unknown> = Record<string, unknown>> = (file: File) => Promise<BitUploadResult<TMetadata>>;
|
|
70
|
+
/** Optional delete function contract. */
|
|
71
|
+
type BitDeleteUploadFn = (key: string) => Promise<void>;
|
|
72
|
+
/** Canonical value used by upload bindings across frameworks. */
|
|
73
|
+
type BitUploadValue = string | File | null;
|
|
74
|
+
/** Input accepted by upload handlers. */
|
|
75
|
+
type BitUploadInput = File | null | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Base upload contract for framework adapters.
|
|
78
|
+
* Frameworks specialize `value`, `error`, and `isValidating` with their reactive wrappers.
|
|
79
|
+
*/
|
|
80
|
+
interface BitUploadAdapterResult<TValue, TError, TIsValidating> {
|
|
81
|
+
value: TValue;
|
|
82
|
+
setValue: (value: BitUploadValue) => void;
|
|
83
|
+
error: TError;
|
|
84
|
+
isValidating: TIsValidating;
|
|
85
|
+
upload: (file: BitUploadInput) => Promise<void>;
|
|
86
|
+
remove: () => Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type { BitArrayBinding as B, BitArrayBindingField as a, BitDeleteUploadFn as b, BitHistoryAdapterResult as c, BitPersistAdapterResult as d, BitStepsAdapterResult as e, BitUploadAdapterResult as f, BitUploadFn as g, BitUploadInput as h, BitUploadResult as i, BitUploadValue as j };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-
|
|
4
|
-
import './bus-
|
|
5
|
-
import {
|
|
6
|
-
import { a as BitArrayBindingField } from './
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-Bozwlwyb.js';
|
|
4
|
+
import './bus-BFOBGmd9.js';
|
|
5
|
+
import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.js';
|
|
6
|
+
import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-ao6skK9K.js';
|
|
7
|
+
import { S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SRZr-n.js';
|
|
8
|
+
import { a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.js';
|
|
9
|
+
import { B as BitFieldInputEvent } from './field-binding-Bi1g-D8X.js';
|
|
9
10
|
|
|
10
11
|
declare const BitFormProvider: ({ store, children, }: {
|
|
11
12
|
store: BitFrameworkStoreApi<any> | BitStoreApi<any>;
|
|
@@ -52,52 +53,18 @@ interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm>
|
|
|
52
53
|
* Result from useBitSteps hook.
|
|
53
54
|
* Provides multi-step form navigation and validation.
|
|
54
55
|
*/
|
|
55
|
-
|
|
56
|
-
step: number;
|
|
57
|
-
stepIndex: number;
|
|
58
|
-
scope: string;
|
|
59
|
-
next: () => Promise<boolean>;
|
|
60
|
-
prev: () => void;
|
|
61
|
-
goTo: (step: number) => void;
|
|
62
|
-
isFirst: boolean;
|
|
63
|
-
isLast: boolean;
|
|
64
|
-
status: ScopeStatus;
|
|
65
|
-
errors: Record<string, string>;
|
|
66
|
-
isValid: boolean;
|
|
67
|
-
isDirty: boolean;
|
|
68
|
-
validate: () => Promise<ValidateScopeResult>;
|
|
69
|
-
getErrors: () => Record<string, string>;
|
|
70
|
-
}
|
|
56
|
+
type UseBitStepsResult = BitStepsAdapterResult<number, number, string, boolean, ScopeStatus, Record<string, string>, ValidateScopeResult>;
|
|
71
57
|
/**
|
|
72
58
|
* Result from useBitUpload hook.
|
|
73
59
|
* Provides file upload functionality with integrated validation.
|
|
74
60
|
*/
|
|
75
|
-
|
|
76
|
-
value: string | File | null;
|
|
77
|
-
setValue: (value: string | File | null) => void;
|
|
78
|
-
error?: string;
|
|
79
|
-
isValidating: boolean;
|
|
80
|
-
upload: (file: File | null | undefined) => Promise<void>;
|
|
81
|
-
remove: () => Promise<void>;
|
|
82
|
-
}
|
|
61
|
+
type UseBitUploadResult = BitUploadAdapterResult<string | File | null, string | undefined, boolean>;
|
|
83
62
|
/**
|
|
84
63
|
* Result from useBitHistory hook.
|
|
85
64
|
* Provides form history undo/redo capabilities.
|
|
86
65
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
canRedo: BitHistoryMetadata["canRedo"];
|
|
90
|
-
historyIndex: BitHistoryMetadata["historyIndex"];
|
|
91
|
-
historySize: BitHistoryMetadata["historySize"];
|
|
92
|
-
undo: () => void;
|
|
93
|
-
redo: () => void;
|
|
94
|
-
}
|
|
95
|
-
interface UseBitPersistResult {
|
|
96
|
-
restore: () => Promise<boolean>;
|
|
97
|
-
save: () => Promise<void>;
|
|
98
|
-
clear: () => Promise<void>;
|
|
99
|
-
meta: BitPersistMetadata;
|
|
100
|
-
}
|
|
66
|
+
type UseBitHistoryResult = BitHistoryAdapterResult<BitHistoryMetadata["canUndo"], BitHistoryMetadata["canRedo"], BitHistoryMetadata["historyIndex"], BitHistoryMetadata["historySize"]>;
|
|
67
|
+
type UseBitPersistResult = BitPersistAdapterResult<BitPersistMetadata>;
|
|
101
68
|
interface UseBitFormMeta {
|
|
102
69
|
isValid: boolean;
|
|
103
70
|
isDirty: boolean;
|
|
@@ -111,7 +78,7 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
111
78
|
getErrors: () => BitErrors<T>;
|
|
112
79
|
getTouched: () => BitTouched<T>;
|
|
113
80
|
getDirtyValues: () => Partial<T>;
|
|
114
|
-
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) =>
|
|
81
|
+
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) => unknown | Promise<unknown>) => (e?: {
|
|
115
82
|
preventDefault: () => void;
|
|
116
83
|
}) => Promise<void>;
|
|
117
84
|
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-
|
|
4
|
-
import './bus-
|
|
5
|
-
import {
|
|
6
|
-
import { a as BitArrayBindingField } from './
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from './store-api-types-DSgYwMS3.cjs';
|
|
4
|
+
import './bus-DzTqgkZ4.cjs';
|
|
5
|
+
import { d as BitPath, e as BitPathValue, f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, a as BitArrayPath, B as BitArrayItem } from './state-types-8bUndWfg.cjs';
|
|
6
|
+
import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField } from './upload-C4JqIaU2.cjs';
|
|
7
|
+
import { S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SRZr-n.cjs';
|
|
8
|
+
import { a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.cjs';
|
|
9
|
+
import { B as BitFieldInputEvent } from './field-binding-X5TkvfUt.cjs';
|
|
9
10
|
|
|
10
11
|
declare const BitFormProvider: ({ store, children, }: {
|
|
11
12
|
store: BitFrameworkStoreApi<any> | BitStoreApi<any>;
|
|
@@ -52,52 +53,18 @@ interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm>
|
|
|
52
53
|
* Result from useBitSteps hook.
|
|
53
54
|
* Provides multi-step form navigation and validation.
|
|
54
55
|
*/
|
|
55
|
-
|
|
56
|
-
step: number;
|
|
57
|
-
stepIndex: number;
|
|
58
|
-
scope: string;
|
|
59
|
-
next: () => Promise<boolean>;
|
|
60
|
-
prev: () => void;
|
|
61
|
-
goTo: (step: number) => void;
|
|
62
|
-
isFirst: boolean;
|
|
63
|
-
isLast: boolean;
|
|
64
|
-
status: ScopeStatus;
|
|
65
|
-
errors: Record<string, string>;
|
|
66
|
-
isValid: boolean;
|
|
67
|
-
isDirty: boolean;
|
|
68
|
-
validate: () => Promise<ValidateScopeResult>;
|
|
69
|
-
getErrors: () => Record<string, string>;
|
|
70
|
-
}
|
|
56
|
+
type UseBitStepsResult = BitStepsAdapterResult<number, number, string, boolean, ScopeStatus, Record<string, string>, ValidateScopeResult>;
|
|
71
57
|
/**
|
|
72
58
|
* Result from useBitUpload hook.
|
|
73
59
|
* Provides file upload functionality with integrated validation.
|
|
74
60
|
*/
|
|
75
|
-
|
|
76
|
-
value: string | File | null;
|
|
77
|
-
setValue: (value: string | File | null) => void;
|
|
78
|
-
error?: string;
|
|
79
|
-
isValidating: boolean;
|
|
80
|
-
upload: (file: File | null | undefined) => Promise<void>;
|
|
81
|
-
remove: () => Promise<void>;
|
|
82
|
-
}
|
|
61
|
+
type UseBitUploadResult = BitUploadAdapterResult<string | File | null, string | undefined, boolean>;
|
|
83
62
|
/**
|
|
84
63
|
* Result from useBitHistory hook.
|
|
85
64
|
* Provides form history undo/redo capabilities.
|
|
86
65
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
canRedo: BitHistoryMetadata["canRedo"];
|
|
90
|
-
historyIndex: BitHistoryMetadata["historyIndex"];
|
|
91
|
-
historySize: BitHistoryMetadata["historySize"];
|
|
92
|
-
undo: () => void;
|
|
93
|
-
redo: () => void;
|
|
94
|
-
}
|
|
95
|
-
interface UseBitPersistResult {
|
|
96
|
-
restore: () => Promise<boolean>;
|
|
97
|
-
save: () => Promise<void>;
|
|
98
|
-
clear: () => Promise<void>;
|
|
99
|
-
meta: BitPersistMetadata;
|
|
100
|
-
}
|
|
66
|
+
type UseBitHistoryResult = BitHistoryAdapterResult<BitHistoryMetadata["canUndo"], BitHistoryMetadata["canRedo"], BitHistoryMetadata["historyIndex"], BitHistoryMetadata["historySize"]>;
|
|
67
|
+
type UseBitPersistResult = BitPersistAdapterResult<BitPersistMetadata>;
|
|
101
68
|
interface UseBitFormMeta {
|
|
102
69
|
isValid: boolean;
|
|
103
70
|
isDirty: boolean;
|
|
@@ -111,7 +78,7 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
111
78
|
getErrors: () => BitErrors<T>;
|
|
112
79
|
getTouched: () => BitTouched<T>;
|
|
113
80
|
getDirtyValues: () => Partial<T>;
|
|
114
|
-
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) =>
|
|
81
|
+
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) => unknown | Promise<unknown>) => (e?: {
|
|
115
82
|
preventDefault: () => void;
|
|
116
83
|
}) => Promise<void>;
|
|
117
84
|
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: {
|
package/dist/utils.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVBX5I5XGcjs = require('./chunk-VBX5I5XG.cjs');exports.cleanPrefixedKeys = _chunkVBX5I5XGcjs.j; exports.extractServerErrors = _chunkVBX5I5XGcjs.m; exports.isValidationErrorShape = _chunkVBX5I5XGcjs.l;
|
|
2
2
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r,l as e,m as a}from"./chunk-
|
|
1
|
+
import{j as r,l as e,m as a}from"./chunk-FLFIOW75.js";export{r as cleanPrefixedKeys,a as extractServerErrors,e as isValidationErrorShape};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
package/dist/vue/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPA43XYOWcjs = require('../chunk-PA43XYOW.cjs');require('../chunk-W5CLDRRE.cjs');var _chunk4RQFECC7cjs = require('../chunk-4RQFECC7.cjs');var _chunkNVFZ22A7cjs = require('../chunk-NVFZ22A7.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');require('../chunk-ZKAFHJPU.cjs');var _chunkVBX5I5XGcjs = require('../chunk-VBX5I5XG.cjs');require('../chunk-PFPGASVZ.cjs');var _vue = require('vue');var G=Symbol("BIT_STORE");function te(t){_vue.provide.call(void 0, G,_chunk4RQFECC7cjs.d.call(void 0, t))}function a(){let t=_vue.inject.call(void 0, G);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function se(){let t=a(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),o=_vue.ref.call(void 0, null),r=_vue.ref.call(void 0, null),i=_chunkNVFZ22A7cjs.c.call(void 0, t,v=>{e.value=v});_vue.onUnmounted.call(void 0, i);let{controller:s,actions:n}=_chunkNVFZ22A7cjs.i.call(void 0, t,{clearSubmissionState:()=>{o.value=null,r.value=null},setSubmissionResult:v=>{r.value=v},setSubmissionError:v=>{o.value=v}}),d=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),p=_vue.computed.call(void 0, ()=>e.value.isDirty),c=s.onSubmit,S=s.reset;return{meta:{isValid:d,isDirty:p,isSubmitting:u,submitError:o,lastResponse:r},getValues:s.getValues,getErrors:s.getErrors,getTouched:s.getTouched,getDirtyValues:s.getDirtyValues,submit:s.submit,onSubmit:c,reset:S,...n}}function T(t){let e=a(),{fieldController:o}=_chunkNVFZ22A7cjs.h.call(void 0, e,t),r=_vue.shallowRef.call(void 0, e.read.getFieldState(t)),i=e.observe.subscribeFieldState(t,f=>{r.value=f});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkNVFZ22A7cjs.j.call(void 0, e,t)});let s=_vue.computed.call(void 0, ()=>r.value.value),n=_vue.computed.call(void 0, ()=>o.displayValue(s.value)),d=_vue.computed.call(void 0, {get:()=>n.value,set:f=>{o.setValue(f)}}),u=_vue.computed.call(void 0, ()=>_chunk3KI3GEU3cjs.a.call(void 0, r.value)),p=_vue.computed.call(void 0, ()=>u.value.error),c=_vue.computed.call(void 0, ()=>u.value.touched),S=_vue.computed.call(void 0, ()=>u.value.invalid),b=_vue.computed.call(void 0, ()=>u.value.isValidating),v=_vue.computed.call(void 0, ()=>u.value.isDirty),P=_vue.computed.call(void 0, ()=>u.value.isHidden),V=_vue.computed.call(void 0, ()=>u.value.isRequired),x=_vue.computed.call(void 0, ()=>u.value.hasError),F=f=>{o.setValue(f)},l=()=>o.setBlur();return{value:s,displayValue:n,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:S,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}function le(t){let e=a(),o=_chunkNVFZ22A7cjs.g.call(void 0, e,t),r=_vue.shallowRef.call(void 0, o.readItems()),i=e.observe.subscribePath(t,()=>{r.value=o.readItems()});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkNVFZ22A7cjs.k.call(void 0, e,`${t}.`)});let s=_vue.computed.call(void 0, ()=>o.getFields(r.value)),n=_vue.computed.call(void 0, ()=>r.value.length);return{fields:s,length:n,append:o.append,prepend:o.prepend,insert:o.insert,remove:o.remove,move:o.move,swap:o.swap,replace:o.replace,clear:o.clear}}function pe(){let t=a(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),o=_chunkRHMJPKNVcjs.g.call(void 0, t,s=>{e.value=s});_vue.onUnmounted.call(void 0, o);let r=()=>t.feature.undo(),i=()=>t.feature.redo();return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:r,redo:i}}function Se(t){let e=a(),o=_vue.ref.call(void 0, e.read.getScopeStatus(t)),r;_vue.onMounted.call(void 0, ()=>{r=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,p=>{o.value=p})}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([r, 'optionalCall', _2 => _2()])});let i=async()=>{let p=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:p,errors:c}},s=()=>e.read.getScopeErrors(t),n=_vue.computed.call(void 0, ()=>!o.value.hasErrors),d=_vue.computed.call(void 0, ()=>o.value.isDirty),u=_vue.computed.call(void 0, ()=>o.value.errors);return{scopeName:t,status:o,errors:u,validate:i,getErrors:s,isValid:n,isDirty:d}}function be(t){let e=a(),o=_vue.ref.call(void 0, 0),r=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[o.value], () => (""))),i=_vue.ref.call(void 0, e.read.getScopeStatus(r.value)),s;_vue.watch.call(void 0, r,l=>{i.value=e.read.getScopeStatus(l),_optionalChain([s, 'optionalCall', _3 => _3()]),s=e.observe.subscribeScopeStatus(l,n)});let n=()=>{let l=r.value,B=e.read.getScopeStatus(l);_chunkRHMJPKNVcjs.b.call(void 0, i.value,B)||(i.value=B)};_vue.onMounted.call(void 0, ()=>{s=e.observe.subscribeScopeStatus(r.value,n)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([s, 'optionalCall', _4 => _4()])});let d=async()=>{let l=r.value,B=await e.feature.validate({scope:l}),g=e.read.getScopeErrors(l);return{valid:B,errors:g}},u=()=>e.read.getScopeErrors(r.value),p=async()=>{let l=r.value,B=e.read.getScopeFields(l);if(e.feature.hasValidationsInProgress(B))return!1;let g=await e.feature.validate({scope:l});if(g)o.value=Math.min(o.value+1,t.length-1);else{let f=e.read.getScopeErrors(l),E=Object.keys(f);E.length>0&&e.write.markFieldsTouched(E)}return g},c=()=>{o.value=Math.max(o.value-1,0)},S=l=>{o.value=Math.max(0,Math.min(l-1,t.length-1))},b=_vue.computed.call(void 0, ()=>o.value+1),v=_vue.computed.call(void 0, ()=>o.value===0),P=_vue.computed.call(void 0, ()=>o.value>=t.length-1),V=_vue.computed.call(void 0, ()=>!i.value.hasErrors),x=_vue.computed.call(void 0, ()=>i.value.isDirty),F=_vue.computed.call(void 0, ()=>i.value.errors);return{step:b,stepIndex:o,scope:r,next:p,prev:c,goTo:S,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}function Ve(t){let e=a(),o=_chunkVBX5I5XGcjs.f.call(void 0, e.read.getState().values,t),r=_vue.ref.call(void 0, o),i=e.observe.subscribePath(t,s=>{_chunkVBX5I5XGcjs.c.call(void 0, r.value,s)||(r.value=s)});return _vue.onUnmounted.call(void 0, i),_vue.readonly.call(void 0, r)}function Re(t,e,o){let r=a(),i=T(t),s=null,n=_vue.ref.call(void 0, !1),d={setLoading:c=>{n.value=c},setError:(c,S)=>r.write.setError(c,S),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=_chunkPA43XYOWcjs.a.call(void 0, t,e,d),p=_chunkPA43XYOWcjs.b.call(void 0, t,o,d);return{value:i.value,setValue:i.setValue,error:_vue.computed.call(void 0, ()=>i.meta.error.value),isValidating:_vue.computed.call(void 0, ()=>!!i.meta.isValidating.value||n.value),upload:u,remove:p}}function we(){let t=a(),e=_vue.ref.call(void 0, t.read.getPersistMetadata()),o=_chunkNVFZ22A7cjs.f.call(void 0, t,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>o()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:{isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)}}}exports.provideBitStore = te; exports.useBitArray = le; exports.useBitField = T; exports.useBitForm = se; exports.useBitHistory = pe; exports.useBitPersist = we; exports.useBitScope = Se; exports.useBitSteps = be; exports.useBitStore = a; exports.useBitUpload = Re; exports.useBitWatch = Ve;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/vue/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","provide","createFrameworkStoreAdapter","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBindingController","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n provide(BIT_STORE_KEY, createFrameworkStoreAdapter<T>(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { shallowRef, computed, onUnmounted } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createArrayBindingController, BitArrayPath } from \"../core\";\nimport { cleanupRegisteredPrefix } from \"../core\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBindingController<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","provide","createFrameworkStoreAdapter","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n provide(BIT_STORE_KEY, createFrameworkStoreAdapter<T>(store));\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = {\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n };\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: {\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n },\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
package/dist/vue/index.d.cts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-
|
|
2
|
-
import '../bus-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { b as BitFrameworkStoreApi, e as BitStoreApi } from '../store-api-types-DSgYwMS3.cjs';
|
|
2
|
+
import '../bus-DzTqgkZ4.cjs';
|
|
3
|
+
import { f as BitPersistMetadata, b as BitErrors, h as BitTouched, D as DeepPartial, d as BitPath, e as BitPathValue, a as BitArrayPath, B as BitArrayItem } from '../state-types-8bUndWfg.cjs';
|
|
4
|
+
import { S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.cjs';
|
|
5
|
+
import { a as BitHistoryMetadata, b as BitValidationOptions } from '../meta-types-BC1VLABk.cjs';
|
|
6
|
+
import { c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, a as BitArrayBindingField, g as BitUploadFn, b as BitDeleteUploadFn } from '../upload-C4JqIaU2.cjs';
|
|
5
7
|
import * as vue from 'vue';
|
|
6
8
|
import { ComputedRef, Ref } from 'vue';
|
|
7
|
-
import { a as BitArrayBindingField } from '../array-controller-B5bfXV1W.cjs';
|
|
8
9
|
import * as _vue_shared from '@vue/shared';
|
|
9
|
-
import
|
|
10
|
-
import '../types-
|
|
10
|
+
import '../types-CUXh7PqD.cjs';
|
|
11
|
+
import '../config-types-5eR82k2V.cjs';
|
|
11
12
|
|
|
12
13
|
declare function provideBitStore<T extends object>(store: BitFrameworkStoreApi<T> | BitStoreApi<T>): void;
|
|
13
14
|
declare function useBitStore<T extends object>(): BitFrameworkStoreApi<T>;
|
|
@@ -43,56 +44,22 @@ interface UseBitFieldVueResult<TValue = any> {
|
|
|
43
44
|
* Result from useBitSteps hook in Vue.
|
|
44
45
|
* Provides multi-step form navigation and validation with Vue reactivity.
|
|
45
46
|
*/
|
|
46
|
-
|
|
47
|
-
step: ComputedRef<number>;
|
|
48
|
-
stepIndex: Ref<number>;
|
|
49
|
-
scope: ComputedRef<string>;
|
|
50
|
-
next: () => Promise<boolean>;
|
|
51
|
-
prev: () => void;
|
|
52
|
-
goTo: (step: number) => void;
|
|
53
|
-
isFirst: ComputedRef<boolean>;
|
|
54
|
-
isLast: ComputedRef<boolean>;
|
|
55
|
-
status: Ref<ScopeStatus>;
|
|
56
|
-
errors: ComputedRef<Record<string, string>>;
|
|
57
|
-
isValid: ComputedRef<boolean>;
|
|
58
|
-
isDirty: ComputedRef<boolean>;
|
|
59
|
-
validate: () => Promise<ValidateScopeResult>;
|
|
60
|
-
getErrors: () => Record<string, string>;
|
|
61
|
-
}
|
|
47
|
+
type UseBitStepsResult = BitStepsAdapterResult<ComputedRef<number>, Ref<number>, ComputedRef<string>, ComputedRef<boolean>, Ref<ScopeStatus>, ComputedRef<Record<string, string>>, ValidateScopeResult>;
|
|
62
48
|
/**
|
|
63
49
|
* Result from useBitUpload hook in Vue.
|
|
64
50
|
* Provides file upload functionality with integrated validation (Vue reactive).
|
|
65
51
|
*/
|
|
66
|
-
|
|
67
|
-
value: ComputedRef<string | File | null>;
|
|
68
|
-
setValue: (value: string | File | null) => void;
|
|
69
|
-
error: ComputedRef<string | undefined>;
|
|
70
|
-
isValidating: ComputedRef<boolean>;
|
|
71
|
-
upload: (file: File | null | undefined) => Promise<void>;
|
|
72
|
-
remove: () => Promise<void>;
|
|
73
|
-
}
|
|
52
|
+
type UseBitUploadResult = BitUploadAdapterResult<ComputedRef<string | File | null>, ComputedRef<string | undefined>, ComputedRef<boolean>>;
|
|
74
53
|
/**
|
|
75
54
|
* Result from useBitHistory hook in Vue.
|
|
76
55
|
* Provides form history undo/redo capabilities (Vue reactive).
|
|
77
56
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
redo: () => void;
|
|
85
|
-
}
|
|
86
|
-
interface UseBitPersistResult {
|
|
87
|
-
restore: () => Promise<boolean>;
|
|
88
|
-
save: () => Promise<void>;
|
|
89
|
-
clear: () => Promise<void>;
|
|
90
|
-
meta: {
|
|
91
|
-
isSaving: Ref<BitPersistMetadata["isSaving"]>;
|
|
92
|
-
isRestoring: Ref<BitPersistMetadata["isRestoring"]>;
|
|
93
|
-
error: Ref<BitPersistMetadata["error"]>;
|
|
94
|
-
};
|
|
95
|
-
}
|
|
57
|
+
type UseBitHistoryResult = BitHistoryAdapterResult<ComputedRef<BitHistoryMetadata["canUndo"]>, ComputedRef<BitHistoryMetadata["canRedo"]>, ComputedRef<BitHistoryMetadata["historyIndex"]>, ComputedRef<BitHistoryMetadata["historySize"]>>;
|
|
58
|
+
type UseBitPersistResult = BitPersistAdapterResult<{
|
|
59
|
+
isSaving: Ref<BitPersistMetadata["isSaving"]>;
|
|
60
|
+
isRestoring: Ref<BitPersistMetadata["isRestoring"]>;
|
|
61
|
+
error: Ref<BitPersistMetadata["error"]>;
|
|
62
|
+
}>;
|
|
96
63
|
interface UseBitFormResult<T extends object = any> {
|
|
97
64
|
meta: {
|
|
98
65
|
isValid: ComputedRef<boolean>;
|
|
@@ -105,7 +72,7 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
105
72
|
getErrors: () => BitErrors<T>;
|
|
106
73
|
getTouched: () => BitTouched<T>;
|
|
107
74
|
getDirtyValues: () => Partial<T>;
|
|
108
|
-
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) =>
|
|
75
|
+
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) => unknown | Promise<unknown>) => (e?: Event) => Promise<void>;
|
|
109
76
|
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: Event) => Promise<void>;
|
|
110
77
|
reset: () => void;
|
|
111
78
|
transaction: <TResult>(callback: () => TResult) => TResult;
|
|
@@ -168,7 +135,7 @@ declare function useBitWatch<TForm extends object = any, P extends BitPath<TForm
|
|
|
168
135
|
* Minimal upload API integrated with global field validation lifecycle.
|
|
169
136
|
*/
|
|
170
137
|
|
|
171
|
-
declare function useBitUpload(fieldPath: string, uploadFn: BitUploadFn
|
|
138
|
+
declare function useBitUpload<TMetadata extends Record<string, unknown> = Record<string, unknown>>(fieldPath: string, uploadFn: BitUploadFn<TMetadata>, deleteFile?: BitDeleteUploadFn): UseBitUploadResult;
|
|
172
139
|
|
|
173
140
|
declare function useBitPersist<T extends object = any>(): UseBitPersistResult;
|
|
174
141
|
|