@lehnihon/bit-form 2.2.28 → 2.2.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/{chunk-3MWOSR4W.js → chunk-4U32VQD5.js} +2 -2
- package/dist/{chunk-77RIH3KJ.js → chunk-FF6WALLN.js} +2 -2
- package/dist/chunk-FF6WALLN.js.map +1 -0
- package/dist/{chunk-CTQXXT26.cjs → chunk-K3QLAMDG.cjs} +2 -2
- package/dist/{chunk-CTQXXT26.cjs.map → chunk-K3QLAMDG.cjs.map} +1 -1
- package/dist/chunk-KEINCG6A.js +2 -0
- package/dist/chunk-KEINCG6A.js.map +1 -0
- package/dist/{chunk-G6EG5AWJ.cjs → chunk-LBWJK3IC.cjs} +2 -2
- package/dist/{chunk-G6EG5AWJ.cjs.map → chunk-LBWJK3IC.cjs.map} +1 -1
- package/dist/chunk-UNBTMNY3.cjs +2 -0
- package/dist/chunk-UNBTMNY3.cjs.map +1 -0
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.js +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +2 -2
- package/dist/devtools/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-77RIH3KJ.js.map +0 -1
- package/dist/chunk-KDNY7F5Q.cjs +0 -2
- package/dist/chunk-KDNY7F5Q.cjs.map +0 -1
- package/dist/chunk-V22XASFK.js +0 -2
- package/dist/chunk-V22XASFK.js.map +0 -1
- /package/dist/{chunk-3MWOSR4W.js.map → chunk-4U32VQD5.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as x,b as v,c as y,d as h,e as V,f as T,g,h as R,i as S}from"../chunk-
|
|
1
|
+
import{a as x,b as v,c as y,d as h,e as V,f as T,g,h as R,i as S}from"../chunk-KEINCG6A.js";import"../chunk-5NA2TFPG.js";import"../chunk-FF6WALLN.js";import{h as f}from"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import{a as P}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{useMemo as i,useCallback as n}from"react";function U(u){let{fieldState:r,setBlur:o,store:m}=h(u),{fieldController:t}=i(()=>f(m,u),[m,u]),s=i(()=>t.displayValue(r.value),[r.value,t]),a=n(d=>t.setValue(d),[t]),p=n(d=>t.setValue(d),[t]),{value:B}=r,e=P(r),l=n(()=>{o()},[o]),c=i(()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=i(()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return i(()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}export{x as BitFormProvider,V as useBitArray,U as useBitField,y as useBitForm,S as useBitPersist,T as useBitScope,g as useBitSteps,v as useBitStore,R as useBitWatch};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/vue/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkK3QLAMDGcjs = require('../chunk-K3QLAMDG.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _vue = require('vue');var Q=Symbol("BIT_STORE");function oe(r){let e=_chunkK3QLAMDGcjs.d.call(void 0, r);_vue.provide.call(void 0, Q,e)}function i(){let r=_vue.inject.call(void 0, Q);if(!r)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return r}function ne(){let r=i(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),t=_vue.ref.call(void 0, null),o=_vue.ref.call(void 0, null),s=_chunkH27ROY4Fcjs.c.call(void 0, r,B=>{e.value=B});_vue.onUnmounted.call(void 0, s);let{controller:a,actions:n}=_chunkH27ROY4Fcjs.i.call(void 0, r,{clearSubmissionState:()=>{t.value=null,o.value=null},setSubmissionResult:B=>{o.value=B},setSubmissionError:B=>{t.value=B}}),p=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),v=_vue.computed.call(void 0, ()=>e.value.isDirty),S=a.onSubmit,l=a.reset;return{meta:_vue.reactive.call(void 0, {isValid:p,isDirty:v,isSubmitting:u,submitError:t,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:S,reset:l,...n}}function k(r){let e=i(),{fieldController:t}=_chunkH27ROY4Fcjs.h.call(void 0, e,r),o=_vue.shallowRef.call(void 0, e.read.getFieldState(r)),s=e.observe.subscribeFieldState(r,d=>{o.value=d});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkH27ROY4Fcjs.j.call(void 0, e,r)});let a=_vue.computed.call(void 0, ()=>o.value.value),n=_vue.computed.call(void 0, ()=>t.displayValue(a.value)),p=_vue.computed.call(void 0, {get:()=>n.value,set:d=>{t.setValue(d)}}),u=_vue.computed.call(void 0, ()=>_chunkH6HGYVRVcjs.a.call(void 0, o.value)),v=_vue.computed.call(void 0, ()=>u.value.error),S=_vue.computed.call(void 0, ()=>u.value.touched),l=_vue.computed.call(void 0, ()=>u.value.invalid),y=_vue.computed.call(void 0, ()=>u.value.isValidating),B=_vue.computed.call(void 0, ()=>u.value.isDirty),U=_vue.computed.call(void 0, ()=>u.value.isHidden),R=_vue.computed.call(void 0, ()=>u.value.isRequired),x=_vue.computed.call(void 0, ()=>u.value.hasError),F=d=>{t.setValue(d)},h=()=>t.setBlur();return{value:a,displayValue:n,modelValue:p,setValue:F,setBlur:h,onInput:d=>{F(d)},onBlur:()=>{h()},meta:_vue.reactive.call(void 0, {error:v,touched:S,invalid:l,isValidating:y,isDirty:B,isHidden:U,isRequired:R,hasError:x})}}function me(r){let e=i(),t=_chunkH27ROY4Fcjs.g.call(void 0, e,r),o=_vue.shallowRef.call(void 0, t.readItems()),s=e.observe.subscribePath(r,()=>{o.value=t.readItems()});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkH27ROY4Fcjs.k.call(void 0, e,`${r}.`)});let a=_vue.computed.call(void 0, ()=>t.getFields(o.value)),n=_vue.computed.call(void 0, ()=>o.value.length);return{fields:a,length:n,append:t.append,prepend:t.prepend,insert:t.insert,remove:t.remove,move:t.move,swap:t.swap,replace:t.replace,clear:t.clear}}function Se(){let r=i(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, r)),t=_chunkRHMJPKNVcjs.g.call(void 0, r,a=>{e.value=a});_vue.onUnmounted.call(void 0, t);let o=()=>{e.value.canUndo&&r.feature.undo()},s=()=>{e.value.canRedo&&r.feature.redo()};return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:o,redo:s}}function be(r){let e=i(),t=_vue.ref.call(void 0, e.read.getScopeStatus(r)),o=_chunkBSGJ3T5Scjs.a.call(void 0, e,r,v=>{t.value=v});_vue.onUnmounted.call(void 0, ()=>{o()});let s=async()=>{let v=await e.feature.validate({scope:r}),S=e.read.getScopeErrors(r);return{valid:v,errors:S}},a=()=>e.read.getScopeErrors(r),n=_vue.computed.call(void 0, ()=>!t.value.hasErrors),p=_vue.computed.call(void 0, ()=>t.value.isDirty),u=_vue.computed.call(void 0, ()=>t.value.errors);return{scopeName:r,status:t,errors:u,validate:s,getErrors:a,isValid:n,isDirty:p}}function Fe(r){if(r.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),t=_vue.ref.call(void 0, 0),o=_vue.computed.call(void 0, ()=>_nullishCoalesce(r[t.value], () => (""))),s=_vue.ref.call(void 0, e.read.getScopeStatus(o.value)),a=o.value,n=e.observe.subscribeScopeStatus(a,c=>{o.value===a&&(_chunkRHMJPKNVcjs.b.call(void 0, s.value,c)||(s.value=c))}),p=()=>{let c=o.value,f=e.observe.subscribeScopeStatus(c,g=>{o.value===c&&(_chunkRHMJPKNVcjs.b.call(void 0, s.value,g)||(s.value=g))}),d=n;n=f,a=c,d()};_vue.onUnmounted.call(void 0, ()=>{n()});let u=async()=>{let c=o.value,f=t.value,d=await e.feature.validate({scope:c});if(t.value!==f){let P=o.value;return{valid:await e.feature.validate({scope:P}),errors:e.read.getScopeErrors(P)}}let g=e.read.getScopeErrors(c);return{valid:d,errors:g}},v=()=>e.read.getScopeErrors(o.value),S=async()=>{let c=t.value,f=_nullishCoalesce(r[c], () => (""));if(!f)return!1;let d=e.read.getScopeFields(f);if(e.feature.hasValidationsInProgress(d))return!1;let g=await e.feature.validate({scope:f});if(c!==t.value)return!1;if(g)t.value=Math.min(t.value+1,r.length-1),s.value=e.read.getScopeStatus(o.value),p();else{let P=e.read.getScopeErrors(f),T=Object.keys(P);T.length>0&&e.write.markFieldsTouched(T),s.value=e.read.getScopeStatus(f)}return g},l=()=>{t.value=Math.max(t.value-1,0),s.value=e.read.getScopeStatus(o.value),p()},y=c=>{t.value=Math.max(0,Math.min(c-1,r.length-1)),s.value=e.read.getScopeStatus(o.value),p()},B=_vue.computed.call(void 0, ()=>t.value+1),U=_vue.computed.call(void 0, ()=>t.value===0),R=_vue.computed.call(void 0, ()=>t.value>=r.length-1),x=_vue.computed.call(void 0, ()=>!s.value.hasErrors),F=_vue.computed.call(void 0, ()=>s.value.isDirty),h=_vue.computed.call(void 0, ()=>s.value.errors);return{step:B,stepIndex:t,scope:o,next:S,prev:l,goTo:y,isFirst:U,isLast:R,status:s,errors:h,isValid:x,isDirty:F,validate:u,getErrors:v}}function Ue(r){let e=i(),t=_chunkOWDDAM6Ccjs.f.call(void 0, e.read.getState().values,r),o=_vue.ref.call(void 0, t),s=e.observe.subscribePath(r,a=>{_chunkOWDDAM6Ccjs.c.call(void 0, o.value,a)||(o.value=a)});return _vue.onUnmounted.call(void 0, s),_vue.readonly.call(void 0, o)}function Te(r,e,t){let o=i(),s=k(r),a=null,n=_vue.ref.call(void 0, !1),p={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},v=_chunkH3RTOA6Xcjs.a.call(void 0, r,e,u,p),S=_chunkH3RTOA6Xcjs.b.call(void 0, r,t,u,p);return _vue.onUnmounted.call(void 0, ()=>{p.current++,a=null}),{value:s.value,setValue:s.setValue,error:_vue.computed.call(void 0, ()=>s.meta.error),isValidating:_vue.computed.call(void 0, ()=>!!s.meta.isValidating||n.value),upload:v,remove:S}}function De(){let r=i(),e=_vue.ref.call(void 0, r.read.getPersistMetadata()),t=_chunkH27ROY4Fcjs.f.call(void 0, r,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>t()),{restore:async()=>r.feature.restorePersisted(),save:async()=>{await r.feature.forceSave()},clear:async()=>{await r.feature.clearPersisted()},meta:_vue.reactive.call(void 0, {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 = me; exports.useBitField = k; exports.useBitForm = ne; exports.useBitHistory = Se; exports.useBitPersist = De; exports.useBitScope = be; exports.useBitSteps = Fe; exports.useBitStore = i; exports.useBitUpload = Te; exports.useBitWatch = Ue;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/vue/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/builds/kenji.ccp-group/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","adapted","createFrameworkStoreAdapter","provide","onUnmounted","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, onUnmounted, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n\n onUnmounted(() => {\n adapted.feature?.cleanup?.();\n });\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } 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 = reactive({\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, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\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 value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/builds/kenji.ccp-group/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","adapted","createFrameworkStoreAdapter","provide","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } 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 = reactive({\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, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\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 value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
|
package/dist/vue/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as $,b as J}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as K}from"../chunk-
|
|
1
|
+
import{a as $,b as J}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as K}from"../chunk-FF6WALLN.js";import{c as C,f as q,g as O,h as W,i as _,j as z,k as L}from"../chunk-L42NQRVD.js";import{a as G}from"../chunk-W2E5UIXT.js";import{b as w,f as j,g as H}from"../chunk-UIKO6GGW.js";import{a as Y}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import{c as M,f as A}from"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{inject as te,provide as re}from"vue";var Q=Symbol("BIT_STORE");function oe(r){let e=K(r);re(Q,e)}function i(){let r=te(Q);if(!r)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return r}import{computed as E,onUnmounted as se,shallowRef as ae,ref as X,reactive as ie}from"vue";function ne(){let r=i(),e=ae({isValid:!0,isDirty:!1,isSubmitting:!1}),t=X(null),o=X(null),s=C(r,B=>{e.value=B});se(s);let{controller:a,actions:n}=_(r,{clearSubmissionState:()=>{t.value=null,o.value=null},setSubmissionResult:B=>{o.value=B},setSubmissionError:B=>{t.value=B}}),p=E(()=>e.value.isValid),u=E(()=>e.value.isSubmitting),v=E(()=>e.value.isDirty),S=a.onSubmit,l=a.reset;return{meta:ie({isValid:p,isDirty:v,isSubmitting:u,submitError:t,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:S,reset:l,...n}}import{computed as m,onUnmounted as ue,shallowRef as le,reactive as ce}from"vue";function k(r){let e=i(),{fieldController:t}=W(e,r),o=le(e.read.getFieldState(r)),s=e.observe.subscribeFieldState(r,d=>{o.value=d});ue(()=>{s(),z(e,r)});let a=m(()=>o.value.value),n=m(()=>t.displayValue(a.value)),p=m({get:()=>n.value,set:d=>{t.setValue(d)}}),u=m(()=>Y(o.value)),v=m(()=>u.value.error),S=m(()=>u.value.touched),l=m(()=>u.value.invalid),y=m(()=>u.value.isValidating),B=m(()=>u.value.isDirty),U=m(()=>u.value.isHidden),R=m(()=>u.value.isRequired),x=m(()=>u.value.hasError),F=d=>{t.setValue(d)},h=()=>t.setBlur();return{value:a,displayValue:n,modelValue:p,setValue:F,setBlur:h,onInput:d=>{F(d)},onBlur:()=>{h()},meta:ce({error:v,touched:S,invalid:l,isValidating:y,isDirty:B,isHidden:U,isRequired:R,hasError:x})}}import{computed as Z,onUnmounted as pe,shallowRef as de}from"vue";function me(r){let e=i(),t=O(e,r),o=de(t.readItems()),s=e.observe.subscribePath(r,()=>{o.value=t.readItems()});pe(()=>{s(),L(e,`${r}.`)});let a=Z(()=>t.getFields(o.value)),n=Z(()=>o.value.length);return{fields:a,length:n,append:t.append,prepend:t.prepend,insert:t.insert,remove:t.remove,move:t.move,swap:t.swap,replace:t.replace,clear:t.clear}}import{computed as V,onUnmounted as ve,shallowRef as fe}from"vue";function Se(){let r=i(),e=fe(j(r)),t=H(r,a=>{e.value=a});ve(t);let o=()=>{e.value.canUndo&&r.feature.undo()},s=()=>{e.value.canRedo&&r.feature.redo()};return{canUndo:V(()=>e.value.canUndo),canRedo:V(()=>e.value.canRedo),historyIndex:V(()=>e.value.historyIndex),historySize:V(()=>e.value.historySize),undo:o,redo:s}}import{computed as D,onUnmounted as Be,ref as ge}from"vue";function be(r){let e=i(),t=ge(e.read.getScopeStatus(r)),o=G(e,r,v=>{t.value=v});Be(()=>{o()});let s=async()=>{let v=await e.feature.validate({scope:r}),S=e.read.getScopeErrors(r);return{valid:v,errors:S}},a=()=>e.read.getScopeErrors(r),n=D(()=>!t.value.hasErrors),p=D(()=>t.value.isDirty),u=D(()=>t.value.errors);return{scopeName:r,status:t,errors:u,validate:s,getErrors:a,isValid:n,isDirty:p}}import{computed as b,onUnmounted as ye,ref as N}from"vue";function Fe(r){if(r.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),t=N(0),o=b(()=>r[t.value]??""),s=N(e.read.getScopeStatus(o.value)),a=o.value,n=e.observe.subscribeScopeStatus(a,c=>{o.value===a&&(w(s.value,c)||(s.value=c))}),p=()=>{let c=o.value,f=e.observe.subscribeScopeStatus(c,g=>{o.value===c&&(w(s.value,g)||(s.value=g))}),d=n;n=f,a=c,d()};ye(()=>{n()});let u=async()=>{let c=o.value,f=t.value,d=await e.feature.validate({scope:c});if(t.value!==f){let P=o.value;return{valid:await e.feature.validate({scope:P}),errors:e.read.getScopeErrors(P)}}let g=e.read.getScopeErrors(c);return{valid:d,errors:g}},v=()=>e.read.getScopeErrors(o.value),S=async()=>{let c=t.value,f=r[c]??"";if(!f)return!1;let d=e.read.getScopeFields(f);if(e.feature.hasValidationsInProgress(d))return!1;let g=await e.feature.validate({scope:f});if(c!==t.value)return!1;if(g)t.value=Math.min(t.value+1,r.length-1),s.value=e.read.getScopeStatus(o.value),p();else{let P=e.read.getScopeErrors(f),T=Object.keys(P);T.length>0&&e.write.markFieldsTouched(T),s.value=e.read.getScopeStatus(f)}return g},l=()=>{t.value=Math.max(t.value-1,0),s.value=e.read.getScopeStatus(o.value),p()},y=c=>{t.value=Math.max(0,Math.min(c-1,r.length-1)),s.value=e.read.getScopeStatus(o.value),p()},B=b(()=>t.value+1),U=b(()=>t.value===0),R=b(()=>t.value>=r.length-1),x=b(()=>!s.value.hasErrors),F=b(()=>s.value.isDirty),h=b(()=>s.value.errors);return{step:B,stepIndex:t,scope:o,next:S,prev:l,goTo:y,isFirst:U,isLast:R,status:s,errors:h,isValid:x,isDirty:F,validate:u,getErrors:v}}import{ref as he,onUnmounted as Pe,readonly as Ve}from"vue";function Ue(r){let e=i(),t=A(e.read.getState().values,r),o=he(t),s=e.observe.subscribePath(r,a=>{M(o.value,a)||(o.value=a)});return Pe(s),Ve(o)}import{computed as ee,onUnmounted as Re,ref as xe}from"vue";function Te(r,e,t){let o=i(),s=k(r),a=null,n=xe(!1),p={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},v=$(r,e,u,p),S=J(r,t,u,p);return Re(()=>{p.current++,a=null}),{value:s.value,setValue:s.setValue,error:ee(()=>s.meta.error),isValidating:ee(()=>!!s.meta.isValidating||n.value),upload:v,remove:S}}import{computed as I,onUnmounted as we,ref as Ee,reactive as ke}from"vue";function De(){let r=i(),e=Ee(r.read.getPersistMetadata()),t=q(r,n=>{e.value=n});return we(()=>t()),{restore:async()=>r.feature.restorePersisted(),save:async()=>{await r.feature.forceSave()},clear:async()=>{await r.feature.clearPersisted()},meta:ke({isSaving:I(()=>e.value.isSaving),isRestoring:I(()=>e.value.isRestoring),error:I(()=>e.value.error)})}}export{oe as provideBitStore,me as useBitArray,k as useBitField,ne as useBitForm,Se as useBitHistory,De as useBitPersist,be as useBitScope,Fe as useBitSteps,i as useBitStore,Te as useBitUpload,Ue as useBitWatch};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/vue/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts","../../src/vue/use-bit-history.ts","../../src/vue/use-bit-scope.ts","../../src/vue/use-bit-steps.ts","../../src/vue/use-bit-watch.ts","../../src/vue/use-bit-upload.ts","../../src/vue/use-bit-persist.ts"],"sourcesContent":["import { inject, onUnmounted, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n\n onUnmounted(() => {\n adapted.feature?.cleanup?.();\n });\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } 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 = reactive({\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, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\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 value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n\n const meta = shallowRef(readHistoryMetaSnapshot(store));\n\n const unsubscribe = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const undo = () => {\n if (meta.value.canUndo) store.feature.undo();\n };\n const redo = () => {\n if (meta.value.canRedo) store.feature.redo();\n };\n\n return {\n canUndo: computed(() => meta.value.canUndo),\n canRedo: computed(() => meta.value.canRedo),\n historyIndex: computed(() => meta.value.historyIndex),\n historySize: computed(() => meta.value.historySize),\n undo,\n redo,\n };\n}\n","import { computed, onUnmounted, ref } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n const status = ref<ScopeStatus>(store.read.getScopeStatus(scopeName));\n\n const unsubscribe = observeScopeStatusSnapshot(store, scopeName, (nextStatus) => {\n status.value = nextStatus;\n });\n\n onUnmounted(() => {\n unsubscribe();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { computed, onUnmounted, ref } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"useBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const stepIndex = ref(0);\n\n const scope = computed(() => scopeNames[stepIndex.value] ?? \"\");\n const status = ref<ScopeStatus>(store.read.getScopeStatus(scope.value));\n\n let currentSubscribedScope = scope.value;\n let unsubscribe = store.observe.subscribeScopeStatus(\n currentSubscribedScope,\n (nextStatus: ScopeStatus) => {\n if (scope.value !== currentSubscribedScope) return;\n if (!isScopeStatusEqual(status.value, nextStatus)) {\n status.value = nextStatus;\n }\n },\n );\n\n const rebindScopeSubscription = () => {\n const newScope = scope.value;\n const newUnsub = store.observe.subscribeScopeStatus(\n newScope,\n (nextStatus: ScopeStatus) => {\n if (scope.value !== newScope) return;\n if (!isScopeStatusEqual(status.value, nextStatus)) {\n status.value = nextStatus;\n }\n },\n );\n const oldUnsub = unsubscribe;\n unsubscribe = newUnsub;\n currentSubscribedScope = newScope;\n oldUnsub();\n };\n\n onUnmounted(() => {\n unsubscribe();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = scope.value;\n const startIndex = stepIndex.value;\n const valid = await store.feature.validate({ scope: scopeName });\n if (stepIndex.value !== startIndex) {\n const current = scope.value;\n const reValid = await store.feature.validate({ scope: current });\n return { valid: reValid, errors: store.read.getScopeErrors(current) };\n }\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scope.value);\n\n const next = async (): Promise<boolean> => {\n const capturedStepIndex = stepIndex.value;\n const scopeName = scopeNames[capturedStepIndex] ?? \"\";\n\n if (!scopeName) return false;\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n\n if (capturedStepIndex !== stepIndex.value) return false;\n\n if (valid) {\n stepIndex.value = Math.min(stepIndex.value + 1, scopeNames.length - 1);\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n status.value = store.read.getScopeStatus(scopeName);\n }\n return valid;\n };\n\n const prev = () => {\n stepIndex.value = Math.max(stepIndex.value - 1, 0);\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n };\n\n const goTo = (targetStep: number) => {\n stepIndex.value = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex.value + 1);\n const isFirst = computed(() => stepIndex.value === 0);\n const isLast = computed(() => stepIndex.value >= scopeNames.length - 1);\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { ref, onUnmounted, readonly } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const initialValue = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n const value = ref<BitPathValue<TForm, P>>(initialValue);\n\n const unsubscribe = store.observe.subscribePath(path, (newValue) => {\n if (!valueEqual(value.value, newValue)) {\n value.value = newValue as BitPathValue<TForm, P>;\n }\n });\n\n onUnmounted(unsubscribe);\n\n return readonly(value);\n}\n","/**\n * Vue Composition API for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, ComputedRef, onUnmounted, ref } from \"vue\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = ref(false);\n const sharedGen = { current: 0 };\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => {\n isUploading.value = val;\n },\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks, sharedGen);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks, sharedGen);\n\n onUnmounted(() => {\n sharedGen.current++;\n uploadKey = null;\n });\n\n return {\n value: field.value as ComputedRef<string | File | null>,\n setValue: field.setValue,\n error: computed(() => field.meta.error),\n isValidating: computed(\n () => !!field.meta.isValidating || isUploading.value,\n ),\n upload,\n remove,\n };\n}\n","import { computed, onUnmounted, ref, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist<T extends object = any>(): UseBitPersistResult {\n const store = useBitStore<T>();\n const meta = ref(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextMeta) => {\n meta.value = nextMeta;\n });\n\n onUnmounted(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: reactive({\n isSaving: computed(() => meta.value.isSaving),\n isRestoring: computed(() => meta.value.isRestoring),\n error: computed(() => meta.value.error),\n }),\n };\n}\n"],"mappings":"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","names":["inject","onUnmounted","provide","BIT_STORE_KEY","provideBitStore","store","adapted","createFrameworkStoreAdapter","provide","onUnmounted","useBitStore","inject","computed","onUnmounted","shallowRef","ref","reactive","useBitForm","store","useBitStore","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","computed","onUnmounted","shallowRef","reactive","useBitField","path","store","useBitStore","fieldController","createFrameworkMaskedFieldBinding","state","shallowRef","unsubscribe","nextState","onUnmounted","cleanupRegisteredField","rawValue","computed","displayValue","modelValue","val","metaState","deriveFieldMeta","error","touched","invalid","isValidating","isDirty","isHidden","isRequired","hasError","setValue","setBlur","reactive","computed","onUnmounted","shallowRef","useBitArray","path","store","useBitStore","controller","createArrayBinding","values","shallowRef","unsubscribe","onUnmounted","cleanupRegisteredPrefix","fields","computed","length","computed","onUnmounted","shallowRef","useBitHistory","store","useBitStore","meta","shallowRef","readHistoryMetaSnapshot","unsubscribe","observeHistoryMetaSnapshot","nextMeta","onUnmounted","undo","redo","computed","computed","onUnmounted","ref","useBitScope","scopeName","store","useBitStore","status","ref","unsubscribe","observeScopeStatusSnapshot","nextStatus","onUnmounted","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","onUnmounted","ref","useBitSteps","scopeNames","store","useBitStore","stepIndex","ref","scope","computed","status","currentSubscribedScope","unsubscribe","nextStatus","isScopeStatusEqual","rebindScopeSubscription","newScope","newUnsub","oldUnsub","onUnmounted","validate","scopeName","startIndex","valid","current","errors","getErrors","next","capturedStepIndex","scopeFields","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","ref","onUnmounted","readonly","useBitWatch","path","store","useBitStore","initialValue","getDeepValue","value","ref","unsubscribe","newValue","valueEqual","onUnmounted","readonly","computed","onUnmounted","ref","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKey","isUploading","ref","sharedGen","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","onUnmounted","computed","computed","onUnmounted","ref","reactive","useBitPersist","store","useBitStore","meta","ref","unsubscribe","observePersistMetaSnapshot","nextMeta","onUnmounted","reactive","computed"]}
|
|
1
|
+
{"version":3,"sources":["../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts","../../src/vue/use-bit-history.ts","../../src/vue/use-bit-scope.ts","../../src/vue/use-bit-steps.ts","../../src/vue/use-bit-watch.ts","../../src/vue/use-bit-upload.ts","../../src/vue/use-bit-persist.ts"],"sourcesContent":["import { inject, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } 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 = reactive({\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, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\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 value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport { observeHistoryMetaSnapshot, readHistoryMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n\n const meta = shallowRef(readHistoryMetaSnapshot(store));\n\n const unsubscribe = observeHistoryMetaSnapshot(store, (nextMeta) => {\n meta.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const undo = () => {\n if (meta.value.canUndo) store.feature.undo();\n };\n const redo = () => {\n if (meta.value.canRedo) store.feature.redo();\n };\n\n return {\n canUndo: computed(() => meta.value.canUndo),\n canRedo: computed(() => meta.value.canRedo),\n historyIndex: computed(() => meta.value.historyIndex),\n historySize: computed(() => meta.value.historySize),\n undo,\n redo,\n };\n}\n","import { computed, onUnmounted, ref } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { observeScopeStatusSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n const status = ref<ScopeStatus>(store.read.getScopeStatus(scopeName));\n\n const unsubscribe = observeScopeStatusSnapshot(store, scopeName, (nextStatus) => {\n status.value = nextStatus;\n });\n\n onUnmounted(() => {\n unsubscribe();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scopeName);\n\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n scopeName,\n status,\n errors,\n validate,\n getErrors,\n isValid,\n isDirty,\n };\n}\n","import { computed, onUnmounted, ref } from \"vue\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"useBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const stepIndex = ref(0);\n\n const scope = computed(() => scopeNames[stepIndex.value] ?? \"\");\n const status = ref<ScopeStatus>(store.read.getScopeStatus(scope.value));\n\n let currentSubscribedScope = scope.value;\n let unsubscribe = store.observe.subscribeScopeStatus(\n currentSubscribedScope,\n (nextStatus: ScopeStatus) => {\n if (scope.value !== currentSubscribedScope) return;\n if (!isScopeStatusEqual(status.value, nextStatus)) {\n status.value = nextStatus;\n }\n },\n );\n\n const rebindScopeSubscription = () => {\n const newScope = scope.value;\n const newUnsub = store.observe.subscribeScopeStatus(\n newScope,\n (nextStatus: ScopeStatus) => {\n if (scope.value !== newScope) return;\n if (!isScopeStatusEqual(status.value, nextStatus)) {\n status.value = nextStatus;\n }\n },\n );\n const oldUnsub = unsubscribe;\n unsubscribe = newUnsub;\n currentSubscribedScope = newScope;\n oldUnsub();\n };\n\n onUnmounted(() => {\n unsubscribe();\n });\n\n const validate = async (): Promise<ValidateScopeResult> => {\n const scopeName = scope.value;\n const startIndex = stepIndex.value;\n const valid = await store.feature.validate({ scope: scopeName });\n if (stepIndex.value !== startIndex) {\n const current = scope.value;\n const reValid = await store.feature.validate({ scope: current });\n return { valid: reValid, errors: store.read.getScopeErrors(current) };\n }\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n };\n\n const getErrors = () => store.read.getScopeErrors(scope.value);\n\n const next = async (): Promise<boolean> => {\n const capturedStepIndex = stepIndex.value;\n const scopeName = scopeNames[capturedStepIndex] ?? \"\";\n\n if (!scopeName) return false;\n\n const scopeFields = store.read.getScopeFields(scopeName);\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: scopeName });\n\n if (capturedStepIndex !== stepIndex.value) return false;\n\n if (valid) {\n stepIndex.value = Math.min(stepIndex.value + 1, scopeNames.length - 1);\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n } else {\n const errors = store.read.getScopeErrors(scopeName);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n status.value = store.read.getScopeStatus(scopeName);\n }\n return valid;\n };\n\n const prev = () => {\n stepIndex.value = Math.max(stepIndex.value - 1, 0);\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n };\n\n const goTo = (targetStep: number) => {\n stepIndex.value = Math.max(\n 0,\n Math.min(targetStep - 1, scopeNames.length - 1),\n );\n status.value = store.read.getScopeStatus(scope.value);\n rebindScopeSubscription();\n };\n\n const step = computed(() => stepIndex.value + 1);\n const isFirst = computed(() => stepIndex.value === 0);\n const isLast = computed(() => stepIndex.value >= scopeNames.length - 1);\n const isValid = computed(() => !status.value.hasErrors);\n const isDirty = computed(() => status.value.isDirty);\n const errors = computed(() => status.value.errors);\n\n return {\n step,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors,\n isValid,\n isDirty,\n validate,\n getErrors,\n };\n}\n","import { ref, onUnmounted, readonly } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const initialValue = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n const value = ref<BitPathValue<TForm, P>>(initialValue);\n\n const unsubscribe = store.observe.subscribePath(path, (newValue) => {\n if (!valueEqual(value.value, newValue)) {\n value.value = newValue as BitPathValue<TForm, P>;\n }\n });\n\n onUnmounted(unsubscribe);\n\n return readonly(value);\n}\n","/**\n * Vue Composition API for File Upload\n *\n * Minimal upload API integrated with global field validation lifecycle.\n */\n\nimport { computed, ComputedRef, onUnmounted, ref } from \"vue\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n let uploadKey: string | null = null;\n const isUploading = ref(false);\n const sharedGen = { current: 0 };\n\n const kernelCallbacks = {\n setLoading: (val: boolean) => {\n isUploading.value = val;\n },\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => field.setValue(val),\n getUploadKey: () => uploadKey,\n setUploadKey: (key: string | null) => {\n uploadKey = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n };\n\n const upload = createUploadHandler(fieldPath, uploadFn, kernelCallbacks, sharedGen);\n const remove = createRemoveHandler(fieldPath, deleteFile, kernelCallbacks, sharedGen);\n\n onUnmounted(() => {\n sharedGen.current++;\n uploadKey = null;\n });\n\n return {\n value: field.value as ComputedRef<string | File | null>,\n setValue: field.setValue,\n error: computed(() => field.meta.error),\n isValidating: computed(\n () => !!field.meta.isValidating || isUploading.value,\n ),\n upload,\n remove,\n };\n}\n","import { computed, onUnmounted, ref, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { observePersistMetaSnapshot } from \"../core\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist<T extends object = any>(): UseBitPersistResult {\n const store = useBitStore<T>();\n const meta = ref(store.read.getPersistMetadata());\n\n const unsubscribe = observePersistMetaSnapshot(store, (nextMeta) => {\n meta.value = nextMeta;\n });\n\n onUnmounted(() => unsubscribe());\n\n const restore = async (): Promise<boolean> => {\n return store.feature.restorePersisted();\n };\n\n const save = async (): Promise<void> => {\n await store.feature.forceSave();\n };\n\n const clear = async (): Promise<void> => {\n await store.feature.clearPersisted();\n };\n\n return {\n restore,\n save,\n clear,\n meta: reactive({\n isSaving: computed(() => meta.value.isSaving),\n isRestoring: computed(() => meta.value.isRestoring),\n error: computed(() => meta.value.error),\n }),\n };\n}\n"],"mappings":"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","names":["inject","provide","BIT_STORE_KEY","provideBitStore","store","adapted","createFrameworkStoreAdapter","provide","useBitStore","inject","computed","onUnmounted","shallowRef","ref","reactive","useBitForm","store","useBitStore","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","onUnmounted","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","computed","onUnmounted","shallowRef","reactive","useBitField","path","store","useBitStore","fieldController","createFrameworkMaskedFieldBinding","state","shallowRef","unsubscribe","nextState","onUnmounted","cleanupRegisteredField","rawValue","computed","displayValue","modelValue","val","metaState","deriveFieldMeta","error","touched","invalid","isValidating","isDirty","isHidden","isRequired","hasError","setValue","setBlur","reactive","computed","onUnmounted","shallowRef","useBitArray","path","store","useBitStore","controller","createArrayBinding","values","shallowRef","unsubscribe","onUnmounted","cleanupRegisteredPrefix","fields","computed","length","computed","onUnmounted","shallowRef","useBitHistory","store","useBitStore","meta","shallowRef","readHistoryMetaSnapshot","unsubscribe","observeHistoryMetaSnapshot","nextMeta","onUnmounted","undo","redo","computed","computed","onUnmounted","ref","useBitScope","scopeName","store","useBitStore","status","ref","unsubscribe","observeScopeStatusSnapshot","nextStatus","onUnmounted","validate","valid","errors","getErrors","isValid","computed","isDirty","computed","onUnmounted","ref","useBitSteps","scopeNames","store","useBitStore","stepIndex","ref","scope","computed","status","currentSubscribedScope","unsubscribe","nextStatus","isScopeStatusEqual","rebindScopeSubscription","newScope","newUnsub","oldUnsub","onUnmounted","validate","scopeName","startIndex","valid","current","errors","getErrors","next","capturedStepIndex","scopeFields","pathsWithErrors","prev","goTo","targetStep","step","isFirst","isLast","isValid","isDirty","ref","onUnmounted","readonly","useBitWatch","path","store","useBitStore","initialValue","getDeepValue","value","ref","unsubscribe","newValue","valueEqual","onUnmounted","readonly","computed","onUnmounted","ref","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","uploadKey","isUploading","ref","sharedGen","kernelCallbacks","val","path","msg","key","e","upload","createUploadHandler","remove","createRemoveHandler","onUnmounted","computed","computed","onUnmounted","ref","reactive","useBitPersist","store","useBitStore","meta","ref","unsubscribe","observePersistMetaSnapshot","nextMeta","onUnmounted","reactive","computed"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lehnihon/bit-form",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.31",
|
|
4
4
|
"description": "Gerenciamento de estado de formulários agnóstico e performático",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
"react": ">=16.8.0",
|
|
239
239
|
"vue": ">=3.0.0",
|
|
240
240
|
"yup": "^1.0.0",
|
|
241
|
-
"zod": "
|
|
241
|
+
"zod": ">=3.0.0"
|
|
242
242
|
},
|
|
243
243
|
"peerDependenciesMeta": {
|
|
244
244
|
"@angular/core": {
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
"vitest": "^3.0.5",
|
|
298
298
|
"vue": "^3.5.13",
|
|
299
299
|
"yup": "^1.7.1",
|
|
300
|
-
"zod": "^
|
|
300
|
+
"zod": "^4.4.3",
|
|
301
301
|
"zone.js": "^0.16.0"
|
|
302
302
|
}
|
|
303
303
|
}
|