@lehnihon/bit-form 2.2.24 → 2.2.27

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.
Files changed (110) hide show
  1. package/README.md +0 -28
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.d.cts +0 -1
  5. package/dist/angular/index.d.ts +0 -1
  6. package/dist/angular/index.js +1 -1
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/chunk-7T7L2TZX.js +2 -0
  9. package/dist/chunk-7T7L2TZX.js.map +1 -0
  10. package/dist/chunk-AV7YYSFI.cjs +2 -0
  11. package/dist/chunk-AV7YYSFI.cjs.map +1 -0
  12. package/dist/chunk-EYCJKAK3.js +2 -0
  13. package/dist/chunk-EYCJKAK3.js.map +1 -0
  14. package/dist/chunk-GBHOCY7E.cjs +2 -0
  15. package/dist/chunk-GBHOCY7E.cjs.map +1 -0
  16. package/dist/{chunk-AOMXTUA4.cjs → chunk-H27ROY4F.cjs} +2 -2
  17. package/dist/{chunk-AOMXTUA4.cjs.map → chunk-H27ROY4F.cjs.map} +1 -1
  18. package/dist/{chunk-XPY6TCOO.js → chunk-L42NQRVD.js} +2 -2
  19. package/dist/chunk-OWDDAM6C.cjs +2 -0
  20. package/dist/chunk-OWDDAM6C.cjs.map +1 -0
  21. package/dist/chunk-U6UFULNS.cjs +2 -0
  22. package/dist/chunk-U6UFULNS.cjs.map +1 -0
  23. package/dist/chunk-UBVVBVLS.js +2 -0
  24. package/dist/chunk-UBVVBVLS.js.map +1 -0
  25. package/dist/chunk-WKLCAC74.cjs +2 -0
  26. package/dist/chunk-WKLCAC74.cjs.map +1 -0
  27. package/dist/chunk-WYYVVM2C.js +2 -0
  28. package/dist/chunk-WYYVVM2C.js.map +1 -0
  29. package/dist/chunk-Y7TQTZY7.js +2 -0
  30. package/dist/chunk-Y7TQTZY7.js.map +1 -0
  31. package/dist/cli/index.cjs +6 -5
  32. package/dist/core/bindings.cjs +1 -1
  33. package/dist/core/bindings.js +1 -1
  34. package/dist/core/store.cjs +1 -1
  35. package/dist/core/store.js +1 -1
  36. package/dist/core/utils.cjs +1 -1
  37. package/dist/core/utils.js +1 -1
  38. package/dist/core.cjs +1 -1
  39. package/dist/core.js +1 -1
  40. package/dist/devtools/bridge.cjs +1 -1
  41. package/dist/devtools/bridge.js +1 -1
  42. package/dist/devtools/index.cjs +16 -16
  43. package/dist/devtools/index.cjs.map +1 -1
  44. package/dist/devtools/index.js +16 -16
  45. package/dist/devtools/index.js.map +1 -1
  46. package/dist/index.cjs +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/react/index.cjs +1 -1
  49. package/dist/react/index.cjs.map +1 -1
  50. package/dist/react/index.js +1 -1
  51. package/dist/react/index.js.map +1 -1
  52. package/dist/react-native/index.cjs +1 -1
  53. package/dist/react-native/index.js +1 -1
  54. package/dist/resolvers/index.cjs +1 -1
  55. package/dist/resolvers/index.cjs.map +1 -1
  56. package/dist/resolvers/index.d.cts +0 -8
  57. package/dist/resolvers/index.d.ts +0 -8
  58. package/dist/resolvers/index.js +1 -1
  59. package/dist/resolvers/joi.cjs +1 -1
  60. package/dist/resolvers/joi.cjs.map +1 -1
  61. package/dist/resolvers/joi.js +1 -1
  62. package/dist/resolvers/joi.js.map +1 -1
  63. package/dist/resolvers/yup.cjs +1 -1
  64. package/dist/resolvers/yup.cjs.map +1 -1
  65. package/dist/resolvers/yup.js +1 -1
  66. package/dist/resolvers/yup.js.map +1 -1
  67. package/dist/resolvers/zod.cjs +1 -1
  68. package/dist/resolvers/zod.cjs.map +1 -1
  69. package/dist/resolvers/zod.js +1 -1
  70. package/dist/resolvers/zod.js.map +1 -1
  71. package/dist/utils.cjs +1 -1
  72. package/dist/utils.js +1 -1
  73. package/dist/vue/index.cjs +1 -1
  74. package/dist/vue/index.cjs.map +1 -1
  75. package/dist/vue/index.js +1 -1
  76. package/dist/vue/index.js.map +1 -1
  77. package/package.json +21 -1
  78. package/dist/chunk-27LJCW56.cjs +0 -2
  79. package/dist/chunk-27LJCW56.cjs.map +0 -1
  80. package/dist/chunk-3SEB4YRQ.cjs +0 -2
  81. package/dist/chunk-3SEB4YRQ.cjs.map +0 -1
  82. package/dist/chunk-5ILGCBKG.cjs +0 -2
  83. package/dist/chunk-5ILGCBKG.cjs.map +0 -1
  84. package/dist/chunk-7LCFS2JM.cjs +0 -2
  85. package/dist/chunk-7LCFS2JM.cjs.map +0 -1
  86. package/dist/chunk-DNHPYPJA.js +0 -2
  87. package/dist/chunk-DNHPYPJA.js.map +0 -1
  88. package/dist/chunk-JVRTPL7W.js +0 -2
  89. package/dist/chunk-JVRTPL7W.js.map +0 -1
  90. package/dist/chunk-K2JSAJAF.cjs +0 -2
  91. package/dist/chunk-K2JSAJAF.cjs.map +0 -1
  92. package/dist/chunk-K2KCQEER.js +0 -2
  93. package/dist/chunk-K2KCQEER.js.map +0 -1
  94. package/dist/chunk-LY67POOF.js +0 -2
  95. package/dist/chunk-LY67POOF.js.map +0 -1
  96. package/dist/chunk-PDFT5E2E.cjs +0 -2
  97. package/dist/chunk-PDFT5E2E.cjs.map +0 -1
  98. package/dist/chunk-PRMNTQD5.js +0 -2
  99. package/dist/chunk-PRMNTQD5.js.map +0 -1
  100. package/dist/chunk-SFVGMVIE.js +0 -2
  101. package/dist/chunk-SFVGMVIE.js.map +0 -1
  102. package/dist/chunk-SMCFLQIA.cjs +0 -2
  103. package/dist/chunk-SMCFLQIA.cjs.map +0 -1
  104. package/dist/chunk-T36GFQHU.cjs +0 -2
  105. package/dist/chunk-T36GFQHU.cjs.map +0 -1
  106. package/dist/chunk-WEZ5Q6YO.js +0 -2
  107. package/dist/chunk-WEZ5Q6YO.js.map +0 -1
  108. package/dist/chunk-X3OFU2UH.js +0 -2
  109. package/dist/chunk-X3OFU2UH.js.map +0 -1
  110. /package/dist/{chunk-XPY6TCOO.js.map → chunk-L42NQRVD.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as s,b as i,c as n}from"./chunk-HTMNDK6W.js";var f=(a,r)=>async(l,p)=>{let{error:o}=a.validate(l,{abortEarly:r?.abortEarly??!1,allowUnknown:r?.allowUnknown??!1,stripUnknown:r?.stripUnknown??!1});if(!o)return{};let e={};return o.details.forEach(t=>{let c=s(t.path.join("."));i(e,c,t.message)}),n(e,p?.scopeFields)};export{f as a};
