@lehnihon/bit-form 2.2.6 → 2.2.7
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/README.md +80 -24
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.d.cts +18 -20
- package/dist/angular/index.d.ts +18 -20
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/array-controller-C1A5VKYd.d.cts +23 -0
- package/dist/array-controller-DtkmcnUr.d.ts +23 -0
- package/dist/{bus-B4zZmB9C.d.ts → bus-DgilLszS.d.ts} +83 -15
- package/dist/{bus-BeAeZwWu.d.cts → bus-rcUiufS7.d.cts} +83 -15
- package/dist/chunk-DIEE6LUO.js +2 -0
- package/dist/chunk-DIEE6LUO.js.map +1 -0
- package/dist/chunk-FUUQB4DV.cjs +2 -0
- package/dist/chunk-FUUQB4DV.cjs.map +1 -0
- package/dist/chunk-IV32WXCF.cjs +2 -0
- package/dist/chunk-IV32WXCF.cjs.map +1 -0
- package/dist/chunk-K5X37E3U.js +2 -0
- package/dist/chunk-K5X37E3U.js.map +1 -0
- package/dist/chunk-KWLLYQOL.cjs +2 -0
- package/dist/chunk-KWLLYQOL.cjs.map +1 -0
- package/dist/chunk-LIYZPSWM.js +2 -0
- package/dist/chunk-LIYZPSWM.js.map +1 -0
- package/dist/chunk-O5UPA33R.js +2 -0
- package/dist/chunk-O5UPA33R.js.map +1 -0
- package/dist/chunk-QAL6J5GQ.cjs +2 -0
- package/dist/chunk-QAL6J5GQ.cjs.map +1 -0
- package/dist/chunk-QKGTVKBU.cjs +2 -0
- package/dist/chunk-QKGTVKBU.cjs.map +1 -0
- package/dist/chunk-SA47B5OP.js +2 -0
- package/dist/chunk-SA47B5OP.js.map +1 -0
- package/dist/cli/index.cjs +22 -22
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +122 -0
- package/dist/core.d.ts +122 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.cjs.map +1 -1
- package/dist/devtools/bridge.d.cts +4 -1
- package/dist/devtools/bridge.d.ts +4 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/bridge.js.map +1 -1
- package/dist/devtools/index.cjs +18 -18
- package/dist/devtools/index.cjs.map +1 -1
- package/dist/devtools/index.d.cts +26 -2
- package/dist/devtools/index.d.ts +26 -2
- package/dist/devtools/index.js +18 -18
- package/dist/devtools/index.js.map +1 -1
- package/dist/devtools/protocol.cjs +2 -0
- package/dist/devtools/protocol.cjs.map +1 -0
- package/dist/devtools/protocol.d.cts +54 -0
- package/dist/devtools/protocol.d.ts +54 -0
- package/dist/devtools/protocol.js +2 -0
- package/dist/devtools/protocol.js.map +1 -0
- package/dist/field-binding-Bi1g-D8X.d.ts +25 -0
- package/dist/field-binding-X5TkvfUt.d.cts +25 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +64 -171
- package/dist/index.d.ts +64 -171
- package/dist/index.js +1 -1
- package/dist/mask.d.cts +2 -2
- package/dist/mask.d.ts +2 -2
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +8 -7
- package/dist/react/index.d.ts +8 -7
- 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 +7 -6
- package/dist/react-native/index.d.ts +7 -6
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/resolvers/index.cjs +1 -1
- package/dist/resolvers/index.cjs.map +1 -1
- package/dist/resolvers/index.d.cts +2 -2
- package/dist/resolvers/index.d.ts +2 -2
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/joi.d.cts +2 -2
- package/dist/resolvers/joi.d.ts +2 -2
- package/dist/resolvers/yup.d.cts +2 -2
- package/dist/resolvers/yup.d.ts +2 -2
- package/dist/resolvers/zod.d.cts +2 -2
- package/dist/resolvers/zod.d.ts +2 -2
- package/dist/store-api-types-9ipdute1.d.ts +187 -0
- package/dist/store-api-types-B6_bPoVI.d.cts +187 -0
- 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/{use-bit-persist-Dk3fUrds.d.ts → use-bit-persist-Bc06fmqZ.d.ts} +12 -14
- package/dist/{use-bit-persist-D_gimC9A.d.cts → use-bit-persist-CIKFwtdM.d.cts} +12 -14
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.cts +15 -18
- package/dist/vue/index.d.ts +15 -18
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +20 -11
- package/dist/chunk-2CVKNPWX.js +0 -2
- package/dist/chunk-2CVKNPWX.js.map +0 -1
- package/dist/chunk-3EDD3V43.cjs +0 -2
- package/dist/chunk-3EDD3V43.cjs.map +0 -1
- package/dist/chunk-PX6WKENM.js +0 -2
- package/dist/chunk-PX6WKENM.js.map +0 -1
- package/dist/chunk-QWH2NBVB.js +0 -2
- package/dist/chunk-QWH2NBVB.js.map +0 -1
- package/dist/chunk-T3FR7D5V.js +0 -2
- package/dist/chunk-T3FR7D5V.js.map +0 -1
- package/dist/chunk-VQ7MK5VB.cjs +0 -2
- package/dist/chunk-VQ7MK5VB.cjs.map +0 -1
- package/dist/chunk-Y2ONHDRE.cjs +0 -2
- package/dist/chunk-Y2ONHDRE.cjs.map +0 -1
- package/dist/chunk-YCSWULEN.cjs +0 -2
- package/dist/chunk-YCSWULEN.cjs.map +0 -1
- package/dist/field-binding-BXw0Ku2c.d.cts +0 -12
- package/dist/field-binding-BXw0Ku2c.d.ts +0 -12
- package/dist/public-types-Cd9ai20P.d.cts +0 -97
- package/dist/public-types-DdZxD6Op.d.ts +0 -97
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { f as BitState, e as BitPath, g as BitFieldState, b as BitPathValue, h as BitFieldDefinition, c as BitErrors, D as DeepPartial, B as BitArrayPath, a as BitArrayItem, i as BitPersistMetadata, S as ScopeStatus, j as BitConfig, k as ValidatorFn, l as DevToolsOptions, m as BitPersistResolvedConfig, n as BitIdFactory, o as BitPlugin, p as BitScheduler, q as BitFormGlobal } from './bus-rcUiufS7.cjs';
|
|
2
|
+
import { B as BitMask } from './types-CUXh7PqD.cjs';
|
|
3
|
+
|
|
4
|
+
type BitSelector<T extends object, TSlice> = (state: Readonly<BitState<T>>) => TSlice;
|
|
5
|
+
type BitEqualityFn<TValue> = (previous: TValue, next: TValue) => boolean;
|
|
6
|
+
interface BitSelectorSubscriptionOptions<TValue> {
|
|
7
|
+
equalityFn?: BitEqualityFn<TValue>;
|
|
8
|
+
emitImmediately?: boolean;
|
|
9
|
+
paths?: string[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface BitValidationOptions {
|
|
13
|
+
scope?: string;
|
|
14
|
+
scopeFields?: string[];
|
|
15
|
+
}
|
|
16
|
+
interface BitHistoryMetadata {
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
canUndo: boolean;
|
|
19
|
+
canRedo: boolean;
|
|
20
|
+
historyIndex: number;
|
|
21
|
+
historySize: number;
|
|
22
|
+
}
|
|
23
|
+
interface BitFormMeta {
|
|
24
|
+
isValid: boolean;
|
|
25
|
+
isDirty: boolean;
|
|
26
|
+
isSubmitting: boolean;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface BitFrameworkConfig<T extends object = any> extends BitConfig<T> {
|
|
30
|
+
initialValues: T;
|
|
31
|
+
resolver?: ValidatorFn<T>;
|
|
32
|
+
validationDelay: number;
|
|
33
|
+
history: {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
limit: number;
|
|
36
|
+
};
|
|
37
|
+
masks?: Record<string, BitMask>;
|
|
38
|
+
fields?: Record<string, BitFieldDefinition<T>>;
|
|
39
|
+
devTools?: boolean | DevToolsOptions;
|
|
40
|
+
persist: BitPersistResolvedConfig<T>;
|
|
41
|
+
idFactory: BitIdFactory;
|
|
42
|
+
plugins: BitPlugin<T>[];
|
|
43
|
+
scheduler?: BitScheduler;
|
|
44
|
+
subscriptionCacheSize?: number;
|
|
45
|
+
bus?: BitFormGlobal;
|
|
46
|
+
}
|
|
47
|
+
interface BitStoreQueryApi<T extends object = any> {
|
|
48
|
+
getConfig(): Readonly<BitFrameworkConfig<T>>;
|
|
49
|
+
getState(): Readonly<BitState<T>>;
|
|
50
|
+
isHidden<P extends BitPath<T>>(path: P): boolean;
|
|
51
|
+
isRequired<P extends BitPath<T>>(path: P): boolean;
|
|
52
|
+
isFieldDirty(path: string): boolean;
|
|
53
|
+
isFieldValidating(path: string): boolean;
|
|
54
|
+
getDirtyValues(): Partial<T>;
|
|
55
|
+
getPersistMetadata(): BitPersistMetadata;
|
|
56
|
+
getHistoryMetadata(): BitHistoryMetadata;
|
|
57
|
+
getStepStatus(scopeName: string): ScopeStatus;
|
|
58
|
+
getStepErrors(scopeName: string): Record<string, string>;
|
|
59
|
+
}
|
|
60
|
+
interface BitStoreObserveApi<T extends object = any> {
|
|
61
|
+
subscribe(listener: () => void): () => void;
|
|
62
|
+
subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
|
|
63
|
+
subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
|
|
64
|
+
subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
|
|
65
|
+
}
|
|
66
|
+
interface BitStoreWriteApi<T extends object = any> {
|
|
67
|
+
setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
|
|
68
|
+
blurField<P extends BitPath<T>>(path: P): void;
|
|
69
|
+
setValues(values: T | DeepPartial<T>, options?: {
|
|
70
|
+
partial?: boolean;
|
|
71
|
+
rebase?: boolean;
|
|
72
|
+
}): void;
|
|
73
|
+
setError(path: string, message: string | undefined): void;
|
|
74
|
+
setErrors(errors: BitErrors<T>): void;
|
|
75
|
+
setServerErrors(serverErrors: Record<string, string[] | string>): void;
|
|
76
|
+
validate(options?: BitValidationOptions): Promise<boolean>;
|
|
77
|
+
reset(): void;
|
|
78
|
+
transaction<TResult>(callback: () => TResult): TResult;
|
|
79
|
+
submit(onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>): Promise<void>;
|
|
80
|
+
}
|
|
81
|
+
interface BitStorePersistFeatureApi {
|
|
82
|
+
getPersistMetadata(): BitPersistMetadata;
|
|
83
|
+
restorePersisted(): Promise<boolean>;
|
|
84
|
+
forceSave(): Promise<void>;
|
|
85
|
+
clearPersisted(): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
interface BitStoreRegistrationFeatureApi<T extends object = any> {
|
|
88
|
+
cleanup(): void;
|
|
89
|
+
registerField(path: string, config: BitFieldDefinition<T>): void;
|
|
90
|
+
unregisterField(path: string): void;
|
|
91
|
+
}
|
|
92
|
+
interface BitStoreArrayFeatureApi<T extends object = any> {
|
|
93
|
+
pushItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
94
|
+
prependItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
95
|
+
insertItem<P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
96
|
+
removeItem<P extends BitArrayPath<T>>(path: P, index: number): void;
|
|
97
|
+
moveItem<P extends BitArrayPath<T>>(path: P, from: number, to: number): void;
|
|
98
|
+
swapItems<P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number): void;
|
|
99
|
+
}
|
|
100
|
+
interface BitStoreHistoryFeatureApi {
|
|
101
|
+
undo(): void;
|
|
102
|
+
redo(): void;
|
|
103
|
+
}
|
|
104
|
+
interface BitFormMetaBindingApi<T extends object = any> {
|
|
105
|
+
getState(): Readonly<BitState<T>>;
|
|
106
|
+
subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
|
|
107
|
+
}
|
|
108
|
+
interface BitFieldBindingApi<T extends object = any> {
|
|
109
|
+
getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
|
|
110
|
+
subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
|
|
111
|
+
setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
|
|
112
|
+
blurField<P extends BitPath<T>>(path: P): void;
|
|
113
|
+
resolveMask(path: string): BitMask | undefined;
|
|
114
|
+
unregisterField?(path: string): void;
|
|
115
|
+
}
|
|
116
|
+
interface BitArrayBindingApi<T extends object = any> extends Pick<BitFormBindingApi<T>, "getState" | "setField" | "subscribePath" | "pushItem" | "prependItem" | "insertItem" | "removeItem" | "moveItem" | "swapItems" | "createArrayItemId"> {
|
|
117
|
+
}
|
|
118
|
+
interface BitStoreFeatureApi<T extends object = any> extends BitStorePersistFeatureApi, BitStoreRegistrationFeatureApi<T>, BitStoreArrayFeatureApi<T>, BitStoreHistoryFeatureApi {
|
|
119
|
+
}
|
|
120
|
+
interface BitStoreApi<T extends object = any> extends BitStoreQueryApi<T>, BitStoreObserveApi<T>, BitStoreWriteApi<T>, BitStoreFeatureApi<T> {
|
|
121
|
+
}
|
|
122
|
+
interface BitStoreHooksApi<T extends object = any> extends BitStoreApi<T> {
|
|
123
|
+
getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
|
|
124
|
+
subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
|
|
125
|
+
subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
|
|
126
|
+
subscribePath<P extends BitPath<T>>(path: P, listener: (value: BitPathValue<T, P>) => void, options?: BitSelectorSubscriptionOptions<BitPathValue<T, P>>): () => void;
|
|
127
|
+
subscribeSelector<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: BitSelectorSubscriptionOptions<TSlice>): () => void;
|
|
128
|
+
subscribeTracked<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: Omit<BitSelectorSubscriptionOptions<TSlice>, "paths">): () => void;
|
|
129
|
+
unregisterPrefix?(prefix: string): void;
|
|
130
|
+
markFieldsTouched(paths: string[]): void;
|
|
131
|
+
hasValidationsInProgress(scopeFields?: string[]): boolean;
|
|
132
|
+
resolveMask(path: string): BitMask | undefined;
|
|
133
|
+
getScopeFields(scopeName: string): string[];
|
|
134
|
+
createArrayItemId(path: string, index?: number): string;
|
|
135
|
+
}
|
|
136
|
+
interface BitFormBindingApi<T extends object = any> {
|
|
137
|
+
getFieldState<P extends BitPath<T>>(path: P): Readonly<BitFieldState<T, BitPathValue<T, P>>>;
|
|
138
|
+
subscribeFieldState<P extends BitPath<T>>(path: P, listener: (state: Readonly<BitFieldState<T, BitPathValue<T, P>>>) => void): () => void;
|
|
139
|
+
getState(): Readonly<BitState<T>>;
|
|
140
|
+
subscribeFormMeta(listener: (meta: BitFormMeta) => void): () => void;
|
|
141
|
+
subscribe(listener: () => void): () => void;
|
|
142
|
+
subscribePath<P extends BitPath<T>>(path: P, listener: (value: BitPathValue<T, P>) => void, options?: BitSelectorSubscriptionOptions<BitPathValue<T, P>>): () => void;
|
|
143
|
+
subscribeSelector<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: BitSelectorSubscriptionOptions<TSlice>): () => void;
|
|
144
|
+
subscribeTracked<TSlice>(selector: BitSelector<T, TSlice>, listener: (slice: TSlice) => void, options?: Omit<BitSelectorSubscriptionOptions<TSlice>, "paths">): () => void;
|
|
145
|
+
setField<P extends BitPath<T>>(path: P, value: BitPathValue<T, P>): void;
|
|
146
|
+
blurField<P extends BitPath<T>>(path: P): void;
|
|
147
|
+
registerField?(path: string, config: BitFieldDefinition<T>): void;
|
|
148
|
+
unregisterField?(path: string): void;
|
|
149
|
+
unregisterPrefix?(prefix: string): void;
|
|
150
|
+
markFieldsTouched(paths: string[]): void;
|
|
151
|
+
resolveMask(path: string): BitMask | undefined;
|
|
152
|
+
submit(onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>): Promise<void>;
|
|
153
|
+
reset(): void;
|
|
154
|
+
validate(options?: BitValidationOptions): Promise<boolean>;
|
|
155
|
+
setError(path: string, message: string | undefined): void;
|
|
156
|
+
setErrors(errors: BitErrors<T>): void;
|
|
157
|
+
setServerErrors(serverErrors: Record<string, string[] | string>): void;
|
|
158
|
+
setValues(values: T | DeepPartial<T>, options?: {
|
|
159
|
+
partial?: boolean;
|
|
160
|
+
rebase?: boolean;
|
|
161
|
+
}): void;
|
|
162
|
+
transaction<TResult>(callback: () => TResult): TResult;
|
|
163
|
+
pushItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
164
|
+
prependItem<P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
165
|
+
insertItem<P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>): void;
|
|
166
|
+
removeItem<P extends BitArrayPath<T>>(path: P, index: number): void;
|
|
167
|
+
moveItem<P extends BitArrayPath<T>>(path: P, from: number, to: number): void;
|
|
168
|
+
swapItems<P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number): void;
|
|
169
|
+
undo(): void;
|
|
170
|
+
redo(): void;
|
|
171
|
+
getHistoryMetadata(): BitHistoryMetadata;
|
|
172
|
+
getPersistMetadata(): BitPersistMetadata;
|
|
173
|
+
restorePersisted(): Promise<boolean>;
|
|
174
|
+
forceSave(): Promise<void>;
|
|
175
|
+
clearPersisted(): Promise<void>;
|
|
176
|
+
getDirtyValues(): Partial<T>;
|
|
177
|
+
hasValidationsInProgress(scopeFields?: string[]): boolean;
|
|
178
|
+
getScopeFields(scopeName: string): string[];
|
|
179
|
+
getStepStatus(scopeName: string): ScopeStatus;
|
|
180
|
+
getStepErrors(scopeName: string): Record<string, string>;
|
|
181
|
+
subscribePersistMeta(listener: (meta: BitPersistMetadata) => void): () => void;
|
|
182
|
+
subscribeHistoryMeta(listener: (meta: BitHistoryMetadata) => void): () => void;
|
|
183
|
+
subscribeScopeStatus(scopeName: string, listener: (status: ScopeStatus) => void): () => void;
|
|
184
|
+
createArrayItemId(path: string, index?: number): string;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export type { BitArrayBindingApi as B, BitStoreHooksApi as a, BitFormBindingApi as b, BitHistoryMetadata as c, BitValidationOptions as d, BitFormMetaBindingApi as e, BitFormMeta as f, BitFieldBindingApi as g, BitEqualityFn as h, BitFrameworkConfig as i, BitSelector as j, BitSelectorSubscriptionOptions as k, BitStoreApi as l, BitStoreArrayFeatureApi as m, BitStoreFeatureApi as n, BitStoreHistoryFeatureApi as o, BitStoreObserveApi as p, BitStorePersistFeatureApi as q, BitStoreQueryApi as r, BitStoreRegistrationFeatureApi as s, BitStoreWriteApi as t };
|
|
@@ -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 };
|
|
@@ -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 };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { B as
|
|
3
|
+
import { a as BitStoreHooksApi, b as BitFormBindingApi, c as BitHistoryMetadata, d as BitValidationOptions } from './store-api-types-9ipdute1.js';
|
|
4
|
+
import { e as BitPath, b as BitPathValue, i as BitPersistMetadata, S as ScopeStatus, V as ValidateScopeResult, c as BitErrors, r as BitTouched, D as DeepPartial, B as BitArrayPath, a as BitArrayItem } from './bus-DgilLszS.js';
|
|
5
|
+
import { B as BitArrayBindingField } from './array-controller-DtkmcnUr.js';
|
|
6
|
+
import { B as BitFieldInputEvent } from './field-binding-Bi1g-D8X.js';
|
|
6
7
|
|
|
7
8
|
declare const BitFormProvider: ({ store, children, }: {
|
|
8
|
-
store:
|
|
9
|
+
store: BitStoreHooksApi<any>;
|
|
9
10
|
children: React.ReactNode;
|
|
10
11
|
}) => react_jsx_runtime.JSX.Element;
|
|
11
|
-
declare const useBitStore: <T extends object>() =>
|
|
12
|
+
declare const useBitStore: <T extends object>() => BitFormBindingApi<T>;
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Metadata describing the current state of a form field.
|
|
@@ -118,9 +119,10 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
118
119
|
transaction: <TResult>(callback: () => TResult) => TResult;
|
|
119
120
|
setField: <P extends BitPath<T>>(path: P, value: BitPathValue<T, P>) => void;
|
|
120
121
|
blurField: <P extends BitPath<T>>(path: P) => void;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
setValues: (values: T | DeepPartial<T>, options?: {
|
|
123
|
+
partial?: boolean;
|
|
124
|
+
rebase?: boolean;
|
|
125
|
+
}) => void;
|
|
124
126
|
setError: (path: string, message: string | undefined) => void;
|
|
125
127
|
setErrors: (errors: BitErrors<T>) => void;
|
|
126
128
|
setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
|
|
@@ -130,6 +132,8 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
130
132
|
declare function useBitForm<T extends object>(): UseBitFormResult<T>;
|
|
131
133
|
|
|
132
134
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|
|
135
|
+
fields: BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[];
|
|
136
|
+
length: number;
|
|
133
137
|
append: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
134
138
|
prepend: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
135
139
|
insert: (index: number, value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
@@ -138,12 +142,6 @@ declare function useBitArray<TForm extends object = any, P extends BitArrayPath<
|
|
|
138
142
|
swap: (indexA: number, indexB: number) => void;
|
|
139
143
|
replace: (items: BitArrayItem<BitPathValue<TForm, P>>[]) => void;
|
|
140
144
|
clear: () => void;
|
|
141
|
-
fields: {
|
|
142
|
-
key: string;
|
|
143
|
-
value: BitArrayItem<BitPathValue<TForm, P>>;
|
|
144
|
-
index: number;
|
|
145
|
-
}[];
|
|
146
|
-
length: number;
|
|
147
145
|
};
|
|
148
146
|
|
|
149
147
|
declare function useBitScope(scopeName: string): {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { B as
|
|
3
|
+
import { a as BitStoreHooksApi, b as BitFormBindingApi, c as BitHistoryMetadata, d as BitValidationOptions } from './store-api-types-B6_bPoVI.cjs';
|
|
4
|
+
import { e as BitPath, b as BitPathValue, i as BitPersistMetadata, S as ScopeStatus, V as ValidateScopeResult, c as BitErrors, r as BitTouched, D as DeepPartial, B as BitArrayPath, a as BitArrayItem } from './bus-rcUiufS7.cjs';
|
|
5
|
+
import { B as BitArrayBindingField } from './array-controller-C1A5VKYd.cjs';
|
|
6
|
+
import { B as BitFieldInputEvent } from './field-binding-X5TkvfUt.cjs';
|
|
6
7
|
|
|
7
8
|
declare const BitFormProvider: ({ store, children, }: {
|
|
8
|
-
store:
|
|
9
|
+
store: BitStoreHooksApi<any>;
|
|
9
10
|
children: React.ReactNode;
|
|
10
11
|
}) => react_jsx_runtime.JSX.Element;
|
|
11
|
-
declare const useBitStore: <T extends object>() =>
|
|
12
|
+
declare const useBitStore: <T extends object>() => BitFormBindingApi<T>;
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Metadata describing the current state of a form field.
|
|
@@ -118,9 +119,10 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
118
119
|
transaction: <TResult>(callback: () => TResult) => TResult;
|
|
119
120
|
setField: <P extends BitPath<T>>(path: P, value: BitPathValue<T, P>) => void;
|
|
120
121
|
blurField: <P extends BitPath<T>>(path: P) => void;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
setValues: (values: T | DeepPartial<T>, options?: {
|
|
123
|
+
partial?: boolean;
|
|
124
|
+
rebase?: boolean;
|
|
125
|
+
}) => void;
|
|
124
126
|
setError: (path: string, message: string | undefined) => void;
|
|
125
127
|
setErrors: (errors: BitErrors<T>) => void;
|
|
126
128
|
setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
|
|
@@ -130,6 +132,8 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
130
132
|
declare function useBitForm<T extends object>(): UseBitFormResult<T>;
|
|
131
133
|
|
|
132
134
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|
|
135
|
+
fields: BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[];
|
|
136
|
+
length: number;
|
|
133
137
|
append: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
134
138
|
prepend: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
135
139
|
insert: (index: number, value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
@@ -138,12 +142,6 @@ declare function useBitArray<TForm extends object = any, P extends BitArrayPath<
|
|
|
138
142
|
swap: (indexA: number, indexB: number) => void;
|
|
139
143
|
replace: (items: BitArrayItem<BitPathValue<TForm, P>>[]) => void;
|
|
140
144
|
clear: () => void;
|
|
141
|
-
fields: {
|
|
142
|
-
key: string;
|
|
143
|
-
value: BitArrayItem<BitPathValue<TForm, P>>;
|
|
144
|
-
index: number;
|
|
145
|
-
}[];
|
|
146
|
-
length: number;
|
|
147
145
|
};
|
|
148
146
|
|
|
149
147
|
declare function useBitScope(scopeName: string): {
|
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 _chunkIV32WXCFcjs = require('../chunk-IV32WXCF.cjs');var _chunkFUUQB4DVcjs = require('../chunk-FUUQB4DV.cjs');require('../chunk-PFPGASVZ.cjs');var _vue = require('vue');var J=Symbol("BIT_STORE");function oe(t){_vue.provide.call(void 0, J,_chunkFUUQB4DVcjs.s.call(void 0, t))}function n(){let t=_vue.inject.call(void 0, J);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function ie(){let t=n(),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=_chunkFUUQB4DVcjs.y.call(void 0, t,v=>{e.value=v});_vue.onUnmounted.call(void 0, i);let{controller:s,actions:a}=_chunkFUUQB4DVcjs.C.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,B=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:B,...a}}function U(t){let e=n(),{fieldController:o}=_chunkFUUQB4DVcjs.E.call(void 0, e,t),r=_vue.shallowRef.call(void 0, e.getFieldState(t)),i=_chunkFUUQB4DVcjs.D.call(void 0, e,t,f=>{r.value=f});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkFUUQB4DVcjs.G.call(void 0, e,t)});let s=_vue.computed.call(void 0, ()=>r.value.value),a=_vue.computed.call(void 0, ()=>o.displayValue(s.value)),d=_vue.computed.call(void 0, {get:()=>a.value,set:f=>{o.setValue(f)}}),u=_vue.computed.call(void 0, ()=>_chunkFUUQB4DVcjs.I.call(void 0, r.value)),p=_vue.computed.call(void 0, ()=>u.value.error),c=_vue.computed.call(void 0, ()=>u.value.touched),B=_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:a,modelValue:d,setValue:F,setBlur:l,onInput:f=>{F(f)},onBlur:()=>{l()},meta:{error:p,touched:c,invalid:B,isValidating:b,isDirty:v,isHidden:P,isRequired:V,hasError:x}}}function ce(t){let e=n(),o=_chunkFUUQB4DVcjs.F.call(void 0, e,t),r=_vue.shallowRef.call(void 0, o.readItems()),i=e.subscribePath(t,()=>{r.value=o.readItems()});_vue.onUnmounted.call(void 0, ()=>{i(),_chunkFUUQB4DVcjs.H.call(void 0, e,`${t}.`)});let s=_vue.computed.call(void 0, ()=>o.getFields(r.value)),a=_vue.computed.call(void 0, ()=>r.value.length);return{fields:s,length:a,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 de(){let t=n(),e=_vue.shallowRef.call(void 0, _chunkFUUQB4DVcjs.m.call(void 0, t)),o=_chunkFUUQB4DVcjs.n.call(void 0, t,s=>{e.value=s});_vue.onUnmounted.call(void 0, o);let r=()=>t.undo(),i=()=>t.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=n(),o=_vue.ref.call(void 0, e.getStepStatus(t)),r;_vue.onMounted.call(void 0, ()=>{r=_chunkFUUQB4DVcjs.r.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.validate({scope:t}),c=e.getStepErrors(t);return{valid:p,errors:c}},s=()=>e.getStepErrors(t),a=_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:a,isDirty:d}}function Fe(t){let e=n(),o=_vue.ref.call(void 0, 0),r=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[o.value], () => (""))),i=_vue.ref.call(void 0, e.getStepStatus(r.value)),s;_vue.watch.call(void 0, r,l=>{i.value=e.getStepStatus(l),_optionalChain([s, 'optionalCall', _3 => _3()]),s=e.subscribeScopeStatus(l,a)});let a=()=>{let l=r.value,S=e.getStepStatus(l);_chunkFUUQB4DVcjs.p.call(void 0, i.value,S)||(i.value=S)};_vue.onMounted.call(void 0, ()=>{s=e.subscribeScopeStatus(r.value,a)}),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([s, 'optionalCall', _4 => _4()])});let d=async()=>{let l=r.value,S=await e.validate({scope:l}),y=e.getStepErrors(l);return{valid:S,errors:y}},u=()=>e.getStepErrors(r.value),p=async()=>{let l=r.value,S=e.getScopeFields(l);if(e.hasValidationsInProgress(S))return!1;let y=await e.validate({scope:l});if(y)o.value=Math.min(o.value+1,t.length-1);else{let f=e.getStepErrors(l),w=Object.keys(f);w.length>0&&e.markFieldsTouched(w)}return y},c=()=>{o.value=Math.max(o.value-1,0)},B=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:B,isFirst:v,isLast:P,status:i,errors:F,isValid:V,isDirty:x,validate:d,getErrors:u}}function xe(t){let e=n(),o=_chunkFUUQB4DVcjs.e.call(void 0, e.getState().values,t),r=_vue.ref.call(void 0, o),i=e.subscribePath(t,s=>{_chunkFUUQB4DVcjs.c.call(void 0, r.value,s)||(r.value=s)});return _vue.onUnmounted.call(void 0, i),_vue.readonly.call(void 0, r)}function Ue(t,e,o){let r=n(),i=U(t),s=null,a=_vue.ref.call(void 0, !1),d={setLoading:c=>{a.value=c},setError:(c,B)=>r.setError(c,B),setValue:c=>i.setValue(c),getUploadKey:()=>s,setUploadKey:c=>{s=c}},u=_chunkIV32WXCFcjs.a.call(void 0, t,e,d),p=_chunkIV32WXCFcjs.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||a.value),upload:u,remove:p}}function we(){let t=n(),e=_vue.ref.call(void 0, t.getPersistMetadata()),o=_chunkFUUQB4DVcjs.B.call(void 0, t,a=>{e.value=a});return _vue.onUnmounted.call(void 0, ()=>o()),{restore:async()=>t.restorePersisted(),save:async()=>{await t.forceSave()},clear:async()=>{await t.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 = oe; exports.useBitArray = ce; exports.useBitField = U; exports.useBitForm = ie; exports.useBitHistory = de; exports.useBitPersist = we; exports.useBitScope = Se; exports.useBitSteps = Fe; exports.useBitStore = n; exports.useBitUpload = Ue; exports.useBitWatch = xe;
|
|
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","resolveBitStoreForHooks","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","snapshot","nextState","onUnmounted","controller","createFormController","result","error","actions","createStoreFormActions","isValid","computed","isSubmitting","isDirty","onSubmit","reset","useBitField","path","resolvedMask","fieldController","createMaskedFieldController","subscribeFieldState","rawValue","displayValue","modelValue","val","rawError","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createId","index","initialValues","getDeepValue","values","ids","_","newValues","nextValues","currentIds","diff","newIds","i"],"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 { BitStoreApi, BitStoreHooksApi } from \"../core\";\nimport { resolveBitStoreForHooks } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitStoreHooksApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(store: BitStoreApi<T>) {\n provide(BIT_STORE_KEY, resolveBitStoreForHooks(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 BitStoreHooksApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n createFormController,\n createStoreFormActions,\n} from \"../core/form-controller\";\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: store.getState().isValid,\n isSubmitting: store.getState().isSubmitting,\n isDirty: store.getState().isDirty,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = store.subscribeSelector(\n (snapshot) => ({\n isValid: snapshot.isValid,\n isSubmitting: snapshot.isSubmitting,\n isDirty: snapshot.isDirty,\n }),\n (nextState) => {\n state.value = nextState;\n },\n { paths: [\"isValid\", \"isSubmitting\", \"isDirty\"] },\n );\n\n onUnmounted(unsubscribe);\n\n const controller = createFormController(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 const actions = createStoreFormActions(store);\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 createMaskedFieldController,\n subscribeFieldState,\n} from \"../core/field-controller\";\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 resolvedMask = store.resolveMask(path);\n const fieldController = createMaskedFieldController(\n store,\n path,\n resolvedMask,\n );\n\n const state = shallowRef(store.getFieldState(path));\n\n const unsubscribe = subscribeFieldState(store, path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterField) {\n store.unregisterField(path);\n }\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 rawError = computed(() => state.value.error);\n const error = computed(() =>\n state.value.touched ? state.value.error : undefined,\n );\n const touched = computed(() => state.value.touched);\n const invalid = computed(() => !!(touched.value && error.value));\n\n const isValidating = computed(() => state.value.isValidating);\n\n const isDirty = computed(() => state.value.isDirty);\n\n const isHidden = computed(() => state.value.isHidden);\n\n const isRequired = computed(() => state.value.isRequired);\n\n const hasError = computed(() => !!rawError.value);\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 { ref, computed, onUnmounted } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport {\n getDeepValue,\n BitArrayPath,\n BitPathValue,\n BitArrayItem,\n BitPath,\n} 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\n const createId = (index?: number) =>\n store.config.idFactory({\n scope: \"array\",\n path: path as string,\n index,\n });\n\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n const getSnapshot = (): Item[] => {\n const val = getDeepValue(store.getState().values, path as string) as\n | BitPathValue<TForm, P>\n | undefined;\n return Array.isArray(val) ? (val as Item[]) : [];\n };\n\n const initialValues = getSnapshot();\n const values = ref<Item[]>(initialValues);\n const ids = ref<string[]>(initialValues.map((_, index) => createId(index)));\n\n const unsubscribe = store.subscribePath(path, (newValues) => {\n const nextValues = (Array.isArray(newValues) ? newValues : []) as Item[];\n\n values.value = [...nextValues];\n\n if (nextValues.length !== ids.value.length) {\n const currentIds = [...ids.value];\n if (nextValues.length > currentIds.length) {\n const diff = nextValues.length - currentIds.length;\n const newIds = Array.from({ length: diff }, (_, i) =>\n createId(currentIds.length + i),\n );\n ids.value = [...currentIds, ...newIds];\n } else {\n ids.value = currentIds.slice(0, nextValues.length);\n }\n }\n });\n\n onUnmounted(() => {\n unsubscribe();\n if (store.unregisterPrefix) {\n store.unregisterPrefix(`${path as string}.`);\n }\n });\n\n const fields = computed(() =>\n values.value.map((v, i) => ({\n key: ids.value[i] || `temp-${i}`,\n value: v,\n index: i,\n })),\n );\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: (val: Item) => {\n ids.value.push(createId(ids.value.length));\n store.pushItem(path, val);\n },\n prepend: (val: Item) => {\n ids.value.unshift(createId(0));\n store.prependItem(path, val);\n },\n insert: (index: number, val: Item) => {\n ids.value.splice(index, 0, createId(index));\n store.insertItem(path, index, val);\n },\n remove: (index: number) => {\n ids.value.splice(index, 1);\n store.removeItem(path, index);\n },\n move: (from: number, to: number) => {\n const currentIds = [...ids.value];\n const [id] = currentIds.splice(from, 1);\n currentIds.splice(to, 0, id);\n ids.value = currentIds;\n store.moveItem(path, from, to);\n },\n swap: (a: number, b: number) => {\n const currentIds = [...ids.value];\n [currentIds[a], currentIds[b]] = [currentIds[b], currentIds[a]];\n ids.value = currentIds;\n store.swapItems(path, a, b);\n },\n replace: (items: Item[]) => {\n ids.value = items.map((_, index) => createId(index));\n store.setField(\n path as unknown as BitPath<TForm>,\n items as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\n clear: () => {\n ids.value = [];\n store.setField(\n path as unknown as BitPath<TForm>,\n [] as unknown as BitPathValue<TForm, BitPath<TForm>>,\n );\n },\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","resolveBitStoreForHooks","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","subscribeFieldState","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 { BitFormBindingApi, BitStoreHooksApi } from \"../core\";\nimport { resolveBitStoreForHooks } from \"../core\";\n\n// Chave única para evitar colisões\nexport const BIT_STORE_KEY: InjectionKey<BitFormBindingApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(store: BitStoreHooksApi<T>) {\n provide(BIT_STORE_KEY, resolveBitStoreForHooks(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 BitFormBindingApi<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 subscribeFieldState,\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.getFieldState(path));\n\n const unsubscribe = subscribeFieldState(store, 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.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,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { a as BitStoreHooksApi, b as BitFormBindingApi, c as BitHistoryMetadata, d as BitValidationOptions } from '../store-api-types-B6_bPoVI.cjs';
|
|
2
|
+
import { i as BitPersistMetadata, S as ScopeStatus, V as ValidateScopeResult, c as BitErrors, r as BitTouched, D as DeepPartial, e as BitPath, b as BitPathValue, B as BitArrayPath, a as BitArrayItem } from '../bus-rcUiufS7.cjs';
|
|
3
3
|
import * as vue from 'vue';
|
|
4
4
|
import { ComputedRef, Ref } from 'vue';
|
|
5
|
-
import
|
|
5
|
+
import { B as BitArrayBindingField } from '../array-controller-C1A5VKYd.cjs';
|
|
6
6
|
import * as _vue_shared from '@vue/shared';
|
|
7
7
|
import { B as BitUploadFn, a as BitDeleteUploadFn } from '../upload-EXnJLq8k.cjs';
|
|
8
|
-
import '../types-
|
|
8
|
+
import '../types-CUXh7PqD.cjs';
|
|
9
9
|
|
|
10
|
-
declare function provideBitStore<T extends object>(store:
|
|
11
|
-
declare function useBitStore<T extends object>():
|
|
10
|
+
declare function provideBitStore<T extends object>(store: BitStoreHooksApi<T>): void;
|
|
11
|
+
declare function useBitStore<T extends object>(): BitFormBindingApi<T>;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Metadata describing the current state of a form field (Vue reactive).
|
|
@@ -107,9 +107,10 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
107
107
|
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: Event) => Promise<void>;
|
|
108
108
|
reset: () => void;
|
|
109
109
|
transaction: <TResult>(callback: () => TResult) => TResult;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
setValues: (values: T | DeepPartial<T>, options?: {
|
|
111
|
+
partial?: boolean;
|
|
112
|
+
rebase?: boolean;
|
|
113
|
+
}) => void;
|
|
113
114
|
setError: (path: string, message: string | undefined) => void;
|
|
114
115
|
setErrors: (errors: BitErrors<T>) => void;
|
|
115
116
|
setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
|
|
@@ -123,18 +124,14 @@ declare function useBitForm<T extends object>(): UseBitFormResult<T>;
|
|
|
123
124
|
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>>;
|
|
124
125
|
|
|
125
126
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|
|
126
|
-
fields: vue.ComputedRef<
|
|
127
|
-
key: string;
|
|
128
|
-
value: _vue_reactivity.UnwrapRefSimple<BitArrayItem<BitPathValue<TForm, P>>>;
|
|
129
|
-
index: number;
|
|
130
|
-
}[]>;
|
|
127
|
+
fields: vue.ComputedRef<BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[]>;
|
|
131
128
|
length: vue.ComputedRef<number>;
|
|
132
|
-
append: (
|
|
133
|
-
prepend: (
|
|
134
|
-
insert: (index: number,
|
|
129
|
+
append: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
130
|
+
prepend: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
131
|
+
insert: (index: number, value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
135
132
|
remove: (index: number) => void;
|
|
136
133
|
move: (from: number, to: number) => void;
|
|
137
|
-
swap: (
|
|
134
|
+
swap: (indexA: number, indexB: number) => void;
|
|
138
135
|
replace: (items: BitArrayItem<BitPathValue<TForm, P>>[]) => void;
|
|
139
136
|
clear: () => void;
|
|
140
137
|
};
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { a as BitStoreHooksApi, b as BitFormBindingApi, c as BitHistoryMetadata, d as BitValidationOptions } from '../store-api-types-9ipdute1.js';
|
|
2
|
+
import { i as BitPersistMetadata, S as ScopeStatus, V as ValidateScopeResult, c as BitErrors, r as BitTouched, D as DeepPartial, e as BitPath, b as BitPathValue, B as BitArrayPath, a as BitArrayItem } from '../bus-DgilLszS.js';
|
|
3
3
|
import * as vue from 'vue';
|
|
4
4
|
import { ComputedRef, Ref } from 'vue';
|
|
5
|
-
import
|
|
5
|
+
import { B as BitArrayBindingField } from '../array-controller-DtkmcnUr.js';
|
|
6
6
|
import * as _vue_shared from '@vue/shared';
|
|
7
7
|
import { B as BitUploadFn, a as BitDeleteUploadFn } from '../upload-EXnJLq8k.js';
|
|
8
|
-
import '../types-
|
|
8
|
+
import '../types-CUXh7PqD.js';
|
|
9
9
|
|
|
10
|
-
declare function provideBitStore<T extends object>(store:
|
|
11
|
-
declare function useBitStore<T extends object>():
|
|
10
|
+
declare function provideBitStore<T extends object>(store: BitStoreHooksApi<T>): void;
|
|
11
|
+
declare function useBitStore<T extends object>(): BitFormBindingApi<T>;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Metadata describing the current state of a form field (Vue reactive).
|
|
@@ -107,9 +107,10 @@ interface UseBitFormResult<T extends object = any> {
|
|
|
107
107
|
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: Event) => Promise<void>;
|
|
108
108
|
reset: () => void;
|
|
109
109
|
transaction: <TResult>(callback: () => TResult) => TResult;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
setValues: (values: T | DeepPartial<T>, options?: {
|
|
111
|
+
partial?: boolean;
|
|
112
|
+
rebase?: boolean;
|
|
113
|
+
}) => void;
|
|
113
114
|
setError: (path: string, message: string | undefined) => void;
|
|
114
115
|
setErrors: (errors: BitErrors<T>) => void;
|
|
115
116
|
setServerErrors: (serverErrors: Record<string, string[] | string>) => void;
|
|
@@ -123,18 +124,14 @@ declare function useBitForm<T extends object>(): UseBitFormResult<T>;
|
|
|
123
124
|
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>>;
|
|
124
125
|
|
|
125
126
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|
|
126
|
-
fields: vue.ComputedRef<
|
|
127
|
-
key: string;
|
|
128
|
-
value: _vue_reactivity.UnwrapRefSimple<BitArrayItem<BitPathValue<TForm, P>>>;
|
|
129
|
-
index: number;
|
|
130
|
-
}[]>;
|
|
127
|
+
fields: vue.ComputedRef<BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[]>;
|
|
131
128
|
length: vue.ComputedRef<number>;
|
|
132
|
-
append: (
|
|
133
|
-
prepend: (
|
|
134
|
-
insert: (index: number,
|
|
129
|
+
append: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
130
|
+
prepend: (value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
131
|
+
insert: (index: number, value: BitArrayItem<BitPathValue<TForm, P>>) => void;
|
|
135
132
|
remove: (index: number) => void;
|
|
136
133
|
move: (from: number, to: number) => void;
|
|
137
|
-
swap: (
|
|
134
|
+
swap: (indexA: number, indexB: number) => void;
|
|
138
135
|
replace: (items: BitArrayItem<BitPathValue<TForm, P>>[]) => void;
|
|
139
136
|
clear: () => void;
|
|
140
137
|
};
|