@lehnihon/bit-form 2.2.6 → 2.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -24
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.d.cts +20 -20
- package/dist/angular/index.d.ts +20 -20
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/array-controller-B5bfXV1W.d.cts +23 -0
- package/dist/array-controller-Cx-DMH7Y.d.ts +23 -0
- package/dist/bus-B2VEKrPI.d.ts +19 -0
- package/dist/bus-ZLQeq4Vr.d.cts +19 -0
- package/dist/chunk-5NA2TFPG.js +1 -0
- package/dist/chunk-5NA2TFPG.js.map +1 -0
- package/dist/chunk-63OJBMKK.js +2 -0
- package/dist/chunk-63OJBMKK.js.map +1 -0
- package/dist/chunk-BSGJ3T5S.cjs +2 -0
- package/dist/chunk-BSGJ3T5S.cjs.map +1 -0
- package/dist/chunk-CPP7ELA5.js +2 -0
- package/dist/chunk-CPP7ELA5.js.map +1 -0
- package/dist/chunk-D7JQWF6V.cjs +2 -0
- package/dist/chunk-D7JQWF6V.cjs.map +1 -0
- package/dist/chunk-E2NZR44P.js +2 -0
- package/dist/chunk-E2NZR44P.js.map +1 -0
- package/dist/chunk-EQ55DKX2.js +2 -0
- package/dist/chunk-EQ55DKX2.js.map +1 -0
- package/dist/chunk-IV32WXCF.cjs +2 -0
- package/dist/chunk-IV32WXCF.cjs.map +1 -0
- package/dist/chunk-JC4R5WCC.js +2 -0
- package/dist/chunk-JC4R5WCC.js.map +1 -0
- package/dist/chunk-K5X37E3U.js +2 -0
- package/dist/chunk-K5X37E3U.js.map +1 -0
- package/dist/chunk-M6WBNHIT.cjs +2 -0
- package/dist/chunk-M6WBNHIT.cjs.map +1 -0
- package/dist/chunk-MFSQATNZ.cjs +2 -0
- package/dist/chunk-MFSQATNZ.cjs.map +1 -0
- package/dist/chunk-MFTWAFMG.cjs +2 -0
- package/dist/chunk-MFTWAFMG.cjs.map +1 -0
- package/dist/chunk-O5UPA33R.js +2 -0
- package/dist/chunk-O5UPA33R.js.map +1 -0
- package/dist/chunk-P2YWYBWG.cjs +2 -0
- package/dist/chunk-P2YWYBWG.cjs.map +1 -0
- package/dist/chunk-QKGTVKBU.cjs +2 -0
- package/dist/chunk-QKGTVKBU.cjs.map +1 -0
- package/dist/chunk-RD73EBSN.js +2 -0
- package/dist/chunk-RD73EBSN.js.map +1 -0
- package/dist/chunk-T2JRSWQU.cjs +2 -0
- package/dist/chunk-T2JRSWQU.cjs.map +1 -0
- package/dist/chunk-UQ3DSUWC.js +2 -0
- package/dist/chunk-UQ3DSUWC.js.map +1 -0
- package/dist/chunk-VZHG372Q.cjs +2 -0
- package/dist/chunk-VZHG372Q.cjs.map +1 -0
- package/dist/chunk-W2E5UIXT.js +2 -0
- package/dist/chunk-W2E5UIXT.js.map +1 -0
- package/dist/chunk-W5CLDRRE.cjs +1 -0
- package/dist/chunk-W5CLDRRE.cjs.map +1 -0
- package/dist/cli/index.cjs +22 -22
- package/dist/core/bindings.cjs +2 -0
- package/dist/core/bindings.cjs.map +1 -0
- package/dist/core/bindings.d.cts +81 -0
- package/dist/core/bindings.d.ts +81 -0
- package/dist/core/bindings.js +2 -0
- package/dist/core/bindings.js.map +1 -0
- package/dist/core/status.cjs +2 -0
- package/dist/core/status.cjs.map +1 -0
- package/dist/core/status.d.cts +44 -0
- package/dist/core/status.d.ts +44 -0
- package/dist/core/status.js +2 -0
- package/dist/core/status.js.map +1 -0
- package/dist/core/store.cjs +2 -0
- package/dist/core/store.cjs.map +1 -0
- package/dist/core/store.d.cts +84 -0
- package/dist/core/store.d.ts +84 -0
- package/dist/core/store.js +2 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/utils.cjs +2 -0
- package/dist/core/utils.cjs.map +1 -0
- package/dist/core/utils.d.cts +81 -0
- package/dist/core/utils.d.ts +81 -0
- package/dist/core/utils.js +2 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/core.cjs +2 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +14 -0
- package/dist/core.d.ts +14 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.cjs.map +1 -1
- package/dist/devtools/bridge.d.cts +5 -1
- package/dist/devtools/bridge.d.ts +5 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/bridge.js.map +1 -1
- package/dist/devtools/index.cjs +18 -18
- package/dist/devtools/index.cjs.map +1 -1
- package/dist/devtools/index.d.cts +27 -2
- package/dist/devtools/index.d.ts +27 -2
- package/dist/devtools/index.js +18 -18
- package/dist/devtools/index.js.map +1 -1
- package/dist/devtools/protocol.cjs +2 -0
- package/dist/devtools/protocol.cjs.map +1 -0
- package/dist/devtools/protocol.d.cts +54 -0
- package/dist/devtools/protocol.d.ts +54 -0
- package/dist/devtools/protocol.js +2 -0
- package/dist/devtools/protocol.js.map +1 -0
- package/dist/field-binding-B_OX3bjp.d.cts +25 -0
- package/dist/field-binding-MX6jVQbT.d.ts +25 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -193
- package/dist/index.d.ts +9 -193
- package/dist/index.js +1 -1
- package/dist/meta-types-Bzmm21TP.d.cts +18 -0
- package/dist/meta-types-Bzmm21TP.d.ts +18 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +10 -7
- package/dist/react/index.d.ts +10 -7
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.cjs.map +1 -1
- package/dist/react-native/index.d.cts +8 -5
- package/dist/react-native/index.d.ts +8 -5
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/resolvers/index.cjs +1 -1
- package/dist/resolvers/index.cjs.map +1 -1
- package/dist/resolvers/index.d.cts +2 -1
- package/dist/resolvers/index.d.ts +2 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/joi.d.cts +2 -1
- package/dist/resolvers/joi.d.ts +2 -1
- package/dist/resolvers/yup.d.cts +2 -1
- package/dist/resolvers/yup.d.ts +2 -1
- package/dist/resolvers/zod.d.cts +2 -1
- package/dist/resolvers/zod.d.ts +2 -1
- package/dist/store-api-types-D-ZHxzRy.d.cts +161 -0
- package/dist/store-api-types-DPi30jQF.d.ts +161 -0
- package/dist/{bus-B4zZmB9C.d.ts → types-CG5nYeRk.d.ts} +140 -41
- package/dist/{bus-BeAeZwWu.d.cts → types-D6LhF5GC.d.cts} +140 -41
- package/dist/{upload-EXnJLq8k.d.cts → upload-C2mpfhp1.d.cts} +1 -1
- package/dist/{upload-EXnJLq8k.d.ts → upload-C2mpfhp1.d.ts} +1 -1
- package/dist/{use-bit-persist-Dk3fUrds.d.ts → use-bit-persist-BTwy8kvA.d.ts} +14 -14
- package/dist/{use-bit-persist-D_gimC9A.d.cts → use-bit-persist-C2LHNTVv.d.cts} +14 -14
- package/dist/utils.cjs +2 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +6 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.js +2 -0
- package/dist/utils.js.map +1 -0
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.cts +17 -18
- package/dist/vue/index.d.ts +17 -18
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +48 -17
- package/dist/chunk-2CVKNPWX.js +0 -2
- package/dist/chunk-2CVKNPWX.js.map +0 -1
- package/dist/chunk-3EDD3V43.cjs +0 -2
- package/dist/chunk-3EDD3V43.cjs.map +0 -1
- package/dist/chunk-PX6WKENM.js +0 -2
- package/dist/chunk-PX6WKENM.js.map +0 -1
- package/dist/chunk-QWH2NBVB.js +0 -2
- package/dist/chunk-QWH2NBVB.js.map +0 -1
- package/dist/chunk-T3FR7D5V.js +0 -2
- package/dist/chunk-T3FR7D5V.js.map +0 -1
- package/dist/chunk-VQ7MK5VB.cjs +0 -2
- package/dist/chunk-VQ7MK5VB.cjs.map +0 -1
- package/dist/chunk-Y2ONHDRE.cjs +0 -2
- package/dist/chunk-Y2ONHDRE.cjs.map +0 -1
- package/dist/chunk-YCSWULEN.cjs +0 -2
- package/dist/chunk-YCSWULEN.cjs.map +0 -1
- package/dist/field-binding-BXw0Ku2c.d.cts +0 -12
- package/dist/field-binding-BXw0Ku2c.d.ts +0 -12
- package/dist/public-types-Cd9ai20P.d.cts +0 -97
- package/dist/public-types-DdZxD6Op.d.ts +0 -97
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-MFSQATNZ.cjs","../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts"],"names":["BitContext","createContext","BitFormProvider","store","children","jsx","createFrameworkStoreAdapter","useBitStore","useContext","useBitForm","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","subscribeMeta","useCallback","cb","subscribeFormMetaSnapshot","getMetaSnapshot","nextMeta","readFormMetaSnapshot","metaState","useSyncExternalStore","binding","useMemo","createFrameworkFormBinding","result","error","controller","actions","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","useBitArray","path","createArrayBindingController","getSnapshot","subscribeArray","data","fields","useEffect","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-MFSQATNZ.cjs","sourcesContent":[null,"import React, { createContext, useContext } from \"react\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nconst BitContext = createContext<BitFrameworkStoreApi<any> | null>(null);\n\nexport const BitFormProvider = ({\n store,\n children,\n}: {\n store: BitFrameworkStoreApi<any> | BitStoreApi<any>;\n children: React.ReactNode;\n}) => (\n <BitContext.Provider value={createFrameworkStoreAdapter(store)}>\n {children}\n </BitContext.Provider>\n);\n\nexport const useBitStore = <T extends object>() => {\n const store = useContext(BitContext);\n if (!store)\n throw new Error(\n \"BitForm hooks devem ser usados dentro de um BitFormProvider\",\n );\n return store as BitFrameworkStoreApi<T>;\n};\n","import {\n useCallback,\n useSyncExternalStore,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useBitStore } from \"./context\";\nimport {\n createFrameworkFormBinding,\n readFormMetaSnapshot,\n subscribeFormMetaSnapshot,\n} from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n\n const [submitError, setSubmitError] = useState<Error | null>(null);\n const [lastResponse, setLastResponse] = useState<unknown>(null);\n const lastMeta = useRef<ReturnType<typeof readFormMetaSnapshot<T>> | null>(\n null,\n );\n\n const subscribeMeta = useCallback(\n (cb: () => void) => subscribeFormMetaSnapshot(store, cb),\n [store],\n );\n const getMetaSnapshot = useCallback(() => {\n const nextMeta = readFormMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isValid === nextMeta.isValid &&\n lastMeta.current.isDirty === nextMeta.isDirty &&\n lastMeta.current.isSubmitting === nextMeta.isSubmitting\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const metaState = useSyncExternalStore(\n subscribeMeta,\n getMetaSnapshot,\n getMetaSnapshot,\n );\n\n const binding = useMemo(\n () =>\n createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n setSubmitError(null);\n setLastResponse(null);\n },\n setSubmissionResult: (result) => {\n setLastResponse(result);\n },\n setSubmissionError: (error) => {\n setSubmitError(error);\n },\n }),\n [store],\n );\n\n const { controller, actions } = binding;\n\n const submit = useCallback(controller.submit, [controller]);\n const onSubmit = useCallback(controller.onSubmit, [controller]);\n const reset = useCallback(controller.reset, [controller]);\n\n const getValues = useCallback(controller.getValues, [controller]);\n const getErrors = useCallback(controller.getErrors, [controller]);\n const getTouched = useCallback(controller.getTouched, [controller]);\n const getDirtyValues = useCallback(controller.getDirtyValues, [controller]);\n\n const meta = useMemo(\n () => ({\n ...metaState,\n submitError,\n lastResponse,\n }),\n [metaState, submitError, lastResponse],\n );\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n // Main actions (frequent use - flat)\n submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { useCallback, useEffect, useSyncExternalStore, useMemo } from \"react\";\nimport { useBitStore } from \"./context\";\nimport {\n createArrayBindingController,\n BitArrayPath,\n cleanupRegisteredPrefix,\n} from \"../core\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = useMemo(\n () => createArrayBindingController<TForm, P>(store, path),\n [store, path],\n );\n\n const getSnapshot = useCallback(() => {\n return controller.readItems();\n }, [controller]);\n\n const subscribeArray = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n const data = useSyncExternalStore(subscribeArray, getSnapshot, getSnapshot);\n\n const fields = useMemo(() => controller.getFields(data), [controller, data]);\n\n useEffect(() => {\n return () => {\n cleanupRegisteredPrefix(store, `${path as string}.`);\n };\n }, [store, path]);\n\n return {\n fields,\n length: data.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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkT2JRSWQUcjs = require('./chunk-T2JRSWQU.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');function c(e){let t=e.read.getState();return{isValid:t.isValid,isDirty:t.isDirty,isSubmitting:t.isSubmitting}}function b(e,t){return e.observe.subscribeFormMeta(()=>t())}function x(e,t){return t(c(e)),b(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)})}async function y(e,t,i,a){try{let s=await e(t,i);a.onSuccess(s)}catch(s){if(_chunkT2JRSWQUcjs.l.call(void 0, s)){a.onServerErrors(_chunkT2JRSWQUcjs.m.call(void 0, s));return}a.onUnhandledError(s instanceof Error?s:new Error(String(s)))}}function v(e,t){_optionalChain([e, 'optionalAccess', _ => _.preventDefault, 'optionalCall', _2 => _2()]),_optionalChain([t, 'optionalAccess', _3 => _3.stopPropagation])&&_optionalChain([e, 'optionalAccess', _4 => _4.stopPropagation, 'optionalCall', _5 => _5()])}function S(e,t,i){return{submit:r=>async n=>{v(n,i),await e.submit(r)},onSubmit:r=>async n=>{v(n,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 w(e,t,i){let a={getState:e.read.getState,getDirtyValues:e.read.getDirtyValues,submit:e.write.submit,reset:e.write.reset,setServerErrors:e.write.setServerErrors};return{controller:S(a,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.write.validate.bind(e.write),transaction:e.write.transaction.bind(e.write)}}}function g(e,t,i){return{setValue:r=>{let n=i();e.setField(t,_chunkPFPGASVZcjs.c.call(void 0, r,n))},setBlur:()=>e.blurField(t),displayValue:r=>_chunkPFPGASVZcjs.b.call(void 0, r,i())}}function A(e,t){return{fieldController:g({setField(a,s){e.write.setField(a,s)},blurField(a){e.write.blurField(a)}},t,()=>e.feature.resolveMask(t))}}function I(e,t){let i=[],a=r=>e.feature.createArrayItemId(t,r),s=r=>Array.isArray(r)?r:[],u=r=>{if(r.length!==i.length)if(r.length>i.length){let n=r.length-i.length;i=[...i,...Array.from({length:n},(o,l)=>a(i.length+l))]}else i=i.slice(0,r.length);return r};return{readItems(){let r=_chunkT2JRSWQUcjs.f.call(void 0, e.read.getState().values,t);return u(s(r))},getFields(r){return r.map((n,o)=>({key:i[o]||`temp-${o}`,value:n,index:o}))},append(r){i=[...i,a(i.length)],e.feature.pushItem(t,r)},prepend(r){i=[a(0),...i],e.feature.prependItem(t,r)},insert(r,n){let o=[...i];o.splice(r,0,a(r)),i=o,e.feature.insertItem(t,r,n)},remove(r){i=i.filter((n,o)=>o!==r),e.feature.removeItem(t,r)},move(r,n){let o=[...i],[l]=o.splice(r,1);o.splice(n,0,l),i=o,e.feature.moveItem(t,r,n)},swap(r,n){let o=[...i];[o[r],o[n]]=[o[n],o[r]],i=o,e.feature.swapItems(t,r,n)},replace(r){i=r.map((n,o)=>a(o)),e.feature.replaceItems(t,r)},clear(){i=[],e.feature.clearItems(t)}}}function M(e,t){_optionalChain([e, 'access', _6 => _6.feature, 'optionalAccess', _7 => _7.unregisterField, 'optionalCall', _8 => _8(t)])}function E(e,t){_optionalChain([e, 'access', _9 => _9.feature, 'optionalAccess', _10 => _10.unregisterPrefix, 'optionalCall', _11 => _11(t)])}exports.a = c; exports.b = b; exports.c = x; exports.d = P; exports.e = T; exports.f = h; exports.g = w; exports.h = A; exports.i = I; exports.j = M; exports.k = E;
|
|
2
|
+
//# sourceMappingURL=chunk-MFTWAFMG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-MFTWAFMG.cjs","../src/core/bindings/form-meta.ts","../src/core/bindings/persist-meta.ts","../src/core/submit-handler.ts","../src/core/form-controller.ts","../src/core/bindings/form-binding.ts","../src/core/field-controller.ts","../src/core/bindings/field-binding.ts","../src/core/bindings/array-controller.ts"],"names":["readFormMetaSnapshot","store","state","subscribeFormMetaSnapshot","listener","observeFormMetaSnapshot","readPersistMetaSnapshot","subscribePersistMetaSnapshot","observePersistMetaSnapshot","meta","executeSubmitHandler","handler","values","dirtyValues","handlers","result","error","isValidationErrorShape","extractServerErrors","preventFormEvent","event","options","createFormController","runtime","onSuccess","serverErrors","createFrameworkFormBinding","controllerStore","createMaskedFieldController","path","resolveMask","value","mask","parseMaskedInput","formatMaskedValue","createFrameworkMaskedFieldBinding","targetPath","createArrayBindingController","ids","createId","index","normalizeItems","syncIds","items","diff","_","offset","getDeepValue","item"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-MFTWAFMG.cjs","sourcesContent":[null,"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\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\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: BitStoreApi<any>,\n listener: () => void,\n): () => void {\n return store.observe.subscribePersistMeta(() => listener());\n}\n\nexport function observePersistMetaSnapshot(\n store: BitStoreApi<any>,\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 { 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 { createFormController } from \"../form-controller\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\nimport type {\n BitFormControllerOptions,\n BitFormControllerRuntime,\n} from \"../form-controller\";\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.write.validate.bind(store.write),\n transaction: store.write.transaction.bind(store.write),\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 { getDeepValue } from \"../utils\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\nimport type {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n} from \"../store/contracts/types\";\n\nexport interface BitArrayBindingField<TItem> {\n key: string;\n value: TItem;\n index: number;\n}\n\nexport interface BitArrayBindingController<\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 createArrayBindingController<\n TForm extends object,\n P extends BitArrayPath<TForm>,\n>(store: BitStoreApi<TForm>, path: P): BitArrayBindingController<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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function a(n,t,e){return async o=>{if(o){e.setLoading(!0),e.setError(n,void 0);try{let r=await t(o);e.setValue(r.url),e.setUploadKey(r.key),e.setError(n,void 0)}catch(r){let d=r instanceof Error?r.message:"Upload failed";e.setError(n,d)}finally{e.setLoading(!1)}}}}function l(n,t,e){return async()=>{let o=e.getUploadKey();if(o&&t)try{await t(o)}catch(r){let d=r instanceof Error?r.message:"Delete failed";e.setError(n,d);return}e.setValue(null),e.setUploadKey(null),e.setError(n,void 0)}}export{a,l as b};
|
|
2
|
+
//# sourceMappingURL=chunk-O5UPA33R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/adapters/upload-kernel.ts"],"sourcesContent":["/**\n * Framework-agnostic upload kernel.\n *\n * Encapsulates the side-effect logic for uploading/removing files so that\n * React, Vue, and Angular adapters share a single implementation and only\n * differ in how they wire reactive state.\n */\n\nimport type { BitUploadFn, BitDeleteUploadFn } from \"../types/upload\";\n\nexport interface UploadKernelCallbacks {\n /** Called with `true` when upload starts and `false` when it finishes. */\n setLoading: (loading: boolean) => void;\n /** Set or clear a field-level error message. */\n setError: (path: string, message: string | undefined) => void;\n /** Set the stored file URL after a successful upload (or `null` on remove). */\n setValue: (value: string | null) => void;\n /** Return the key of the last uploaded file (used when deleting). */\n getUploadKey: () => string | null;\n /** Persist the upload key returned by the upload function. */\n setUploadKey: (key: string | null) => void;\n}\n\n/**\n * Creates a type-safe `upload` handler for a field.\n *\n * @example\n * ```ts\n * const upload = createUploadHandler(\"avatar\", myUploadFn, {\n * setLoading: (v) => (isUploading.value = v),\n * setError: (p, m) => store.setError(p, m),\n * setValue: (v) => field.setValue(v),\n * getUploadKey: () => uploadKey,\n * setUploadKey: (k) => (uploadKey = k),\n * });\n * ```\n */\nexport function createUploadHandler(\n fieldPath: string,\n uploadFn: BitUploadFn,\n callbacks: UploadKernelCallbacks,\n): (file: File | null | undefined) => Promise<void> {\n return async (file) => {\n if (!file) return;\n\n callbacks.setLoading(true);\n callbacks.setError(fieldPath, undefined);\n\n try {\n const result = await uploadFn(file);\n\n callbacks.setValue(result.url);\n callbacks.setUploadKey(result.key);\n callbacks.setError(fieldPath, undefined);\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Upload failed\";\n callbacks.setError(fieldPath, message);\n } finally {\n callbacks.setLoading(false);\n }\n };\n}\n\n/**\n * Creates a type-safe `remove` handler for a field.\n */\nexport function createRemoveHandler(\n fieldPath: string,\n deleteFile: BitDeleteUploadFn | undefined,\n callbacks: UploadKernelCallbacks,\n): () => Promise<void> {\n return async () => {\n const uploadKey = callbacks.getUploadKey();\n\n if (uploadKey && deleteFile) {\n try {\n await deleteFile(uploadKey);\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Delete failed\";\n callbacks.setError(fieldPath, message);\n return;\n }\n }\n\n callbacks.setValue(null);\n callbacks.setUploadKey(null);\n callbacks.setError(fieldPath, undefined);\n };\n}\n"],"mappings":"AAqCO,SAASA,EACdC,EACAC,EACAC,EACkD,CAClD,MAAO,OAAOC,GAAS,CACrB,GAAKA,EAEL,CAAAD,EAAU,WAAW,EAAI,EACzBA,EAAU,SAASF,EAAW,MAAS,EAEvC,GAAI,CACF,IAAMI,EAAS,MAAMH,EAASE,CAAI,EAElCD,EAAU,SAASE,EAAO,GAAG,EAC7BF,EAAU,aAAaE,EAAO,GAAG,EACjCF,EAAU,SAASF,EAAW,MAAS,CACzC,OAASK,EAAO,CACd,IAAMC,EAAUD,aAAiB,MAAQA,EAAM,QAAU,gBACzDH,EAAU,SAASF,EAAWM,CAAO,CACvC,QAAE,CACAJ,EAAU,WAAW,EAAK,CAC5B,EACF,CACF,CAKO,SAASK,EACdP,EACAQ,EACAN,EACqB,CACrB,MAAO,UAAY,CACjB,IAAMO,EAAYP,EAAU,aAAa,EAEzC,GAAIO,GAAaD,EACf,GAAI,CACF,MAAMA,EAAWC,CAAS,CAC5B,OAASJ,EAAO,CACd,IAAMC,EACJD,aAAiB,MAAQA,EAAM,QAAU,gBAC3CH,EAAU,SAASF,EAAWM,CAAO,EACrC,MACF,CAGFJ,EAAU,SAAS,IAAI,EACvBA,EAAU,aAAa,IAAI,EAC3BA,EAAU,SAASF,EAAW,MAAS,CACzC,CACF","names":["createUploadHandler","fieldPath","uploadFn","callbacks","file","result","error","message","createRemoveHandler","deleteFile","uploadKey"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkQKGTVKBUcjs = require('./chunk-QKGTVKBU.cjs');var _chunkVZHG372Qcjs = require('./chunk-VZHG372Q.cjs');function R(e){return{values:e.values,errors:e.errors,touched:e.touched,isValid:e.isValid,isDirty:e.isDirty,isSubmitting:e.isSubmitting,isValidating:e.isValidating,persist:e.persist}}function k(e){let o=e.getHistoryMetadata();return{...R(e.getState()),_meta:{canUndo:o.canUndo,canRedo:o.canRedo,totalSteps:o.historySize,currentIndex:o.historyIndex}}}function b(e){let o={};for(let[t,i]of Object.entries(e))o[t]=k(i);return o}function w(e){if(!e||typeof e!="object")return!1;let o=e;return typeof o.getState=="function"&&typeof o.getHistoryMetadata=="function"}function I(e){if(!w(e))return!1;let o=e;return typeof o.undo=="function"&&typeof o.redo=="function"&&typeof o.reset=="function"}function B(e,o){let t=e[o];return I(t)?t:null}var S=null,O=50;function N(e,o=_chunkVZHG372Qcjs.a){S&&(console.warn("[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado)."),S());let t=null,i=null,f,n=null,a=new Set,T=!1,u=r=>{_optionalChain([t, 'optionalAccess', _ => _.readyState])===WebSocket.OPEN&&t.send(JSON.stringify(r))},h=()=>{if(a.size===0)return;let r=b(Array.from(a).reduce((s,l)=>{let d=o.stores[l];return d&&(s[l]=d),s},{}));a.clear(),n=null,Object.keys(r).length>0&&u({type:"STATE_UPDATE",protocolVersion:1,payload:r})},D=()=>{n||(n=setTimeout(()=>{h()},O))},y=()=>{T=!1,t=new WebSocket(e),t.onopen=()=>{console.log("[bit-form] \u{1F50C} Conectado ao CLI DevTools via WebSocket."),u({type:"HELLO",protocolVersion:1,payload:{role:"server",protocolVersion:1}});let r=b(o.stores);Object.keys(r).length>0&&u({type:"STATE_UPDATE",protocolVersion:1,payload:r}),i=o.subscribe((s,l)=>{a.add(s),D()}),f=setInterval(()=>{u({type:"PING",protocolVersion:1})},3e4)},t.onmessage=r=>{try{let s=JSON.parse(r.data);if(_chunkQKGTVKBUcjs.c.call(void 0, s)){let{storeId:l,action:d}=s.payload,p=B(o.stores,l);if(!p)return;switch(d){case"undo":p.undo();break;case"redo":p.redo();break;case"reset":p.reset();break}}}catch(s){console.warn("[bit-form] Erro ao processar comando do CLI:",s)}},t.onclose=()=>{i&&i(),clearInterval(f),n&&(clearTimeout(n),n=null),a.clear(),T?console.log("[bit-form] Ponte antiga encerrada com sucesso."):(console.log("[bit-form] Conex\xE3o perdida. Reconectando em 3s..."),setTimeout(y,3e3))}};y();let m=()=>{T=!0,i&&i(),clearInterval(f),n&&(clearTimeout(n),n=null),a.clear(),t&&(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),S=null};return S=m,m}exports.a = b; exports.b = B; exports.c = N;
|
|
2
|
+
//# sourceMappingURL=chunk-P2YWYBWG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-P2YWYBWG.cjs","../src/devtools/store-snapshot.ts","../src/devtools/store-port.ts","../src/devtools/bridge.ts"],"names":["normalizeStoreState","state","createDevToolsStoreSnapshot","store","historyMeta","createDevToolsSnapshotMap","stores","snapshots","storeId","instance","isDevToolsReadableStore","value","candidate","isDevToolsActionableStore","getDevToolsActionableStore","activeBridgeCleanup","STATE_BATCH_INTERVAL_MS","setupRemoteBridge","url","bus","bitBus","socket","unsubscribeBus","heartbeatInterval","batchFlushTimeout","pendingStoreIds","isIntentionalDisconnect","sendWhenOpen","message","flushPendingStoreUpdates","payload","acc","storeInstance","scheduleStoreFlush","connect","initialState","_newState","event","isDevToolsActionMessage","action","e","cleanup"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-P2YWYBWG.cjs","sourcesContent":[null,"import type { BitBusStorePort, BitState } from \"../core\";\nimport type { DevToolsStoreSnapshot, DevToolsStoreSnapshots } from \"./protocol\";\n\nfunction normalizeStoreState<T extends object>(\n state: Readonly<BitState<T>>,\n): Omit<DevToolsStoreSnapshot, \"_meta\"> {\n return {\n values: state.values,\n errors: state.errors as Record<string, unknown>,\n touched: state.touched as Record<string, unknown>,\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n isValidating: state.isValidating as Record<string, unknown>,\n persist: state.persist,\n };\n}\n\nexport function createDevToolsStoreSnapshot<T extends object>(store: {\n getState: () => Readonly<BitState<T>>;\n getHistoryMetadata: () => {\n canUndo: boolean;\n canRedo: boolean;\n historySize: number;\n historyIndex: number;\n };\n}): DevToolsStoreSnapshot {\n const historyMeta = store.getHistoryMetadata();\n\n return {\n ...normalizeStoreState(store.getState()),\n _meta: {\n canUndo: historyMeta.canUndo,\n canRedo: historyMeta.canRedo,\n totalSteps: historyMeta.historySize,\n currentIndex: historyMeta.historyIndex,\n },\n };\n}\n\nexport function createDevToolsSnapshotMap(\n stores: Record<string, BitBusStorePort<object>>,\n): DevToolsStoreSnapshots {\n const snapshots: DevToolsStoreSnapshots = {};\n\n for (const [storeId, instance] of Object.entries(stores)) {\n snapshots[storeId] = createDevToolsStoreSnapshot(instance);\n }\n\n return snapshots;\n}\n","import type { BitBusStorePort } from \"../core\";\n\nexport type BitDevToolsReadableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport type BitDevToolsActionableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport function isDevToolsReadableStore(\n value: unknown,\n): value is BitDevToolsReadableStore<object> {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.getState === \"function\" &&\n typeof candidate.getHistoryMetadata === \"function\"\n );\n}\n\nexport function isDevToolsActionableStore(\n value: unknown,\n): value is BitDevToolsActionableStore<object> {\n if (!isDevToolsReadableStore(value)) {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.undo === \"function\" &&\n typeof candidate.redo === \"function\" &&\n typeof candidate.reset === \"function\"\n );\n}\n\nexport function getDevToolsActionableStore(\n stores: Record<string, unknown>,\n storeId: string,\n): BitDevToolsActionableStore<object> | null {\n const candidate = stores[storeId];\n return isDevToolsActionableStore(candidate) ? candidate : null;\n}\n","import { bitBus } from \"../core\";\nimport type { BitBus } from \"../core\";\nimport type { BitBusStorePort } from \"../core\";\nimport { DEVTOOLS_PROTOCOL_VERSION, isDevToolsActionMessage } from \"./protocol\";\nimport { createDevToolsSnapshotMap } from \"./store-snapshot\";\nimport { getDevToolsActionableStore } from \"./store-port\";\n\nlet activeBridgeCleanup: (() => void) | null = null;\nconst STATE_BATCH_INTERVAL_MS = 50;\n\nexport function setupRemoteBridge(url: string, bus: BitBus = bitBus) {\n if (activeBridgeCleanup) {\n console.warn(\n \"[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado).\",\n );\n activeBridgeCleanup();\n }\n\n let socket: WebSocket | null = null;\n let unsubscribeBus: (() => void) | null = null;\n let heartbeatInterval: ReturnType<typeof setInterval>;\n let batchFlushTimeout: ReturnType<typeof setTimeout> | null = null;\n const pendingStoreIds = new Set<string>();\n let isIntentionalDisconnect = false;\n\n const sendWhenOpen = (message: Record<string, unknown>) => {\n if (socket?.readyState !== WebSocket.OPEN) {\n return;\n }\n\n socket.send(JSON.stringify(message));\n };\n\n const flushPendingStoreUpdates = () => {\n if (pendingStoreIds.size === 0) {\n return;\n }\n\n const payload = createDevToolsSnapshotMap(\n Array.from(pendingStoreIds).reduce<\n Record<string, BitBusStorePort<object>>\n >((acc, storeId) => {\n const storeInstance = bus.stores[storeId];\n if (storeInstance) {\n acc[storeId] = storeInstance;\n }\n return acc;\n }, {}),\n );\n\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n\n if (Object.keys(payload).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload,\n });\n }\n };\n\n const scheduleStoreFlush = () => {\n if (batchFlushTimeout) {\n return;\n }\n\n batchFlushTimeout = setTimeout(() => {\n flushPendingStoreUpdates();\n }, STATE_BATCH_INTERVAL_MS);\n };\n\n const connect = () => {\n isIntentionalDisconnect = false;\n socket = new WebSocket(url);\n\n socket.onopen = () => {\n console.log(\"[bit-form] 🔌 Conectado ao CLI DevTools via WebSocket.\");\n\n sendWhenOpen({\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"server\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n });\n\n const initialState = createDevToolsSnapshotMap(bus.stores);\n if (Object.keys(initialState).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: initialState,\n });\n }\n\n unsubscribeBus = bus.subscribe((storeId, _newState) => {\n pendingStoreIds.add(storeId);\n scheduleStoreFlush();\n });\n\n heartbeatInterval = setInterval(() => {\n sendWhenOpen({\n type: \"PING\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n });\n }, 30000);\n };\n\n socket.onmessage = (event) => {\n try {\n const message = JSON.parse(event.data) as unknown;\n\n if (isDevToolsActionMessage(message)) {\n const { storeId, action } = message.payload;\n const store = getDevToolsActionableStore(bus.stores, storeId);\n\n if (!store) {\n return;\n }\n\n switch (action) {\n case \"undo\":\n store.undo();\n break;\n case \"redo\":\n store.redo();\n break;\n case \"reset\":\n store.reset();\n break;\n }\n }\n } catch (e) {\n console.warn(\"[bit-form] Erro ao processar comando do CLI:\", e);\n }\n };\n\n socket.onclose = () => {\n if (unsubscribeBus) unsubscribeBus();\n clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n\n if (!isIntentionalDisconnect) {\n console.log(\"[bit-form] Conexão perdida. Reconectando em 3s...\");\n setTimeout(connect, 3000);\n } else {\n console.log(\"[bit-form] Ponte antiga encerrada com sucesso.\");\n }\n };\n };\n\n connect();\n\n const cleanup = () => {\n isIntentionalDisconnect = true;\n\n if (unsubscribeBus) unsubscribeBus();\n clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n if (\n socket &&\n (socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING)\n ) {\n socket.close();\n }\n activeBridgeCleanup = null;\n };\n\n activeBridgeCleanup = cleanup;\n\n return cleanup;\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var r=1;function n(o){return o.protocolVersion===1}function s(o){if(!o||typeof o!="object")return!1;let e=o;return typeof e.storeId=="string"&&(e.action==="undo"||e.action==="redo"||e.action==="reset")}function a(o){if(!o||typeof o!="object")return!1;let e=o;return e.type==="ACTION"&&n(e)&&s(e.payload)}function l(o){if(!o||typeof o!="object")return!1;let e=o;return e.type==="STATE_UPDATE"&&n(e)}function i(o){if(!o||typeof o!="object")return!1;let e=o;return e.type==="PING"&&n(e)}function c(o){if(!o||typeof o!="object")return!1;let e=o;if(e.type!=="HELLO"||!e.payload||!n(e))return!1;let t=e.payload;return(t.role==="client"||t.role==="server")&&t.protocolVersion===1}exports.a = r; exports.b = s; exports.c = a; exports.d = l; exports.e = i; exports.f = c;
|
|
2
|
+
//# sourceMappingURL=chunk-QKGTVKBU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/devtools/protocol.ts"],"names":["DEVTOOLS_PROTOCOL_VERSION","hasSupportedProtocolVersion","candidate","isDevToolsActionPayload","payload","isDevToolsActionMessage","message","isDevToolsStateUpdateMessage","isDevToolsPingMessage","isDevToolsHelloMessage"],"mappings":"AAEO,6EAAMA,CAAAA,CAA4B,CAAA,CA8DzC,SAASC,CAAAA,CAA4BC,CAAAA,CAA0C,CAC7E,OAAOA,CAAAA,CAAU,eAAA,GAAoB,CACvC,CAEO,SAASC,CAAAA,CACdC,CAAAA,CACkC,CAClC,EAAA,CAAI,CAACA,CAAAA,EAAW,OAAOA,CAAAA,EAAY,QAAA,CACjC,MAAO,CAAA,CAAA,CAGT,IAAMF,CAAAA,CAAYE,CAAAA,CAKlB,OACE,OAAOF,CAAAA,CAAU,OAAA,EAAY,QAAA,EAAA,CAC5BA,CAAAA,CAAU,MAAA,GAAW,MAAA,EACpBA,CAAAA,CAAU,MAAA,GAAW,MAAA,EACrBA,CAAAA,CAAU,MAAA,GAAW,OAAA,CAE3B,CAEO,SAASG,CAAAA,CACdC,CAAAA,CACkC,CAClC,EAAA,CAAI,CAACA,CAAAA,EAAW,OAAOA,CAAAA,EAAY,QAAA,CACjC,MAAO,CAAA,CAAA,CAGT,IAAMJ,CAAAA,CAAYI,CAAAA,CAMlB,OACEJ,CAAAA,CAAU,IAAA,GAAS,QAAA,EACnBD,CAAAA,CAA4BC,CAAS,CAAA,EACrCC,CAAAA,CAAwBD,CAAAA,CAAU,OAAO,CAE7C,CAEO,SAASK,CAAAA,CACdD,CAAAA,CACuC,CACvC,EAAA,CAAI,CAACA,CAAAA,EAAW,OAAOA,CAAAA,EAAY,QAAA,CACjC,MAAO,CAAA,CAAA,CAGT,IAAMJ,CAAAA,CAAYI,CAAAA,CAKlB,OACEJ,CAAAA,CAAU,IAAA,GAAS,cAAA,EAAkBD,CAAAA,CAA4BC,CAAS,CAE9E,CAEO,SAASM,CAAAA,CACdF,CAAAA,CACgC,CAChC,EAAA,CAAI,CAACA,CAAAA,EAAW,OAAOA,CAAAA,EAAY,QAAA,CACjC,MAAO,CAAA,CAAA,CAGT,IAAMJ,CAAAA,CAAYI,CAAAA,CAKlB,OAAOJ,CAAAA,CAAU,IAAA,GAAS,MAAA,EAAUD,CAAAA,CAA4BC,CAAS,CAC3E,CAEO,SAASO,CAAAA,CACdH,CAAAA,CACiC,CACjC,EAAA,CAAI,CAACA,CAAAA,EAAW,OAAOA,CAAAA,EAAY,QAAA,CACjC,MAAO,CAAA,CAAA,CAGT,IAAMJ,CAAAA,CAAYI,CAAAA,CAMlB,EAAA,CACEJ,CAAAA,CAAU,IAAA,GAAS,OAAA,EACnB,CAACA,CAAAA,CAAU,OAAA,EACX,CAACD,CAAAA,CAA4BC,CAAS,CAAA,CAEtC,MAAO,CAAA,CAAA,CAGT,IAAME,CAAAA,CAAUF,CAAAA,CAAU,OAAA,CAK1B,MAAA,CACGE,CAAAA,CAAQ,IAAA,GAAS,QAAA,EAAYA,CAAAA,CAAQ,IAAA,GAAS,QAAA,CAAA,EAC/CA,CAAAA,CAAQ,eAAA,GAAoB,CAEhC,CAAA,yFAAA","file":"/home/runner/work/bit-form/bit-form/dist/chunk-QKGTVKBU.cjs","sourcesContent":["export type DevToolsActionName = \"undo\" | \"redo\" | \"reset\";\n\nexport const DEVTOOLS_PROTOCOL_VERSION = 1;\n\nexport interface DevToolsProtocolMessageBase {\n protocolVersion: number;\n}\n\nexport interface DevToolsHistoryMeta {\n canUndo: boolean;\n canRedo: boolean;\n totalSteps: number;\n currentIndex: number;\n}\n\nexport interface DevToolsStoreSnapshot {\n values: unknown;\n errors: Record<string, unknown>;\n touched: Record<string, unknown>;\n isValid: boolean;\n isDirty: boolean;\n isSubmitting: boolean;\n isValidating?: Record<string, unknown>;\n persist?: unknown;\n _meta: DevToolsHistoryMeta;\n}\n\nexport type DevToolsStoreSnapshots = Record<string, DevToolsStoreSnapshot>;\n\nexport interface DevToolsActionPayload {\n storeId: string;\n action: DevToolsActionName;\n}\n\nexport interface DevToolsStateUpdateMessage extends DevToolsProtocolMessageBase {\n type: \"STATE_UPDATE\";\n payload: DevToolsStoreSnapshots;\n}\n\nexport interface DevToolsPingMessage extends DevToolsProtocolMessageBase {\n type: \"PING\";\n}\n\nexport interface DevToolsActionMessage extends DevToolsProtocolMessageBase {\n type: \"ACTION\";\n payload: DevToolsActionPayload;\n}\n\nexport interface DevToolsHelloPayload {\n role: \"client\" | \"server\";\n protocolVersion: number;\n}\n\nexport interface DevToolsHelloMessage extends DevToolsProtocolMessageBase {\n type: \"HELLO\";\n payload: DevToolsHelloPayload;\n}\n\nexport type DevToolsRemoteMessage =\n | DevToolsStateUpdateMessage\n | DevToolsPingMessage\n | DevToolsActionMessage\n | DevToolsHelloMessage;\n\nfunction hasSupportedProtocolVersion(candidate: { protocolVersion?: unknown }) {\n return candidate.protocolVersion === DEVTOOLS_PROTOCOL_VERSION;\n}\n\nexport function isDevToolsActionPayload(\n payload: unknown,\n): payload is DevToolsActionPayload {\n if (!payload || typeof payload !== \"object\") {\n return false;\n }\n\n const candidate = payload as {\n storeId?: unknown;\n action?: unknown;\n };\n\n return (\n typeof candidate.storeId === \"string\" &&\n (candidate.action === \"undo\" ||\n candidate.action === \"redo\" ||\n candidate.action === \"reset\")\n );\n}\n\nexport function isDevToolsActionMessage(\n message: unknown,\n): message is DevToolsActionMessage {\n if (!message || typeof message !== \"object\") {\n return false;\n }\n\n const candidate = message as {\n type?: unknown;\n payload?: unknown;\n protocolVersion?: unknown;\n };\n\n return (\n candidate.type === \"ACTION\" &&\n hasSupportedProtocolVersion(candidate) &&\n isDevToolsActionPayload(candidate.payload)\n );\n}\n\nexport function isDevToolsStateUpdateMessage(\n message: unknown,\n): message is DevToolsStateUpdateMessage {\n if (!message || typeof message !== \"object\") {\n return false;\n }\n\n const candidate = message as {\n type?: unknown;\n protocolVersion?: unknown;\n };\n\n return (\n candidate.type === \"STATE_UPDATE\" && hasSupportedProtocolVersion(candidate)\n );\n}\n\nexport function isDevToolsPingMessage(\n message: unknown,\n): message is DevToolsPingMessage {\n if (!message || typeof message !== \"object\") {\n return false;\n }\n\n const candidate = message as {\n type?: unknown;\n protocolVersion?: unknown;\n };\n\n return candidate.type === \"PING\" && hasSupportedProtocolVersion(candidate);\n}\n\nexport function isDevToolsHelloMessage(\n message: unknown,\n): message is DevToolsHelloMessage {\n if (!message || typeof message !== \"object\") {\n return false;\n }\n\n const candidate = message as {\n type?: unknown;\n payload?: unknown;\n protocolVersion?: unknown;\n };\n\n if (\n candidate.type !== \"HELLO\" ||\n !candidate.payload ||\n !hasSupportedProtocolVersion(candidate)\n ) {\n return false;\n }\n\n const payload = candidate.payload as {\n role?: unknown;\n protocolVersion?: unknown;\n };\n\n return (\n (payload.role === \"client\" || payload.role === \"server\") &&\n payload.protocolVersion === DEVTOOLS_PROTOCOL_VERSION\n );\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function p(e){if(e===null||typeof e!="object")return e;if(typeof structuredClone=="function")return structuredClone(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e))return e.map(r=>p(r));let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=p(e[r]));return n}function g(e){return p(e)}function m(e,n){if(n===void 0)return g(e);if(n===null||typeof n!="object"||n instanceof Date||n instanceof RegExp||Array.isArray(n))return g(n);let r=e&&typeof e=="object"&&!Array.isArray(e)?g(e):{};for(let t of Object.keys(n)){let s=n[t],i=r[t];if(s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp)){r[t]=m(i,s);continue}r[t]=g(s)}return r}function k(e,n){return e===n?!0:e===null||typeof e!="object"||n===null||typeof n!="object"?!1:h(e,n)}function h(e,n){if(e===n)return!0;if(e===null||typeof e!="object"||n===null||typeof n!="object")return!1;if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(e instanceof RegExp&&n instanceof RegExp)return e.toString()===n.toString();let r=Object.keys(e),t=Object.keys(n);if(r.length!==t.length)return!1;for(let s of r)if(!Object.prototype.hasOwnProperty.call(n,s)||!h(e[s],n[s]))return!1;return!0}function V(e,n,r="",t=new Set){if(k(e,n))return t;if(e===null||typeof e!="object"||n===null||typeof n!="object")return r&&t.add(r),t;if(Array.isArray(e)||Array.isArray(n))return!k(e,n)&&r&&t.add(r),t;let s=new Set;for(let i of Object.keys(e||{}))s.add(i);for(let i of Object.keys(n||{}))s.add(i);for(let i of s){let a=r?`${r}.${i}`:i;V(e?.[i],n?.[i],a,t)}return t}var l=new Map;function w(e,n){if(l.has(e))l.delete(e);else if(l.size>=5e3){let r=l.keys().next().value;r!==void 0&&l.delete(r)}l.set(e,n)}function A(e){let n=l.get(e);if(n)return n;let r=e.split(".");return w(e,r),r}function K(e,n){if(!n)return e;let r=A(n),t=e;for(let s of r){if(t==null)return;t=t[s]}return t}function E(e,n,r){if(!n)return r;let t=A(n),s=Array.isArray(e)?[...e]:{...e},i=s;for(let a=0;a<t.length-1;a++){let o=t[a],c=t[a+1],u=Number(c),d=Number.isInteger(u)&&String(u)===c,y=i[o];y==null?i[o]=d?[]:{}:i[o]=Array.isArray(y)?[...y]:{...y},i=i[o]}return i[t[t.length-1]]=r,s}function D(e,n){if(n.length===0)return e;let r=Array.isArray(e)?[...e]:{...e},t=new WeakSet;r&&typeof r=="object"&&t.add(r);for(let[s,i]of n){let a=A(s),o=r;for(let c=0;c<a.length-1;c++){let u=a[c],d=a[c+1],y=Number(d),R=Number.isInteger(y)&&String(y)===d,f=o[u];f==null?(o[u]=R?[]:{},t.add(o[u])):typeof f=="object"?t.has(f)||(o[u]=Array.isArray(f)?[...f]:{...f},t.add(o[u])):(o[u]=R?[]:{},t.add(o[u])),o=o[u]}o[a[a.length-1]]=i}return r}function O(e,n){if(!n)return Array.isArray(e)?[]:{};let r=A(n),t=Array.isArray(e)?[...e]:{...e},s=t;for(let a=0;a<r.length-1;a++){let o=r[a],c=s?.[o];if(c==null)return t;s[o]=Array.isArray(c)?[...c]:{...c},s=s[o]}let i=r[r.length-1];return Array.isArray(s)?s.splice(Number(i),1):s&&typeof s=="object"&&delete s[i],t}function b(e,n){let r={},t=`${n}.`;for(let s in e)s!==n&&!s.startsWith(t)&&(r[s]=e[s]);return r}function $(e,n,r){let t={},s={},i={},a=`${n}.`;for(let o of Object.keys(e.errors)){let c=x(o,a,r);c&&(t[c]=e.errors[o])}for(let o of Object.keys(e.touched)){let c=x(o,a,r);c&&(s[c]=e.touched[o])}for(let o of Object.keys(e.isValidating)){let c=x(o,a,r);c&&(i[c]=e.isValidating[o])}return{errors:t,touched:s,isValidating:i}}function x(e,n,r){if(!e.startsWith(n))return e;let s=e.substring(n.length).split("."),i=parseInt(s[0],10),a=r(i);if(a===null)return null;let o=s.slice(1).join(".");return o?`${n}${a}.${o}`:`${n}${a}`}function T(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=e.errors??e;return typeof n!="object"||n===null||Array.isArray(n)?!1:Object.values(n).every(r=>typeof r=="string"||Array.isArray(r)&&r.every(t=>typeof t=="string"))}function S(e){return T(e)?e.errors??e:{}}export{g as a,m as b,k as c,h as d,V as e,K as f,E as g,D as h,O as i,b as j,$ as k,T as l,S as m};
|
|
2
|
+
//# sourceMappingURL=chunk-RD73EBSN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/utils/clone.ts","../src/core/utils/structural.ts","../src/core/utils/path-value.ts","../src/core/utils/array-meta.ts","../src/core/utils/server-errors.ts"],"sourcesContent":["export function cloneValue<T>(obj: T): T {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (typeof structuredClone === \"function\") {\n return structuredClone(obj);\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as any as T;\n }\n\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags) as any as T;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => cloneValue(item)) as any as T;\n }\n\n const clone: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n clone[key] = cloneValue((obj as any)[key]);\n }\n }\n\n return clone as T;\n}\n","import { cloneValue } from \"./clone\";\n\nexport function deepClone<T>(obj: T): T {\n return cloneValue(obj);\n}\n\nexport function deepMerge<T>(target: T, source: any): T {\n if (source === undefined) {\n return deepClone(target);\n }\n\n if (\n source === null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n source instanceof RegExp ||\n Array.isArray(source)\n ) {\n return deepClone(source as T);\n }\n\n const base =\n target && typeof target === \"object\" && !Array.isArray(target)\n ? deepClone(target as any)\n : ({} as Record<string, unknown>);\n\n for (const key of Object.keys(source)) {\n const sourceValue = source[key];\n const baseValue = (base as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n typeof sourceValue === \"object\" &&\n !Array.isArray(sourceValue) &&\n !(sourceValue instanceof Date) &&\n !(sourceValue instanceof RegExp)\n ) {\n (base as Record<string, unknown>)[key] = deepMerge(\n baseValue,\n sourceValue,\n );\n continue;\n }\n\n (base as Record<string, unknown>)[key] = deepClone(sourceValue);\n }\n\n return base as T;\n}\n\nexport function valueEqual(a: any, b: any): boolean {\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n return deepEqual(a, b);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n\n if (a instanceof Date && b instanceof Date)\n return a.getTime() === b.getTime();\n if (a instanceof RegExp && b instanceof RegExp)\n return a.toString() === b.toString();\n\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (\n !Object.prototype.hasOwnProperty.call(b, key) ||\n !deepEqual(a[key], b[key])\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function collectDirtyPaths(\n obj: any,\n initial: any,\n prefix = \"\",\n result: Set<string> = new Set(),\n): Set<string> {\n if (valueEqual(obj, initial)) return result;\n if (\n obj === null ||\n typeof obj !== \"object\" ||\n initial === null ||\n typeof initial !== \"object\"\n ) {\n if (prefix) result.add(prefix);\n return result;\n }\n if (Array.isArray(obj) || Array.isArray(initial)) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n const allKeys = new Set<string>();\n for (const key of Object.keys(obj || {})) {\n allKeys.add(key);\n }\n for (const key of Object.keys(initial || {})) {\n allKeys.add(key);\n }\n for (const k of allKeys) {\n const p = prefix ? `${prefix}.${k}` : k;\n collectDirtyPaths((obj as any)?.[k], (initial as any)?.[k], p, result);\n }\n return result;\n}\n","const PATH_CACHE_MAX = 5000;\nconst pathCache = new Map<string, string[]>();\n\nfunction setPathCacheEntry(path: string, keys: string[]) {\n if (pathCache.has(path)) {\n pathCache.delete(path);\n } else if (pathCache.size >= PATH_CACHE_MAX) {\n const oldestKey = pathCache.keys().next().value;\n if (oldestKey !== undefined) {\n pathCache.delete(oldestKey);\n }\n }\n\n pathCache.set(path, keys);\n}\n\nfunction getPathKeys(path: string): string[] {\n const cached = pathCache.get(path);\n if (cached) {\n return cached;\n }\n\n const keys = path.split(\".\");\n setPathCacheEntry(path, keys);\n return keys;\n}\n\nexport function getDeepValue(obj: any, path: string): any {\n if (!path) return obj;\n\n const keys = getPathKeys(path);\n\n let current = obj;\n for (const key of keys) {\n if (current === null || current === undefined) return undefined;\n current = current[key];\n }\n return current;\n}\n\nexport function setDeepValue(obj: any, path: string, value: any): any {\n if (!path) return value;\n\n const keys = getPathKeys(path);\n\n const result = Array.isArray(obj) ? [...obj] : { ...obj };\n let current = result;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n const nextKey = keys[i + 1];\n\n const nextAsNumber = Number(nextKey);\n const isNextNumeric =\n Number.isInteger(nextAsNumber) && String(nextAsNumber) === nextKey;\n const currentValue = current[key];\n\n if (currentValue === null || currentValue === undefined) {\n current[key] = isNextNumeric ? [] : {};\n } else {\n current[key] = Array.isArray(currentValue)\n ? [...currentValue]\n : { ...currentValue };\n }\n\n current = current[key];\n }\n\n current[keys[keys.length - 1]] = value;\n\n return result;\n}\n\nexport function setDeepValues(\n obj: any,\n updates: ReadonlyArray<readonly [path: string, value: any]>,\n): any {\n if (updates.length === 0) {\n return obj;\n }\n\n const root = Array.isArray(obj) ? [...obj] : { ...obj };\n const clonedNodes = new WeakSet<object>();\n if (root && typeof root === \"object\") {\n clonedNodes.add(root);\n }\n\n for (const [path, value] of updates) {\n const keys = getPathKeys(path);\n let current: any = root;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n const nextKey = keys[i + 1];\n\n const nextAsNumber = Number(nextKey);\n const isNextNumeric =\n Number.isInteger(nextAsNumber) && String(nextAsNumber) === nextKey;\n\n const currentValue = current[key];\n\n if (currentValue === null || currentValue === undefined) {\n current[key] = isNextNumeric ? [] : {};\n clonedNodes.add(current[key]);\n } else if (typeof currentValue === \"object\") {\n if (!clonedNodes.has(currentValue)) {\n current[key] = Array.isArray(currentValue)\n ? [...currentValue]\n : { ...currentValue };\n clonedNodes.add(current[key]);\n }\n } else {\n current[key] = isNextNumeric ? [] : {};\n clonedNodes.add(current[key]);\n }\n\n current = current[key];\n }\n\n current[keys[keys.length - 1]] = value;\n }\n\n return root;\n}\n\nexport function unsetDeepValue(obj: any, path: string): any {\n if (!path) {\n return Array.isArray(obj) ? [] : {};\n }\n\n const keys = getPathKeys(path);\n const root = Array.isArray(obj) ? [...obj] : { ...obj };\n let current: any = root;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n const currentValue = current?.[key];\n\n if (currentValue === null || currentValue === undefined) {\n return root;\n }\n\n current[key] = Array.isArray(currentValue)\n ? [...currentValue]\n : { ...currentValue };\n\n current = current[key];\n }\n\n const leafKey = keys[keys.length - 1];\n\n if (Array.isArray(current)) {\n current.splice(Number(leafKey), 1);\n } else if (current && typeof current === \"object\") {\n delete current[leafKey];\n }\n\n return root;\n}\n","export function cleanPrefixedKeys(\n obj: Record<string, any>,\n prefix: string,\n): Record<string, any> {\n const newObj: Record<string, any> = {};\n const prefixWithDot = `${prefix}.`;\n\n for (const key in obj) {\n if (key !== prefix && !key.startsWith(prefixWithDot)) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n\nexport const shiftKeys = (\n obj: Record<string, any>,\n path: string,\n removedIndex: number,\n) => {\n return reindexObjectKeys(obj, path, (currentIdx) => {\n if (currentIdx === removedIndex) {\n return null;\n }\n\n return currentIdx > removedIndex ? currentIdx - 1 : currentIdx;\n });\n};\n\nexport const swapKeys = (\n obj: Record<string, any>,\n path: string,\n indexA: number,\n indexB: number,\n) => {\n return reindexObjectKeys(obj, path, (currentIdx) => {\n if (currentIdx === indexA) {\n return indexB;\n }\n\n if (currentIdx === indexB) {\n return indexA;\n }\n\n return currentIdx;\n });\n};\n\nexport const moveKeys = (\n obj: Record<string, any>,\n path: string,\n from: number,\n to: number,\n) => {\n return reindexObjectKeys(obj, path, (currentIdx) => {\n if (currentIdx === from) {\n return to;\n }\n\n if (from < to && currentIdx > from && currentIdx <= to) {\n return currentIdx - 1;\n }\n\n if (from > to && currentIdx >= to && currentIdx < from) {\n return currentIdx + 1;\n }\n\n return currentIdx;\n });\n};\n\nexport function reindexFieldArrayMeta(\n state: {\n errors: Record<string, any>;\n touched: Record<string, any>;\n isValidating: Record<string, any>;\n },\n path: string,\n remapIndex: (index: number) => number | null,\n) {\n const nextErrors: Record<string, any> = {};\n const nextTouched: Record<string, any> = {};\n const nextIsValidating: Record<string, any> = {};\n\n const prefix = `${path}.`;\n\n for (const key of Object.keys(state.errors)) {\n const nextKey = remapIndexedPath(key, prefix, remapIndex);\n if (nextKey) nextErrors[nextKey] = state.errors[key];\n }\n\n for (const key of Object.keys(state.touched)) {\n const nextKey = remapIndexedPath(key, prefix, remapIndex);\n if (nextKey) nextTouched[nextKey] = state.touched[key];\n }\n\n for (const key of Object.keys(state.isValidating)) {\n const nextKey = remapIndexedPath(key, prefix, remapIndex);\n if (nextKey) nextIsValidating[nextKey] = state.isValidating[key];\n }\n\n return {\n errors: nextErrors,\n touched: nextTouched,\n isValidating: nextIsValidating,\n };\n}\n\nfunction remapIndexedPath(\n key: string,\n prefix: string,\n remapIndex: (index: number) => number | null,\n) {\n if (!key.startsWith(prefix)) {\n return key;\n }\n\n const remaining = key.substring(prefix.length);\n const parts = remaining.split(\".\");\n const currentIdx = parseInt(parts[0], 10);\n const nextIdx = remapIndex(currentIdx);\n\n if (nextIdx === null) {\n return null;\n }\n\n const rest = parts.slice(1).join(\".\");\n return rest ? `${prefix}${nextIdx}.${rest}` : `${prefix}${nextIdx}`;\n}\n\nfunction reindexObjectKeys(\n obj: Record<string, any>,\n path: string,\n remapIndex: (index: number) => number | null,\n) {\n const nextObject: Record<string, any> = {};\n const prefix = `${path}.`;\n\n for (const key of Object.keys(obj)) {\n if (!key.startsWith(prefix)) {\n nextObject[key] = obj[key];\n continue;\n }\n\n const remaining = key.substring(prefix.length);\n const parts = remaining.split(\".\");\n const currentIdx = parseInt(parts[0], 10);\n const nextIdx = remapIndex(currentIdx);\n\n if (nextIdx === null) {\n continue;\n }\n\n const rest = parts.slice(1).join(\".\");\n const nextKey = rest\n ? `${prefix}${nextIdx}.${rest}`\n : `${prefix}${nextIdx}`;\n nextObject[nextKey] = obj[key];\n }\n\n return nextObject;\n}\n","export function isValidationErrorShape(\n x: unknown,\n): x is Record<string, string | string[]> {\n if (typeof x !== \"object\" || x === null || Array.isArray(x)) return false;\n\n const obj = (x as Record<string, unknown>).errors ?? x;\n if (typeof obj !== \"object\" || obj === null || Array.isArray(obj))\n return false;\n\n return Object.values(obj as Record<string, unknown>).every(\n (v) =>\n typeof v === \"string\" ||\n (Array.isArray(v) && v.every((i) => typeof i === \"string\")),\n );\n}\n\nexport function extractServerErrors(\n x: unknown,\n): Record<string, string | string[]> {\n if (!isValidationErrorShape(x)) return {};\n\n const obj = (x as Record<string, unknown>).errors ?? x;\n return obj as Record<string, string | string[]>;\n}\n"],"mappings":"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","names":["cloneValue","obj","item","clone","key","deepClone","obj","cloneValue","deepMerge","target","source","base","key","sourceValue","baseValue","valueEqual","a","b","deepEqual","keysA","keysB","collectDirtyPaths","initial","prefix","result","allKeys","k","p","pathCache","setPathCacheEntry","path","keys","oldestKey","getPathKeys","cached","getDeepValue","obj","current","key","setDeepValue","value","result","i","nextKey","nextAsNumber","isNextNumeric","currentValue","setDeepValues","updates","root","clonedNodes","unsetDeepValue","leafKey","cleanPrefixedKeys","obj","prefix","newObj","prefixWithDot","key","reindexFieldArrayMeta","state","path","remapIndex","nextErrors","nextTouched","nextIsValidating","prefix","key","nextKey","remapIndexedPath","parts","currentIdx","nextIdx","rest","isValidationErrorShape","x","obj","v","i","extractServerErrors"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }function p(e){if(e===null||typeof e!="object")return e;if(typeof structuredClone=="function")return structuredClone(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e))return e.map(r=>p(r));let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=p(e[r]));return n}function g(e){return p(e)}function m(e,n){if(n===void 0)return g(e);if(n===null||typeof n!="object"||n instanceof Date||n instanceof RegExp||Array.isArray(n))return g(n);let r=e&&typeof e=="object"&&!Array.isArray(e)?g(e):{};for(let t of Object.keys(n)){let s=n[t],i=r[t];if(s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp)){r[t]=m(i,s);continue}r[t]=g(s)}return r}function k(e,n){return e===n?!0:e===null||typeof e!="object"||n===null||typeof n!="object"?!1:h(e,n)}function h(e,n){if(e===n)return!0;if(e===null||typeof e!="object"||n===null||typeof n!="object")return!1;if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(e instanceof RegExp&&n instanceof RegExp)return e.toString()===n.toString();let r=Object.keys(e),t=Object.keys(n);if(r.length!==t.length)return!1;for(let s of r)if(!Object.prototype.hasOwnProperty.call(n,s)||!h(e[s],n[s]))return!1;return!0}function V(e,n,r="",t=new Set){if(k(e,n))return t;if(e===null||typeof e!="object"||n===null||typeof n!="object")return r&&t.add(r),t;if(Array.isArray(e)||Array.isArray(n))return!k(e,n)&&r&&t.add(r),t;let s=new Set;for(let i of Object.keys(e||{}))s.add(i);for(let i of Object.keys(n||{}))s.add(i);for(let i of s){let a=r?`${r}.${i}`:i;V(_optionalChain([e, 'optionalAccess', _ => _[i]]),_optionalChain([n, 'optionalAccess', _2 => _2[i]]),a,t)}return t}var l=new Map;function w(e,n){if(l.has(e))l.delete(e);else if(l.size>=5e3){let r=l.keys().next().value;r!==void 0&&l.delete(r)}l.set(e,n)}function A(e){let n=l.get(e);if(n)return n;let r=e.split(".");return w(e,r),r}function K(e,n){if(!n)return e;let r=A(n),t=e;for(let s of r){if(t==null)return;t=t[s]}return t}function E(e,n,r){if(!n)return r;let t=A(n),s=Array.isArray(e)?[...e]:{...e},i=s;for(let a=0;a<t.length-1;a++){let o=t[a],c=t[a+1],u=Number(c),d=Number.isInteger(u)&&String(u)===c,y=i[o];y==null?i[o]=d?[]:{}:i[o]=Array.isArray(y)?[...y]:{...y},i=i[o]}return i[t[t.length-1]]=r,s}function D(e,n){if(n.length===0)return e;let r=Array.isArray(e)?[...e]:{...e},t=new WeakSet;r&&typeof r=="object"&&t.add(r);for(let[s,i]of n){let a=A(s),o=r;for(let c=0;c<a.length-1;c++){let u=a[c],d=a[c+1],y=Number(d),R=Number.isInteger(y)&&String(y)===d,f=o[u];f==null?(o[u]=R?[]:{},t.add(o[u])):typeof f=="object"?t.has(f)||(o[u]=Array.isArray(f)?[...f]:{...f},t.add(o[u])):(o[u]=R?[]:{},t.add(o[u])),o=o[u]}o[a[a.length-1]]=i}return r}function O(e,n){if(!n)return Array.isArray(e)?[]:{};let r=A(n),t=Array.isArray(e)?[...e]:{...e},s=t;for(let a=0;a<r.length-1;a++){let o=r[a],c=_optionalChain([s, 'optionalAccess', _3 => _3[o]]);if(c==null)return t;s[o]=Array.isArray(c)?[...c]:{...c},s=s[o]}let i=r[r.length-1];return Array.isArray(s)?s.splice(Number(i),1):s&&typeof s=="object"&&delete s[i],t}function b(e,n){let r={},t=`${n}.`;for(let s in e)s!==n&&!s.startsWith(t)&&(r[s]=e[s]);return r}function $(e,n,r){let t={},s={},i={},a=`${n}.`;for(let o of Object.keys(e.errors)){let c=x(o,a,r);c&&(t[c]=e.errors[o])}for(let o of Object.keys(e.touched)){let c=x(o,a,r);c&&(s[c]=e.touched[o])}for(let o of Object.keys(e.isValidating)){let c=x(o,a,r);c&&(i[c]=e.isValidating[o])}return{errors:t,touched:s,isValidating:i}}function x(e,n,r){if(!e.startsWith(n))return e;let s=e.substring(n.length).split("."),i=parseInt(s[0],10),a=r(i);if(a===null)return null;let o=s.slice(1).join(".");return o?`${n}${a}.${o}`:`${n}${a}`}function T(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=_nullishCoalesce(e.errors, () => (e));return typeof n!="object"||n===null||Array.isArray(n)?!1:Object.values(n).every(r=>typeof r=="string"||Array.isArray(r)&&r.every(t=>typeof t=="string"))}function S(e){return T(e)?_nullishCoalesce(e.errors, () => (e)):{}}exports.a = g; exports.b = m; exports.c = k; exports.d = h; exports.e = V; exports.f = K; exports.g = E; exports.h = D; exports.i = O; exports.j = b; exports.k = $; exports.l = T; exports.m = S;
|
|
2
|
+
//# sourceMappingURL=chunk-T2JRSWQU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/utils/clone.ts","../src/core/utils/structural.ts"],"names":["cloneValue","obj","item","clone","key","deepClone","deepMerge","target","source","base","sourceValue","baseValue","valueEqual","a","b","deepEqual","keysA","keysB","collectDirtyPaths","initial","prefix","result","allKeys","k","p"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-T2JRSWQU.cjs","sourcesContent":["export function cloneValue<T>(obj: T): T {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (typeof structuredClone === \"function\") {\n return structuredClone(obj);\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as any as T;\n }\n\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags) as any as T;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => cloneValue(item)) as any as T;\n }\n\n const clone: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n clone[key] = cloneValue((obj as any)[key]);\n }\n }\n\n return clone as T;\n}\n","import { cloneValue } from \"./clone\";\n\nexport function deepClone<T>(obj: T): T {\n return cloneValue(obj);\n}\n\nexport function deepMerge<T>(target: T, source: any): T {\n if (source === undefined) {\n return deepClone(target);\n }\n\n if (\n source === null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n source instanceof RegExp ||\n Array.isArray(source)\n ) {\n return deepClone(source as T);\n }\n\n const base =\n target && typeof target === \"object\" && !Array.isArray(target)\n ? deepClone(target as any)\n : ({} as Record<string, unknown>);\n\n for (const key of Object.keys(source)) {\n const sourceValue = source[key];\n const baseValue = (base as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n typeof sourceValue === \"object\" &&\n !Array.isArray(sourceValue) &&\n !(sourceValue instanceof Date) &&\n !(sourceValue instanceof RegExp)\n ) {\n (base as Record<string, unknown>)[key] = deepMerge(\n baseValue,\n sourceValue,\n );\n continue;\n }\n\n (base as Record<string, unknown>)[key] = deepClone(sourceValue);\n }\n\n return base as T;\n}\n\nexport function valueEqual(a: any, b: any): boolean {\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n return deepEqual(a, b);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n\n if (a instanceof Date && b instanceof Date)\n return a.getTime() === b.getTime();\n if (a instanceof RegExp && b instanceof RegExp)\n return a.toString() === b.toString();\n\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (\n !Object.prototype.hasOwnProperty.call(b, key) ||\n !deepEqual(a[key], b[key])\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function collectDirtyPaths(\n obj: any,\n initial: any,\n prefix = \"\",\n result: Set<string> = new Set(),\n): Set<string> {\n if (valueEqual(obj, initial)) return result;\n if (\n obj === null ||\n typeof obj !== \"object\" ||\n initial === null ||\n typeof initial !== \"object\"\n ) {\n if (prefix) result.add(prefix);\n return result;\n }\n if (Array.isArray(obj) || Array.isArray(initial)) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n const allKeys = new Set<string>();\n for (const key of Object.keys(obj || {})) {\n allKeys.add(key);\n }\n for (const key of Object.keys(initial || {})) {\n allKeys.add(key);\n }\n for (const k of allKeys) {\n const p = prefix ? `${prefix}.${k}` : k;\n collectDirtyPaths((obj as any)?.[k], (initial as any)?.[k], p, result);\n }\n return result;\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as St,c as wt,d as V,e as Dt,h as R}from"./chunk-EQ55DKX2.js";import{a as g,b as I,c as F,d as C,e as Ft,f as y,g as T,h as A,i as Ct,k as Vt}from"./chunk-RD73EBSN.js";var M=Symbol.for("bit-form.framework-store-api");var k=Symbol.for("bit-form.hooks-api");function $e(r,t){if((!r||r.length===0)&&(!t||t.length===0))return;let e=new Set(r??[]);return t?.forEach(i=>e.add(i)),Array.from(e)}function At(r){let{values:t,entries:e,deriveValue:i}=r,s=[];for(let a of e){let o=y(t,a.path),n=i(a,o);F(o,n)||s.push([a.path,n])}return s}function Je(r){let t=r?.includes("*")??!1;return e=>!r||r.length===0||t?!0:r.some(i=>e===i||e.startsWith(`${i}.`)||i.startsWith(`${e}.`))}function Ge(r,t){if(!t||t.length===0||t.includes("*"))return r;let e=Je(t);return r.filter(i=>i.dependsOn.some(s=>e(s)))}function O(r){let{values:t,changedPaths:e,normalizerEntries:i,applyComputed:s}=r,a=Ge(i,e);if(a.length===0)return s(t,e);let o=At({values:t,entries:a,deriveValue:(p,l)=>p.normalize(l,t)}),n=o.length>0?A(t,o):t,d=$e(e,o.map(([p])=>p));return s(n,d)}function Rt(r){let{values:t,sourceValues:e,transformEntries:i}=r;if(i.length===0)return t;let s=At({values:t,entries:i.map(([a,o])=>({path:a,transform:o})),deriveValue:(a,o)=>a.transform(o,e)});return s.length===0?t:A(t,s)}var j=class{constructor(t){this.getComputedEntries=t}equalityCache=new Map;reverseDepsCache=null;childDepsIndex=null;validatedEntriesSignature=null;orderedAllEntriesCache=null;isCacheableScalar(t){return t===null||typeof t!="object"&&typeof t!="function"}invalidateReverseDeps(){this.reverseDepsCache=null,this.childDepsIndex=null,this.orderedAllEntriesCache=null,this.validatedEntriesSignature=null,this.equalityCache.clear()}apply(t,e){let i=this.getComputedEntries();if(i.length===0)return t;this.ensureEntriesAreValid(i);let s=this.resolveEntriesToRun(i,e);if(s.length===0)return t;let a=t;for(let o of s){let n=o.compute(a),d=y(a,o.path),p=this.equalityCache.get(o.path),l,c=this.isCacheableScalar(d)&&this.isCacheableScalar(n);c&&p&&p.current===d&&p.next===n?l=p.equal:(l=C(d,n),c?this.equalityCache.set(o.path,{current:d,next:n,equal:l}):this.equalityCache.delete(o.path)),l||(a=T(a,o.path,n))}return a}getReverseDependencies(t){if(this.reverseDepsCache)return this.reverseDepsCache;let e=new Map;for(let s of t)for(let a of s.dependsOn){let o=e.get(a);o||(o=new Set,e.set(a,o)),o.add(s.path)}let i=new Map;for(let s of e.keys()){let a=s.split(".");for(let o=1;o<a.length;o++){let n=a.slice(0,o).join("."),d=i.get(n);d||(d=new Set,i.set(n,d)),d.add(s)}}return this.reverseDepsCache=e,this.childDepsIndex=i,e}resolveEntriesToRun(t,e){if(!e||e.length===0||e.includes("*"))return this.getOrderedAllEntries(t);let i=this.getReverseDependencies(t),s=new Set,a=[...e];for(;a.length>0;){let n=a.shift(),d=this.getDependentsForPath(i,n);if(d)for(let p of d)s.has(p)||(s.add(p),a.push(p))}return s.size===0?[]:this.getOrderedAllEntries(t).filter(n=>s.has(n.path))}orderEntries(t){if(t.length<=1)return t;let e=new Map(t.map(n=>[n.path,n])),i=new Map,s=new Map;t.forEach(n=>i.set(n.path,0)),t.forEach(n=>{n.dependsOn.forEach(d=>{if(!e.has(d))return;let p=s.get(d)??new Set;p.has(n.path)||(p.add(n.path),s.set(d,p),i.set(n.path,(i.get(n.path)??0)+1))})});let a=t.filter(n=>(i.get(n.path)??0)===0).map(n=>n.path),o=[];for(;a.length>0;){let n=a.shift();o.push(n);let d=s.get(n);d&&d.forEach(p=>{let l=(i.get(p)??0)-1;i.set(p,l),l===0&&a.push(p)})}if(o.length!==t.length)throw new Error("BitStore: cyclic computed dependencies detected. Check computedDependsOn definitions.");return o.map(n=>e.get(n))}getOrderedAllEntries(t){let e=this.createEntriesSignature(t);if(this.orderedAllEntriesCache&&this.orderedAllEntriesCache.signature===e)return this.orderedAllEntriesCache.ordered;let i=this.orderEntries(t);return this.orderedAllEntriesCache={signature:e,ordered:i},i}ensureEntriesAreValid(t){let e=this.createEntriesSignature(t);this.validatedEntriesSignature!==e&&(t.forEach(i=>this.assertDependencies(i)),this.validatedEntriesSignature=e,this.invalidateReverseDeps())}createEntriesSignature(t){return t.map(e=>`${e.path}:${e.dependsOn.join(",")}`).join("|")}getDependentsForPath(t,e){let i=new Set,s=n=>{let d=t.get(n);d&&d.forEach(p=>i.add(p))};s(e);let a=e.split(".");for(;a.length>1;)a.pop(),s(a.join("."));let o=this.childDepsIndex?.get(e);if(o)for(let n of o)s(n);return i}assertDependencies(t){if(t.dependsOn.length===0)throw new Error(`BitStore: computed field \`${t.path}\` requires explicit computedDependsOn in v4.`);if(t.dependsOn.includes(t.path))throw new Error(`BitStore: computed field \`${t.path}\` cannot depend on itself.`)}};var H=class{dirtyPaths=new Set;dirtyPathIndex=new Set;dirtyPrefixRefCount=new Map;childrenByPrefix=new Map;updateForPath(t,e,i){this.removeDirtyChildren(t);let s=y(e,t),a=y(i,t);return F(s,a)?this.removeDirtyPath(t):this.addDirtyPath(t),this.dirtyPaths.size>0}rebuild(t,e){return this.dirtyPaths=Ft(t,e),this.dirtyPrefixRefCount.clear(),this.rebuildIndex(),this.dirtyPaths.size>0}clear(){this.dirtyPaths.clear(),this.dirtyPathIndex.clear(),this.dirtyPrefixRefCount.clear(),this.childrenByPrefix.clear()}get isDirty(){return this.dirtyPaths.size>0}getDirtyPaths(){return this.dirtyPaths}isPathDirty(t){if(this.dirtyPathIndex.has(t))return!0;let e=t.lastIndexOf(".");for(;e>-1;){let i=t.slice(0,e);if((this.dirtyPrefixRefCount.get(i)??0)>0)return!0;e=t.lastIndexOf(".",e-1)}return!1}buildDirtyValues(t){if(this.dirtyPaths.size===0)return{};let e={},i=new Set;for(let s of this.dirtyPaths){let a=s.match(/^(.+)\.\d+/);if(a){let o=a[1];if(i.has(o))continue;i.add(o);let n=y(t,o);e=T(e,o,n)}else{let o=y(t,s);e=T(e,s,o)}}return e}rebuildIndex(){let t=new Set,e=new Map,i=new Map;for(let s of this.dirtyPaths)this.forEachPathPrefix(s,a=>{t.add(a),e.set(a,(e.get(a)??0)+1)}),this.forEachAncestorPrefix(s,a=>{let o=i.get(a);o?o.add(s):i.set(a,new Set([s]))});this.dirtyPathIndex=t,this.dirtyPrefixRefCount=e,this.childrenByPrefix=i}removeDirtyChildren(t){let e=this.childrenByPrefix.get(t);if(!(!e||e.size===0))for(let i of[...e])this.removeDirtyPath(i)}addDirtyPath(t){this.dirtyPaths.has(t)||(this.dirtyPaths.add(t),this.forEachPathPrefix(t,e=>{this.dirtyPathIndex.add(e),this.dirtyPrefixRefCount.set(e,(this.dirtyPrefixRefCount.get(e)??0)+1)}),this.forEachAncestorPrefix(t,e=>{let i=this.childrenByPrefix.get(e);i?i.add(t):this.childrenByPrefix.set(e,new Set([t]))}))}removeDirtyPath(t){this.dirtyPaths.has(t)&&(this.dirtyPaths.delete(t),this.forEachPathPrefix(t,e=>{let i=(this.dirtyPrefixRefCount.get(e)??0)-1;if(i<=0){this.dirtyPrefixRefCount.delete(e),this.dirtyPathIndex.delete(e);return}this.dirtyPrefixRefCount.set(e,i)}),this.forEachAncestorPrefix(t,e=>{this.childrenByPrefix.get(e)?.delete(t)}))}forEachPathPrefix(t,e){let i=t.split("."),s="";for(let a of i)s=s?`${s}.${a}`:a,e(s)}forEachAncestorPrefix(t,e){let i=t.split("."),s="";for(let a=0;a<i.length-1;a++)s=s?`${s}.${i[a]}`:i[a],e(s)}};var q=class{masks=new Map;registerMask(t,e){this.masks.set(t,e)}unregisterMask(t){this.masks.has(t)&&this.masks.delete(t)}resolveMask(t){return this.masks.get(t)}getAllMasks(){return Object.fromEntries(this.masks.entries())}clear(){this.masks.clear()}};var z=class{fieldConfigs=new Map;scopeFieldsIndex=null;computedEntriesCache=null;normalizerEntriesCache=null;transformEntriesCache=null;get(t){return this.fieldConfigs.get(t)}set(t,e){this.fieldConfigs.set(t,e),this.registerCachedIndexes(t,e)}delete(t){let e=this.fieldConfigs.get(t);return this.fieldConfigs.delete(t),this.unregisterCachedIndexes(t,e),e}has(t){return this.fieldConfigs.has(t)}forEach(t){this.fieldConfigs.forEach((e,i)=>t(e,i))}entries(){return Array.from(this.fieldConfigs.entries())}getScopeFields(t){if(!this.scopeFieldsIndex){let e=new Map;this.forEach((i,s)=>{if(!i.scope)return;let a=e.get(i.scope)??new Set;a.add(s),e.set(i.scope,a)}),this.scopeFieldsIndex=e}return Array.from(this.scopeFieldsIndex.get(t)??[])}getComputedEntries(){if(!this.computedEntriesCache){let t=[];this.forEach((e,i)=>{e.computed&&t.push({path:i,compute:e.computed,dependsOn:e.computedDependsOn})}),this.computedEntriesCache=t}return this.computedEntriesCache}getTransformEntries(){if(!this.transformEntriesCache){let t=[];this.forEach((e,i)=>{e.transform&&t.push([i,e.transform])}),this.transformEntriesCache=t}return this.transformEntriesCache}getNormalizerEntries(){if(!this.normalizerEntriesCache){let t=[];this.forEach((e,i)=>{e.normalize&&t.push({path:i,normalize:e.normalize,dependsOn:e.normalizeDependsOn?.length?e.normalizeDependsOn:[i]})}),this.normalizerEntriesCache=t}return this.normalizerEntriesCache}invalidateIndexes(){this.scopeFieldsIndex=null,this.computedEntriesCache=null,this.normalizerEntriesCache=null,this.transformEntriesCache=null}registerCachedIndexes(t,e){if(this.scopeFieldsIndex&&e.scope){let i=this.scopeFieldsIndex.get(e.scope)??new Set;i.add(t),this.scopeFieldsIndex.set(e.scope,i)}this.computedEntriesCache&&e.computed&&this.computedEntriesCache.push({path:t,compute:e.computed,dependsOn:e.computedDependsOn}),this.normalizerEntriesCache&&e.normalize&&this.normalizerEntriesCache.push({path:t,normalize:e.normalize,dependsOn:e.normalizeDependsOn?.length?e.normalizeDependsOn:[t]}),this.transformEntriesCache&&e.transform&&this.transformEntriesCache.push([t,e.transform])}unregisterCachedIndexes(t,e){if(!e){this.invalidateIndexes();return}if(this.scopeFieldsIndex&&e.scope){let i=this.scopeFieldsIndex.get(e.scope);i&&(i.delete(t),i.size>0?this.scopeFieldsIndex.set(e.scope,i):this.scopeFieldsIndex.delete(e.scope))}this.computedEntriesCache&&e.computed&&(this.computedEntriesCache=this.computedEntriesCache.filter(i=>i.path!==t)),this.normalizerEntriesCache&&e.normalize&&(this.normalizerEntriesCache=this.normalizerEntriesCache.filter(i=>i.path!==t)),this.transformEntriesCache&&e.transform&&(this.transformEntriesCache=this.transformEntriesCache.filter(([i])=>i!==t))}};var U=class{constructor(t){this.getFieldConfig=t}dependencies=new Map;hiddenFields=new Set;conditionalVisibilityPaths=new Set;requiredPathsByDependency=new Map;requiredConditionalPaths=new Set;requiredEvaluationVersion=0;requiredEvaluationCache=new Map;getHiddenFields(){return this.hiddenFields}onRegister(t,e,i){e.conditional?.showIf&&this.conditionalVisibilityPaths.add(t);let s=e.conditional?.dependsOn;s&&s.forEach(a=>{this.dependencies.has(a)||this.dependencies.set(a,new Set),this.dependencies.get(a).add(t)}),s&&e.conditional?.requiredIf&&(this.requiredConditionalPaths.add(t),s.forEach(a=>{this.requiredPathsByDependency.has(a)||this.requiredPathsByDependency.set(a,new Set),this.requiredPathsByDependency.get(a).add(t)})),this.requiredEvaluationVersion+=1,this.requiredEvaluationCache.clear(),this.evaluateFieldCondition(t,i)}onUnregister(t,e){this.hiddenFields.delete(t),this.conditionalVisibilityPaths.delete(t),this.dependencies.delete(t),this.requiredEvaluationVersion+=1,this.requiredEvaluationCache.clear(),this.requiredConditionalPaths.delete(t),e?.conditional?.dependsOn?.forEach(i=>{let s=this.requiredPathsByDependency.get(i);s&&(s.delete(t),s.size===0&&this.requiredPathsByDependency.delete(i))}),this.dependencies.forEach(i=>{i.delete(t)})}isHidden(t){return this.hiddenFields.has(t)}hasDependents(t){return(this.dependencies.get(t)?.size??0)>0}isRequired(t,e){let i=this.getFieldConfig(t);if(!i||this.isHidden(t)||!i.conditional?.requiredIf)return!1;let s=this.requiredEvaluationCache.get(t);if(s&&s.version===this.requiredEvaluationVersion&&s.valuesRef===e)return s.result;let a=!!i.conditional.requiredIf(e);return this.requiredEvaluationCache.set(t,{version:this.requiredEvaluationVersion,valuesRef:e,result:a}),a}getRequiredErrors(t){let e={};return this.requiredConditionalPaths.forEach(i=>{let s=this.getFieldConfig(i);if(s&&this.isRequired(i,t)){let a=y(t,i);this.isEmpty(a)&&(e[i]=s.conditional?.requiredMessage??"required field")}}),e}evaluateAll(t){this.conditionalVisibilityPaths.forEach(e=>{this.evaluateFieldCondition(e,t)})}updateDependencies(t,e,i){let s=new Set,a=new Set,o=new Set,n=[t],d=new Set;for(;n.length>0;){let p=n.shift();if(d.has(p))continue;d.add(p);let l=this.dependencies.get(p);l&&l.forEach(c=>{s.add(c);let u=this.isHidden(c),h=this.isRequired(c,e);this.evaluateFieldCondition(c,i);let S=this.isHidden(c),B=this.isRequired(c,i);u!==S&&a.add(c),h!==B&&o.add(c),n.push(c)})}return{affectedFields:Array.from(s),visibilityChanged:Array.from(a),requiredChanged:Array.from(o)}}evaluateFieldCondition(t,e){let s=this.getFieldConfig(t)?.conditional?.showIf;s&&(s(e)?this.hiddenFields.delete(t):this.hiddenFields.add(t))}isEmpty(t){return t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0}};function Ye(r){return r.replace(/\.+$/g,"")}function E(r){return Ye(r.trim())}function v(r,t){let e=E(t);return e.length===0?!1:r===e||r.startsWith(`${e}.`)}function bt(r,t){return E(t===void 0?r:`${r}.${t}`)}var N=class{catalog=new z;conditions=new U(t=>this.catalog.get(t));getFieldConfig(t){return this.catalog.get(t)}forEachFieldConfig(t){this.catalog.forEach((e,i)=>t(e,i))}hasFieldConfig(t){return this.catalog.has(t)}getHiddenFields(){return this.conditions.getHiddenFields()}register(t,e,i){this.catalog.set(t,e),this.conditions.onRegister(t,e,i)}unregister(t){let e=this.catalog.delete(t);this.conditions.onUnregister(t,e)}unregisterPrefix(t){let e=[],i=E(t);return i.length===0||(this.catalog.forEach((s,a)=>{v(a,i)&&e.push([a,s])}),e.forEach(([s,a])=>{this.catalog.delete(s),this.conditions.onUnregister(s,a)})),e}isHidden(t){return this.conditions.isHidden(t)}hasDependents(t){return this.conditions.hasDependents(t)}isRequired(t,e){return this.conditions.isRequired(t,e)}getRequiredErrors(t){return this.conditions.getRequiredErrors(t)}evaluateAll(t){this.conditions.evaluateAll(t)}updateDependencies(t,e,i){return this.conditions.updateDependencies(t,e,i)}getScopeFields(t){return this.catalog.getScopeFields(t)}getComputedEntries(){return this.catalog.getComputedEntries()}getTransformEntries(){return this.catalog.getTransformEntries()}getNormalizerEntries(){return this.catalog.getNormalizerEntries()}invalidateIndexes(){this.catalog.invalidateIndexes()}};function Xe(){return`bit-form-${Math.random().toString(36).slice(2,9)}`}function Ze(r){typeof console<"u"&&typeof console.error=="function"&&console.error(r)}function Mt(r={}){let t=r.initialValues??{},e=r.validation,i=r.history,s=r.name?`bit-form:${r.name}:draft`:"bit-form:draft",a=r.onUnhandledError??Ze,o=r.persist?.onError,n={enabled:r.persist?.enabled??!1,key:r.persist?.key??s,storage:r.persist?.storage,autoSave:r.persist?.autoSave??!0,debounceMs:r.persist?.debounceMs??300,mode:r.persist?.mode??"values",serialize:r.persist?.serialize??JSON.stringify,deserialize:r.persist?.deserialize??(d=>JSON.parse(d)),onError:d=>{o?.(d),a(d,"persist")}};return{name:r.name,initialValues:g(t),resolver:e?.resolver,validationDelay:e?.delay??300,history:{enabled:i?.enabled??!1,limit:i?.limit??50},masks:r.masks,fields:r.fields,devTools:r.devTools,persist:n,idFactory:r.idFactory??Xe,plugins:r.plugins??[],scheduler:r.scheduler,subscriptionCacheSize:r.subscriptionCacheSize,bus:r.bus,onUnhandledError:a}}function Qe(){if(typeof globalThis>"u")return;let r=globalThis.localStorage;if(r)return{getItem:t=>r.getItem(t),setItem:(t,e)=>r.setItem(t,e),removeItem:t=>r.removeItem(t)}}var _=class{constructor(t,e,i,s){this.config=t;this.getValues=e;this.getDirtyValues=i;this.applyRestoredValues=s}timer;getStorage(){return this.config.storage||Qe()}canPersist(){return!!(this.config.enabled&&this.config.key&&this.getStorage())}handleError(t){this.config.onError?.(t)}async saveNow(){if(!this.canPersist())return;let t=this.getStorage();if(t)try{let e=this.config.mode==="dirtyValues"?this.getDirtyValues():this.getValues(),i=this.config.serialize(e);await t.setItem(this.config.key,i)}catch(e){this.handleError(e)}}queueSave(){!this.canPersist()||!this.config.autoSave||(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.saveNow()},this.config.debounceMs))}async restore(){if(!this.canPersist())return!1;let t=this.getStorage();if(!t)return!1;try{let e=await t.getItem(this.config.key);if(!e)return!1;let i=this.config.deserialize(e);return!i||typeof i!="object"?!1:(this.applyRestoredValues(i),!0)}catch(e){return this.handleError(e),!1}}async clear(){if(!this.canPersist())return;let t=this.getStorage();if(t)try{await t.removeItem(this.config.key)}catch(e){this.handleError(e)}}destroy(){this.timer&&(clearTimeout(this.timer),this.timer=void 0)}};var L=class{constructor(t,e){this.plugins=t;this.contextFactory=e}teardownFns=[];notifyingError=!1;cachedContext=null;setupAll(){let t=this.getContext();this.plugins.forEach(e=>{if(e.setup)try{let i=e.setup(t);typeof i=="function"&&this.teardownFns.push(i)}catch(i){this.reportError("setup",i,void 0,e.name)}})}async beforeValidate(t){await this.emitHook("beforeValidate",t)}async afterValidate(t){await this.emitHook("afterValidate",t)}async beforeSubmit(t){await this.emitHook("beforeSubmit",t)}async afterSubmit(t){await this.emitHook("afterSubmit",t)}onFieldChange(t){let e=this.getContext();this.plugins.forEach(i=>{let s=i.hooks?.onFieldChange;if(s)try{let a=s(t,e);Promise.resolve(a).catch(o=>{this.reportError("onFieldChange",o,t,i.name)})}catch(a){this.reportError("onFieldChange",a,t,i.name)}})}async reportError(t,e,i,s){if(this.notifyingError)return;this.notifyingError=!0;let a=this.getContext(),o={source:t,pluginName:s,error:e,event:i,values:a.getState().values,state:a.getState()};for(let n of this.plugins){let d=n.hooks?.onError;if(d)try{await d(o,a)}catch{}}this.notifyingError=!1}destroy(){for(let t=this.teardownFns.length-1;t>=0;t-=1){let e=this.teardownFns[t];try{e()}catch(i){this.reportError("teardown",i)}}this.teardownFns=[],this.cachedContext=null}async emitHook(t,e){let i=this.getContext();for(let s of this.plugins){let a=s.hooks?.[t];if(a)try{await a(e,i)}catch(o){await this.reportError(t,o,e,s.name)}}}getContext(){return this.cachedContext||(this.cachedContext=this.contextFactory()),this.cachedContext}};var W=class{constructor(t){this.persistManager=t}onStateUpdated(t,e){e&&this.persistManager.queueSave()}restorePersisted(){return this.persistManager.restore()}savePersistedNow(){return this.persistManager.saveNow()}clearPersisted(){return this.persistManager.clear()}destroy(){this.persistManager.destroy()}};var K=class{constructor(t){this.pluginManager=t}initialize(){this.pluginManager.setupAll()}beforeValidate(t){return this.pluginManager.beforeValidate(t)}afterValidate(t){return this.pluginManager.afterValidate(t)}beforeSubmit(t){return this.pluginManager.beforeSubmit(t)}afterSubmit(t){return this.pluginManager.afterSubmit(t)}onFieldChange(t){this.pluginManager.onFieldChange(t)}reportOperationalError(t){return this.pluginManager.reportError(t.source,t.error,t.payload)}destroy(){this.pluginManager.destroy()}};var $=class{constructor(t,e,i,s=!0){this.storeId=t;this.storeBusPort=e;this.bus=i;this.enableBusDispatch=s}initialize(){this.enableBusDispatch&&(this.bus.stores[this.storeId]=this.storeBusPort)}onStateUpdated(t){this.enableBusDispatch&&this.bus.dispatch(this.storeId,t)}destroy(){this.enableBusDispatch&&delete this.bus.stores[this.storeId]}};var J=class{persistEffects;pluginEffects;busEffects;constructor(t,e,i,s,a,o=!0){this.persistEffects=new W(s),this.pluginEffects=new K(a),this.busEffects=new $(t,e,i,o)}initialize(){this.pluginEffects.initialize(),this.busEffects.initialize()}onStateUpdated(t,e){this.persistEffects.onStateUpdated(t,e),this.busEffects.onStateUpdated(t)}restorePersisted(){return this.persistEffects.restorePersisted()}savePersistedNow(){return this.persistEffects.savePersistedNow()}clearPersisted(){return this.persistEffects.clearPersisted()}beforeValidate(t){return this.pluginEffects.beforeValidate(t)}afterValidate(t){return this.pluginEffects.afterValidate(t)}beforeSubmit(t){return this.pluginEffects.beforeSubmit(t)}afterSubmit(t){return this.pluginEffects.afterSubmit(t)}onFieldChange(t){this.pluginEffects.onFieldChange(t)}reportOperationalError(t){return this.pluginEffects.reportOperationalError(t)}destroy(){this.persistEffects.destroy(),this.pluginEffects.destroy(),this.busEffects.destroy()}};var Bt=typeof globalThis<"u"?globalThis:typeof global<"u"?global:window;Bt.__BIT_FORM__||(Bt.__BIT_FORM__={stores:{},listeners:new Set,dispatch(r,t){this.listeners.forEach(e=>e(r,t))},subscribe(r){return this.listeners.add(r),()=>{this.listeners.delete(r)}}});var Tt=Bt.__BIT_FORM__,ti={stores:{},listeners:new Set,dispatch:()=>{},subscribe:()=>()=>{}};function kt(){return ti}function ei(){let r=new Set;return{stores:{},listeners:r,dispatch(t,e){r.forEach(i=>i(t,e))},subscribe(t){return r.add(t),()=>r.delete(t)}}}function ii(r){return r.bus?!0:typeof r.devTools=="boolean"?r.devTools:r.devTools&&typeof r.devTools=="object"?r.devTools.enabled!==!1:!1}function It(r){let{storeId:t,storeBusPort:e,config:i,getState:s,getConfig:a,getValues:o,getDirtyValues:n,applyPersistedValues:d}=r,p=new _(i.persist,o,n,d),l=new L([...i.plugins],()=>({storeId:t,getState:()=>s(),getConfig:()=>a()})),c=ii(i),u=c?i.bus??Tt:kt(),h=new J(t,e,u,p,l,c);return h.initialize(),h}function Ot(r){let{state:t,path:e}=r,i={...t.errors},s={...t.touched},a=!1;return i[e]&&(delete i[e],a=!0),s[e]&&(delete s[e],a=!0),a?{errors:i,touched:s}:null}function f(r,t,e){return{kind:"state.patch",partialState:r,changedPaths:t,skipComputed:e?.skipComputed}}function vt(r){return{kind:"field.touchMany",paths:r}}function P(r){return{kind:"form.persistMeta",patch:r}}function w(r,t){return{kind:"validation.commit",errors:r,isValid:t}}function jt(r){let{path:t,config:e,state:i,fieldRegistry:s,subscriptions:a,stateReader:o,invalidateFieldIndexes:n}=r;s.register(t,e,i.values),n(),a.invalidatePathExpansionCache(t),o.invalidatePath(t),e.scope&&a.notify(i,[V(e.scope)]),s.isHidden(t)&&a.notify(i,[t])}function Ht(r){let{path:t,state:e,hasStaticConfig:i,fieldRegistry:s,subscriptions:a,validationCleanupField:o,invalidateFieldIndexes:n,dispatch:d}=r;if(i)return;let p=s.getFieldConfig(t);o(t),s.unregister(t),n(),a.invalidatePathExpansionCache(t),p?.scope&&a.notify(e,[V(p.scope)]);let l=Ot({state:e,path:t});l&&d(f({errors:l.errors,touched:l.touched}))}function G(r){let{prefix:t,state:e,fieldRegistry:i,subscriptions:s,validationCleanupPrefix:a,invalidateFieldIndexes:o}=r;a(t);let n=i.unregisterPrefix(t);o(),s.invalidatePathExpansionCache(t),new Set(n.map(([,p])=>p.scope).filter(p=>!!p)).forEach(p=>{s.notify(e,[V(p)])})}async function qt(r){let{dispatch:t,effects:e}=r;t(P({isRestoring:!0,error:null}));try{return await e.restorePersisted()}catch(i){return t(P({isRestoring:!1,error:i instanceof Error?i:new Error(String(i))})),!1}finally{t(P({isRestoring:!1}))}}async function zt(r){let{dispatch:t,effects:e}=r;t(P({isSaving:!0,error:null}));try{await e.savePersistedNow()}catch(i){t(P({isSaving:!1,error:i instanceof Error?i:new Error(String(i))}));return}t(P({isSaving:!1}))}async function Ut(r){let{dispatch:t,effects:e}=r;t(P({error:null}));try{await e.clearPersisted()}catch(i){t(P({error:i instanceof Error?i:new Error(String(i))}))}}function Nt(r){let{values:t,state:e,initialValues:i,validation:s,fieldRegistry:a,dirtyManager:o,dispatch:n,saveHistorySnapshot:d}=r,p=g(I(i,t));s.cancelAll(),a.evaluateAll(p);let l=o.rebuild(p,i);n(f({values:p,errors:{},touched:{},isValidating:{},persist:{...e.persist,error:null},isValid:!0,isDirty:l,isSubmitting:!1})),d(),s.validate()}var Y=class{constructor(t,e=500){this.getState=t;this.MAX_PATH_EXPANSION_CACHE_SIZE=e}listeners=new Set;pathScopedSubscriptions=new Map;pathSelectorIndex=new Map;pathExpansionCache=new Map;expandedPathCache=this.pathExpansionCache;changedPathLookupCache=this.pathExpansionCache;subscriptionSeenVersion=new Map;notifyVersion=0;MAX_PATH_EXPANSION_CACHE_SIZE;subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}subscribeSelector(t,e,i,s){let a=t(this.getState()),o={notify:d=>{let p=t(d);s(a,p)||(a=p,e(p))}},n=this.normalizeSubscriptionPaths(i?.paths);if(n.length===0)throw new Error("BitStore: subscribeSelector requires explicit `paths`.");return this.pathScopedSubscriptions.set(o,n),n.forEach(d=>{this.forEachIndexPath(d,p=>{let l=this.pathSelectorIndex.get(p)??new Set;l.add(o),this.pathSelectorIndex.set(p,l)})}),i?.emitImmediately&&e(a),()=>{this.subscriptionSeenVersion.delete(o);let d=this.pathScopedSubscriptions.get(o);d&&(d.forEach(p=>{this.forEachIndexPath(p,l=>{let c=this.pathSelectorIndex.get(l);c&&(c.delete(o),c.size===0&&this.pathSelectorIndex.delete(l))})}),this.pathScopedSubscriptions.delete(o))}}notify(t,e){if(this.listeners.forEach(a=>a()),this.pathScopedSubscriptions.size===0)return;let i=e?this.normalizeSubscriptionPaths(Array.from(e)):[];if(i.length===0||i.includes("*")){this.pathScopedSubscriptions.forEach((a,o)=>{o.notify(t)});return}this.collectSubscribersForChangedPaths(i).forEach(a=>{a.notify(t)})}destroy(){this.listeners.clear(),this.pathScopedSubscriptions.clear(),this.pathSelectorIndex.clear(),this.pathExpansionCache.clear(),this.subscriptionSeenVersion.clear()}invalidatePathExpansionCache(t){if(!t){this.pathExpansionCache.clear();return}let e=E(t);if(e.length===0){this.pathExpansionCache.clear();return}for(let i of this.pathExpansionCache.keys())(v(i,e)||v(e,i))&&this.pathExpansionCache.delete(i)}normalizeSubscriptionPaths(t){if(!t||t.length===0)return[];let e=new Set,i=[];for(let s of t){let a=s.trim();a.length===0||e.has(a)||(e.add(a),i.push(a))}return i}collectSubscribersForChangedPaths(t){let e=[],i=++this.notifyVersion,s=a=>{let o=this.pathSelectorIndex.get(a);o&&o.forEach(n=>{(this.subscriptionSeenVersion.get(n)??0)>=i||(this.subscriptionSeenVersion.set(n,i),e.push(n))})};return t.forEach(a=>{this.forEachLookupPath(a,s)}),e}expandChangedPathForLookup(t){return this.expandPathGeneric(t)}expandPathForIndexing(t){return this.expandPathGeneric(t)}forEachIndexPath(t,e){if(!this.isSimplePath(t)){this.expandPathForIndexing(t).forEach(e);return}let i=t.split("."),s="";for(let a=0;a<i.length;a+=1)s=s?`${s}.${i[a]}`:i[a],e(s)}forEachLookupPath(t,e){if(!this.isSimplePath(t)){this.expandChangedPathForLookup(t).forEach(e);return}e(t);let i=t.lastIndexOf(".");for(;i>-1;)e(t.slice(0,i)),i=t.lastIndexOf(".",i-1)}isSimplePath(t){return!t.includes("*")&&!t.includes("[")&&!t.includes("]")}expandPathGeneric(t){let e=this.pathExpansionCache.get(t);if(e)return e;let i=t.split("."),s=[];for(let a=1;a<=i.length;a++)s.push(i.slice(0,a).join("."));return this.setBoundedCacheEntry(this.pathExpansionCache,t,s,this.MAX_PATH_EXPANSION_CACHE_SIZE),s}setBoundedCacheEntry(t,e,i,s){if(t.size>=s){let a=t.keys().next().value;a!==void 0&&t.delete(a)}t.set(e,i)}};var D=class{constructor(t){this.steps=t}async run(t){for(let e of this.steps){if(t.halted)break;await e.run(t)}}},X=class{constructor(t){this.steps=t}run(t){for(let e of this.steps){if(t.halted)break;let i=e.run(t);i!=null&&typeof i.then=="function"&&typeof process<"u"&&process.env?.NODE_ENV!=="production"&&console.warn(`BitSyncPipelineRunner: step "${e.name}" returned a Promise and will not be awaited.`)}}};function x(r){for(let t in r)return!0;return!1}function _t(r){let{targetFields:t,currentErrors:e,allErrors:i,asyncErrors:s}=r;if(t&&t.length>0){let o={...e};t.forEach(d=>{i[d]?o[d]=i[d]:s.has(d)?o[d]=s.get(d):delete o[d]});let n=t.every(d=>!i[d]&&!s.has(d));return{committedErrors:o,result:n,mode:"scoped"}}return{committedErrors:{...Object.fromEntries(s.entries()),...i},result:void 0,mode:"global"}}function Lt(r){let{targetFields:t,hiddenFields:e,getFieldConfig:i,forEachFieldConfig:s}=r,a=[];if(t&&t.length>0){for(let o of t){if(e.has(o))continue;i(o)?.validation?.asyncValidate&&a.push(o)}return a}return s&&s((o,n)=>{!o.validation?.asyncValidate||e.has(n)||a.push(n)}),a}async function Wt(r){let{path:t,values:e,validationId:i,currentValidationId:s,getFieldConfig:a,cancelFieldAsync:o,createAbortController:n,setAbortController:d,clearAbortController:p,setFieldValidating:l,setAsyncError:c,clearAsyncError:u}=r,h=a(t)?.validation?.asyncValidate;if(!h){u(t);return}o(t);let S=n();d(t,S),l(t,!0);try{let B=await h(y(e,t),e);if(S.signal.aborted||i!==s)return;B?c(t,B):u(t)}finally{!S.signal.aborted&&i===s&&l(t,!1),p(t)}}var Z=class{constructor(t){this.port=t}cancelSchedulerTimeout;abortControllers=new Map;pendingJobs=new Map;handle(t,e,i,s){if(!i){this.cancel(t),this.port.setFieldValidating(t,!1);return}this.cancel(t),this.port.setFieldValidating(t,!0);let a=new AbortController;this.abortControllers.set(t,a),this.pendingJobs.set(t,{value:e,dueAt:Date.now()+s,validate:i,controller:a}),this.schedulePendingJobs()}cancel(t){this.pendingJobs.has(t)&&(this.pendingJobs.delete(t),this.schedulePendingJobs());let e=this.abortControllers.get(t);e&&(e.abort(),this.abortControllers.delete(t))}cleanupPrefix(t){for(let e of this.pendingJobs.keys())v(e,t)&&(this.cancel(e),this.port.clearAsyncError(e),this.port.setFieldValidating(e,!1))}cancelAll(){this.cancelSchedulerTimeout&&(this.cancelSchedulerTimeout(),this.cancelSchedulerTimeout=void 0),this.pendingJobs.clear(),this.abortControllers.forEach(t=>t.abort()),this.abortControllers.clear()}schedulePendingJobs(){this.cancelSchedulerTimeout&&(this.cancelSchedulerTimeout(),this.cancelSchedulerTimeout=void 0);let t=Number.POSITIVE_INFINITY;for(let e of this.pendingJobs.values())e.dueAt<t&&(t=e.dueAt);Number.isFinite(t)&&(this.cancelSchedulerTimeout=this.port.schedule(()=>{this.cancelSchedulerTimeout=void 0,this.flushPendingJobs()},Math.max(0,t-Date.now())))}async flushPendingJobs(){this.cancelSchedulerTimeout=void 0;let t=Date.now(),e=Array.from(this.pendingJobs.entries()).filter(([,i])=>i.dueAt<=t);if(e.length===0){this.schedulePendingJobs();return}e.forEach(([i])=>{this.pendingJobs.delete(i)}),await Promise.all(e.map(([i,s])=>this.runJob(i,s))),this.schedulePendingJobs()}async runJob(t,e){if(!e.controller.signal.aborted)try{let i=await e.validate(e.value,this.port.getValues());if(e.controller.signal.aborted)return;i?this.port.setAsyncError(t,i):(this.port.clearAsyncError(t),await this.port.onValidationPassed(t))}finally{e.controller.signal.aborted||this.port.setFieldValidating(t,!1),this.abortControllers.delete(t)}}};var Q=class{constructor(t){this.port=t}cancelTimeout;pendingScopeFields=null;trigger(t,e){this.cancelTimeout&&(this.cancelTimeout(),this.cancelTimeout=void 0);let i=this.port.validationDelay??300,s=e?.forceDebounce?Math.max(1,i):i;if(s>0){if(t&&t.length>0)if(!this.pendingScopeFields)this.pendingScopeFields=new Set(t);else for(let o of t)this.pendingScopeFields.add(o);else this.pendingScopeFields=null;let a=this.pendingScopeFields?Array.from(this.pendingScopeFields):void 0;this.cancelTimeout=this.port.schedule(()=>{this.pendingScopeFields=null,this.cancelTimeout=void 0,this.port.validate({scopeFields:a})},s)}else this.pendingScopeFields=null,this.port.validate({scopeFields:t})}cancelPending(){this.cancelTimeout&&(this.cancelTimeout(),this.cancelTimeout=void 0),this.pendingScopeFields=null}};function Kt(r){let{ctx:t,deps:e}=r;if(t.options?.scope){let i=e.store.getScopeFields(t.options.scope);i.length>0&&(t.targetFields=i)}}async function $t(r){let{ctx:t,deps:e}=r;await e.store.emitBeforeValidate({values:t.currentState.values,state:t.currentState,scope:t.options?.scope,scopeFields:t.targetFields})}async function Jt(r){let{ctx:t,deps:e}=r,i=e.store.config.resolver?await e.store.config.resolver(t.currentState.values,{scopeFields:t.targetFields}):{},s=e.store.getRequiredErrors(t.currentState.values);t.allErrors={...i,...s},e.store.getHiddenFields().forEach(a=>{delete t.allErrors[a],e.asyncErrors.delete(a)})}async function Gt(r){let{ctx:t,deps:e}=r,i=Lt({targetFields:t.targetFields,hiddenFields:e.store.getHiddenFields(),getFieldConfig:s=>e.store.getFieldConfig(s),forEachFieldConfig:e.store.forEachFieldConfig});i.length!==0&&await Promise.all(i.map(s=>e.runImmediateAsyncValidation(s,t.currentState.values,t.validationId)))}function Yt(r){let{ctx:t,deps:e}=r,i=_t({targetFields:t.targetFields,currentErrors:t.currentState.errors,allErrors:t.allErrors,asyncErrors:e.asyncErrors});t.committedErrors=i.committedErrors,t.isValid=!x(i.committedErrors),t.result=i.mode==="scoped"?i.result:t.isValid}async function Pt(r){let{ctx:t,deps:e}=r;t.validationId!==e.getCurrentValidationId()&&(t.aborted=!0,t.result=t.currentState.isValid,t.halted=!0)}async function Xt(r){let{ctx:t,deps:e}=r;e.store.dispatch(w(t.committedErrors,t.isValid)),await e.store.emitAfterValidate({values:e.store.getState().values,state:e.store.getState(),scope:t.options?.scope,scopeFields:t.targetFields,errors:t.committedErrors,result:t.result}),t.halted=!0}async function Zt(r){let{scopeFields:t,store:e,asyncErrors:i}=r,s=e.getState(),a=e.config.resolver?await e.config.resolver(s.values,{scopeFields:t}):{},o=e.getRequiredErrors(s.values),n={...a,...o};e.getHiddenFields().forEach(p=>{delete n[p],i.delete(p)});let d={...s.errors};t.forEach(p=>{n[p]?d[p]=n[p]:i.has(p)?d[p]=i.get(p):delete d[p]}),e.dispatch(w(d,!x(d)))}var tt=class{currentValidationId=0;immediateAbortControllers=new Map;beginValidation(){return this.currentValidationId+=1,this.currentValidationId}getCurrentValidationId(){return this.currentValidationId}isValidationCurrent(t){return t===this.currentValidationId}setImmediateController(t,e){this.immediateAbortControllers.set(t,e)}clearImmediateController(t){this.immediateAbortControllers.delete(t)}cancelImmediate(t){let e=this.immediateAbortControllers.get(t);e&&(e.abort(),this.immediateAbortControllers.delete(t))}cancelImmediatePrefix(t,e){for(let i of this.immediateAbortControllers.keys())v(i,t)&&(this.cancelImmediate(i),e(i))}cancelAllImmediate(){this.immediateAbortControllers.forEach(t=>{t.abort()}),this.immediateAbortControllers.clear()}};var et=class{constructor(t){this.store=t;this.schedule=t.config.scheduler?.schedule??((i,s)=>{let a=setTimeout(i,s);return()=>clearTimeout(a)}),this.debouncer=new Q({schedule:(i,s)=>this.schedule(i,s),validate:i=>this.validate(i),validationDelay:t.config.validationDelay??300}),this.asyncScheduler=new Z({schedule:(i,s)=>this.schedule(i,s),getValues:()=>this.store.getState().values,setFieldValidating:(i,s)=>this.updateFieldValidating(i,s),setAsyncError:(i,s)=>{this.asyncErrors.set(i,s),this.store.setError(i,s)},clearAsyncError:i=>{this.asyncErrors.delete(i)},onValidationPassed:async i=>{await Zt({scopeFields:[i],store:this.store,asyncErrors:this.asyncErrors})}});let e={store:this.store,asyncErrors:this.asyncErrors,getCurrentValidationId:()=>this.coordinator.getCurrentValidationId(),runImmediateAsyncValidation:(i,s,a)=>this.runImmediateAsyncValidation(i,s,a)};this.validationPipeline=new D([{name:"validate:resolve-target-fields",run:i=>Kt({ctx:i,deps:e})},{name:"validate:before-hooks",run:async i=>$t({ctx:i,deps:e})},{name:"validate:sync-track",run:async i=>Jt({ctx:i,deps:e})},{name:"validate:abort-check-pre-async",run:async i=>Pt({ctx:i,deps:e})},{name:"validate:async-track",run:async i=>Gt({ctx:i,deps:e})},{name:"validate:abort-check",run:async i=>Pt({ctx:i,deps:e})},{name:"validate:async-track-merge",run:i=>Yt({ctx:i,deps:e})},{name:"validate:commit",run:async i=>Xt({ctx:i,deps:e})}])}validatingCount=0;asyncErrors=new Map;coordinator=new tt;validationPipeline;schedule;asyncScheduler;debouncer;updateFieldValidating(t,e){let i=this.store.getState();if(!!i.isValidating[t]===e)return;let a={...i.isValidating};e?(a[t]=!0,this.validatingCount+=1):(delete a[t],this.validatingCount=Math.max(0,this.validatingCount-1)),this.store.dispatch(f({isValidating:a}))}cancelFieldAsync(t){this.asyncScheduler.cancel(t),this.coordinator.cancelImmediate(t)}cleanupField(t){this.cancelFieldAsync(t),this.asyncErrors.delete(t),this.updateFieldValidating(t,!1)}cleanupPrefix(t){this.asyncScheduler.cleanupPrefix(t),this.coordinator.cancelImmediatePrefix(t,e=>{this.asyncErrors.delete(e),this.updateFieldValidating(e,!1)})}beginExternalValidation(t){this.cancelFieldAsync(t),this.updateFieldValidating(t,!0)}endExternalValidation(t){this.updateFieldValidating(t,!1)}async setExternalError(t,e){if(e){this.asyncErrors.set(t,e),this.store.setError(t,e);return}if(this.asyncErrors.delete(t),this.store.validate){await this.store.validate({scopeFields:[t]});return}let i={...this.store.getState().errors};delete i[t],this.store.dispatch(w(i,!x(i)))}handleAsync(t,e){let i=this.store.getFieldConfig(t),s=i?.validation?.asyncValidate,a=i?.validation?.asyncValidateOn??"blur";if(!s||a!=="change"){this.cancelFieldAsync(t),this.updateFieldValidating(t,!1);return}let o=i.validation?.asyncValidateDelay??500;this.asyncScheduler.handle(t,e,s,o)}hasValidationsInProgress(t){let e=this.store.getState();return t&&t.length>0?t.some(i=>!!e.isValidating[i]):this.validatingCount>0}trigger(t,e){this.debouncer.trigger(t,e)}async validate(t){try{t?.scopeFields?.length&&t.scopeFields.forEach(i=>this.cancelFieldAsync(i));let e={options:t,validationId:this.coordinator.beginValidation(),currentState:this.store.getState(),targetFields:t?.scopeFields,allErrors:{},committedErrors:{},isValid:!0,result:!0,aborted:!1};return await this.validationPipeline.run(e),e.aborted&&await this.store.emitAfterValidate({values:this.store.getState().values,state:this.store.getState(),scope:e.options?.scope,scopeFields:e.targetFields,errors:this.store.getState().errors,result:e.currentState.isValid,aborted:!0}),e.result}catch(e){return this.store.config.onUnhandledError(e,"validation"),!1}}clear(t){this.cancelFieldAsync(t),this.updateFieldValidating(t,!1),this.asyncErrors.delete(t)}cancelAll(){this.validatingCount=0,this.debouncer.cancelPending(),this.asyncScheduler.cancelAll(),this.asyncErrors.clear(),this.coordinator.cancelAllImmediate(),this.store.dispatch(f({isValidating:{}}))}async runImmediateAsyncValidation(t,e,i){await Wt({path:t,values:e,validationId:i,currentValidationId:this.coordinator.getCurrentValidationId(),getFieldConfig:s=>this.store.getFieldConfig(s),cancelFieldAsync:s=>this.cancelFieldAsync(s),createAbortController:()=>new AbortController,setAbortController:(s,a)=>{this.coordinator.setImmediateController(s,a)},clearAbortController:s=>{this.coordinator.clearImmediateController(s)},setFieldValidating:(s,a)=>this.updateFieldValidating(s,a),setAsyncError:(s,a)=>{this.asyncErrors.set(s,a)},clearAsyncError:s=>{this.asyncErrors.delete(s)}})}};function xt(r,t,e){if(!Object.prototype.hasOwnProperty.call(r,t))return[r,e];let s=r,a=e;return a||(s={...r},a=!0),delete s[t],[s,a]}var it=class{constructor(t){this.store=t;this.fieldUpdatePipeline=new X([{name:"field:clear-current-error",run:e=>this.clearCurrentError(e)},{name:"field:update-dependencies",run:e=>this.updateDependencies(e)},{name:"field:update-dirty",run:e=>this.updateDirtyState(e)},{name:"field:commit-state",run:e=>this.commitFieldState(e)},{name:"field:emit-change",run:e=>this.emitFieldChange(e)},{name:"field:trigger-validate",run:e=>this.triggerResolverValidation(e)},{name:"field:trigger-async-validate",run:e=>this.triggerAsyncValidation(e)}])}fieldUpdatePipeline;updateField(t,e,i={origin:"setField"}){let s=this.store.getState(),a={path:t,value:e,meta:i,previousValue:y(s.values,t),nextValues:T(s.values,t,e),nextErrors:s.errors,hasMutatedErrors:!1,dependencyDiff:{affectedFields:[],visibilityChanged:[],requiredChanged:[]},isDirty:!1};this.fieldUpdatePipeline.run(a)}clearCurrentError(t){[t.nextErrors,t.hasMutatedErrors]=xt(t.nextErrors,t.path,t.hasMutatedErrors),this.store.clearFieldValidation(t.path)}updateDependencies(t){if(typeof this.store.hasDependentFields=="function"&&!this.store.hasDependentFields(t.path)){t.dependencyDiff.affectedFields.length=0,t.dependencyDiff.visibilityChanged.length=0,t.dependencyDiff.requiredChanged.length=0;return}t.dependencyDiff=this.store.updateDependencies(t.path,this.store.getState().values,t.nextValues),new Set([...t.dependencyDiff.visibilityChanged,...t.dependencyDiff.requiredChanged]).forEach(i=>{[t.nextErrors,t.hasMutatedErrors]=xt(t.nextErrors,i,t.hasMutatedErrors),this.store.clearFieldValidation(i)})}updateDirtyState(t){t.isDirty=this.store.updateDirtyForPath(t.path,t.nextValues,this.store.getBaselineValues())}commitFieldState(t){let e=Array.from(new Set([t.path,...t.dependencyDiff.visibilityChanged,...t.dependencyDiff.requiredChanged]));this.store.dispatch(f({values:t.nextValues,errors:t.nextErrors,isDirty:t.isDirty},e))}emitFieldChange(t){this.store.emitFieldChange({path:t.path,previousValue:t.previousValue,nextValue:t.value,values:this.store.getState().values,state:this.store.getState(),meta:t.meta})}triggerResolverValidation(t){let e=Array.from(new Set([t.path,...t.dependencyDiff.visibilityChanged,...t.dependencyDiff.requiredChanged]));(this.store.config.resolver||t.dependencyDiff.visibilityChanged.length>0||t.dependencyDiff.requiredChanged.length>0)&&this.store.triggerValidation(e)}triggerAsyncValidation(t){(typeof this.store.getFieldConfig=="function"?this.store.getFieldConfig(t.path)?.validation?.asyncValidateOn:void 0)==="change"&&this.store.handleFieldAsyncValidation(t.path,t.value)}};var rt=class{constructor(t){this.store=t}collectChangedPaths(t,e=""){let i=[];return Object.entries(t).forEach(([s,a])=>{let o=e?`${e}.${s}`:s;if(a&&typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length>0){i.push(...this.collectChangedPaths(a,o));return}i.push(o)}),i}setValues(t,e){if(e?.rebase){this.rebaseValues(t);return}if(e?.partial){this.hydrateValues(t);return}this.replaceValuesInternal(t,"replaceValues")}hydrateValues(t){let e=I(this.store.getState().values,t),i=this.collectChangedPaths(t);this.replaceValuesInternal(e,"hydrate",i.length>0?i:["*"])}rebaseValues(t){let e=this.store.getState().values,i=g(t);this.store.setBaselineValues(g(i)),this.store.cancelAllValidations(),this.store.evaluateAllDependencies(i),this.store.clearDirtyState(),this.store.dispatch(f({values:i,errors:{},touched:{},isValidating:{},isValid:!0,isDirty:!1,isSubmitting:!1},["*"])),this.store.resetHistory(i),this.store.validateNow(),this.store.emitFieldChange({path:"*",previousValue:e,nextValue:i,values:this.store.getState().values,state:this.store.getState(),meta:{origin:"rebase"}})}applyHistoryState(t){let e=this.store.rebuildDirtyState(t,this.store.getBaselineValues());this.store.dispatch(f({values:t,isDirty:e},["*"])),this.store.triggerValidation(void 0,{forceDebounce:!0})}reset(){this.store.cancelAllValidations();let t=g(this.store.getBaselineValues());this.store.evaluateAllDependencies(t),this.store.clearDirtyState(),this.store.dispatch(f({values:t,errors:{},touched:{},isValidating:{},isValid:!0,isDirty:!1,isSubmitting:!1},["*"])),this.store.resetHistory(t)}replaceValuesInternal(t,e="replaceValues",i=["*"]){let s=this.store.getState().values,a=g(t);this.store.cancelAllValidations(),this.store.evaluateAllDependencies(a);let o=this.store.rebuildDirtyState(a,this.store.getBaselineValues());this.store.dispatch(f({values:a,errors:{},isValidating:{},isValid:!0,isDirty:o,isSubmitting:!1},i)),this.store.internalSaveSnapshot(),this.store.validateNow(),this.store.emitFieldChange({path:"*",previousValue:s,nextValue:a,values:this.store.getState().values,state:this.store.getState(),meta:{origin:e}})}};var st=class{constructor(t){this.store=t;this.submitPipeline=new D([{name:"submit:start",run:async e=>this.startSubmit(e)},{name:"submit:invalid",run:async e=>this.handleInvalidSubmit(e)},{name:"submit:prepare",run:e=>this.prepareSubmitValues(e)},{name:"submit:before-hooks",run:async e=>this.runBeforeSubmitHooks(e)},{name:"submit:user-handler",run:async e=>this.runSubmitHandler(e)},{name:"submit:after-hooks",run:async e=>this.runAfterSubmitHooks(e)}])}submitPipeline;async submit(t){if(this.store.getState().isSubmitting)return{status:"blocked",reason:"isSubmitting"};if(this.store.hasValidationsInProgress())return{status:"blocked",reason:"validating"};this.store.cancelAllValidations();let i={onSuccess:t,isValid:!1,valuesToSubmit:g(this.store.getState().values),dirtyValues:{}};try{return await this.submitPipeline.run(i),i.invalid?{status:"invalid"}:{status:"submitted"}}catch(s){return i.error=s,await this.store.emitOperationalError({source:"submit",error:s}),await this.store.emitAfterSubmit({values:this.store.getState().values,dirtyValues:this.store.buildDirtyValues(this.store.getState().values),state:this.store.getState(),success:!1,error:s}),this.store.config.onUnhandledError(s,"submit"),{status:"failed",error:s}}finally{this.store.dispatch(f({isSubmitting:!1}))}}async startSubmit(t){this.store.dispatch(f({isSubmitting:!0})),t.isValid=await this.store.validateNow()}async handleInvalidSubmit(t){if(t.isValid)return;let e=this.store.getState().errors,i={...this.store.getState().touched};Object.keys(e).forEach(s=>{i[s]=!0}),this.store.batchStateUpdates(()=>{this.store.dispatch(f({touched:i}))}),t.dirtyValues=this.store.buildDirtyValues(this.store.getState().values),t.invalid=!0,await this.store.emitAfterSubmit({values:this.store.getState().values,dirtyValues:t.dirtyValues,state:this.store.getState(),success:!1,invalid:!0}),t.halted=!0}prepareSubmitValues(t){let e=[];this.store.getHiddenFields().forEach(i=>{e.push([i,void 0])}),t.valuesToSubmit=Rt({values:t.valuesToSubmit,sourceValues:this.store.getState().values,transformEntries:this.store.getTransformEntries()}),e.length>0&&(t.valuesToSubmit=A(t.valuesToSubmit,e)),t.dirtyValues=this.store.buildDirtyValues(t.valuesToSubmit)}async runBeforeSubmitHooks(t){await this.store.emitBeforeSubmit({values:t.valuesToSubmit,dirtyValues:t.dirtyValues,state:this.store.getState()})}async runSubmitHandler(t){await t.onSuccess(t.valuesToSubmit,t.dirtyValues)}async runAfterSubmitHooks(t){await this.store.emitAfterSubmit({values:t.valuesToSubmit,dirtyValues:t.dirtyValues,state:this.store.getState(),success:!0})}};var at=class{constructor(t){this.ports=t;this.fieldUpdate=new it(t.fieldUpdate),this.values=new rt(t.values),this.submitFlow=new st(t.submit)}fieldUpdate;values;submitFlow;updateField(t,e,i={origin:"setField"}){this.fieldUpdate.updateField(t,e,i)}setValues(t,e){this.values.setValues(t,e)}hydrateValues(t){this.values.hydrateValues(t)}rebaseValues(t){this.values.rebaseValues(t)}applyHistoryState(t){this.values.applyHistoryState(t)}async submit(t){return this.submitFlow.submit(t)}reset(){this.values.reset()}};function Qt(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)}function te(r,t){let e=[],i=(s,a,o,n,d)=>{if(!(n&&d&&C(s,a))){if(Qt(s)&&Qt(a)&&n&&d){let p=new Set([...Object.keys(s),...Object.keys(a)]);for(let l of p){let c=o?`${o}.${l}`:l,u=Object.prototype.hasOwnProperty.call(s,l),h=Object.prototype.hasOwnProperty.call(a,l);i(s[l],a[l],c,u,h)}return}e.push({path:o,previousValue:g(s),nextValue:g(a),hadPreviousValue:n,hasNextValue:d})}};return i(r,t,"",!0,!0),{operations:e}}function ot(r,t,e){let i=r;for(let s of t.operations){let a=e==="undo"?s.hadPreviousValue:s.hasNextValue,o=e==="undo"?s.previousValue:s.nextValue;if(!s.path){i=a?g(o):{};continue}i=a?T(i,s.path,g(o)):Ct(i,s.path)}return i}var nt=class{constructor(t,e){this.enableHistory=t;this.maxHistory=e}baseSnapshot=null;currentSnapshot=null;patches=[];historyIndex=-1;historySize=0;saveSnapshot(t){if(!this.enableHistory)return;if(!this.currentSnapshot||this.baseSnapshot===null){this.reset(t);return}if(C(this.currentSnapshot,t))return;this.historyIndex<this.historySize-1&&(this.patches.splice(this.historyIndex),this.historySize=this.historyIndex+1);let e=te(this.currentSnapshot,t);if(e.operations.length!==0)for(this.patches.push(e),this.currentSnapshot=g(t),this.historyIndex+=1,this.historySize=this.historyIndex+1;this.historySize>this.getCapacity();)this.compactOldestSnapshot()}get canUndo(){return this.enableHistory?this.historyIndex>0:!1}get canRedo(){return this.enableHistory?this.historyIndex<this.historySize-1:!1}undo(){if(!this.canUndo||!this.currentSnapshot)return null;let t=this.patches[this.historyIndex-1],e=ot(this.currentSnapshot,t,"undo");return this.currentSnapshot=g(e),this.historyIndex-=1,e}redo(){if(!this.canRedo||!this.currentSnapshot)return null;let t=this.patches[this.historyIndex],e=ot(this.currentSnapshot,t,"redo");return this.currentSnapshot=g(e),this.historyIndex+=1,e}reset(t){if(!this.enableHistory){this.baseSnapshot=null,this.currentSnapshot=null,this.patches=[],this.historyIndex=-1,this.historySize=0;return}this.baseSnapshot=g(t),this.currentSnapshot=g(t),this.patches=[],this.historyIndex=0,this.historySize=1}getMetadata(){return{enabled:this.enableHistory,canUndo:this.canUndo,canRedo:this.canRedo,historyIndex:this.historyIndex,historySize:this.historySize}}compactOldestSnapshot(){let t=this.patches.shift();!t||this.baseSnapshot===null||(this.baseSnapshot=ot(this.baseSnapshot,t,"redo"),this.historySize=Math.max(1,this.historySize-1),this.historyIndex=Math.max(0,this.historyIndex-1))}getCapacity(){return Math.max(1,this.maxHistory)}};var lt=class{constructor(t){this.store=t}pushItem(t,e){this.mutateArrayWithSetField(t,i=>[...i,e],{origin:"array",operation:"push"})}prependItem(t,e){this.mutateArrayWithSetField(t,i=>[e,...i],{origin:"array",operation:"prepend"})}insertItem(t,e,i){this.mutateArrayWithSetField(t,s=>{let a=[...s];return a.splice(e,0,i),a},{origin:"array",operation:"insert",index:e})}removeItem(t,e){let i=this.store.getState(),s=y(i.values,t);if(!Array.isArray(s))return;let a=[...s];this.store.unregisterPrefix&&this.store.unregisterPrefix(bt(t,e));let o=s.filter((n,d)=>d!==e);this.commitArrayMutationWithFieldPipeline({path:t,nextArray:o,meta:{origin:"array",operation:"remove",index:e},reindex:n=>n===e?null:n>e?n-1:n})}swapItems(t,e,i){let s=this.store.getState(),a=[...y(s.values,t)||[]];[a[e],a[i]]=[a[i],a[e]],this.commitArrayMutationWithFieldPipeline({path:t,nextArray:a,meta:{origin:"array",operation:"swap",from:e,to:i},reindex:o=>o===e?i:o===i?e:o})}moveItem(t,e,i){let s=this.store.getState(),a=[...y(s.values,t)||[]],[o]=a.splice(e,1);a.splice(i,0,o),this.commitArrayMutationWithFieldPipeline({path:t,nextArray:a,meta:{origin:"array",operation:"move",from:e,to:i},reindex:n=>n===e?i:e<i&&n>e&&n<=i?n-1:e>i&&n>=i&&n<e?n+1:n})}replaceItems(t,e){this.commitArrayMutationWithFieldPipeline({path:t,nextArray:e,meta:{origin:"array",operation:"replace"},reindex:i=>i<e.length?i:null})}clearItems(t){this.store.unregisterPrefix&&this.store.unregisterPrefix(bt(t)),this.commitArrayMutationWithFieldPipeline({path:t,nextArray:[],meta:{origin:"array",operation:"clear"},reindex:()=>null})}mutateArrayWithSetField(t,e,i){let s=y(this.store.getState().values,t)||[];this.store.setFieldWithMeta(t,e(s),i),this.store.internalSaveSnapshot()}commitArrayMutationWithFieldPipeline(t){let{path:e,nextArray:i,meta:s,reindex:a}=t,o=this.store.getState();this.store.setFieldWithMeta(e,i,s);let n=Vt(o,e,a);this.store.dispatch(f({errors:n.errors,touched:n.touched,isValidating:n.isValidating},[e])),this.store.internalSaveSnapshot()}};var dt=class{constructor(t,e,i,s){this.getState=t;this.getInitialValues=e;this.getScopeFields=i;this.isPathDirty=s}getScopeStatus(t){let e=this.getScopeFields(t),i=this.getState(),s=e.some(n=>!!i.errors[n]),a=e.some(n=>this.isPathDirty(n)),o=this.getScopeErrors(t);return{hasErrors:s,isDirty:a,errors:o}}getScopeErrors(t){let e=this.getScopeFields(t),i=this.getState(),s={};for(let a of e){let o=i.errors[a];o&&(s[a]=o)}return s}};var ct=class{constructor(t,e,i){this.fieldMetadataProvider=t;this.getState=e;this.isPathDirty=i}requiredValuesRef=null;isHidden(t){return this.fieldMetadataProvider.isHidden(t)}isRequired(t){let e=this.getState().values;return this.requiredValuesRef!==e&&(this.requiredValuesRef=e),this.fieldMetadataProvider.isRequired(t,e)}isFieldDirty(t){return this.isPathDirty(t)}isFieldValidating(t){return!!this.getState().isValidating[t]}isTouched(t){return!!this.getState().touched[t]}};var pt=class{constructor(t,e){this.getState=t;this.dispatch=e}setError(t,e){let i={...this.getState().errors,[t]:e};e||delete i[t],this.dispatch(f({errors:i}))}setErrors(t){this.dispatch(f({errors:{...this.getState().errors,...t}}))}setServerErrors(t){let e={};for(let[i,s]of Object.entries(t))e[i]=Array.isArray(s)?s[0]:s;this.setErrors(e)}};function ee(r){let t=[],e=new Map;for(let o of r)if(e.has(o.path)||e.set(o.path,new Set),o.dependsOn)for(let n of o.dependsOn)r.find(p=>p.path===n)&&e.get(o.path).add(n);let i=new Set,s=new Set,a=(o,n)=>{i.add(o),s.add(o),n.push(o);let d=e.get(o)||new Set;for(let p of d)if(i.has(p)){if(s.has(p)){let l=n.indexOf(p),c=[...n.slice(l),p];return{cycle:c,paths:Array.from(e.keys()).filter(u=>c.includes(u)),message:`Circular dependency detected: ${c.join(" \u2192 ")}. Check your computed field definitions.`}}}else{let l=a(p,[...n]);if(l)return l}return s.delete(o),null};for(let o of e.keys())if(!i.has(o)){let n=a(o,[]);n&&!t.some(d=>d.message===n.message)&&t.push(n)}return t}var Et=class{entries=new Map;register(t,e){this.entries.set(t,e)}resolve(t){let e=this.entries.get(t);if(!e)throw new Error(`BitStore capability "${String(t)}" n\xE3o foi registrada.`);return e}toCapabilities(){return{validation:this.resolve("validation"),lifecycle:this.resolve("lifecycle"),history:this.resolve("history"),arrays:this.resolve("arrays"),scope:this.resolve("scope"),query:this.resolve("query"),error:this.resolve("error")}}};function ie(){return new Et}function ri(r){let{registry:t,ports:e,fieldRegistry:i}=r;t.register("validation",new et(e.validationPort)),t.register("lifecycle",new at(e.lifecyclePorts)),t.register("history",new nt(!!e.config.history.enabled,e.config.history.limit??50)),t.register("arrays",new lt(e.arrayPort)),t.register("scope",new dt(()=>e.getState(),()=>e.getBaselineValues(),s=>e.getScopeFields(s),s=>e.isPathDirty(s))),t.register("query",new ct(i,()=>e.getState(),s=>e.isPathDirty(s))),t.register("error",new pt(()=>e.getState(),s=>e.dispatch(s)))}function re(r){let{ports:t,fieldRegistry:e}=r,i=ie();return ri({registry:i,ports:t,fieldRegistry:e}),{registry:i,capabilities:i.toCapabilities()}}function se(r){let{config:t,fieldRegistry:e,computedManager:i}=r,s=g(t.initialValues);t.fields&&Object.entries(t.fields).forEach(([n,d])=>{e.register(n,d,s)});let a=ee(e.getComputedEntries());if(a.length>0)throw new Error(a[0].message);return{values:O({values:s,normalizerEntries:e.getNormalizerEntries(),applyComputed:(n,d)=>i.apply(n,d)}),errors:{},touched:{},isValidating:{},persist:{isSaving:!1,isRestoring:!1,error:null},isValid:!0,isSubmitting:!1,isDirty:!1}}function ae(r){return{getState:r.getState,dispatch:r.dispatch,setError:r.setError,validate:r.validate,getFieldConfig:r.getFieldConfig,forEachFieldConfig:t=>r.fieldRegistry.forEachFieldConfig((e,i)=>t(e,i)),getScopeFields:r.getScopeFields,config:r.config,getRequiredErrors:t=>r.fieldRegistry.getRequiredErrors(t),getHiddenFields:()=>r.fieldRegistry.getHiddenFields(),emitBeforeValidate:t=>r.getEffects().beforeValidate(t),emitAfterValidate:t=>r.getEffects().afterValidate(t)}}function oe(r){let t={getState:r.getState,dispatch:r.dispatch,config:r.config,getFieldConfig:s=>r.fieldRegistry.getFieldConfig(s),updateDependencies:(s,a,o)=>r.fieldRegistry.updateDependencies(s,a,o),hasDependentFields:s=>r.fieldRegistry.hasDependents(s),isFieldHidden:s=>r.fieldRegistry.isHidden(s),clearFieldValidation:s=>r.getValidation().clear(s),triggerValidation:(s,a)=>r.getValidation().trigger(s,a),handleFieldAsyncValidation:(s,a)=>r.getValidation().handleAsync(s,a),updateDirtyForPath:(s,a,o)=>r.dirtyManager.updateForPath(s,a,o),getBaselineValues:r.getBaselineValues,emitFieldChange:s=>r.getEffects().onFieldChange(s)},e={getState:r.getState,dispatch:r.dispatch,internalSaveSnapshot:r.saveHistorySnapshot,evaluateAllDependencies:s=>r.fieldRegistry.evaluateAll(s),cancelAllValidations:()=>r.getValidation().cancelAll(),validateNow:s=>r.getValidation().validate(s),rebuildDirtyState:(s,a)=>r.dirtyManager.rebuild(s,a),clearDirtyState:r.dirtyManager.clear.bind(r.dirtyManager),getBaselineValues:r.getBaselineValues,setBaselineValues:r.setBaselineValues,resetHistory:s=>r.getHistory().reset(s),emitFieldChange:s=>r.getEffects().onFieldChange(s),triggerValidation:(s,a)=>r.getValidation().trigger(s,a)},i={getState:r.getState,dispatch:r.dispatch,batchStateUpdates:r.runStateBatch,config:r.config,getTransformEntries:r.getTransformEntries,getHiddenFields:()=>r.fieldRegistry.getHiddenFields(),cancelAllValidations:()=>r.getValidation().cancelAll(),validateNow:s=>r.getValidation().validate(s),hasValidationsInProgress:s=>r.getValidation().hasValidationsInProgress(s),buildDirtyValues:s=>r.dirtyManager.buildDirtyValues(s),emitBeforeSubmit:s=>r.getEffects().beforeSubmit(s),emitAfterSubmit:s=>r.getEffects().afterSubmit(s),emitOperationalError:s=>r.getEffects().reportOperationalError(s)};return{fieldUpdate:t,values:e,submit:i}}function ne(r){return{getState:r.getState,setFieldWithMeta:r.setFieldWithMeta,dispatch:r.dispatch,internalSaveSnapshot:r.saveHistorySnapshot,unregisterPrefix:r.unregisterPrefix}}function le(r){let{config:t,fieldRegistry:e,dirtyManager:i,baselineManager:s,runtimeContext:a}=r,{stateAccess:o,fieldAccess:n,featureAccess:d,actions:p}=a,l=ae({config:t,fieldRegistry:e,getState:o.getState,dispatch:o.dispatch,setError:p.setError,validate:p.validate,getFieldConfig:n.getFieldConfig,getScopeFields:n.getScopeFields,getEffects:d.getEffects}),c=oe({config:t,fieldRegistry:e,dirtyManager:i,getState:o.getState,dispatch:o.dispatch,saveHistorySnapshot:o.saveHistorySnapshot,runStateBatch:o.runStateBatch,getTransformEntries:n.getTransformEntries,getBaselineValues:()=>s.getValues(),setBaselineValues:h=>s.setValues(h),getValidation:d.getValidation,getHistory:d.getHistory,getEffects:d.getEffects}),u=ne({getState:o.getState,dispatch:o.dispatch,setFieldWithMeta:(h,S,B)=>p.setFieldWithMeta(h,S,B),unregisterPrefix:p.unregisterPrefix,saveHistorySnapshot:o.saveHistorySnapshot});return re({ports:{validationPort:l,lifecyclePorts:c,arrayPort:u,config:t,getScopeFields:n.getScopeFields,getState:o.getState,dispatch:o.dispatch,getBaselineValues:()=>s.getValues(),isPathDirty:h=>i.isPathDirty(h)},fieldRegistry:e})}function de(r){let{config:t,fieldRegistry:e,dirtyManager:i,computedManager:s,rawConfig:a,baselineManager:o,runtimeContext:n}=r,{stateAccess:d,fieldAccess:p,featureAccess:l,actions:c}=n,u=le({config:t,fieldRegistry:e,dirtyManager:i,baselineManager:o,runtimeContext:{stateAccess:d,fieldAccess:p,featureAccess:l,actions:c}}),h=se({config:t,fieldRegistry:e,computedManager:s}),S=new Y(d.getState,t.subscriptionCacheSize),B=a.storeId||t.name||t.idFactory({scope:"store",storeName:t.name});return{state:h,subscriptions:S,capabilityRegistry:u.registry,storeId:B}}function ce(){return{depth:0,pendingState:null,changedPathSet:null,valuesChanged:!1,pendingHistorySnapshot:!1}}function pe(r){r.depth+=1}function ue(r){return r.depth-=1,r.depth===0}function ut(r,t){return t.pendingState??r}function he(r,t){if(r.pendingState=t.nextState,r.valuesChanged||=t.valuesChanged,t.valuesChanged&&(r.pendingHistorySnapshot=!0),t.changedPaths&&t.changedPaths.length>0){let e=r.changedPathSet??new Set;t.changedPaths.forEach(i=>e.add(i)),r.changedPathSet=e}}function ge(r){let{currentState:t,batchState:e,applyValueDerivations:i}=r;if(!e.pendingState)return e.pendingHistorySnapshot=!1,null;let s=e.pendingState,a=e.changedPathSet??void 0,o=e.valuesChanged;return o&&(s={...s,values:i(s.values,a?[...a]:void 0)}),e.pendingState=null,e.changedPathSet=null,e.valuesChanged=!1,{nextState:s??t,changedPaths:a,valuesChanged:o}}function si(r){let t=!1;for(let i of Object.values(r))if(i===void 0){t=!0;break}if(!t)return r;let e={};return Object.entries(r).forEach(([i,s])=>{let a=s;a!==void 0&&(e[i]=a)}),e}function fe(r){let{currentState:t,partialState:e,changedPaths:i,applyValueDerivations:s,applyComputedValues:a}=r,o=s??(u=>a?a(u):u),n={...t,...e},d=!!e.values;e.values&&(n.values=o(e.values,i)),e.errors&&(n.errors=si(e.errors),n.isValid=!x(n.errors));let p=i&&i.length>0?i:void 0,l=ai(e),c=oi(p,l);return{nextState:n,changedPaths:c,valuesChanged:d}}function ai(r){let t=new Set,e=[r.errors,r.touched,r.isValidating];for(let i of e)if(i)for(let s in i)t.add(s);return r.persist&&t.add("persist"),"isValid"in r&&t.add("isValid"),"isDirty"in r&&t.add("isDirty"),"isSubmitting"in r&&t.add("isSubmitting"),t.size>0?Array.from(t):void 0}function oi(r,t){if(!r?.length)return t;if(!t?.length)return r;let e=new Set;for(let i of r)e.add(i);for(let i of t)e.add(i);return Array.from(e)}function ni(r){throw new Error(`BitStore: unsupported operation kind: ${String(r.kind)}`)}function li(r,t){switch(t.kind){case"state.patch":return t;case"field.touchMany":{if(t.paths.length===0)return null;let e={...r.touched};for(let i of t.paths)e[i]=!0;return f({touched:e},t.paths)}case"form.persistMeta":return f({persist:{...r.persist,...t.patch}});case"history.apply":return f({values:t.values,isDirty:t.isDirty},["*"]);case"validation.commit":return f({errors:t.errors,isValid:t.isValid});default:return ni(t)}}function di(r){let{currentState:t,operation:e,applyValueDerivations:i}=r,s=Object.prototype.hasOwnProperty.call(e.partialState,"values"),a=e.changedPaths??(s?["*"]:void 0);return fe({currentState:t,partialState:e.partialState,changedPaths:a,applyValueDerivations:i})}function me(r){let{currentState:t,operation:e,applyValueDerivations:i}=r,s=li(t,e);return s?di({currentState:t,operation:s,applyValueDerivations:(a,o)=>s.skipComputed?a:i(a,o)}):null}function ye(r){let{state:t,batchState:e,operation:i,applyValueDerivations:s,onStateCommitted:a}=r,o=ut(t,e);if(e.depth>0){let d=me({currentState:o,operation:i,applyValueDerivations:p=>p});return d&&he(e,d),t}let n=me({currentState:t,operation:i,applyValueDerivations:s});return n?(a({nextState:n.nextState,changedPaths:n.changedPaths,valuesChanged:n.valuesChanged}),n.nextState):t}function Se(r){let{state:t,batchState:e,applyValueDerivations:i,onStateCommitted:s}=r,a=ge({currentState:t,batchState:e,applyValueDerivations:i});return a?(s({nextState:a.nextState,changedPaths:a.changedPaths,valuesChanged:a.valuesChanged}),a.nextState):t}function be(r){let{batchState:t,callback:e,flushBatchedStateUpdates:i}=r;pe(t);try{return e()}finally{ue(t)&&i()}}function Be(r){let{payload:t,setState:e,notifySubscriptions:i,notifyEffects:s}=r;e(t.nextState),i(t.nextState,t.changedPaths),s(t.nextState,t.valuesChanged)}function Te(r){let{state:t,batchState:e,operation:i,applyValueDerivations:s,onStateCommitted:a}=r;return ye({state:t,batchState:e,operation:i,applyValueDerivations:s,onStateCommitted:a})}function ve(r){let{batchState:t,values:e,saveHistory:i}=r;if(t.depth>0){t.pendingHistorySnapshot=!0;return}i(e)}function Pe(r){let{state:t,batchState:e,applyValueDerivations:i,onStateCommitted:s,saveHistory:a}=r,o=Se({state:t,batchState:e,applyValueDerivations:i,onStateCommitted:s});return e.pendingHistorySnapshot&&(e.pendingHistorySnapshot=!1,a(o.values)),o}var ht=class{constructor(t){this.args=t;this.state=t.state,this.subscriptions=t.subscriptions,this.effects=t.effects,this.capabilityRegistry=t.capabilityRegistry,this.capabilities=t.capabilityRegistry.toCapabilities()}state;batchState=ce();subscriptions;effects;capabilityRegistry;capabilities;getCapability(t){return this.capabilityRegistry.resolve(t)}getState(){return ut(this.state,this.batchState)}runBatch(t){return be({batchState:this.batchState,callback:t,flushBatchedStateUpdates:()=>this.flushBatchedStateUpdates()})}dispatch(t){this.state=Te({state:this.state,batchState:this.batchState,operation:t,applyValueDerivations:(e,i)=>this.applyValueDerivations(e,i),onStateCommitted:e=>this.onStateCommitted(e)})}saveHistorySnapshot(){let t=this.capabilities.history.getMetadata();ve({batchState:this.batchState,values:this.state.values,saveHistory:i=>this.capabilities.history.saveSnapshot(i)});let e=this.capabilities.history.getMetadata();(t.canUndo!==e.canUndo||t.canRedo!==e.canRedo||t.historyIndex!==e.historyIndex||t.historySize!==e.historySize)&&this.subscriptions.notify(this.getState(),[R()])}cleanup(){this.subscriptions.destroy(),this.capabilities.validation.cancelAll(),this.effects.destroy()}onStateCommitted(t){Be({payload:t,setState:e=>{this.state=e},notifySubscriptions:(e,i)=>this.subscriptions.notify(e,i),notifyEffects:(e,i)=>this.effects.onStateUpdated(e,i)})}flushBatchedStateUpdates(){let t=this.capabilities.history.getMetadata();this.state=Pe({state:this.state,batchState:this.batchState,applyValueDerivations:(i,s)=>this.applyValueDerivations(i,s),onStateCommitted:i=>this.onStateCommitted(i),saveHistory:i=>this.capabilities.history.saveSnapshot(i)});let e=this.capabilities.history.getMetadata();(t.canUndo!==e.canUndo||t.canRedo!==e.canRedo||t.historyIndex!==e.historyIndex||t.historySize!==e.historySize)&&this.subscriptions.notify(this.getState(),[R()])}applyValueDerivations(t,e){return this.args.applyValueDerivations?this.args.applyValueDerivations(t,e):t}};var gt=class{constructor(t){this.baselineValues=g(t)}baselineValues;getValues(){return g(this.baselineValues)}setValues(t){this.baselineValues=g(t)}};function xe(r){let{rawConfig:t,storeBusPort:e}=r,i=Mt(t),s=new gt(i.initialValues),a=new N,o=new j(()=>a.getComputedEntries()),n=new H,d=new q;i.masks&&Object.entries(i.masks).forEach(([m,b])=>{d.registerMask(m,b)});let p=()=>{a.invalidateIndexes(),o.invalidateReverseDeps()},l,c=()=>{if(!l)throw new Error("BitStore runtime kernel is not initialized yet.");return l},u=de({rawConfig:t,config:i,fieldRegistry:a,computedManager:o,dirtyManager:n,baselineManager:s,runtimeContext:{stateAccess:{getState:()=>l?.getState()??u.state,dispatch:m=>c().dispatch(m),saveHistorySnapshot:()=>c().saveHistorySnapshot(),runStateBatch:m=>c().runBatch(m)},fieldAccess:{getFieldConfig:m=>a.getFieldConfig(m),getScopeFields:m=>a.getScopeFields(m),getNormalizerEntries:()=>a.getNormalizerEntries(),getTransformEntries:()=>a.getTransformEntries()},featureAccess:{getEffects:()=>c().effects,getHistory:()=>c().getCapability("history"),getValidation:()=>c().getCapability("validation")},actions:{setError:(m,b)=>{c().getCapability("error").setError(m,b)},validate:m=>c().getCapability("validation").validate(m),setFieldWithMeta:(m,b,yt={origin:"setField"})=>{c().runBatch(()=>{c().getCapability("lifecycle").updateField(m,b,yt)})},unregisterPrefix:m=>{G({prefix:m,state:c().getState(),fieldRegistry:a,subscriptions:c().subscriptions,validationCleanupPrefix:b=>c().getCapability("validation").cleanupPrefix(b),invalidateFieldIndexes:p})},triggerValidation:(m,b)=>{c().getCapability("validation").trigger(m,b)}}}}),h=()=>{let m=l?.getState()??u.state;return n.buildDirtyValues(m.values)},S=m=>{Nt({values:m,state:c().getState(),initialValues:s.getValues(),validation:c().getCapability("validation"),fieldRegistry:a,dirtyManager:n,dispatch:b=>c().dispatch(b),saveHistorySnapshot:()=>c().saveHistorySnapshot()})},B=It({storeId:u.storeId,storeBusPort:e,config:i,getState:()=>l?.getState()??u.state,getConfig:()=>i,getValues:()=>(l?.getState()??u.state).values,getDirtyValues:h,applyPersistedValues:S});return l=new ht({state:u.state,subscriptions:u.subscriptions,effects:B,capabilityRegistry:u.capabilityRegistry,applyValueDerivations:(m,b)=>O({values:m,changedPaths:b,normalizerEntries:a.getNormalizerEntries(),applyComputed:(yt,Ke)=>o.apply(yt,Ke)})}),l.saveHistorySnapshot(),{config:i,storeId:u.storeId,runtime:l,fieldRegistry:a,computedManager:o,dirtyManager:n,maskManager:d,baselineManager:s}}function Ee(r){let{path:t,getFieldConfig:e,masks:i}=r,s=e(t)?.mask;if(s)return typeof s=="string"?i?.[s]:s}function Fe(r){let{state:t,path:e,value:i,isHidden:s,isRequired:a,isDirty:o,isValidating:n}=r,d=e;return{value:i,error:t.errors[d],touched:!!t.touched[d],isHidden:s,isRequired:a,isDirty:o,isValidating:n}}function Ce(r){let t=()=>r.read.getState();return{read:{get storeId(){return r.identity.storeId},get config(){return r.identity.config},get isValid(){return r.read.getIsValid()},get isSubmitting(){return r.read.getIsSubmitting()},get isDirty(){return r.read.getIsDirty()},getState:t,getFieldConfig:o=>r.getFieldConfig(o),getFieldState:o=>r.read.getFieldState(o),isHidden:o=>r.read.isHidden(o),isRequired:o=>r.read.isRequired(o),isFieldDirty:o=>r.read.isFieldDirty(o),isFieldValidating:o=>r.read.isFieldValidating(o),getDirtyValues:()=>r.read.getDirtyValues(),getPersistMetadata:()=>r.read.getPersistMetadata(),getHistoryMetadata:()=>r.read.getHistoryMetadata(),getScopeStatus:o=>r.read.getScopeStatus(o),getScopeErrors:o=>r.read.getScopeErrors(o),getScopeFields:o=>r.read.getScopeFields(o)},observe:{getState:t,subscribe:o=>r.observe.subscribe(o),subscribePersistMeta:o=>r.observe.subscribePersistMeta(o),subscribeHistoryMeta:o=>r.observe.subscribeHistoryMeta(o),subscribeScopeStatus:(o,n)=>r.observe.subscribeScopeStatus(o,n),subscribeFormMeta:o=>r.observe.subscribeFormMeta(o),subscribeSelector:(o,n,d)=>r.observe.subscribeSelector(o,n,d),subscribePath:(o,n,d)=>r.observe.subscribePath(o,n,d),subscribeFieldState:(o,n)=>r.observe.subscribeFieldState(o,n)},write:{setField:(o,n)=>r.write.setField(o,n),blurField:o=>r.write.blurField(o),markFieldsTouched:o=>r.write.markFieldsTouched(o),setValues:(o,n)=>r.write.setValues(o,n),setError:(o,n)=>r.write.setError(o,n),setErrors:o=>r.write.setErrors(o),setServerErrors:o=>r.write.setServerErrors(o),validate:o=>r.feature.validate(o),triggerValidation:(o,n)=>r.feature.triggerValidation(o,n),reset:()=>r.write.reset(),transaction:o=>r.write.transaction(o),submit:o=>r.write.submit(o)},feature:{cleanup:()=>r.feature.cleanup(),getPersistMetadata:()=>r.read.getPersistMetadata(),restorePersisted:()=>r.feature.restorePersisted(),forceSave:()=>r.feature.forceSave(),clearPersisted:()=>r.feature.clearPersisted(),registerField:(o,n)=>r.write.registerField(o,n),unregisterField:o=>r.write.unregisterField(o),unregisterPrefix:o=>r.write.unregisterPrefix(o),pushItem:(o,n)=>r.write.pushItem(o,n),prependItem:(o,n)=>r.write.prependItem(o,n),insertItem:(o,n,d)=>r.write.insertItem(o,n,d),removeItem:(o,n)=>r.write.removeItem(o,n),moveItem:(o,n,d)=>r.write.moveItem(o,n,d),swapItems:(o,n,d)=>r.write.swapItems(o,n,d),replaceItems:(o,n)=>r.write.replaceItems(o,n),clearItems:o=>r.write.clearItems(o),get canUndo(){return r.read.getCanUndo()},get canRedo(){return r.read.getCanRedo()},hasValidationsInProgress:o=>r.feature.hasValidationsInProgress(o),resolveMask:o=>r.resolveMask(o),createArrayItemId:(o,n)=>r.createArrayItemId(o,n),undo:()=>r.feature.undo(),redo:()=>r.feature.redo()}}}function Ve(r){let{dispatch:t,effects:e}=r;return qt({dispatch:t,effects:e})}function we(r){let{dispatch:t,effects:e}=r;return zt({dispatch:t,effects:e})}function De(r){let{dispatch:t,effects:e}=r;return Ut({dispatch:t,effects:e})}function Ae(r){let{history:t,applyHistoryState:e}=r,i=t.undo();i&&e(i)}function Re(r){let{history:t,applyHistoryState:e}=r,i=t.redo();i&&e(i)}function Me(r){return r.history.getMetadata()}function ke(r,t){let e=new Set,i=(o,n)=>o===null||typeof o!="object"?o:new Proxy(o,{get:(d,p,l)=>{if(typeof p=="symbol")return Reflect.get(d,p,l);let c=String(p),u=n?`${n}.${c}`:c;e.add(u);let h=Reflect.get(d,p,l);return i(h,u)}}),s=i(r,"");t(s);let a=new Set;return e.forEach(o=>{let n=ci(o);n&&a.add(n)}),Array.from(a)}function ci(r){if(r)return r==="values"?"*":r.startsWith("values.")?r.slice(7):r==="errors"||r==="touched"||r==="isValidating"?"*":r.startsWith("errors.")?r.slice(7):r.startsWith("touched.")?r.slice(8):r.startsWith("isValidating.")?r.slice(13):r==="persist"||r.startsWith("persist.")?"persist":r}function pi(r,t){if(r.length!==t.length)return!1;let e=new Set(t);for(let i of r)if(!e.has(i))return!1;return!0}function ui(r,t){return r.length===0?{emitImmediately:t?.emitImmediately,equalityFn:t?.equalityFn,mode:"scoped",paths:["*"]}:{emitImmediately:t?.emitImmediately,equalityFn:t?.equalityFn,mode:"scoped",paths:r}}function Ie(r){let{getState:t,subscribeSelector:e,selector:i,listener:s,options:a}=r,o=null,n=ke(t(),i),d=!1,p=!1,l=c=>{o=e(i,u=>{s(u);let h=ke(t(),i);pi(n,h)||(n=h,!(p||d)&&(p=!0,queueMicrotask(()=>{p=!1,!d&&(o?.(),l(n))})))},ui(c,a))};return l(n),()=>{d=!0,o?.(),o=null}}function Oe(r){let{getState:t,subscriptions:e,selector:i,listener:s,options:a}=r,o=a?.equalityFn??F;return a?.mode==="tracked"?Ie({getState:t,subscribeSelector:(n,d,p)=>e.subscribeSelector(n,d,p,o),selector:i,listener:s,options:a}):e.subscribeSelector(i,s,a,o)}function je(r){let{path:t,listener:e,options:i,subscribeSelector:s}=r,a=[...i?.paths??[],t];return s(o=>y(o.values,t),e,{...i,paths:a})}function He(r){let{path:t,listener:e,getFieldState:i,subscribeSelector:s}=r;return s(()=>i(t),e,{paths:[t],equalityFn:(a,o)=>a.value===o.value&&a.error===o.error&&a.touched===o.touched&&a.isHidden===o.isHidden&&a.isRequired===o.isRequired&&a.isDirty===o.isDirty&&a.isValidating===o.isValidating})}function qe(r){let{listener:t,subscribeSelector:e}=r;return e(i=>({isValid:i.isValid,isDirty:i.isDirty,isSubmitting:i.isSubmitting}),t,{paths:["isValid","isDirty","isSubmitting"],equalityFn:(i,s)=>i.isValid===s.isValid&&i.isDirty===s.isDirty&&i.isSubmitting===s.isSubmitting})}function ze(r){let{listener:t,subscribeSelector:e}=r;return e(i=>i.persist,t,{paths:["persist"],equalityFn:(i,s)=>i.isSaving===s.isSaving&&i.isRestoring===s.isRestoring&&i.error===s.error})}function Ue(r){let{readHistoryMeta:t,subscribeSelector:e,listener:i}=r;return e(()=>t(),i,{paths:[R()],equalityFn:(s,a)=>Dt(s,a)})}function Ne(r){let{scopeName:t,getScopeFields:e,readScopeStatus:i,subscribeSelector:s,listener:a}=r,o=V(t),n=i(t),d=()=>{},p=()=>{d();let c=wt(e(t));d=s(()=>i(t),u=>{St(n,u)||(n=u,a(u))},{paths:[...c,o]})};p();let l=s(()=>e(t).length,()=>{p();let c=i(t);St(n,c)||(n=c,a(c))},{paths:[o]});return()=>{d(),l()}}function _e(r){let{runtime:t,config:e,fieldRegistry:i,dirtyManager:s,stateReader:a}=r,o={getState:()=>a.getState(),getFieldState:l=>a.getFieldState(l),getIsValid:()=>a.getFlag("isValid"),getIsSubmitting:()=>a.getFlag("isSubmitting"),getIsDirty:()=>a.getFlag("isDirty"),isHidden:l=>t.capabilities.query.isHidden(l),isRequired:l=>t.capabilities.query.isRequired(l),isFieldDirty:l=>t.capabilities.query.isFieldDirty(l),isFieldValidating:l=>t.capabilities.query.isFieldValidating(l),getDirtyValues:()=>s.buildDirtyValues(a.getState().values),getPersistMetadata:()=>a.getPersistMetadata(),getHistoryMetadata:()=>Me({history:t.capabilities.history}),getScopeStatus:l=>t.capabilities.scope.getScopeStatus(l),getScopeErrors:l=>t.capabilities.scope.getScopeErrors(l),getCanUndo:()=>t.capabilities.history.canUndo,getCanRedo:()=>t.capabilities.history.canRedo,getScopeFields:l=>i.getScopeFields(l)},n={subscribe:l=>t.subscriptions.subscribe(l),subscribePersistMeta:l=>ze({listener:l,subscribeSelector:(c,u,h)=>n.subscribeSelector(c,u,h)}),subscribeHistoryMeta:l=>Ue({readHistoryMeta:()=>o.getHistoryMetadata(),subscribeSelector:(c,u,h)=>n.subscribeSelector(c,u,h),listener:l}),subscribeScopeStatus:(l,c)=>Ne({scopeName:l,getScopeFields:u=>o.getScopeFields(u),readScopeStatus:u=>o.getScopeStatus(u),subscribeSelector:(u,h,S)=>n.subscribeSelector(u,h,S),listener:c}),subscribeSelector:(l,c,u)=>Oe({getState:()=>o.getState(),subscriptions:t.subscriptions,selector:l,listener:c,options:u}),subscribePath:(l,c,u)=>je({path:l,listener:c,options:u,subscribeSelector:(h,S,B)=>n.subscribeSelector(h,S,B)}),subscribeFieldState:(l,c)=>He({path:l,listener:c,getFieldState:u=>o.getFieldState(u),subscribeSelector:(u,h,S)=>n.subscribeSelector(u,h,S)}),subscribeFormMeta:l=>qe({listener:l,subscribeSelector:(c,u,h)=>n.subscribeSelector(c,u,h)})};return{read:o,observe:n,write:{registerField:(l,c)=>{jt({path:l,config:c,state:t.getState(),fieldRegistry:i,subscriptions:t.subscriptions,stateReader:a,invalidateFieldIndexes:()=>{i.invalidateIndexes()}})},unregisterField:l=>{Ht({path:l,state:t.getState(),hasStaticConfig:!!e.fields?.[l],fieldRegistry:i,subscriptions:t.subscriptions,validationCleanupField:c=>t.capabilities.validation.cleanupField(c),invalidateFieldIndexes:()=>{i.invalidateIndexes()},dispatch:c=>t.dispatch(c)})},unregisterPrefix:l=>{G({prefix:l,state:t.getState(),fieldRegistry:i,subscriptions:t.subscriptions,validationCleanupPrefix:c=>t.capabilities.validation.cleanupPrefix(c),invalidateFieldIndexes:()=>{i.invalidateIndexes()}})},setField:(l,c)=>{t.runBatch(()=>{t.capabilities.lifecycle.updateField(l,c,{origin:"setField"})})},blurField:l=>{t.capabilities.query.isTouched(l)||t.runBatch(()=>{t.dispatch(vt([l]))}),t.capabilities.validation.trigger([l])},markFieldsTouched:l=>{l.length!==0&&t.dispatch(vt(l))},setValues:(l,c)=>{t.capabilities.lifecycle.setValues(l,c)},setError:(l,c)=>{t.capabilities.error.setError(l,c)},setErrors:l=>{t.capabilities.error.setErrors(l)},setServerErrors:l=>{t.capabilities.error.setServerErrors(l)},reset:()=>{t.runBatch(()=>{t.capabilities.lifecycle.reset()})},transaction:l=>t.runBatch(l),submit:l=>t.capabilities.lifecycle.submit(l),pushItem:(l,c)=>t.capabilities.arrays.pushItem(l,c),prependItem:(l,c)=>t.capabilities.arrays.prependItem(l,c),insertItem:(l,c,u)=>t.capabilities.arrays.insertItem(l,c,u),removeItem:(l,c)=>t.capabilities.arrays.removeItem(l,c),swapItems:(l,c,u)=>t.capabilities.arrays.swapItems(l,c,u),moveItem:(l,c,u)=>t.capabilities.arrays.moveItem(l,c,u),replaceItems:(l,c)=>t.capabilities.arrays.replaceItems(l,c),clearItems:l=>t.capabilities.arrays.clearItems(l)},feature:{undo:()=>{Ae({history:t.capabilities.history,applyHistoryState:l=>t.capabilities.lifecycle.applyHistoryState(l)})},redo:()=>{Re({history:t.capabilities.history,applyHistoryState:l=>t.capabilities.lifecycle.applyHistoryState(l)})},validate:l=>t.capabilities.validation.validate(l),hasValidationsInProgress:l=>t.capabilities.validation.hasValidationsInProgress(l),triggerValidation:(l,c)=>t.capabilities.validation.trigger(l,c),restorePersisted:()=>Ve({dispatch:l=>t.dispatch(l),effects:t.effects}),forceSave:()=>we({dispatch:l=>t.dispatch(l),effects:t.effects}),clearPersisted:()=>De({dispatch:l=>t.dispatch(l),effects:t.effects}),cleanup:()=>t.cleanup()}}}var ft=class{constructor(t){this.deps=t}fieldStateCache=new Map;getState(){return this.deps.getState()}getFlag(t){return this.deps.getState()[t]}getPersistMetadata(){return this.deps.getState().persist}getFieldState(t){let e=t,i=this.deps.getState(),s=this.fieldStateCache.get(e);if(s?.state===i)return s.snapshot;let a=y(i.values,e),o=Fe({state:i,path:t,value:a,isHidden:this.deps.isHidden(e),isRequired:this.deps.isRequired(e),isDirty:this.deps.isFieldDirty(e),isValidating:this.deps.isFieldValidating(e)});return this.fieldStateCache.set(e,{state:i,snapshot:o}),o}invalidatePath(t){this.fieldStateCache.delete(t)}};var mt=class{[k]=!0;[M]=!0;storeId;_config;read;observe;write;feature;constructor(t={}){let i=xe({rawConfig:t,storeBusPort:{getState:()=>this.read.getState(),getHistoryMetadata:()=>this.read.getHistoryMetadata(),undo:()=>this.feature.undo(),redo:()=>this.feature.redo(),reset:()=>this.write.reset()}});this._config=i.config,this.storeId=i.storeId;let s=new ft({getState:()=>i.runtime.getState(),isHidden:n=>i.runtime.capabilities.query.isHidden(n),isRequired:n=>i.runtime.capabilities.query.isRequired(n),isFieldDirty:n=>i.runtime.capabilities.query.isFieldDirty(n),isFieldValidating:n=>i.runtime.capabilities.query.isFieldValidating(n)}),a=_e({runtime:i.runtime,config:this._config,fieldRegistry:i.fieldRegistry,dirtyManager:i.dirtyManager,stateReader:s}),o=Ce({identity:{storeId:this.storeId,config:this._config},read:a.read,observe:a.observe,write:a.write,feature:a.feature,getFieldConfig:n=>i.fieldRegistry.getFieldConfig(n),resolveMask:n=>Ee({path:n,getFieldConfig:d=>i.fieldRegistry.getFieldConfig(d),masks:i.maskManager.getAllMasks()}),createArrayItemId:(n,d)=>this._config.idFactory({scope:"array",path:n,index:d})});this.read=o.read,this.observe=o.observe,this.write=o.write,this.feature=o.feature}};function Le(r={}){return new mt(r)}function We(r){if(!r||typeof r!="object")return!1;let t=r;return t[k]===!0&&!!t.read&&!!t.observe&&!!t.write&&!!t.feature}function hi(r){if(We(r))return r;throw new Error("BitForm: o store informado n\xE3o exp\xF5e a API necess\xE1ria para hooks/framework bindings.")}function gi(r){return!r||typeof r!="object"?!1:r[M]===!0}function fi(r){if(!We(r))throw new Error("BitForm: o store informado n\xE3o possui branding de hooks (BIT_HOOKS_API_SYMBOL).");if(!gi(r))throw new Error("BitForm: o store informado n\xE3o possui branding de framework (BIT_FRAMEWORK_STORE_SYMBOL).");return r}function mi(r){return Object.defineProperty(r,k,{value:!0,enumerable:!1,configurable:!1,writable:!1}),Object.defineProperty(r,M,{value:!0,enumerable:!1,configurable:!1,writable:!1}),r}function yi(r={}){let t=Le(r),e={read:t.read,observe:t.observe,write:t.write,feature:t.feature};return mi(e)}function Si(r){return r.read}function bi(r){return r.observe}function Bi(r){return r.write}function Ti(r){return r.feature}function vi(r,t){let e={};for(let i of t)e[i]=r[i];return e}export{Tt as a,ei as b,hi as c,fi as d,yi as e,Si as f,bi as g,Bi as h,Ti as i,vi as j};
|
|
2
|
+
//# sourceMappingURL=chunk-UQ3DSUWC.js.map
|