2
- //# sourceMappingURL=chunk-SFVGMVIE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolvers/joi.ts"],"sourcesContent":["import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = normalizeErrorPath(detail.path.join(\".\"));\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\n};\n"],"mappings":"sDAKO,IAAMA,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,GAAM,CAAE,MAAAC,CAAM,EAAIJ,EAAO,SAASE,EAAQ,CACxC,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,GACtC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EAED,GAAI,CAACG,EAAO,MAAO,CAAC,EAEpB,IAAMC,EAAuB,CAAC,EAE9B,OAAAD,EAAM,QAAQ,QAASE,GAAW,CAChC,IAAMC,EAAOC,EAAmBF,EAAO,KAAK,KAAK,GAAG,CAAC,EAErDG,EAAcJ,EAAQE,EAAMD,EAAO,OAAO,CAC5C,CAAC,EAEMI,EAAoBL,EAAQF,GAAS,WAAW,CACzD","names":["joiResolver","schema","config","values","options","error","errors","detail","path","normalizeErrorPath","setFirstError","filterErrorsByScope"]}
@@ -1,2 +0,0 @@
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 _chunkPDFT5E2Ecjs = require('./chunk-PDFT5E2E.cjs');function k(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 w(e){let o=e.getHistoryMetadata();return{...k(e.getState()),_meta:{canUndo:o.canUndo,canRedo:o.canRedo,totalSteps:o.historySize,currentIndex:o.historyIndex}}}function m(e){let o={};for(let[t,i]of Object.entries(e))o[t]=w(i);return o}function I(e){if(!e||typeof e!="object")return!1;let o=e;return typeof o.getState=="function"&&typeof o.getHistoryMetadata=="function"}function O(e){if(!I(e))return!1;let o=e;return typeof o.undo=="function"&&typeof o.redo=="function"&&typeof o.reset=="function"}function h(e,o){let t=e[o];return O(t)?t:null}var f=null,x=50;function _(e,o=_chunkPDFT5E2Ecjs.a){f&&(console.warn("[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado)."),f());let t=null,i=null,T,n=null,u,a=new Set,b=!1,d=r=>{_optionalChain([t, 'optionalAccess', _2 => _2.readyState])===WebSocket.OPEN&&t.send(JSON.stringify(r))},D=()=>{if(a.size===0)return;let r=m(Array.from(a).reduce((s,l)=>{let p=o.stores[l];return p&&(s[l]=p),s},{}));a.clear(),n=null,Object.keys(r).length>0&&d({type:"STATE_UPDATE",protocolVersion:1,payload:r})},R=()=>{n||(n=setTimeout(()=>{D()},x))},y=()=>{b=!1,t=new WebSocket(e),t.onopen=()=>{console.log("[bit-form] \u{1F50C} Conectado ao CLI DevTools via WebSocket."),d({type:"HELLO",protocolVersion:1,payload:{role:"server",protocolVersion:1}});let r=m(o.stores);Object.keys(r).length>0&&d({type:"STATE_UPDATE",protocolVersion:1,payload:r}),i=o.subscribe((s,l)=>{a.add(s),R()}),T=setInterval(()=>{d({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:p}=s.payload,S=h(o.stores,l);if(!S)return;switch(p){case"undo":S.undo();break;case"redo":S.redo();break;case"reset":S.reset();break}}}catch(s){console.warn("[bit-form] Erro ao processar comando do CLI:",s)}},t.onclose=()=>{i&&i(),clearInterval(T),n&&(clearTimeout(n),n=null),a.clear(),b?console.log("[bit-form] Ponte antiga encerrada com sucesso."):(console.log("[bit-form] Conex\xE3o perdida. Reconectando em 3s..."),u=setTimeout(y,3e3))}};y();let g=()=>{b=!0,u&&(clearTimeout(u),u=void 0),i&&i(),clearInterval(T),n&&(clearTimeout(n),n=null),a.clear(),t&&(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),f=null};return f=g,g}exports.a = m; exports.b = h; exports.c = _;
2
- //# sourceMappingURL=chunk-SMCFLQIA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-SMCFLQIA.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","reconnectTimer","pendingStoreIds","isIntentionalDisconnect","sendWhenOpen","message","flushPendingStoreUpdates","payload","acc","storeInstance","scheduleStoreFlush","connect","initialState","_newState","event","isDevToolsActionMessage","action","e","cleanup"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-SMCFLQIA.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 let reconnectTimer: ReturnType<typeof setTimeout> | undefined;\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 reconnectTimer = 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 if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = undefined;\n }\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"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPDFT5E2Ecjs = require('./chunk-PDFT5E2E.cjs');var _chunkAOMXTUA4cjs = require('./chunk-AOMXTUA4.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunk7LCFS2JMcjs = require('./chunk-7LCFS2JM.cjs');var _chunk3SEB4YRQcjs = require('./chunk-3SEB4YRQ.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var _=_react.createContext.call(void 0, null),yt= exports.a =({store:t,children:e})=>{let r=_react.useMemo.call(void 0, ()=>_chunkPDFT5E2Ecjs.d.call(void 0, t),[t]);return _react.useEffect.call(void 0, ()=>()=>{_optionalChain([r, 'access', _2 => _2.feature, 'optionalAccess', _3 => _3.cleanup, 'optionalCall', _4 => _4()])},[r]),_jsxruntime.jsx.call(void 0, _.Provider,{value:r,children:e})},p= exports.b =()=>{let t=_react.useContext.call(void 0, _);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};function Tt(){let t=p(),[e,r]=_react.useState.call(void 0, null),[i,s]=_react.useState.call(void 0, null),o=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, S=>_chunkAOMXTUA4cjs.b.call(void 0, t,S),[t]),a=_react.useCallback.call(void 0, ()=>{let S=_chunkAOMXTUA4cjs.a.call(void 0, t);return o.current&&o.current.isValid===S.isValid&&o.current.isDirty===S.isDirty&&o.current.isSubmitting===S.isSubmitting?o.current:(o.current=S,S)},[t]),n=_react.useSyncExternalStore.call(void 0, u,a,a),c=_react.useMemo.call(void 0, ()=>_chunkAOMXTUA4cjs.i.call(void 0, t,{clearSubmissionState:()=>{r(null),s(null)},setSubmissionResult:S=>{s(S)},setSubmissionError:S=>{r(S)}}),[t]),{controller:l,actions:P}=c,g=_react.useCallback.call(void 0, l.submit,[l]),y=_react.useCallback.call(void 0, l.onSubmit,[l]),F=_react.useCallback.call(void 0, l.reset,[l]),m=_react.useCallback.call(void 0, l.getValues,[l]),f=_react.useCallback.call(void 0, l.getErrors,[l]),b=_react.useCallback.call(void 0, l.getTouched,[l]),h=_react.useCallback.call(void 0, l.getDirtyValues,[l]),w=_react.useMemo.call(void 0, ()=>({...n,submitError:e,lastResponse:i}),[n,e,i]);return _react.useMemo.call(void 0, ()=>({meta:w,getValues:m,getErrors:f,getTouched:b,getDirtyValues:h,submit:g,onSubmit:y,reset:F,...P}),[w,m,f,b,h,g,y,F,P])}function At(t){let e=p(),r=_react.useMemo.call(void 0, ()=>_chunkAOMXTUA4cjs.g.call(void 0, e,t),[e,t]),i=_react.useRef.call(void 0, null),s=_react.useCallback.call(void 0, ()=>{let n=r.readItems();return i.current&&_chunk3SEB4YRQcjs.c.call(void 0, i.current,n)?i.current:(i.current=n,n)},[r]),o=_react.useCallback.call(void 0, n=>e.observe.subscribePath(t,()=>n()),[e,t]),u=_react.useSyncExternalStore.call(void 0, o,s,s),a=_react.useMemo.call(void 0, ()=>r.getFields(u),[r,u]);return _react.useEffect.call(void 0, ()=>()=>{_chunkAOMXTUA4cjs.k.call(void 0, e,`${t}.`)},[e,t]),_react.useMemo.call(void 0, ()=>({fields:a,length:u.length,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}),[a,u.length,r])}function It(t){let e=p(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let n=e.read.getScopeStatus(t);return r.current&&_chunkRHMJPKNVcjs.b.call(void 0, r.current,n)?r.current:(r.current=n,n)},[e,t]),s=_react.useCallback.call(void 0, n=>e.observe.subscribeScopeStatus(t,()=>n()),[e,t]),o=_react.useSyncExternalStore.call(void 0, s,i,i),u=_react.useCallback.call(void 0, async()=>{let n=await e.feature.validate({scope:t}),c=e.read.getScopeErrors(t);return{valid:n,errors:c}},[e,t]),a=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(t),[e,t]);return _react.useMemo.call(void 0, ()=>({scopeName:t,status:o,errors:o.errors,validate:u,getErrors:a,isValid:!o.hasErrors,isDirty:o.isDirty}),[t,o,u,a])}function _t(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=p(),[r,i]=_react.useState.call(void 0, 0),s=_nullishCoalesce(t[r], () => ("")),o=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, ()=>{let m=e.read.getScopeStatus(s);return o.current&&_chunkRHMJPKNVcjs.b.call(void 0, o.current,m)?o.current:(o.current=m,m)},[e,s]),a=_react.useSyncExternalStore.call(void 0, _react.useCallback.call(void 0, m=>e.observe.subscribeScopeStatus(s,()=>m()),[e,s]),u,u),n=_react.useCallback.call(void 0, async()=>{let m=await e.feature.validate({scope:s}),f=e.read.getScopeErrors(s);return{valid:m,errors:f}},[e,s]),c=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(s),[e,s]),l=_react.useCallback.call(void 0, async()=>{let m=e.read.getScopeFields(s);if(e.feature.hasValidationsInProgress(m))return!1;let f=await e.feature.validate({scope:s});if(f)i(b=>Math.min(b+1,t.length-1));else{let b=e.read.getScopeErrors(s),h=Object.keys(b);h.length>0&&e.write.markFieldsTouched(h)}return f},[e,s,t.length]),P=_react.useCallback.call(void 0, ()=>{i(m=>Math.max(m-1,0))},[]),g=_react.useCallback.call(void 0, m=>{i(Math.max(0,Math.min(m-1,t.length-1)))},[t.length]),y=r===0,F=r>=t.length-1;return _react.useMemo.call(void 0, ()=>({step:r+1,stepIndex:r,scope:s,next:l,prev:P,goTo:g,isFirst:y,isLast:F,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:n,getErrors:c}),[r,s,l,P,g,y,F,a,n,c])}function Qt(t){let e=p(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let o=_chunk3SEB4YRQcjs.f.call(void 0, e.read.getState().values,t);return r.current!==null&&_chunk3SEB4YRQcjs.c.call(void 0, r.current,o)?r.current:(r.current=o,o)},[e,t]),s=_react.useCallback.call(void 0, o=>e.observe.subscribePath(t,()=>o()),[e,t]);return _react.useSyncExternalStore.call(void 0, s,i,i)}function te(){let t=p(),e=_react.useCallback.call(void 0, c=>_chunkAOMXTUA4cjs.e.call(void 0, t,c),[t]),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let c=_chunkAOMXTUA4cjs.d.call(void 0, t);return r.current&&r.current.isSaving===c.isSaving&&r.current.isRestoring===c.isRestoring&&r.current.error===c.error?r.current:(r.current=c,c)},[t]),s=_react.useSyncExternalStore.call(void 0, e,i,i),o=_react.useCallback.call(void 0, async()=>t.feature.restorePersisted(),[t]),u=_react.useCallback.call(void 0, async()=>{await t.feature.forceSave()},[t]),a=_react.useCallback.call(void 0, async()=>{await t.feature.clearPersisted()},[t]),n=_react.useMemo.call(void 0, ()=>({isSaving:s.isSaving,isRestoring:s.isRestoring,error:s.error}),[s]);return _react.useMemo.call(void 0, ()=>({restore:o,save:u,clear:a,meta:n}),[o,u,a,n])}function ue(t){let e=p(),r=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>()=>_chunkAOMXTUA4cjs.j.call(void 0, e,t),[e,t]);let i=_react.useCallback.call(void 0, ()=>{let n=e.read.getFieldState(t),c=_chunk7LCFS2JMcjs.a.call(void 0, n,r.current);return r.current=c,c},[e,t]),s=_react.useCallback.call(void 0, n=>e.observe.subscribeFieldState(t,()=>n()),[e,t]),o=_react.useSyncExternalStore.call(void 0, s,i,i),u=_react.useCallback.call(void 0, n=>e.write.setField(t,n),[e,t]),a=_react.useCallback.call(void 0, ()=>e.write.blurField(t),[e,t]);return{fieldState:o,setValue:u,setBlur:a,store:e}}exports.a = yt; exports.b = p; exports.c = Tt; exports.d = ue; exports.e = At; exports.f = It; exports.g = _t; exports.h = Qt; exports.i = te;
2
- //# sourceMappingURL=chunk-T36GFQHU.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-T36GFQHU.cjs","../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts"],"names":["BitContext","createContext","BitFormProvider","store","children","adapted","useMemo","createFrameworkStoreAdapter","useEffect","jsx","useBitStore","useContext","useBitForm","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","subscribeMeta","useCallback","cb","subscribeFormMetaSnapshot","getMetaSnapshot","nextMeta","readFormMetaSnapshot","metaState","useSyncExternalStore","binding","createFrameworkFormBinding","result","error","controller","actions","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","meta","useBitArray","path","createArrayBinding","lastSnapshotRef","getSnapshot","next","valueEqual","subscribeArray","data","fields","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-T36GFQHU.cjs","sourcesContent":[null,"import React, { createContext, useContext, useEffect, useMemo } from \"react\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nconst BitContext = createContext<BitFrameworkStoreApi<any> | null>(null);\n\ninterface BitFormProviderProps<T extends object> {\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>;\n children: React.ReactNode;\n}\n\ninterface BitFormProviderRuntimeProps {\n store: unknown;\n children: React.ReactNode;\n}\n\ntype BitFormProviderComponent = {\n <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;\n (props: BitFormProviderRuntimeProps): React.ReactElement;\n};\n\nexport const BitFormProvider: BitFormProviderComponent = ({\n store,\n children,\n}: BitFormProviderRuntimeProps) => {\n const adapted = useMemo(() => createFrameworkStoreAdapter(store), [store]);\n\n useEffect(() => {\n return () => {\n (adapted as any).feature?.cleanup?.();\n };\n }, [adapted]);\n\n return (\n <BitContext.Provider value={adapted}>\n {children}\n </BitContext.Provider>\n );\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 useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport {\n createFrameworkFormBinding,\n readFormMetaSnapshot,\n subscribeFormMetaSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\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 useMemo(\n () => ({\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 meta,\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n submit,\n onSubmit,\n reset,\n actions,\n ],\n );\n}\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from \"react\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n valueEqual,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = useMemo(\n () => createArrayBinding<TForm, P>(store, path),\n [store, path],\n );\n type ArraySnapshot = ReturnType<typeof controller.readItems>;\n const lastSnapshotRef = useRef<ArraySnapshot | null>(null);\n\n const getSnapshot = useCallback(() => {\n const next = controller.readItems();\n\n if (lastSnapshotRef.current && valueEqual(lastSnapshotRef.current, next)) {\n return lastSnapshotRef.current;\n }\n\n lastSnapshotRef.current = next;\n return next;\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 useMemo(\n () => ({\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 [fields, data.length, controller],\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{a as i,b as a,c as f}from"./chunk-HTMNDK6W.js";import{ValidationError as c}from"yup";var y=(l,s)=>async(p,o)=>{let e={};if(o?.scopeFields&&o.scopeFields.length>0)return await Promise.all(o.scopeFields.map(async t=>{try{await l.validateAt(t,p,{abortEarly:s?.abortEarly??!1})}catch(r){if(r instanceof c)if(r.inner&&r.inner.length>0)for(let n of r.inner)n.path&&a(e,i(n.path),n.message);else r.path&&a(e,i(r.path),r.message);else throw r}})),e;try{return await l.validate(p,{abortEarly:s?.abortEarly??!1,stripUnknown:s?.stripUnknown??!1}),{}}catch(t){if(t instanceof c){for(let r of t.inner??[])r.path&&a(e,i(r.path),r.message);return f(e,o?.scopeFields)}throw t}};export{y as a};
2
- //# sourceMappingURL=chunk-WEZ5Q6YO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolvers/yup.ts"],"sourcesContent":["import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values, {\n abortEarly: config?.abortEarly ?? false,\n });\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n if (error.inner && error.inner.length > 0) {\n for (const item of error.inner) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n } else if (error.path) {\n setFirstError(errors, normalizeErrorPath(error.path), error.message);\n }\n } else {\n throw error;\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\n};\n"],"mappings":"sDAAA,OAAS,mBAAAA,MAA+B,MASjC,IAAMC,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,IAAMC,EAAuB,CAAC,EAE9B,GAAID,GAAS,aAAeA,EAAQ,YAAY,OAAS,EACvD,aAAM,QAAQ,IACZA,EAAQ,YAAY,IAAI,MAAOE,GAAU,CACvC,GAAI,CACF,MAAML,EAAO,WAAWK,EAAOH,EAAQ,CACrC,WAAYD,GAAQ,YAAc,EACpC,CAAC,CACH,OAASK,EAAgB,CACvB,GAAIA,aAAiBC,EACnB,GAAID,EAAM,OAASA,EAAM,MAAM,OAAS,EACtC,QAAWE,KAAQF,EAAM,MACnBE,EAAK,MACPC,EAAcL,EAAQM,EAAmBF,EAAK,IAAI,EAAGA,EAAK,OAAO,OAG5DF,EAAM,MACfG,EAAcL,EAAQM,EAAmBJ,EAAM,IAAI,EAAGA,EAAM,OAAO,MAGrE,OAAMA,CAEV,CACF,CAAC,CACH,EACOF,EAGT,GAAI,CACF,aAAMJ,EAAO,SAASE,EAAQ,CAC5B,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EACM,CAAC,CACV,OAASK,EAAgB,CACvB,GAAIA,aAAiBC,EAAiB,CACpC,QAAWC,KAAQF,EAAM,OAAS,CAAC,EAC7BE,EAAK,MACPC,EAAcL,EAAQM,EAAmBF,EAAK,IAAI,EAAGA,EAAK,OAAO,EAIrE,OAAOG,EAAoBP,EAAQD,GAAS,WAAW,CACzD,CAEA,MAAMG,CACR,CACF","names":["ValidationError","yupResolver","schema","config","values","options","errors","field","error","ValidationError","item","setFirstError","normalizeErrorPath","filterErrorsByScope"]}
@@ -1,2 +0,0 @@
1
- import{d as r}from"./chunk-JVRTPL7W.js";function o(i,e){return e&&e.value===i.value&&e.error===i.error&&e.touched===i.touched&&e.isHidden===i.isHidden&&e.isRequired===i.isRequired&&e.isDirty===i.isDirty&&e.isValidating===i.isValidating?e:{value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating}}function d(i,e){return i===e?!0:!i||!e?!1:r(i.value,e.value)&&i.error===e.error&&i.touched===e.touched&&i.isHidden===e.isHidden&&i.isRequired===e.isRequired&&i.isDirty===e.isDirty&&i.isValidating===e.isValidating}var n=d;export{o as a,d as b,n as c};
2
- //# sourceMappingURL=chunk-X3OFU2UH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/utils/field-state-snapshot.ts"],"sourcesContent":["/**\n * Field State Snapshot Utilities\n *\n * Shared utilities for creating and managing field state snapshots across frameworks\n * (React, Vue, Angular). Reduces code duplication while maintaining type safety.\n */\n\nimport type { BitFieldState } from \"../store/contracts/types\";\nimport { deepEqual } from \"../utils\";\n\n/**\n * Represents a stable snapshot of field state that can be compared for equality.\n */\nexport type BitFieldSnapshot<TValue = unknown> = BitFieldState<\n Record<string, unknown>,\n TValue\n>;\n\n/**\n * Creates or reuses a field state snapshot with shallow equality checking.\n *\n * This function prevents unnecessary re-renders in frameworks like React by\n * returning the same object reference when field state hasn't changed.\n *\n * @param nextState - The new field state from the store\n * @param lastSnapshot - The previous snapshot (can be null on first call)\n * @returns A stable snapshot object that can be used for equality comparison\n *\n * @example\n * ```typescript\n * const snapshot = createFieldStateSnapshot(store.getFieldState(\"email\"), lastSnapshot);\n * if (snapshot !== lastSnapshot) {\n * // Field state changed, update component\n * render(snapshot);\n * }\n * ```\n */\nexport function createFieldStateSnapshot<TValue = unknown>(\n nextState: {\n value: TValue;\n error: string | undefined;\n touched: boolean;\n isHidden: boolean;\n isRequired: boolean;\n isDirty: boolean;\n isValidating: boolean;\n },\n lastSnapshot: BitFieldSnapshot<TValue> | null,\n): BitFieldSnapshot<TValue> {\n // Use shallow equality: return cached if all fields are equal by reference\n if (lastSnapshot) {\n const shallowEqual =\n lastSnapshot.value === nextState.value &&\n lastSnapshot.error === nextState.error &&\n lastSnapshot.touched === nextState.touched &&\n lastSnapshot.isHidden === nextState.isHidden &&\n lastSnapshot.isRequired === nextState.isRequired &&\n lastSnapshot.isDirty === nextState.isDirty &&\n lastSnapshot.isValidating === nextState.isValidating;\n\n if (shallowEqual) {\n return lastSnapshot;\n }\n }\n\n return {\n value: nextState.value,\n error: nextState.error,\n touched: nextState.touched,\n isHidden: nextState.isHidden,\n isRequired: nextState.isRequired,\n isDirty: nextState.isDirty,\n isValidating: nextState.isValidating,\n };\n}\n\n/**\n * Deep comparison utility for field state snapshots.\n * Useful for scenarios where shallow comparison isn't sufficient (e.g., object/array values).\n *\n * @param snapshotA - First snapshot\n * @param snapshotB - Second snapshot\n * @returns true if snapshots are deeply equal\n */\nexport function areFieldSnapshotsEqual(\n snapshotA: BitFieldSnapshot | null | undefined,\n snapshotB: BitFieldSnapshot | null | undefined,\n): boolean {\n if (snapshotA === snapshotB) return true;\n if (!snapshotA || !snapshotB) return false;\n\n return (\n deepEqual(snapshotA.value, snapshotB.value) &&\n snapshotA.error === snapshotB.error &&\n snapshotA.touched === snapshotB.touched &&\n snapshotA.isHidden === snapshotB.isHidden &&\n snapshotA.isRequired === snapshotB.isRequired &&\n snapshotA.isDirty === snapshotB.isDirty &&\n snapshotA.isValidating === snapshotB.isValidating\n );\n}\n\nexport const areFieldStatesEqual = areFieldSnapshotsEqual;\n"],"mappings":"wCAqCO,SAASA,EACdC,EASAC,EAC0B,CAE1B,OAAIA,GAEAA,EAAa,QAAUD,EAAU,OACjCC,EAAa,QAAUD,EAAU,OACjCC,EAAa,UAAYD,EAAU,SACnCC,EAAa,WAAaD,EAAU,UACpCC,EAAa,aAAeD,EAAU,YACtCC,EAAa,UAAYD,EAAU,SACnCC,EAAa,eAAiBD,EAAU,aAGjCC,EAIJ,CACL,MAAOD,EAAU,MACjB,MAAOA,EAAU,MACjB,QAASA,EAAU,QACnB,SAAUA,EAAU,SACpB,WAAYA,EAAU,WACtB,QAASA,EAAU,QACnB,aAAcA,EAAU,YAC1B,CACF,CAUO,SAASE,EACdC,EACAC,EACS,CACT,OAAID,IAAcC,EAAkB,GAChC,CAACD,GAAa,CAACC,EAAkB,GAGnCC,EAAUF,EAAU,MAAOC,EAAU,KAAK,GAC1CD,EAAU,QAAUC,EAAU,OAC9BD,EAAU,UAAYC,EAAU,SAChCD,EAAU,WAAaC,EAAU,UACjCD,EAAU,aAAeC,EAAU,YACnCD,EAAU,UAAYC,EAAU,SAChCD,EAAU,eAAiBC,EAAU,YAEzC,CAEO,IAAME,EAAsBJ","names":["createFieldStateSnapshot","nextState","lastSnapshot","areFieldSnapshotsEqual","snapshotA","snapshotB","deepEqual","areFieldStatesEqual"]}