@lehnihon/bit-form 1.0.7 → 2.0.0
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 +3 -1
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.d.cts +51 -44
- package/dist/angular/index.d.ts +51 -44
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/{bus-DkMkzOXE.d.cts → bus-CnqfsZpc.d.cts} +56 -1
- package/dist/{bus-DkMkzOXE.d.ts → bus-CnqfsZpc.d.ts} +56 -1
- package/dist/chunk-4KRTZKIQ.js +133 -0
- package/dist/chunk-4KRTZKIQ.js.map +1 -0
- package/dist/chunk-JEVGTLOM.js +2 -0
- package/dist/chunk-JEVGTLOM.js.map +1 -0
- package/dist/chunk-K3DCDRWB.cjs +133 -0
- package/dist/chunk-K3DCDRWB.cjs.map +1 -0
- package/dist/chunk-P3XTUPHK.cjs +2 -0
- package/dist/chunk-P3XTUPHK.cjs.map +1 -0
- package/dist/cli/index.cjs +404 -4
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +1 -1
- package/dist/devtools/index.js +1 -1
- package/dist/index-BAOM6INR.d.ts +206 -0
- package/dist/index-BdLuC0wS.d.cts +206 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -4
- package/dist/index.d.ts +28 -4
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +33 -22
- package/dist/react/index.d.ts +33 -22
- 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 +24 -14
- package/dist/react-native/index.d.ts +24 -14
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/resolvers/joi.d.cts +1 -1
- package/dist/resolvers/joi.d.ts +1 -1
- package/dist/resolvers/yup.d.cts +1 -1
- package/dist/resolvers/yup.d.ts +1 -1
- package/dist/resolvers/zod.d.cts +1 -1
- package/dist/resolvers/zod.d.ts +1 -1
- package/dist/{use-bit-watch-DEYCmgNf.d.ts → use-bit-watch-B_ket_j5.d.ts} +27 -28
- package/dist/{use-bit-watch-wjK9PF7w.d.cts → use-bit-watch-CtdglHvd.d.cts} +27 -28
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.cts +55 -45
- package/dist/vue/index.d.ts +55 -45
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-6ISGLRK2.cjs +0 -2
- package/dist/chunk-6ISGLRK2.cjs.map +0 -1
- package/dist/chunk-J3EGU5ZH.cjs +0 -133
- package/dist/chunk-J3EGU5ZH.cjs.map +0 -1
- package/dist/chunk-OA4FCEV2.js +0 -2
- package/dist/chunk-OA4FCEV2.js.map +0 -1
- package/dist/chunk-QU365SAC.js +0 -133
- package/dist/chunk-QU365SAC.js.map +0 -1
- package/dist/index-BXaNeJBk.d.ts +0 -111
- package/dist/index-mzR_3Kbx.d.cts +0 -111
package/dist/react/index.d.cts
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
|
-
export { B as BitFormProvider, U as UseBitStepsResult, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-
|
|
2
|
-
import {
|
|
3
|
-
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-
|
|
1
|
+
export { B as BitFormProvider, U as UseBitStepsResult, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-CtdglHvd.cjs';
|
|
2
|
+
import { b as BitPath, c as BitPathValue, k as BitFieldDefinition, l as BitFieldOptions } from '../bus-CnqfsZpc.cjs';
|
|
3
|
+
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-CnqfsZpc.cjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
|
-
import '../index-
|
|
6
|
+
import '../index-BdLuC0wS.cjs';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
displayValue: string;
|
|
11
|
-
error: any;
|
|
8
|
+
interface UseBitFieldMeta {
|
|
9
|
+
error: string | undefined;
|
|
12
10
|
touched: boolean;
|
|
13
11
|
invalid: boolean;
|
|
14
12
|
isValidating: boolean;
|
|
15
13
|
isDirty: boolean;
|
|
16
14
|
isHidden: boolean;
|
|
17
15
|
isRequired: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
hasError: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface UseBitFieldBindProps {
|
|
19
|
+
value: string;
|
|
20
|
+
onChange: (e: any) => void;
|
|
21
|
+
onBlur: () => void;
|
|
22
|
+
}
|
|
23
|
+
interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
|
|
24
|
+
value: BitPathValue<TForm, P>;
|
|
25
|
+
displayValue: string;
|
|
25
26
|
setValue: (val: any) => void;
|
|
26
27
|
setBlur: () => void;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
onChange: (e: any) => void;
|
|
29
|
+
onBlur: () => void;
|
|
30
|
+
props: UseBitFieldBindProps;
|
|
31
|
+
meta: UseBitFieldMeta;
|
|
32
|
+
}
|
|
33
|
+
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldResult<TForm, P>;
|
|
34
|
+
|
|
35
|
+
interface UseBitHistoryResult {
|
|
36
|
+
canUndo: boolean;
|
|
37
|
+
canRedo: boolean;
|
|
38
|
+
historyIndex: number;
|
|
39
|
+
historySize: number;
|
|
40
|
+
undo: () => void;
|
|
41
|
+
redo: () => void;
|
|
42
|
+
}
|
|
43
|
+
declare function useBitHistory<T extends object = any>(): UseBitHistoryResult;
|
|
33
44
|
|
|
34
|
-
export { useBitField };
|
|
45
|
+
export { type UseBitFieldBindProps, type UseBitFieldMeta, type UseBitFieldResult, useBitField, useBitHistory };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
|
-
export { B as BitFormProvider, U as UseBitStepsResult, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-
|
|
2
|
-
import {
|
|
3
|
-
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-
|
|
1
|
+
export { B as BitFormProvider, U as UseBitStepsResult, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-B_ket_j5.js';
|
|
2
|
+
import { b as BitPath, c as BitPathValue, k as BitFieldDefinition, l as BitFieldOptions } from '../bus-CnqfsZpc.js';
|
|
3
|
+
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-CnqfsZpc.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
|
-
import '../index-
|
|
6
|
+
import '../index-BAOM6INR.js';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
displayValue: string;
|
|
11
|
-
error: any;
|
|
8
|
+
interface UseBitFieldMeta {
|
|
9
|
+
error: string | undefined;
|
|
12
10
|
touched: boolean;
|
|
13
11
|
invalid: boolean;
|
|
14
12
|
isValidating: boolean;
|
|
15
13
|
isDirty: boolean;
|
|
16
14
|
isHidden: boolean;
|
|
17
15
|
isRequired: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
hasError: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface UseBitFieldBindProps {
|
|
19
|
+
value: string;
|
|
20
|
+
onChange: (e: any) => void;
|
|
21
|
+
onBlur: () => void;
|
|
22
|
+
}
|
|
23
|
+
interface UseBitFieldResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
|
|
24
|
+
value: BitPathValue<TForm, P>;
|
|
25
|
+
displayValue: string;
|
|
25
26
|
setValue: (val: any) => void;
|
|
26
27
|
setBlur: () => void;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
onChange: (e: any) => void;
|
|
29
|
+
onBlur: () => void;
|
|
30
|
+
props: UseBitFieldBindProps;
|
|
31
|
+
meta: UseBitFieldMeta;
|
|
32
|
+
}
|
|
33
|
+
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldResult<TForm, P>;
|
|
34
|
+
|
|
35
|
+
interface UseBitHistoryResult {
|
|
36
|
+
canUndo: boolean;
|
|
37
|
+
canRedo: boolean;
|
|
38
|
+
historyIndex: number;
|
|
39
|
+
historySize: number;
|
|
40
|
+
undo: () => void;
|
|
41
|
+
redo: () => void;
|
|
42
|
+
}
|
|
43
|
+
declare function useBitHistory<T extends object = any>(): UseBitHistoryResult;
|
|
33
44
|
|
|
34
|
-
export { useBitField };
|
|
45
|
+
export { type UseBitFieldBindProps, type UseBitFieldMeta, type UseBitFieldResult, useBitField, useBitHistory };
|
package/dist/react/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as D,b as m,c as H,d as b,e as z,f as I,g as j,h as C}from"../chunk-JEVGTLOM.js";import"../chunk-4KRTZKIQ.js";import{useMemo as v,useCallback as p}from"react";function P(t){if(!t||typeof t!="object")return!1;let o=Object.keys(t);return o.length===1&&o[0]==="mask"}function E(t,o,n){let l=n!==void 0?o:P(o)?void 0:o,d=n!==void 0?n:P(o)?o:void 0,{fieldState:a,setValue:i,setBlur:r,store:u}=b(t,l),s=v(()=>{let e=d?.mask??u.config.fields?.[t]?.mask;if(e)return typeof e=="string"?u.config.masks[e]:e},[d?.mask,u.config.masks,u.config.fields,t]),F=v(()=>{let e=a.value;return e==null||e===""?"":s?s.format(e):String(e)},[a.value,s]),c=p(e=>{if(!s){i(e);return}i(s.parse(String(e??"")))},[s,i]),{isHidden:S,isRequired:g,value:U,error:f,touched:B,isDirty:R,isValidating:T}=a,k=!!(B&&f),V=B?f:void 0,x=p(e=>{let M=e?.target?e.target.value:e;c(M)},[c]),h=p(()=>{r()},[r]);return{value:U,displayValue:F,setValue:c,setBlur:r,onChange:x,onBlur:h,props:{value:F,onChange:x,onBlur:h},meta:{error:V,touched:B,invalid:k,isDirty:R,isValidating:T,isHidden:S,isRequired:g,hasError:!!f}}}import{useCallback as y,useRef as q,useSyncExternalStore as w}from"react";function A(){let t=m(),o=q(null),n=y(()=>{let i=t.getHistoryMetadata();if(o.current&&o.current.canUndo===i.canUndo&&o.current.canRedo===i.canRedo&&o.current.historyIndex===i.historyIndex&&o.current.historySize===i.historySize)return o.current;let r={canUndo:i.canUndo,canRedo:i.canRedo,historyIndex:i.historyIndex,historySize:i.historySize};return o.current=r,r},[t]),l=w(t.subscribe.bind(t),n,n),d=y(()=>{t.undo()},[t]),a=y(()=>{t.redo()},[t]);return{...l,undo:d,redo:a}}export{D as BitFormProvider,z as useBitArray,E as useBitField,H as useBitForm,A as useBitHistory,I as useBitScope,j as useBitSteps,m as useBitStore,C as useBitWatch};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react/use-bit-field.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\nimport {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\n\nexport interface UseBitFieldMeta {\n error: string | undefined;\n touched: boolean;\n invalid: boolean;\n isValidating: boolean;\n isDirty: boolean;\n isHidden: boolean;\n isRequired: boolean;\n hasError: boolean;\n}\n\nexport interface UseBitFieldBindProps {\n value: string;\n onChange: (e: any) => void;\n onBlur: () => void;\n}\n\nexport interface UseBitFieldResult<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n> {\n // Main handlers and values (flat)\n value: BitPathValue<TForm, P>;\n displayValue: string;\n setValue: (val: any) => void;\n setBlur: () => void;\n onChange: (e: any) => void;\n onBlur: () => void;\n // Props helper for native inputs\n props: UseBitFieldBindProps;\n // Readonly metadata (grouped)\n meta: UseBitFieldMeta;\n}\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const { isHidden, isRequired, value, error, touched, isDirty, isValidating } =\n fieldState;\n\n const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onChange = useCallback(\n (e: any) => {\n const val = e?.target ? e.target.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props: {\n value: displayValue,\n onChange,\n onBlur,\n },\n // Metadata (grouped)\n meta: {\n error: visibleError,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n };\n}\n","import { useCallback, useRef, useSyncExternalStore } from \"react\";\nimport { useBitStore } from \"./context\";\n\nexport interface UseBitHistoryResult {\n canUndo: boolean;\n canRedo: boolean;\n historyIndex: number;\n historySize: number;\n undo: () => void;\n redo: () => void;\n}\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<{\n canUndo: boolean;\n canRedo: boolean;\n historyIndex: number;\n historySize: number;\n } | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = store.getHistoryMetadata();\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n const stableMeta = {\n canUndo: nextMeta.canUndo,\n canRedo: nextMeta.canRedo,\n historyIndex: nextMeta.historyIndex,\n historySize: nextMeta.historySize,\n };\n\n lastMeta.current = stableMeta;\n return stableMeta;\n }, [store]);\n\n const meta = useSyncExternalStore(\n store.subscribe.bind(store),\n getSnapshot,\n getSnapshot,\n );\n\n const undo = useCallback(() => {\n store.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.redo();\n }, [store]);\n\n return {\n ...meta,\n undo,\n redo,\n };\n}\n"],"mappings":"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","names":["useMemo","useCallback","isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","setValue","useCallback","isHidden","isRequired","error","touched","isDirty","isValidating","invalid","visibleError","onChange","onBlur","useCallback","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","stableMeta","meta","useSyncExternalStore","undo","redo"]}
|
|
@@ -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 _chunkP3XTUPHKcjs = require('../chunk-P3XTUPHK.cjs');require('../chunk-K3DCDRWB.cjs');var _react = require('react');function x(o){if(!o||typeof o!="object")return!1;let t=Object.keys(o);return t.length===1&&t[0]==="mask"}function E(o,t,s){let P=s!==void 0?t:x(t)?void 0:t,B=s!==void 0?s:x(t)?t:void 0,{fieldState:a,setValue:n,setBlur:d,store:r}=_chunkP3XTUPHKcjs.d.call(void 0, o,P),i=_react.useMemo.call(void 0, ()=>{let e=_nullishCoalesce(_optionalChain([B, 'optionalAccess', _ => _.mask]), () => (_optionalChain([r, 'access', _2 => _2.config, 'access', _3 => _3.fields, 'optionalAccess', _4 => _4[o], 'optionalAccess', _5 => _5.mask])));if(e)return typeof e=="string"?r.config.masks[e]:e},[_optionalChain([B, 'optionalAccess', _6 => _6.mask]),r.config.masks,r.config.fields,o]),m=_react.useMemo.call(void 0, ()=>{let e=a.value;return e==null||e===""?"":i?i.format(e):String(e)},[a.value,i]),F=_react.useCallback.call(void 0, e=>{if(!i){n(e);return}n(i.parse(String(_nullishCoalesce(e, () => ("")))))},[i,n]),g=_react.useCallback.call(void 0, e=>{if(!i){n(e);return}n(i.parse(String(_nullishCoalesce(e, () => ("")))))},[i,n]),{isHidden:h,isRequired:y,value:T,error:l,touched:u,isDirty:V,isValidating:b}=a,k=!!(u&&l),S=u?l:void 0,p=_react.useCallback.call(void 0, ()=>{d()},[d]);return{field:{value:T,displayValue:m,setValue:g,setBlur:d,onChangeText:F,onBlur:p},meta:{error:S,touched:u,invalid:k,isValidating:b,isDirty:V,isHidden:h,isRequired:y,hasError:!!l},props:{value:m,onChangeText:F,onBlur:p}}}exports.BitFormProvider = _chunkP3XTUPHKcjs.a; exports.useBitArray = _chunkP3XTUPHKcjs.e; exports.useBitField = E; exports.useBitForm = _chunkP3XTUPHKcjs.c; exports.useBitScope = _chunkP3XTUPHKcjs.f; exports.useBitSteps = _chunkP3XTUPHKcjs.g; exports.useBitStore = _chunkP3XTUPHKcjs.b; exports.useBitWatch = _chunkP3XTUPHKcjs.h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","../../src/react-native/use-bit-field.ts"],"names":["useBitField","path","options","fieldState","
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","../../src/react-native/use-bit-field.ts"],"names":["isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/react-native/index.cjs","sourcesContent":[null,"import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\n\nexport interface UseBitFieldNativeMeta {\n error: string | undefined;\n touched: boolean;\n invalid: boolean;\n isValidating: boolean;\n isDirty: boolean;\n isHidden: boolean;\n isRequired: boolean;\n hasError: boolean;\n}\n\nexport interface UseBitFieldNativeBindProps {\n value: string;\n onChangeText: (value: string) => void;\n onBlur: () => void;\n}\n\nexport interface UseBitFieldNativeResult<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n> {\n field: {\n value: BitPathValue<TForm, P>;\n displayValue: string;\n setValue: (val: any) => void;\n setBlur: () => void;\n onChangeText: (text: string) => void;\n onBlur: () => void;\n };\n meta: UseBitFieldNativeMeta;\n props: UseBitFieldNativeBindProps;\n}\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldNativeResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const { isHidden, isRequired, value, error, touched, isDirty, isValidating } =\n fieldState;\n const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\n meta: {\n error: visibleError,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"]}
|
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
export { B as BitFormProvider, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-
|
|
2
|
-
import {
|
|
3
|
-
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-
|
|
1
|
+
export { B as BitFormProvider, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-CtdglHvd.cjs';
|
|
2
|
+
import { b as BitPath, c as BitPathValue, k as BitFieldDefinition, l as BitFieldOptions } from '../bus-CnqfsZpc.cjs';
|
|
3
|
+
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-CnqfsZpc.cjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
|
-
import '../index-
|
|
6
|
+
import '../index-BdLuC0wS.cjs';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
displayValue: string;
|
|
11
|
-
error: any;
|
|
8
|
+
interface UseBitFieldNativeMeta {
|
|
9
|
+
error: string | undefined;
|
|
12
10
|
touched: boolean;
|
|
13
11
|
invalid: boolean;
|
|
14
12
|
isValidating: boolean;
|
|
15
13
|
isDirty: boolean;
|
|
16
14
|
isHidden: boolean;
|
|
17
15
|
isRequired: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
hasError: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface UseBitFieldNativeBindProps {
|
|
19
|
+
value: string;
|
|
20
|
+
onChangeText: (value: string) => void;
|
|
21
|
+
onBlur: () => void;
|
|
22
|
+
}
|
|
23
|
+
interface UseBitFieldNativeResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
|
|
24
|
+
field: {
|
|
25
|
+
value: BitPathValue<TForm, P>;
|
|
26
|
+
displayValue: string;
|
|
27
|
+
setValue: (val: any) => void;
|
|
28
|
+
setBlur: () => void;
|
|
22
29
|
onChangeText: (text: string) => void;
|
|
23
30
|
onBlur: () => void;
|
|
24
31
|
};
|
|
25
|
-
|
|
32
|
+
meta: UseBitFieldNativeMeta;
|
|
33
|
+
props: UseBitFieldNativeBindProps;
|
|
34
|
+
}
|
|
35
|
+
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldNativeResult<TForm, P>;
|
|
26
36
|
|
|
27
|
-
export { useBitField };
|
|
37
|
+
export { type UseBitFieldNativeBindProps, type UseBitFieldNativeMeta, type UseBitFieldNativeResult, useBitField };
|
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
export { B as BitFormProvider, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-
|
|
2
|
-
import {
|
|
3
|
-
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-
|
|
1
|
+
export { B as BitFormProvider, u as useBitArray, a as useBitForm, b as useBitScope, c as useBitSteps, d as useBitStore, e as useBitWatch } from '../use-bit-watch-B_ket_j5.js';
|
|
2
|
+
import { b as BitPath, c as BitPathValue, k as BitFieldDefinition, l as BitFieldOptions } from '../bus-CnqfsZpc.js';
|
|
3
|
+
export { S as ScopeStatus, V as ValidateScopeResult } from '../bus-CnqfsZpc.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
|
-
import '../index-
|
|
6
|
+
import '../index-BAOM6INR.js';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
displayValue: string;
|
|
11
|
-
error: any;
|
|
8
|
+
interface UseBitFieldNativeMeta {
|
|
9
|
+
error: string | undefined;
|
|
12
10
|
touched: boolean;
|
|
13
11
|
invalid: boolean;
|
|
14
12
|
isValidating: boolean;
|
|
15
13
|
isDirty: boolean;
|
|
16
14
|
isHidden: boolean;
|
|
17
15
|
isRequired: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
hasError: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface UseBitFieldNativeBindProps {
|
|
19
|
+
value: string;
|
|
20
|
+
onChangeText: (value: string) => void;
|
|
21
|
+
onBlur: () => void;
|
|
22
|
+
}
|
|
23
|
+
interface UseBitFieldNativeResult<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>> {
|
|
24
|
+
field: {
|
|
25
|
+
value: BitPathValue<TForm, P>;
|
|
26
|
+
displayValue: string;
|
|
27
|
+
setValue: (val: any) => void;
|
|
28
|
+
setBlur: () => void;
|
|
22
29
|
onChangeText: (text: string) => void;
|
|
23
30
|
onBlur: () => void;
|
|
24
31
|
};
|
|
25
|
-
|
|
32
|
+
meta: UseBitFieldNativeMeta;
|
|
33
|
+
props: UseBitFieldNativeBindProps;
|
|
34
|
+
}
|
|
35
|
+
declare function useBitField<TForm extends object = any, P extends BitPath<TForm> = BitPath<TForm>>(path: P, configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions, maybeOptions?: BitFieldOptions): UseBitFieldNativeResult<TForm, P>;
|
|
26
36
|
|
|
27
|
-
export { useBitField };
|
|
37
|
+
export { type UseBitFieldNativeBindProps, type UseBitFieldNativeMeta, type UseBitFieldNativeResult, useBitField };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as N,b as U,c as D,d as c,e as C,f as M,g as R,h as j}from"../chunk-JEVGTLOM.js";import"../chunk-4KRTZKIQ.js";import{useMemo as v,useCallback as f}from"react";function x(o){if(!o||typeof o!="object")return!1;let t=Object.keys(o);return t.length===1&&t[0]==="mask"}function E(o,t,s){let P=s!==void 0?t:x(t)?void 0:t,B=s!==void 0?s:x(t)?t:void 0,{fieldState:a,setValue:n,setBlur:d,store:r}=c(o,P),i=v(()=>{let e=B?.mask??r.config.fields?.[o]?.mask;if(e)return typeof e=="string"?r.config.masks[e]:e},[B?.mask,r.config.masks,r.config.fields,o]),m=v(()=>{let e=a.value;return e==null||e===""?"":i?i.format(e):String(e)},[a.value,i]),F=f(e=>{if(!i){n(e);return}n(i.parse(String(e??"")))},[i,n]),g=f(e=>{if(!i){n(e);return}n(i.parse(String(e??"")))},[i,n]),{isHidden:h,isRequired:y,value:T,error:l,touched:u,isDirty:V,isValidating:b}=a,k=!!(u&&l),S=u?l:void 0,p=f(()=>{d()},[d]);return{field:{value:T,displayValue:m,setValue:g,setBlur:d,onChangeText:F,onBlur:p},meta:{error:S,touched:u,invalid:k,isValidating:b,isDirty:V,isHidden:h,isRequired:y,hasError:!!l},props:{value:m,onChangeText:F,onBlur:p}}}export{N as BitFormProvider,C as useBitArray,E as useBitField,D as useBitForm,M as useBitScope,R as useBitSteps,U as useBitStore,j as useBitWatch};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react-native/use-bit-field.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/react-native/use-bit-field.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport { useBitFieldBase } from \"../react/use-bit-field-base\";\nimport {\n BitFieldDefinition,\n BitFieldOptions,\n BitPath,\n BitPathValue,\n} from \"../core\";\n\nexport interface UseBitFieldNativeMeta {\n error: string | undefined;\n touched: boolean;\n invalid: boolean;\n isValidating: boolean;\n isDirty: boolean;\n isHidden: boolean;\n isRequired: boolean;\n hasError: boolean;\n}\n\nexport interface UseBitFieldNativeBindProps {\n value: string;\n onChangeText: (value: string) => void;\n onBlur: () => void;\n}\n\nexport interface UseBitFieldNativeResult<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n> {\n field: {\n value: BitPathValue<TForm, P>;\n displayValue: string;\n setValue: (val: any) => void;\n setBlur: () => void;\n onChangeText: (text: string) => void;\n onBlur: () => void;\n };\n meta: UseBitFieldNativeMeta;\n props: UseBitFieldNativeBindProps;\n}\n\nfunction isMaskOnlyOptions(\n value: BitFieldDefinition<any> | BitFieldOptions | undefined,\n): value is BitFieldOptions {\n if (!value || typeof value !== \"object\") return false;\n const keys = Object.keys(value);\n return keys.length === 1 && keys[0] === \"mask\";\n}\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(\n path: P,\n configOrOptions?: BitFieldDefinition<TForm> | BitFieldOptions,\n maybeOptions?: BitFieldOptions,\n): UseBitFieldNativeResult<TForm, P> {\n const config =\n maybeOptions !== undefined\n ? (configOrOptions as BitFieldDefinition<TForm> | undefined)\n : isMaskOnlyOptions(configOrOptions)\n ? undefined\n : (configOrOptions as BitFieldDefinition<TForm> | undefined);\n\n const options =\n maybeOptions !== undefined\n ? maybeOptions\n : isMaskOnlyOptions(configOrOptions)\n ? configOrOptions\n : undefined;\n\n const {\n fieldState,\n setValue: rawSetValue,\n setBlur,\n store,\n } = useBitFieldBase<BitPathValue<TForm, P>, TForm, P>(path, config);\n\n const resolvedMask = useMemo(() => {\n const maskOption =\n options?.mask ?? store.config.fields?.[path as string]?.mask;\n if (!maskOption) return undefined;\n return typeof maskOption === \"string\"\n ? store.config.masks![maskOption]\n : maskOption;\n }, [options?.mask, store.config.masks, store.config.fields, path]);\n\n const displayValue = useMemo(() => {\n const val = fieldState.value;\n if (val === undefined || val === null || val === \"\") return \"\";\n\n return resolvedMask ? resolvedMask.format(val) : String(val);\n }, [fieldState.value, resolvedMask]);\n\n const handleChange = useCallback(\n (text: string) => {\n if (!resolvedMask) {\n rawSetValue(text as any);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(text ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const setValue = useCallback(\n (val: any) => {\n if (!resolvedMask) {\n rawSetValue(val);\n return;\n }\n\n rawSetValue(resolvedMask.parse(String(val ?? \"\")) as any);\n },\n [resolvedMask, rawSetValue],\n );\n\n const { isHidden, isRequired, value, error, touched, isDirty, isValidating } =\n fieldState;\n const invalid = !!(touched && error);\n const visibleError = touched ? error : undefined;\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n return {\n field: {\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChangeText: handleChange,\n onBlur,\n },\n meta: {\n error: visibleError,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError: !!error,\n },\n props: {\n value: displayValue,\n onChangeText: handleChange,\n onBlur,\n },\n };\n}\n"],"mappings":"uHAAA,OAAS,WAAAA,EAAS,eAAAC,MAAmB,QA0CrC,SAASC,EACPC,EAC0B,CAC1B,GAAI,CAACA,GAAS,OAAOA,GAAU,SAAU,MAAO,GAChD,IAAMC,EAAO,OAAO,KAAKD,CAAK,EAC9B,OAAOC,EAAK,SAAW,GAAKA,EAAK,CAAC,IAAM,MAC1C,CAEO,SAASC,EAIdC,EACAC,EACAC,EACmC,CACnC,IAAMC,EACJD,IAAiB,OACZD,EACDL,EAAkBK,CAAe,EAC/B,OACCA,EAEHG,EACJF,IAAiB,OACbA,EACAN,EAAkBK,CAAe,EAC/BA,EACA,OAEF,CACJ,WAAAI,EACA,SAAUC,EACV,QAAAC,EACA,MAAAC,CACF,EAAIC,EAAkDT,EAAMG,CAAM,EAE5DO,EAAeC,EAAQ,IAAM,CACjC,IAAMC,EACJR,GAAS,MAAQI,EAAM,OAAO,SAASR,CAAc,GAAG,KAC1D,GAAKY,EACL,OAAO,OAAOA,GAAe,SACzBJ,EAAM,OAAO,MAAOI,CAAU,EAC9BA,CACN,EAAG,CAACR,GAAS,KAAMI,EAAM,OAAO,MAAOA,EAAM,OAAO,OAAQR,CAAI,CAAC,EAE3Da,EAAeF,EAAQ,IAAM,CACjC,IAAMG,EAAMT,EAAW,MACvB,OAAyBS,GAAQ,MAAQA,IAAQ,GAAW,GAErDJ,EAAeA,EAAa,OAAOI,CAAG,EAAI,OAAOA,CAAG,CAC7D,EAAG,CAACT,EAAW,MAAOK,CAAY,CAAC,EAE7BK,EAAeC,EAClBC,GAAiB,CAChB,GAAI,CAACP,EAAc,CACjBJ,EAAYW,CAAW,EACvB,MACF,CAEAX,EAAYI,EAAa,MAAM,OAAOO,GAAQ,EAAE,CAAC,CAAQ,CAC3D,EACA,CAACP,EAAcJ,CAAW,CAC5B,EAEMY,EAAWF,EACdF,GAAa,CACZ,GAAI,CAACJ,EAAc,CACjBJ,EAAYQ,CAAG,EACf,MACF,CAEAR,EAAYI,EAAa,MAAM,OAAOI,GAAO,EAAE,CAAC,CAAQ,CAC1D,EACA,CAACJ,EAAcJ,CAAW,CAC5B,EAEM,CAAE,SAAAa,EAAU,WAAAC,EAAY,MAAAvB,EAAO,MAAAwB,EAAO,QAAAC,EAAS,QAAAC,EAAS,aAAAC,CAAa,EACzEnB,EACIoB,EAAU,CAAC,EAAEH,GAAWD,GACxBK,EAAeJ,EAAUD,EAAQ,OAEjCM,EAASX,EAAY,IAAM,CAC/BT,EAAQ,CACV,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAO,CACL,MAAO,CACL,MAAOV,EACP,aAAAgB,EACA,SAAAK,EACA,QAAAX,EACA,aAAcQ,EACd,OAAAY,CACF,EACA,KAAM,CACJ,MAAOD,EACP,QAAAJ,EACA,QAAAG,EACA,aAAAD,EACA,QAAAD,EACA,SAAAJ,EACA,WAAAC,EACA,SAAU,CAAC,CAACC,CACd,EACA,MAAO,CACL,MAAOR,EACP,aAAcE,EACd,OAAAY,CACF,CACF,CACF","names":["useMemo","useCallback","isMaskOnlyOptions","value","keys","useBitField","path","configOrOptions","maybeOptions","config","options","fieldState","rawSetValue","setBlur","store","useBitFieldBase","resolvedMask","useMemo","maskOption","displayValue","val","handleChange","useCallback","text","setValue","isHidden","isRequired","error","touched","isDirty","isValidating","invalid","visibleError","onBlur"]}
|
package/dist/resolvers/joi.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ObjectSchema } from 'joi';
|
|
2
|
-
import {
|
|
2
|
+
import { d as BitErrors } from '../bus-CnqfsZpc.cjs';
|
|
3
3
|
|
|
4
4
|
declare const joiResolver: <T extends object>(schema: ObjectSchema<T>) => (values: T, options?: {
|
|
5
5
|
scopeFields?: string[];
|
package/dist/resolvers/joi.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ObjectSchema } from 'joi';
|
|
2
|
-
import {
|
|
2
|
+
import { d as BitErrors } from '../bus-CnqfsZpc.js';
|
|
3
3
|
|
|
4
4
|
declare const joiResolver: <T extends object>(schema: ObjectSchema<T>) => (values: T, options?: {
|
|
5
5
|
scopeFields?: string[];
|
package/dist/resolvers/yup.d.cts
CHANGED
package/dist/resolvers/yup.d.ts
CHANGED
package/dist/resolvers/zod.d.cts
CHANGED
package/dist/resolvers/zod.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { B as BitStore } from './index-
|
|
4
|
-
import {
|
|
3
|
+
import { B as BitStore } from './index-BAOM6INR.js';
|
|
4
|
+
import { d as BitErrors, o as BitTouched, b as BitPath, c as BitPathValue, h as BitArrayPath, g as BitArrayItem, S as ScopeStatus, V as ValidateScopeResult } from './bus-CnqfsZpc.js';
|
|
5
5
|
|
|
6
6
|
declare const BitFormProvider: ({ store, children, }: {
|
|
7
7
|
store: BitStore<any>;
|
|
@@ -10,8 +10,24 @@ declare const BitFormProvider: ({ store, children, }: {
|
|
|
10
10
|
declare const useBitStore: <T extends object>() => BitStore<T>;
|
|
11
11
|
|
|
12
12
|
declare function useBitForm<T extends object>(): {
|
|
13
|
+
meta: {
|
|
14
|
+
submitError: Error | null;
|
|
15
|
+
lastResponse: unknown;
|
|
16
|
+
isValid: boolean;
|
|
17
|
+
isDirty: boolean;
|
|
18
|
+
isSubmitting: boolean;
|
|
19
|
+
};
|
|
20
|
+
getValues: () => T;
|
|
21
|
+
getErrors: () => BitErrors<T>;
|
|
22
|
+
getTouched: () => BitTouched<T>;
|
|
23
|
+
getDirtyValues: () => Partial<T>;
|
|
24
|
+
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>) => (e?: {
|
|
25
|
+
preventDefault: () => void;
|
|
26
|
+
}) => Promise<void>;
|
|
27
|
+
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: {
|
|
28
|
+
preventDefault: () => void;
|
|
29
|
+
}) => Promise<void>;
|
|
13
30
|
reset: () => void;
|
|
14
|
-
store: BitStore<T>;
|
|
15
31
|
setField: <P extends BitPath<T, "">>(path: P, value: BitPathValue<T, P>) => void;
|
|
16
32
|
blurField: <P extends BitPath<T, "">>(path: P) => void;
|
|
17
33
|
setValues: (newValues: T) => void;
|
|
@@ -22,31 +38,14 @@ declare function useBitForm<T extends object>(): {
|
|
|
22
38
|
scope?: string;
|
|
23
39
|
scopeFields?: string[];
|
|
24
40
|
}) => Promise<boolean>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
redo: () => void;
|
|
34
|
-
getValues: () => T;
|
|
35
|
-
getErrors: () => BitErrors<T>;
|
|
36
|
-
getTouched: () => BitTouched<T>;
|
|
37
|
-
submit: (onSuccess: (values: T) => void | Promise<void>) => (e?: {
|
|
38
|
-
preventDefault: () => void;
|
|
39
|
-
}) => Promise<void>;
|
|
40
|
-
onSubmit: (handler: (values: T) => Promise<unknown>) => (e?: {
|
|
41
|
-
preventDefault: () => void;
|
|
42
|
-
}) => Promise<void>;
|
|
43
|
-
submitError: Error | null;
|
|
44
|
-
lastResponse: unknown;
|
|
45
|
-
isValid: boolean;
|
|
46
|
-
isDirty: boolean;
|
|
47
|
-
isSubmitting: boolean;
|
|
48
|
-
canUndo: boolean;
|
|
49
|
-
canRedo: boolean;
|
|
41
|
+
mutations: {
|
|
42
|
+
pushItem: <P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
43
|
+
removeItem: <P extends BitArrayPath<T>>(path: P, index: number) => void;
|
|
44
|
+
prependItem: <P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
45
|
+
insertItem: <P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
46
|
+
moveItem: <P extends BitArrayPath<T>>(path: P, from: number, to: number) => void;
|
|
47
|
+
swapItems: <P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number) => void;
|
|
48
|
+
};
|
|
50
49
|
};
|
|
51
50
|
|
|
52
51
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { B as BitStore } from './index-
|
|
4
|
-
import {
|
|
3
|
+
import { B as BitStore } from './index-BdLuC0wS.cjs';
|
|
4
|
+
import { d as BitErrors, o as BitTouched, b as BitPath, c as BitPathValue, h as BitArrayPath, g as BitArrayItem, S as ScopeStatus, V as ValidateScopeResult } from './bus-CnqfsZpc.cjs';
|
|
5
5
|
|
|
6
6
|
declare const BitFormProvider: ({ store, children, }: {
|
|
7
7
|
store: BitStore<any>;
|
|
@@ -10,8 +10,24 @@ declare const BitFormProvider: ({ store, children, }: {
|
|
|
10
10
|
declare const useBitStore: <T extends object>() => BitStore<T>;
|
|
11
11
|
|
|
12
12
|
declare function useBitForm<T extends object>(): {
|
|
13
|
+
meta: {
|
|
14
|
+
submitError: Error | null;
|
|
15
|
+
lastResponse: unknown;
|
|
16
|
+
isValid: boolean;
|
|
17
|
+
isDirty: boolean;
|
|
18
|
+
isSubmitting: boolean;
|
|
19
|
+
};
|
|
20
|
+
getValues: () => T;
|
|
21
|
+
getErrors: () => BitErrors<T>;
|
|
22
|
+
getTouched: () => BitTouched<T>;
|
|
23
|
+
getDirtyValues: () => Partial<T>;
|
|
24
|
+
submit: (onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>) => (e?: {
|
|
25
|
+
preventDefault: () => void;
|
|
26
|
+
}) => Promise<void>;
|
|
27
|
+
onSubmit: (handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>) => (e?: {
|
|
28
|
+
preventDefault: () => void;
|
|
29
|
+
}) => Promise<void>;
|
|
13
30
|
reset: () => void;
|
|
14
|
-
store: BitStore<T>;
|
|
15
31
|
setField: <P extends BitPath<T, "">>(path: P, value: BitPathValue<T, P>) => void;
|
|
16
32
|
blurField: <P extends BitPath<T, "">>(path: P) => void;
|
|
17
33
|
setValues: (newValues: T) => void;
|
|
@@ -22,31 +38,14 @@ declare function useBitForm<T extends object>(): {
|
|
|
22
38
|
scope?: string;
|
|
23
39
|
scopeFields?: string[];
|
|
24
40
|
}) => Promise<boolean>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
redo: () => void;
|
|
34
|
-
getValues: () => T;
|
|
35
|
-
getErrors: () => BitErrors<T>;
|
|
36
|
-
getTouched: () => BitTouched<T>;
|
|
37
|
-
submit: (onSuccess: (values: T) => void | Promise<void>) => (e?: {
|
|
38
|
-
preventDefault: () => void;
|
|
39
|
-
}) => Promise<void>;
|
|
40
|
-
onSubmit: (handler: (values: T) => Promise<unknown>) => (e?: {
|
|
41
|
-
preventDefault: () => void;
|
|
42
|
-
}) => Promise<void>;
|
|
43
|
-
submitError: Error | null;
|
|
44
|
-
lastResponse: unknown;
|
|
45
|
-
isValid: boolean;
|
|
46
|
-
isDirty: boolean;
|
|
47
|
-
isSubmitting: boolean;
|
|
48
|
-
canUndo: boolean;
|
|
49
|
-
canRedo: boolean;
|
|
41
|
+
mutations: {
|
|
42
|
+
pushItem: <P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
43
|
+
removeItem: <P extends BitArrayPath<T>>(path: P, index: number) => void;
|
|
44
|
+
prependItem: <P extends BitArrayPath<T>>(path: P, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
45
|
+
insertItem: <P extends BitArrayPath<T>>(path: P, index: number, value: BitArrayItem<BitPathValue<T, P>>) => void;
|
|
46
|
+
moveItem: <P extends BitArrayPath<T>>(path: P, from: number, to: number) => void;
|
|
47
|
+
swapItems: <P extends BitArrayPath<T>>(path: P, indexA: number, indexB: number) => void;
|
|
48
|
+
};
|
|
50
49
|
};
|
|
51
50
|
|
|
52
51
|
declare function useBitArray<TForm extends object = any, P extends BitArrayPath<TForm> = BitArrayPath<TForm>>(path: P): {
|