@lehnihon/bit-form 2.2.9 → 2.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.d.cts +19 -52
- package/dist/angular/index.d.ts +19 -52
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/bus-BFOBGmd9.d.ts +41 -0
- package/dist/bus-DzTqgkZ4.d.cts +41 -0
- package/dist/chunk-2AFWJAQG.js +2 -0
- package/dist/chunk-2AFWJAQG.js.map +1 -0
- package/dist/chunk-4RQFECC7.cjs +2 -0
- package/dist/{chunk-J5ALITQW.cjs.map → chunk-4RQFECC7.cjs.map} +1 -1
- package/dist/chunk-FLFIOW75.js +2 -0
- package/dist/chunk-FLFIOW75.js.map +1 -0
- package/dist/chunk-G2FQQDRK.js +2 -0
- package/dist/chunk-G2FQQDRK.js.map +1 -0
- package/dist/{chunk-X5UCRGYJ.cjs → chunk-GPMAT4PT.cjs} +2 -2
- package/dist/{chunk-X5UCRGYJ.cjs.map → chunk-GPMAT4PT.cjs.map} +1 -1
- package/dist/{chunk-J5GQLEVA.js → chunk-GQ2QJCBF.js} +2 -2
- package/dist/{chunk-GGZPA7AO.cjs → chunk-IVPCXKYW.cjs} +2 -2
- package/dist/{chunk-GGZPA7AO.cjs.map → chunk-IVPCXKYW.cjs.map} +1 -1
- package/dist/{chunk-N4HCGMMM.js → chunk-LX4GSDUV.js} +2 -2
- package/dist/chunk-NVFZ22A7.cjs +2 -0
- package/dist/chunk-NVFZ22A7.cjs.map +1 -0
- package/dist/{chunk-2QLQPMCZ.js → chunk-OPC7HFNN.js} +2 -2
- package/dist/chunk-PA43XYOW.cjs +2 -0
- package/dist/{chunk-IV32WXCF.cjs.map → chunk-PA43XYOW.cjs.map} +1 -1
- package/dist/chunk-PG7ZH32Z.js +2 -0
- package/dist/chunk-PG7ZH32Z.js.map +1 -0
- package/dist/chunk-VBX5I5XG.cjs +2 -0
- package/dist/chunk-VBX5I5XG.cjs.map +1 -0
- package/dist/{chunk-OLQVH24Z.cjs → chunk-ZKAFHJPU.cjs} +2 -2
- package/dist/{chunk-OLQVH24Z.cjs.map → chunk-ZKAFHJPU.cjs.map} +1 -1
- package/dist/cli/index.cjs +5 -5
- package/dist/{types-SOg9xEce.d.cts → config-types-5eR82k2V.d.cts} +40 -169
- package/dist/{types-CRCP4Pgq.d.ts → config-types-D9n-rQLk.d.ts} +40 -169
- package/dist/core/bindings.cjs +1 -1
- package/dist/core/bindings.d.cts +15 -11
- package/dist/core/bindings.d.ts +15 -11
- package/dist/core/bindings.js +1 -1
- package/dist/core/status.d.cts +3 -4
- package/dist/core/status.d.ts +3 -4
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.d.cts +8 -6
- package/dist/core/store.d.ts +8 -6
- package/dist/core/store.js +1 -1
- package/dist/core/utils.cjs +1 -1
- package/dist/core/utils.d.cts +1 -2
- package/dist/core/utils.d.ts +1 -2
- package/dist/core/utils.js +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +10 -9
- package/dist/core.d.ts +10 -9
- package/dist/core.js +1 -1
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.d.cts +2 -3
- package/dist/devtools/bridge.d.ts +2 -3
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +2 -2
- package/dist/devtools/index.d.cts +5 -3
- package/dist/devtools/index.d.ts +5 -3
- package/dist/devtools/index.js +1 -1
- package/dist/{field-binding-MX6jVQbT.d.ts → field-binding-Bi1g-D8X.d.ts} +1 -1
- package/dist/{field-binding-B_OX3bjp.d.cts → field-binding-X5TkvfUt.d.cts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -1
- package/dist/mask.d.cts +2 -2
- package/dist/mask.d.ts +2 -2
- package/dist/meta-types-BC1VLABk.d.cts +28 -0
- package/dist/meta-types-BC1VLABk.d.ts +28 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +12 -12
- package/dist/react/index.d.ts +12 -12
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.d.cts +10 -9
- package/dist/react-native/index.d.ts +10 -9
- package/dist/react-native/index.js +1 -1
- package/dist/resolvers/index.d.cts +2 -3
- package/dist/resolvers/index.d.ts +2 -3
- package/dist/resolvers/joi.d.cts +2 -3
- package/dist/resolvers/joi.d.ts +2 -3
- package/dist/resolvers/yup.d.cts +2 -3
- package/dist/resolvers/yup.d.ts +2 -3
- package/dist/resolvers/zod.d.cts +2 -3
- package/dist/resolvers/zod.d.ts +2 -3
- package/dist/runtime-types-D1SRZr-n.d.cts +43 -0
- package/dist/runtime-types-D1SRZr-n.d.ts +43 -0
- package/dist/state-types-8bUndWfg.d.cts +42 -0
- package/dist/state-types-8bUndWfg.d.ts +42 -0
- package/dist/{store-api-types-Bm3EAqR_.d.cts → store-api-types-Bozwlwyb.d.ts} +9 -5
- package/dist/{store-api-types-DfTFy2h4.d.ts → store-api-types-DSgYwMS3.d.cts} +9 -5
- package/dist/{types-D8DgIUhJ.d.cts → types-CUXh7PqD.d.cts} +1 -1
- package/dist/{types-D8DgIUhJ.d.ts → types-CUXh7PqD.d.ts} +1 -1
- package/dist/upload-C4JqIaU2.d.cts +89 -0
- package/dist/upload-ao6skK9K.d.ts +89 -0
- package/dist/{use-bit-persist-BDMZmxBh.d.ts → use-bit-persist-Bd1H2fge.d.ts} +12 -45
- package/dist/{use-bit-persist-CBTZIMc5.d.cts → use-bit-persist-DDxV21AN.d.cts} +12 -45
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.d.cts +18 -51
- package/dist/vue/index.d.ts +18 -51
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/array-controller-C61ByyG6.d.ts +0 -23
- package/dist/array-controller-CtlqjA0e.d.cts +0 -23
- package/dist/bus-BKuMV3E7.d.ts +0 -19
- package/dist/bus-WOHGxuVy.d.cts +0 -19
- package/dist/chunk-6LNXTSZ6.cjs +0 -2
- package/dist/chunk-6LNXTSZ6.cjs.map +0 -1
- package/dist/chunk-IV32WXCF.cjs +0 -2
- package/dist/chunk-J5ALITQW.cjs +0 -2
- package/dist/chunk-KDHPLXZF.cjs +0 -2
- package/dist/chunk-KDHPLXZF.cjs.map +0 -1
- package/dist/chunk-O5UPA33R.js +0 -2
- package/dist/chunk-O5UPA33R.js.map +0 -1
- package/dist/chunk-QX2IVNMK.js +0 -2
- package/dist/chunk-QX2IVNMK.js.map +0 -1
- package/dist/chunk-UARLAXZX.js +0 -2
- package/dist/chunk-UARLAXZX.js.map +0 -1
- package/dist/chunk-Y3XVQGCU.js +0 -2
- package/dist/chunk-Y3XVQGCU.js.map +0 -1
- package/dist/meta-types-Bzmm21TP.d.cts +0 -18
- package/dist/meta-types-Bzmm21TP.d.ts +0 -18
- package/dist/upload-C2mpfhp1.d.cts +0 -17
- package/dist/upload-C2mpfhp1.d.ts +0 -17
- /package/dist/{chunk-J5GQLEVA.js.map → chunk-GQ2QJCBF.js.map} +0 -0
- /package/dist/{chunk-N4HCGMMM.js.map → chunk-LX4GSDUV.js.map} +0 -0
- /package/dist/{chunk-2QLQPMCZ.js.map → chunk-OPC7HFNN.js.map} +0 -0
package/dist/chunk-Y3XVQGCU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{f as B,l as F,m as b}from"./chunk-QX2IVNMK.js";import{b as u,c as p}from"./chunk-3NUJVIAM.js";function c(e){let t=e.read.getState();return{isValid:t.isValid,isDirty:t.isDirty,isSubmitting:t.isSubmitting}}function f(e,t){return e.observe.subscribeFormMeta(()=>t())}function x(e,t){return t(c(e)),f(e,()=>{t(c(e))})}function P(e){return e.read.getPersistMetadata()}function T(e,t){return e.observe.subscribePersistMeta(()=>t())}function h(e,t){return t(P(e)),e.observe.subscribePersistMeta(i=>{t(i)})}function M(e,t){let i=[],n=r=>e.feature.createArrayItemId(t,r),s=r=>Array.isArray(r)?r:[],d=r=>{if(r.length!==i.length)if(r.length>i.length){let a=r.length-i.length;i=[...i,...Array.from({length:a},(o,l)=>n(i.length+l))]}else i=i.slice(0,r.length);return r};return{readItems(){let r=B(e.read.getState().values,t);return d(s(r))},getFields(r){return r.map((a,o)=>({key:i[o]||`temp-${o}`,value:a,index:o}))},append(r){i=[...i,n(i.length)],e.feature.pushItem(t,r)},prepend(r){i=[n(0),...i],e.feature.prependItem(t,r)},insert(r,a){let o=[...i];o.splice(r,0,n(r)),i=o,e.feature.insertItem(t,r,a)},remove(r){i=i.filter((a,o)=>o!==r),e.feature.removeItem(t,r)},move(r,a){let o=[...i],[l]=o.splice(r,1);o.splice(a,0,l),i=o,e.feature.moveItem(t,r,a)},swap(r,a){let o=[...i];[o[r],o[a]]=[o[a],o[r]],i=o,e.feature.swapItems(t,r,a)},replace(r){i=r.map((a,o)=>n(o)),e.feature.replaceItems(t,r)},clear(){i=[],e.feature.clearItems(t)}}}function v(e,t,i){return{setValue:r=>{let a=i();e.setField(t,p(r,a))},setBlur:()=>e.blurField(t),displayValue:r=>u(r,i())}}function w(e,t){return{fieldController:v({setField(n,s){e.write.setField(n,s)},blurField(n){e.write.blurField(n)}},t,()=>e.feature.resolveMask(t))}}async function y(e,t,i,n){try{let s=await e(t,i);n.onSuccess(s)}catch(s){if(F(s)){n.onServerErrors(b(s));return}n.onUnhandledError(s instanceof Error?s:new Error(String(s)))}}function S(e,t){e?.preventDefault?.(),t?.stopPropagation&&e?.stopPropagation?.()}function g(e,t,i){return{submit:r=>async a=>{S(a,i),await e.submit(r)},onSubmit:r=>async a=>{S(a,i),t.setSubmissionError(null),await e.submit(async(o,l)=>{await y(r,o,l,{onSuccess:m=>{t.setSubmissionResult(m),t.setSubmissionError(null)},onServerErrors:m=>{e.setServerErrors(m)},onUnhandledError:m=>{t.setSubmissionError(m)}})})},reset:()=>{e.reset(),t.clearSubmissionState()},getValues:()=>e.getState().values,getErrors:()=>e.getState().errors,getTouched:()=>e.getState().touched,getDirtyValues:()=>e.getDirtyValues()}}function I(e,t,i){let n={getState:e.read.getState,getDirtyValues:e.read.getDirtyValues,submit:e.write.submit,reset:e.write.reset,setServerErrors:e.write.setServerErrors};return{controller:g(n,t,i),actions:{setField:e.write.setField.bind(e.write),blurField:e.write.blurField.bind(e.write),setValues:e.write.setValues.bind(e.write),setError:e.write.setError.bind(e.write),setErrors:e.write.setErrors.bind(e.write),setServerErrors:e.write.setServerErrors.bind(e.write),validate:e.feature.validate.bind(e.feature),transaction:e.write.transaction.bind(e.write)}}}function A(e,t){e.feature?.unregisterField?.(t)}function E(e,t){e.feature?.unregisterPrefix?.(t)}export{c as a,f as b,x as c,P as d,T as e,h as f,M as g,w as h,I as i,A as j,E as k};
|
|
2
|
-
//# sourceMappingURL=chunk-Y3XVQGCU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/bindings/form-meta.ts","../src/core/bindings/persist-meta.ts","../src/core/bindings/array-controller.ts","../src/core/field-controller.ts","../src/core/bindings/field-binding.ts","../src/core/submit-handler.ts","../src/core/form-controller.ts","../src/core/bindings/form-binding.ts","../src/core/bindings/framework-cleanup.ts"],"sourcesContent":["import type { BitFormMeta } from \"../store/contracts/public/meta-types\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\n\nexport function readFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n): BitFormMeta {\n const state = store.read.getState();\n return {\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n };\n}\n\nexport function subscribeFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n listener: () => void,\n): () => void {\n return store.observe.subscribeFormMeta(() => listener());\n}\n\nexport function observeFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n listener: (meta: BitFormMeta) => void,\n): () => void {\n listener(readFormMetaSnapshot(store));\n\n return subscribeFormMetaSnapshot(store, () => {\n listener(readFormMetaSnapshot(store));\n });\n}\n","import type { BitPersistMetadata } from \"../store/contracts/types\";\n\ntype BitPersistMetaReadableStore = {\n read: {\n getPersistMetadata(): BitPersistMetadata;\n };\n observe: {\n subscribePersistMeta(\n listener: (meta: BitPersistMetadata) => void,\n ): () => void;\n };\n};\n\nexport function readPersistMetaSnapshot(store: {\n read: {\n getPersistMetadata(): BitPersistMetadata;\n };\n}): BitPersistMetadata {\n return store.read.getPersistMetadata();\n}\n\nexport function subscribePersistMetaSnapshot(\n store: BitPersistMetaReadableStore,\n listener: () => void,\n): () => void {\n return store.observe.subscribePersistMeta(() => listener());\n}\n\nexport function observePersistMetaSnapshot(\n store: BitPersistMetaReadableStore,\n listener: (meta: BitPersistMetadata) => void,\n): () => void {\n listener(readPersistMetaSnapshot(store));\n\n return store.observe.subscribePersistMeta((meta) => {\n listener(meta);\n });\n}\n","import type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\nimport type {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n} from \"../store/contracts/types\";\nimport { getDeepValue } from \"../utils\";\n\nexport interface BitArrayBindingField<TItem> {\n key: string;\n value: TItem;\n index: number;\n}\n\nexport interface BitArrayBinding<\n TForm extends object,\n P extends BitArrayPath<TForm>,\n> {\n readItems(): BitArrayItem<BitPathValue<TForm, P>>[];\n getFields(\n items: BitArrayItem<BitPathValue<TForm, P>>[],\n ): BitArrayBindingField<BitArrayItem<BitPathValue<TForm, P>>>[];\n append(value: BitArrayItem<BitPathValue<TForm, P>>): void;\n prepend(value: BitArrayItem<BitPathValue<TForm, P>>): void;\n insert(index: number, value: BitArrayItem<BitPathValue<TForm, P>>): void;\n remove(index: number): void;\n move(from: number, to: number): void;\n swap(indexA: number, indexB: number): void;\n replace(items: BitArrayItem<BitPathValue<TForm, P>>[]): void;\n clear(): void;\n}\n\nexport function createArrayBinding<\n TForm extends object,\n P extends BitArrayPath<TForm>,\n>(store: BitStoreApi<TForm>, path: P): BitArrayBinding<TForm, P> {\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n let ids: string[] = [];\n\n const createId = (index?: number) =>\n store.feature.createArrayItemId(path as string, index);\n\n const normalizeItems = (value: unknown): Item[] =>\n Array.isArray(value) ? (value as Item[]) : [];\n\n const syncIds = (items: Item[]): Item[] => {\n if (items.length !== ids.length) {\n if (items.length > ids.length) {\n const diff = items.length - ids.length;\n ids = [\n ...ids,\n ...Array.from({ length: diff }, (_, offset) =>\n createId(ids.length + offset),\n ),\n ];\n } else {\n ids = ids.slice(0, items.length);\n }\n }\n\n return items;\n };\n\n return {\n readItems() {\n const value = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P> | undefined;\n return syncIds(normalizeItems(value));\n },\n\n getFields(items) {\n return items.map((item, index) => ({\n key: ids[index] || `temp-${index}`,\n value: item,\n index,\n }));\n },\n\n append(value) {\n ids = [...ids, createId(ids.length)];\n store.feature.pushItem(path, value);\n },\n\n prepend(value) {\n ids = [createId(0), ...ids];\n store.feature.prependItem(path, value);\n },\n\n insert(index, value) {\n const nextIds = [...ids];\n nextIds.splice(index, 0, createId(index));\n ids = nextIds;\n store.feature.insertItem(path, index, value);\n },\n\n remove(index) {\n ids = ids.filter((_, currentIndex) => currentIndex !== index);\n store.feature.removeItem(path, index);\n },\n\n move(from, to) {\n const nextIds = [...ids];\n const [item] = nextIds.splice(from, 1);\n nextIds.splice(to, 0, item);\n ids = nextIds;\n store.feature.moveItem(path, from, to);\n },\n\n swap(indexA, indexB) {\n const nextIds = [...ids];\n [nextIds[indexA], nextIds[indexB]] = [nextIds[indexB], nextIds[indexA]];\n ids = nextIds;\n store.feature.swapItems(path, indexA, indexB);\n },\n\n replace(items) {\n ids = items.map((_, index) => createId(index));\n store.feature.replaceItems(path, items);\n },\n\n clear() {\n ids = [];\n store.feature.clearItems(path);\n },\n };\n}\n","import { formatMaskedValue, parseMaskedInput } from \"./mask/field-binding\";\nimport type { BitMask } from \"./mask/types\";\nimport type { BitPath } from \"./store/contracts/types\";\n\ntype BitMaskedFieldControllerStore<TForm extends object> = {\n setField(path: BitPath<TForm>, value: unknown): void;\n blurField(path: BitPath<TForm>): void;\n};\n\nexport function createMaskedFieldController<\n TForm extends object,\n P extends BitPath<TForm>,\n>(\n store: BitMaskedFieldControllerStore<TForm>,\n path: P,\n resolveMask: () => BitMask | undefined,\n) {\n const setValue = (value: unknown) => {\n const mask = resolveMask();\n store.setField(path, parseMaskedInput(value, mask));\n };\n\n const setBlur = () => store.blurField(path);\n\n const displayValue = (value: unknown) =>\n formatMaskedValue(value, resolveMask());\n\n return {\n setValue,\n setBlur,\n displayValue,\n };\n}\n","import { createMaskedFieldController } from \"../field-controller\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\nimport type { BitPath, BitPathValue } from \"../store/contracts/types\";\n\nexport function createFrameworkMaskedFieldBinding<\n TForm extends object,\n P extends BitPath<TForm>,\n>(store: BitStoreApi<TForm>, path: P) {\n const fieldStore = {\n setField<PPath extends BitPath<TForm>>(\n targetPath: PPath,\n value: BitPathValue<TForm, PPath>,\n ) {\n store.write.setField(targetPath, value);\n },\n blurField<PPath extends BitPath<TForm>>(targetPath: PPath) {\n store.write.blurField(targetPath);\n },\n };\n\n return {\n fieldController: createMaskedFieldController(fieldStore, path, () =>\n store.feature.resolveMask(path as string),\n ),\n };\n}\n","import { extractServerErrors, isValidationErrorShape } from \"./utils\";\n\nexport interface BitSubmitExecutionHandlers {\n onServerErrors: (errors: Record<string, string[] | string>) => void;\n onUnhandledError: (error: Error) => void;\n onSuccess: (result: unknown) => void;\n}\n\nexport async function executeSubmitHandler<T extends object>(\n handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>,\n values: T,\n dirtyValues: Partial<T> | undefined,\n handlers: BitSubmitExecutionHandlers,\n): Promise<void> {\n try {\n const result = await handler(values, dirtyValues);\n handlers.onSuccess(result);\n } catch (error) {\n if (isValidationErrorShape(error)) {\n handlers.onServerErrors(extractServerErrors(error));\n return;\n }\n\n handlers.onUnhandledError(\n error instanceof Error ? error : new Error(String(error)),\n );\n }\n}\n","import { executeSubmitHandler } from \"./submit-handler\";\nimport type { BitFormControllerStoreApi } from \"./store/contracts/public/store-api-types\";\n\nexport type BitFormDomEvent = {\n preventDefault?: () => void;\n stopPropagation?: () => void;\n};\n\nexport interface BitFormControllerRuntime {\n clearSubmissionState: () => void;\n setSubmissionResult: (result: unknown) => void;\n setSubmissionError: (error: Error | null) => void;\n}\n\nexport interface BitFormControllerOptions {\n stopPropagation?: boolean;\n}\n\nexport function preventFormEvent(\n event?: BitFormDomEvent,\n options?: BitFormControllerOptions,\n) {\n event?.preventDefault?.();\n if (options?.stopPropagation) {\n event?.stopPropagation?.();\n }\n}\n\nexport function createFormController<T extends object>(\n store: BitFormControllerStoreApi<T>,\n runtime: BitFormControllerRuntime,\n options?: BitFormControllerOptions,\n) {\n const submit = (\n onSuccess: (values: T, dirtyValues?: Partial<T>) => void | Promise<void>,\n ) => {\n return async (event?: BitFormDomEvent): Promise<void> => {\n preventFormEvent(event, options);\n await store.submit(onSuccess);\n };\n };\n\n const onSubmit = (\n handler: (values: T, dirtyValues?: Partial<T>) => Promise<unknown>,\n ) => {\n return async (event?: BitFormDomEvent): Promise<void> => {\n preventFormEvent(event, options);\n runtime.setSubmissionError(null);\n\n await store.submit(async (values, dirtyValues) => {\n await executeSubmitHandler(handler, values, dirtyValues, {\n onSuccess: (result) => {\n runtime.setSubmissionResult(result);\n runtime.setSubmissionError(null);\n },\n onServerErrors: (serverErrors) => {\n store.setServerErrors(serverErrors);\n },\n onUnhandledError: (error) => {\n runtime.setSubmissionError(error);\n },\n });\n });\n };\n };\n\n const reset = () => {\n store.reset();\n runtime.clearSubmissionState();\n };\n\n return {\n submit,\n onSubmit,\n reset,\n getValues: () => store.getState().values,\n getErrors: () => store.getState().errors,\n getTouched: () => store.getState().touched,\n getDirtyValues: () => store.getDirtyValues(),\n };\n}\n","import type {\n BitFormControllerOptions,\n BitFormControllerRuntime,\n} from \"../form-controller\";\nimport { createFormController } from \"../form-controller\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\n\nexport function createFrameworkFormBinding<T extends object>(\n store: BitStoreApi<T>,\n runtime: BitFormControllerRuntime,\n options?: BitFormControllerOptions,\n) {\n const controllerStore = {\n getState: store.read.getState,\n getDirtyValues: store.read.getDirtyValues,\n submit: store.write.submit,\n reset: store.write.reset,\n setServerErrors: store.write.setServerErrors,\n };\n\n return {\n controller: createFormController(controllerStore, runtime, options),\n actions: {\n setField: store.write.setField.bind(store.write),\n blurField: store.write.blurField.bind(store.write),\n setValues: store.write.setValues.bind(store.write),\n setError: store.write.setError.bind(store.write),\n setErrors: store.write.setErrors.bind(store.write),\n setServerErrors: store.write.setServerErrors.bind(store.write),\n validate: store.feature.validate.bind(store.feature),\n transaction: store.write.transaction.bind(store.write),\n },\n };\n}\n","type FieldCleanupStore = {\n feature?: {\n unregisterField?: (path: string) => void;\n };\n};\n\ntype PrefixCleanupStore = {\n feature?: {\n unregisterPrefix?: (prefix: string) => void;\n };\n};\n\nexport function cleanupRegisteredField(\n store: FieldCleanupStore,\n path: string,\n): void {\n store.feature?.unregisterField?.(path);\n}\n\nexport function cleanupRegisteredPrefix(\n store: PrefixCleanupStore,\n prefix: string,\n): void {\n store.feature?.unregisterPrefix?.(prefix);\n}\n"],"mappings":"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","names":["readFormMetaSnapshot","store","state","subscribeFormMetaSnapshot","listener","observeFormMetaSnapshot","readPersistMetaSnapshot","store","subscribePersistMetaSnapshot","listener","observePersistMetaSnapshot","meta","createArrayBinding","store","path","ids","createId","index","normalizeItems","value","syncIds","items","diff","_","offset","getDeepValue","item","nextIds","currentIndex","from","to","indexA","indexB","createMaskedFieldController","store","path","resolveMask","value","mask","parseMaskedInput","formatMaskedValue","createFrameworkMaskedFieldBinding","store","path","createMaskedFieldController","targetPath","value","executeSubmitHandler","handler","values","dirtyValues","handlers","result","error","isValidationErrorShape","extractServerErrors","preventFormEvent","event","options","createFormController","store","runtime","onSuccess","handler","values","dirtyValues","executeSubmitHandler","result","serverErrors","error","createFrameworkFormBinding","store","runtime","options","controllerStore","createFormController","cleanupRegisteredField","store","path","cleanupRegisteredPrefix","prefix"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface BitValidationOptions {
|
|
2
|
-
scope?: string;
|
|
3
|
-
scopeFields?: string[];
|
|
4
|
-
}
|
|
5
|
-
interface BitHistoryMetadata {
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
canUndo: boolean;
|
|
8
|
-
canRedo: boolean;
|
|
9
|
-
historyIndex: number;
|
|
10
|
-
historySize: number;
|
|
11
|
-
}
|
|
12
|
-
interface BitFormMeta {
|
|
13
|
-
isValid: boolean;
|
|
14
|
-
isDirty: boolean;
|
|
15
|
-
isSubmitting: boolean;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type { BitFormMeta as B, BitHistoryMetadata as a, BitValidationOptions as b };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface BitValidationOptions {
|
|
2
|
-
scope?: string;
|
|
3
|
-
scopeFields?: string[];
|
|
4
|
-
}
|
|
5
|
-
interface BitHistoryMetadata {
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
canUndo: boolean;
|
|
8
|
-
canRedo: boolean;
|
|
9
|
-
historyIndex: number;
|
|
10
|
-
historySize: number;
|
|
11
|
-
}
|
|
12
|
-
interface BitFormMeta {
|
|
13
|
-
isValid: boolean;
|
|
14
|
-
isDirty: boolean;
|
|
15
|
-
isSubmitting: boolean;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type { BitFormMeta as B, BitHistoryMetadata as a, BitValidationOptions as b };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Upload Integration Types
|
|
3
|
-
*
|
|
4
|
-
* Core types for backend-first upload integration.
|
|
5
|
-
*/
|
|
6
|
-
/** Upload result with URL and key for reference/deletion. */
|
|
7
|
-
interface BitUploadResult {
|
|
8
|
-
url: string;
|
|
9
|
-
key: string;
|
|
10
|
-
metadata?: Record<string, any>;
|
|
11
|
-
}
|
|
12
|
-
/** Upload function contract (backend-first). All context is managed by the caller. */
|
|
13
|
-
type BitUploadFn = (file: File) => Promise<BitUploadResult>;
|
|
14
|
-
/** Optional delete function contract. */
|
|
15
|
-
type BitDeleteUploadFn = (key: string) => Promise<void>;
|
|
16
|
-
|
|
17
|
-
export type { BitDeleteUploadFn as B, BitUploadFn as a, BitUploadResult as b };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Upload Integration Types
|
|
3
|
-
*
|
|
4
|
-
* Core types for backend-first upload integration.
|
|
5
|
-
*/
|
|
6
|
-
/** Upload result with URL and key for reference/deletion. */
|
|
7
|
-
interface BitUploadResult {
|
|
8
|
-
url: string;
|
|
9
|
-
key: string;
|
|
10
|
-
metadata?: Record<string, any>;
|
|
11
|
-
}
|
|
12
|
-
/** Upload function contract (backend-first). All context is managed by the caller. */
|
|
13
|
-
type BitUploadFn = (file: File) => Promise<BitUploadResult>;
|
|
14
|
-
/** Optional delete function contract. */
|
|
15
|
-
type BitDeleteUploadFn = (key: string) => Promise<void>;
|
|
16
|
-
|
|
17
|
-
export type { BitDeleteUploadFn as B, BitUploadFn as a, BitUploadResult as b };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|