@lehnihon/bit-form 2.2.16 → 2.2.18

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 (72) hide show
  1. package/README.md +2 -1
  2. package/dist/angular/index.cjs +1 -1
  3. package/dist/angular/index.d.cts +2 -2
  4. package/dist/angular/index.d.ts +2 -2
  5. package/dist/angular/index.js +1 -1
  6. package/dist/angular/index.js.map +1 -1
  7. package/dist/chunk-3774TIGK.js +2 -0
  8. package/dist/chunk-3774TIGK.js.map +1 -0
  9. package/dist/{chunk-PGLND5EZ.js → chunk-GSZTHF7Z.js} +2 -2
  10. package/dist/chunk-L7EAZ6K6.cjs +2 -0
  11. package/dist/chunk-L7EAZ6K6.cjs.map +1 -0
  12. package/dist/chunk-LIHWJJIM.js +2 -0
  13. package/dist/chunk-LIHWJJIM.js.map +1 -0
  14. package/dist/{chunk-UIBR5FS6.cjs → chunk-P5YQ62YN.cjs} +2 -2
  15. package/dist/{chunk-UIBR5FS6.cjs.map → chunk-P5YQ62YN.cjs.map} +1 -1
  16. package/dist/{chunk-FRKHIMXO.cjs → chunk-RSH6LQVC.cjs} +2 -2
  17. package/dist/{chunk-FRKHIMXO.cjs.map → chunk-RSH6LQVC.cjs.map} +1 -1
  18. package/dist/chunk-U5TBWV74.cjs +2 -0
  19. package/dist/chunk-U5TBWV74.cjs.map +1 -0
  20. package/dist/{chunk-HNSQFNCR.js → chunk-YO4TZ6N6.js} +2 -2
  21. package/dist/{config-types-CewC0AIS.d.cts → config-types-Dbyt7t3D.d.cts} +11 -3
  22. package/dist/{config-types-BgIAuvzu.d.ts → config-types-bTt2lcw9.d.ts} +11 -3
  23. package/dist/core/bindings.d.cts +2 -2
  24. package/dist/core/bindings.d.ts +2 -2
  25. package/dist/core/store.cjs +1 -1
  26. package/dist/core/store.d.cts +3 -3
  27. package/dist/core/store.d.ts +3 -3
  28. package/dist/core/store.js +1 -1
  29. package/dist/core.cjs +1 -1
  30. package/dist/core.d.cts +2 -2
  31. package/dist/core.d.ts +2 -2
  32. package/dist/core.js +1 -1
  33. package/dist/devtools/bridge.cjs +1 -1
  34. package/dist/devtools/bridge.js +1 -1
  35. package/dist/devtools/index.cjs +2 -2
  36. package/dist/devtools/index.d.cts +1 -1
  37. package/dist/devtools/index.d.ts +1 -1
  38. package/dist/devtools/index.js +1 -1
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.d.cts +2 -2
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.js +1 -1
  43. package/dist/react/index.cjs +1 -1
  44. package/dist/react/index.cjs.map +1 -1
  45. package/dist/react/index.d.cts +4 -4
  46. package/dist/react/index.d.ts +4 -4
  47. package/dist/react/index.js +1 -1
  48. package/dist/react/index.js.map +1 -1
  49. package/dist/react-native/index.cjs +1 -1
  50. package/dist/react-native/index.d.cts +3 -3
  51. package/dist/react-native/index.d.ts +3 -3
  52. package/dist/react-native/index.js +1 -1
  53. package/dist/{store-api-types-CVQuHPhm.d.cts → store-api-types-BPD27biP.d.cts} +2 -1
  54. package/dist/{store-api-types-Cy-zEhRU.d.ts → store-api-types-i-zmM25p.d.ts} +2 -1
  55. package/dist/{use-bit-persist-BhMBUSzN.d.ts → use-bit-persist-BGH2Bazx.d.ts} +1 -1
  56. package/dist/{use-bit-persist-Dt264zYz.d.cts → use-bit-persist-DiwICsEm.d.cts} +1 -1
  57. package/dist/vue/index.cjs +1 -1
  58. package/dist/vue/index.d.cts +2 -2
  59. package/dist/vue/index.d.ts +2 -2
  60. package/dist/vue/index.js +1 -1
  61. package/dist/vue/index.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/chunk-HHDHVLGP.cjs +0 -2
  64. package/dist/chunk-HHDHVLGP.cjs.map +0 -1
  65. package/dist/chunk-L7RLUUSB.js +0 -2
  66. package/dist/chunk-L7RLUUSB.js.map +0 -1
  67. package/dist/chunk-PQYTA2OP.js +0 -2
  68. package/dist/chunk-PQYTA2OP.js.map +0 -1
  69. package/dist/chunk-WLOKGOW6.cjs +0 -2
  70. package/dist/chunk-WLOKGOW6.cjs.map +0 -1
  71. /package/dist/{chunk-PGLND5EZ.js.map → chunk-GSZTHF7Z.js.map} +0 -0
  72. /package/dist/{chunk-HNSQFNCR.js.map → chunk-YO4TZ6N6.js.map} +0 -0
@@ -1,2 +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 _chunkHHDHVLGPcjs = require('./chunk-HHDHVLGP.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=_chunkHHDHVLGPcjs.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-UIBR5FS6.cjs.map
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 _chunkL7EAZ6K6cjs = require('./chunk-L7EAZ6K6.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=_chunkL7EAZ6K6cjs.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-P5YQ62YN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-UIBR5FS6.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-UIBR5FS6.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"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-P5YQ62YN.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-P5YQ62YN.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"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkHHDHVLGPcjs = require('./chunk-HHDHVLGP.cjs');var _chunkAVUK52JWcjs = require('./chunk-AVUK52JW.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunkGKNGJOB3cjs = require('./chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var _=_react.createContext.call(void 0, null),bt= exports.a =({store:t,children:e})=>_jsxruntime.jsx.call(void 0, _.Provider,{value:_chunkHHDHVLGPcjs.d.call(void 0, t),children:e}),m= 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 vt(){let t=m(),[e,r]=_react.useState.call(void 0, null),[i,o]=_react.useState.call(void 0, null),s=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, p=>_chunkAVUK52JWcjs.b.call(void 0, t,p),[t]),a=_react.useCallback.call(void 0, ()=>{let p=_chunkAVUK52JWcjs.a.call(void 0, t);return s.current&&s.current.isValid===p.isValid&&s.current.isDirty===p.isDirty&&s.current.isSubmitting===p.isSubmitting?s.current:(s.current=p,p)},[t]),n=_react.useSyncExternalStore.call(void 0, u,a,a),S=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.i.call(void 0, t,{clearSubmissionState:()=>{r(null),o(null)},setSubmissionResult:p=>{o(p)},setSubmissionError:p=>{r(p)}}),[t]),{controller:c,actions:P}=S,F=_react.useCallback.call(void 0, c.submit,[c]),g=_react.useCallback.call(void 0, c.onSubmit,[c]),y=_react.useCallback.call(void 0, c.reset,[c]),l=_react.useCallback.call(void 0, c.getValues,[c]),f=_react.useCallback.call(void 0, c.getErrors,[c]),b=_react.useCallback.call(void 0, c.getTouched,[c]),h=_react.useCallback.call(void 0, c.getDirtyValues,[c]),k=_react.useMemo.call(void 0, ()=>({...n,submitError:e,lastResponse:i}),[n,e,i]);return _react.useMemo.call(void 0, ()=>({meta:k,getValues:l,getErrors:f,getTouched:b,getDirtyValues:h,submit:F,onSubmit:g,reset:y,...P}),[k,l,f,b,h,F,g,y,P])}function wt(t){let e=m(),r=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.g.call(void 0, e,t),[e,t]),i=_react.useRef.call(void 0, null),o=_react.useCallback.call(void 0, ()=>{let n=r.readItems();return i.current&&_chunkFTXV2NZOcjs.c.call(void 0, i.current,n)?i.current:(i.current=n,n)},[r]),s=_react.useCallback.call(void 0, n=>e.observe.subscribePath(t,()=>n()),[e,t]),u=_react.useSyncExternalStore.call(void 0, s,o,o),a=_react.useMemo.call(void 0, ()=>r.getFields(u),[r,u]);return _react.useEffect.call(void 0, ()=>()=>{_chunkAVUK52JWcjs.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 Dt(t){let e=m(),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]),o=_react.useCallback.call(void 0, n=>e.observe.subscribeScopeStatus(t,()=>n()),[e,t]),s=_react.useSyncExternalStore.call(void 0, o,i,i),u=_react.useCallback.call(void 0, async()=>{let n=await e.feature.validate({scope:t}),S=e.read.getScopeErrors(t);return{valid:n,errors:S}},[e,t]),a=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(t),[e,t]);return _react.useMemo.call(void 0, ()=>({scopeName:t,status:s,errors:s.errors,validate:u,getErrors:a,isValid:!s.hasErrors,isDirty:s.isDirty}),[t,s,u,a])}function Lt(t){let e=m(),[r,i]=_react.useState.call(void 0, 0),o=_nullishCoalesce(t[r], () => ("")),s=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, ()=>{let l=e.read.getScopeStatus(o);return s.current&&_chunkRHMJPKNVcjs.b.call(void 0, s.current,l)?s.current:(s.current=l,l)},[e,o]),a=_react.useSyncExternalStore.call(void 0, _react.useCallback.call(void 0, l=>e.observe.subscribeScopeStatus(o,()=>l()),[e,o]),u,u),n=_react.useCallback.call(void 0, async()=>{let l=await e.feature.validate({scope:o}),f=e.read.getScopeErrors(o);return{valid:l,errors:f}},[e,o]),S=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(o),[e,o]),c=_react.useCallback.call(void 0, async()=>{let l=e.read.getScopeFields(o);if(e.feature.hasValidationsInProgress(l))return!1;let f=await e.feature.validate({scope:o});if(f)i(b=>Math.min(b+1,t.length-1));else{let b=e.read.getScopeErrors(o),h=Object.keys(b);h.length>0&&e.write.markFieldsTouched(h)}return f},[e,o,t.length]),P=_react.useCallback.call(void 0, ()=>{i(l=>Math.max(l-1,0))},[]),F=_react.useCallback.call(void 0, l=>{i(Math.max(0,Math.min(l-1,t.length-1)))},[t.length]),g=r===0,y=r>=t.length-1;return _react.useMemo.call(void 0, ()=>({step:r+1,stepIndex:r,scope:o,next:c,prev:P,goTo:F,isFirst:g,isLast:y,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:n,getErrors:S}),[r,o,c,P,F,g,y,a,n,S])}function Ht(t){let e=m(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let s=_chunkFTXV2NZOcjs.f.call(void 0, e.read.getState().values,t);return r.current!==null&&_chunkFTXV2NZOcjs.c.call(void 0, r.current,s)?r.current:(r.current=s,s)},[e,t]),o=_react.useCallback.call(void 0, s=>e.observe.subscribePath(t,()=>s()),[e,t]);return _react.useSyncExternalStore.call(void 0, o,i,i)}function Yt(){let t=m(),e=_react.useCallback.call(void 0, a=>_chunkAVUK52JWcjs.e.call(void 0, t,a),[t]),r=_react.useSyncExternalStore.call(void 0, e,()=>_chunkAVUK52JWcjs.d.call(void 0, t),()=>_chunkAVUK52JWcjs.d.call(void 0, t)),i=_react.useCallback.call(void 0, async()=>t.feature.restorePersisted(),[t]),o=_react.useCallback.call(void 0, async()=>{await t.feature.forceSave()},[t]),s=_react.useCallback.call(void 0, async()=>{await t.feature.clearPersisted()},[t]),u=_react.useMemo.call(void 0, ()=>({isSaving:r.isSaving,isRestoring:r.isRestoring,error:r.error}),[r]);return _react.useMemo.call(void 0, ()=>({restore:i,save:o,clear:s,meta:u}),[i,o,s,u])}function ne(t){let e=m(),r=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>()=>_chunkAVUK52JWcjs.j.call(void 0, e,t),[e,t]);let i=_react.useCallback.call(void 0, ()=>{let n=e.read.getFieldState(t),S=_chunkGKNGJOB3cjs.a.call(void 0, n,r.current);return r.current=S,S},[e,t]),o=_react.useCallback.call(void 0, n=>e.observe.subscribeFieldState(t,()=>n()),[e,t]),s=_react.useSyncExternalStore.call(void 0, o,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:s,setValue:u,setBlur:a,store:e}}exports.a = bt; exports.b = m; exports.c = vt; exports.d = ne; exports.e = wt; exports.f = Dt; exports.g = Lt; exports.h = Ht; exports.i = Yt;
2
- //# sourceMappingURL=chunk-FRKHIMXO.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkL7EAZ6K6cjs = require('./chunk-L7EAZ6K6.cjs');var _chunkAVUK52JWcjs = require('./chunk-AVUK52JW.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunkGKNGJOB3cjs = require('./chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var _=_react.createContext.call(void 0, null),bt= exports.a =({store:t,children:e})=>_jsxruntime.jsx.call(void 0, _.Provider,{value:_chunkL7EAZ6K6cjs.d.call(void 0, t),children:e}),m= 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 vt(){let t=m(),[e,r]=_react.useState.call(void 0, null),[i,o]=_react.useState.call(void 0, null),s=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, p=>_chunkAVUK52JWcjs.b.call(void 0, t,p),[t]),a=_react.useCallback.call(void 0, ()=>{let p=_chunkAVUK52JWcjs.a.call(void 0, t);return s.current&&s.current.isValid===p.isValid&&s.current.isDirty===p.isDirty&&s.current.isSubmitting===p.isSubmitting?s.current:(s.current=p,p)},[t]),n=_react.useSyncExternalStore.call(void 0, u,a,a),S=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.i.call(void 0, t,{clearSubmissionState:()=>{r(null),o(null)},setSubmissionResult:p=>{o(p)},setSubmissionError:p=>{r(p)}}),[t]),{controller:c,actions:P}=S,F=_react.useCallback.call(void 0, c.submit,[c]),g=_react.useCallback.call(void 0, c.onSubmit,[c]),y=_react.useCallback.call(void 0, c.reset,[c]),l=_react.useCallback.call(void 0, c.getValues,[c]),f=_react.useCallback.call(void 0, c.getErrors,[c]),b=_react.useCallback.call(void 0, c.getTouched,[c]),h=_react.useCallback.call(void 0, c.getDirtyValues,[c]),k=_react.useMemo.call(void 0, ()=>({...n,submitError:e,lastResponse:i}),[n,e,i]);return _react.useMemo.call(void 0, ()=>({meta:k,getValues:l,getErrors:f,getTouched:b,getDirtyValues:h,submit:F,onSubmit:g,reset:y,...P}),[k,l,f,b,h,F,g,y,P])}function wt(t){let e=m(),r=_react.useMemo.call(void 0, ()=>_chunkAVUK52JWcjs.g.call(void 0, e,t),[e,t]),i=_react.useRef.call(void 0, null),o=_react.useCallback.call(void 0, ()=>{let n=r.readItems();return i.current&&_chunkFTXV2NZOcjs.c.call(void 0, i.current,n)?i.current:(i.current=n,n)},[r]),s=_react.useCallback.call(void 0, n=>e.observe.subscribePath(t,()=>n()),[e,t]),u=_react.useSyncExternalStore.call(void 0, s,o,o),a=_react.useMemo.call(void 0, ()=>r.getFields(u),[r,u]);return _react.useEffect.call(void 0, ()=>()=>{_chunkAVUK52JWcjs.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 Dt(t){let e=m(),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]),o=_react.useCallback.call(void 0, n=>e.observe.subscribeScopeStatus(t,()=>n()),[e,t]),s=_react.useSyncExternalStore.call(void 0, o,i,i),u=_react.useCallback.call(void 0, async()=>{let n=await e.feature.validate({scope:t}),S=e.read.getScopeErrors(t);return{valid:n,errors:S}},[e,t]),a=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(t),[e,t]);return _react.useMemo.call(void 0, ()=>({scopeName:t,status:s,errors:s.errors,validate:u,getErrors:a,isValid:!s.hasErrors,isDirty:s.isDirty}),[t,s,u,a])}function Lt(t){let e=m(),[r,i]=_react.useState.call(void 0, 0),o=_nullishCoalesce(t[r], () => ("")),s=_react.useRef.call(void 0, null),u=_react.useCallback.call(void 0, ()=>{let l=e.read.getScopeStatus(o);return s.current&&_chunkRHMJPKNVcjs.b.call(void 0, s.current,l)?s.current:(s.current=l,l)},[e,o]),a=_react.useSyncExternalStore.call(void 0, _react.useCallback.call(void 0, l=>e.observe.subscribeScopeStatus(o,()=>l()),[e,o]),u,u),n=_react.useCallback.call(void 0, async()=>{let l=await e.feature.validate({scope:o}),f=e.read.getScopeErrors(o);return{valid:l,errors:f}},[e,o]),S=_react.useCallback.call(void 0, ()=>e.read.getScopeErrors(o),[e,o]),c=_react.useCallback.call(void 0, async()=>{let l=e.read.getScopeFields(o);if(e.feature.hasValidationsInProgress(l))return!1;let f=await e.feature.validate({scope:o});if(f)i(b=>Math.min(b+1,t.length-1));else{let b=e.read.getScopeErrors(o),h=Object.keys(b);h.length>0&&e.write.markFieldsTouched(h)}return f},[e,o,t.length]),P=_react.useCallback.call(void 0, ()=>{i(l=>Math.max(l-1,0))},[]),F=_react.useCallback.call(void 0, l=>{i(Math.max(0,Math.min(l-1,t.length-1)))},[t.length]),g=r===0,y=r>=t.length-1;return _react.useMemo.call(void 0, ()=>({step:r+1,stepIndex:r,scope:o,next:c,prev:P,goTo:F,isFirst:g,isLast:y,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:n,getErrors:S}),[r,o,c,P,F,g,y,a,n,S])}function Ht(t){let e=m(),r=_react.useRef.call(void 0, null),i=_react.useCallback.call(void 0, ()=>{let s=_chunkFTXV2NZOcjs.f.call(void 0, e.read.getState().values,t);return r.current!==null&&_chunkFTXV2NZOcjs.c.call(void 0, r.current,s)?r.current:(r.current=s,s)},[e,t]),o=_react.useCallback.call(void 0, s=>e.observe.subscribePath(t,()=>s()),[e,t]);return _react.useSyncExternalStore.call(void 0, o,i,i)}function Yt(){let t=m(),e=_react.useCallback.call(void 0, a=>_chunkAVUK52JWcjs.e.call(void 0, t,a),[t]),r=_react.useSyncExternalStore.call(void 0, e,()=>_chunkAVUK52JWcjs.d.call(void 0, t),()=>_chunkAVUK52JWcjs.d.call(void 0, t)),i=_react.useCallback.call(void 0, async()=>t.feature.restorePersisted(),[t]),o=_react.useCallback.call(void 0, async()=>{await t.feature.forceSave()},[t]),s=_react.useCallback.call(void 0, async()=>{await t.feature.clearPersisted()},[t]),u=_react.useMemo.call(void 0, ()=>({isSaving:r.isSaving,isRestoring:r.isRestoring,error:r.error}),[r]);return _react.useMemo.call(void 0, ()=>({restore:i,save:o,clear:s,meta:u}),[i,o,s,u])}function ne(t){let e=m(),r=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>()=>_chunkAVUK52JWcjs.j.call(void 0, e,t),[e,t]);let i=_react.useCallback.call(void 0, ()=>{let n=e.read.getFieldState(t),S=_chunkGKNGJOB3cjs.a.call(void 0, n,r.current);return r.current=S,S},[e,t]),o=_react.useCallback.call(void 0, n=>e.observe.subscribeFieldState(t,()=>n()),[e,t]),s=_react.useSyncExternalStore.call(void 0, o,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:s,setValue:u,setBlur:a,store:e}}exports.a = bt; exports.b = m; exports.c = vt; exports.d = ne; exports.e = wt; exports.f = Dt; exports.g = Lt; exports.h = Ht; exports.i = Yt;
2
+ //# sourceMappingURL=chunk-RSH6LQVC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-FRKHIMXO.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","meta","useBitArray","path","createArrayBinding","lastSnapshotRef","getSnapshot","next","valueEqual","subscribeArray","data","fields","useEffect","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-FRKHIMXO.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\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 return (\n <BitContext.Provider value={createFrameworkStoreAdapter(store)}>\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
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/chunk-RSH6LQVC.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","meta","useBitArray","path","createArrayBinding","lastSnapshotRef","getSnapshot","next","valueEqual","subscribeArray","data","fields","useEffect","cleanupRegisteredPrefix"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-RSH6LQVC.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\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 return (\n <BitContext.Provider value={createFrameworkStoreAdapter(store)}>\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"]}
@@ -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; }function n(t,a){try{t()}catch(e){_optionalChain([a, 'optionalCall', _ => _(e)])}}function u(t,a,e){let o=0,r=e.onCallbackError;return async d=>{if(!d)return;let i=++o;n(()=>e.setLoading(!0),r),n(()=>e.setError(t,void 0),r);try{let l=await a(d);if(i!==o)return;n(()=>e.setValue(l.url),r),n(()=>e.setUploadKey(l.key),r),n(()=>e.setError(t,void 0),r)}catch(l){if(i!==o)return;let s=l instanceof Error?l.message:"Upload failed";n(()=>e.setError(t,s),r)}finally{i===o&&n(()=>e.setLoading(!1),r)}}}function p(t,a,e){let o=e.onCallbackError;return async()=>{let r=e.getUploadKey();if(r&&a){try{await a(r)}catch(d){let i=d instanceof Error?d.message:"Delete failed";n(()=>e.setError(t,i),o);return}if(e.getUploadKey()!==r)return}n(()=>e.setValue(null),o),n(()=>e.setUploadKey(null),o),n(()=>e.setError(t,void 0),o)}}exports.a = u; exports.b = p;
2
+ //# sourceMappingURL=chunk-U5TBWV74.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/adapters/upload-kernel.ts"],"names":["safeCallbackExecution","fn","onError","error","createUploadHandler","fieldPath","uploadFn","callbacks","currentGeneration","file","myGeneration","result","message","createRemoveHandler","deleteFile","uploadKey"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/chunk-U5TBWV74.cjs","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 { BitDeleteUploadFn, BitUploadFn } 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 * Called when a state-update callback (setValue, setLoading, etc.) throws.\n * Defaults to a no-op if not provided, but callers should route this to the\n * store's `onUnhandledError` to surface issues in observability tools.\n */\n onCallbackError?: (error: unknown) => 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 * onCallbackError: (e) => store.config.onUnhandledError(e, \"upload\"),\n * });\n * ```\n */\nfunction safeCallbackExecution(fn: () => void, onError?: (e: unknown) => void): void {\n try {\n fn();\n } catch (error) {\n // Route to the provided handler so observability tools can capture it.\n // Swallowing is intentional only when no handler is given — callers should\n // always provide onCallbackError in production to avoid silent data loss.\n onError?.(error);\n }\n}\n\nexport function createUploadHandler<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n callbacks: UploadKernelCallbacks,\n): (file: File | null | undefined) => Promise<void> {\n let currentGeneration = 0;\n const onError = callbacks.onCallbackError;\n\n return async (file) => {\n if (!file) return;\n\n const myGeneration = ++currentGeneration;\n safeCallbackExecution(() => callbacks.setLoading(true), onError);\n safeCallbackExecution(() => callbacks.setError(fieldPath, undefined), onError);\n\n try {\n const result = await uploadFn(file);\n\n if (myGeneration !== currentGeneration) return;\n safeCallbackExecution(() => callbacks.setValue(result.url), onError);\n safeCallbackExecution(() => callbacks.setUploadKey(result.key), onError);\n safeCallbackExecution(() => callbacks.setError(fieldPath, undefined), onError);\n } catch (error) {\n if (myGeneration !== currentGeneration) return;\n const message = error instanceof Error ? error.message : \"Upload failed\";\n safeCallbackExecution(() => callbacks.setError(fieldPath, message), onError);\n } finally {\n if (myGeneration === currentGeneration) {\n safeCallbackExecution(() => callbacks.setLoading(false), onError);\n }\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 const onError = callbacks.onCallbackError;\n\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 // Use safeCallbackExecution to mirror createUploadHandler: if the adapter\n // throws inside setError (e.g. component already unmounted), the error is\n // routed to onCallbackError instead of escaping the promise unhandled.\n safeCallbackExecution(() => callbacks.setError(fieldPath, message), onError);\n return;\n }\n\n if (callbacks.getUploadKey() !== uploadKey) {\n return;\n }\n }\n\n safeCallbackExecution(() => callbacks.setValue(null), onError);\n safeCallbackExecution(() => callbacks.setUploadKey(null), onError);\n safeCallbackExecution(() => callbacks.setError(fieldPath, undefined), onError);\n };\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{a as c,c as v}from"./chunk-K5X37E3U.js";import{a as g}from"./chunk-PQYTA2OP.js";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=g){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=>{t?.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(v(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}export{b as a,B as b,N as c};
2
- //# sourceMappingURL=chunk-HNSQFNCR.js.map
1
+ import{a as c,c as v}from"./chunk-K5X37E3U.js";import{a as g}from"./chunk-LIHWJJIM.js";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=g){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=>{t?.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(v(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}export{b as a,B as b,N as c};
2
+ //# sourceMappingURL=chunk-YO4TZ6N6.js.map
@@ -6,14 +6,16 @@ import { b as BitIdFactory, D as DevToolsOptions, B as BitScheduler } from './ru
6
6
  type BitBivariantFn<TArgs extends unknown[], TResult> = {
7
7
  bivarianceHack(...args: TArgs): TResult;
8
8
  }["bivarianceHack"];
9
- type BitComputedFn<T> = (values: T) => unknown;
9
+ type BitComputedFn<T> = (values: T, path?: string) => unknown;
10
10
  type BitNormalizeFn<T> = BitBivariantFn<[
11
11
  value: unknown,
12
- allValues: T
12
+ allValues: T,
13
+ path?: string
13
14
  ], unknown>;
14
15
  type BitTransformFn<T> = BitBivariantFn<[
15
16
  value: unknown,
16
- allValues: T
17
+ allValues: T,
18
+ path?: string
17
19
  ], unknown>;
18
20
  type ValidatorFn<T extends object> = (values: T, options?: {
19
21
  scopeFields?: string[];
@@ -171,6 +173,12 @@ interface BitHistoryConfig {
171
173
  * @default 50
172
174
  */
173
175
  limit?: number;
176
+ /**
177
+ * Debounce window (ms) used to coalesce rapid value changes into a single
178
+ * history snapshot.
179
+ * @default 300
180
+ */
181
+ debounceMs?: number;
174
182
  }
175
183
  /**
176
184
  * BitConfig - store configuration.
@@ -6,14 +6,16 @@ import { b as BitIdFactory, D as DevToolsOptions, B as BitScheduler } from './ru
6
6
  type BitBivariantFn<TArgs extends unknown[], TResult> = {
7
7
  bivarianceHack(...args: TArgs): TResult;
8
8
  }["bivarianceHack"];
9
- type BitComputedFn<T> = (values: T) => unknown;
9
+ type BitComputedFn<T> = (values: T, path?: string) => unknown;
10
10
  type BitNormalizeFn<T> = BitBivariantFn<[
11
11
  value: unknown,
12
- allValues: T
12
+ allValues: T,
13
+ path?: string
13
14
  ], unknown>;
14
15
  type BitTransformFn<T> = BitBivariantFn<[
15
16
  value: unknown,
16
- allValues: T
17
+ allValues: T,
18
+ path?: string
17
19
  ], unknown>;
18
20
  type ValidatorFn<T extends object> = (values: T, options?: {
19
21
  scopeFields?: string[];
@@ -171,6 +173,12 @@ interface BitHistoryConfig {
171
173
  * @default 50
172
174
  */
173
175
  limit?: number;
176
+ /**
177
+ * Debounce window (ms) used to coalesce rapid value changes into a single
178
+ * history snapshot.
179
+ * @default 300
180
+ */
181
+ debounceMs?: number;
174
182
  }
175
183
  /**
176
184
  * BitConfig - store configuration.
@@ -1,12 +1,12 @@
1
1
  import { B as BitFormMeta, c as BitServerErrorOptions, b as BitValidationOptions } from '../meta-types-BC1VLABk.cjs';
2
- import { e as BitStoreApi } from '../store-api-types-CVQuHPhm.cjs';
2
+ import { e as BitStoreApi } from '../store-api-types-BPD27biP.cjs';
3
3
  import { f as BitPersistMetadata, a as BitArrayPath, d as BitPath, e as BitPathValue, D as DeepPartial } from '../state-types-8bUndWfg.cjs';
4
4
  import { B as BitArrayBinding } from '../upload-C4JqIaU2.cjs';
5
5
  export { a as BitArrayBindingField, b as BitDeleteUploadFn, c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, g as BitUploadFn, h as BitUploadInput, i as BitUploadResult, j as BitUploadValue } from '../upload-C4JqIaU2.cjs';
6
6
  import '../bus-DzTqgkZ4.cjs';
7
7
  export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from '../field-binding-X5TkvfUt.cjs';
8
8
  import '../types-CUXh7PqD.cjs';
9
- import '../config-types-CewC0AIS.cjs';
9
+ import '../config-types-Dbyt7t3D.cjs';
10
10
  import '../runtime-types-D1SRZr-n.cjs';
11
11
 
12
12
  declare function readFormMetaSnapshot<T extends object>(store: BitStoreApi<T>): BitFormMeta;
@@ -1,12 +1,12 @@
1
1
  import { B as BitFormMeta, c as BitServerErrorOptions, b as BitValidationOptions } from '../meta-types-BC1VLABk.js';
2
- import { e as BitStoreApi } from '../store-api-types-Cy-zEhRU.js';
2
+ import { e as BitStoreApi } from '../store-api-types-i-zmM25p.js';
3
3
  import { f as BitPersistMetadata, a as BitArrayPath, d as BitPath, e as BitPathValue, D as DeepPartial } from '../state-types-8bUndWfg.js';
4
4
  import { B as BitArrayBinding } from '../upload-ao6skK9K.js';
5
5
  export { a as BitArrayBindingField, b as BitDeleteUploadFn, c as BitHistoryAdapterResult, d as BitPersistAdapterResult, e as BitStepsAdapterResult, f as BitUploadAdapterResult, g as BitUploadFn, h as BitUploadInput, i as BitUploadResult, j as BitUploadValue } from '../upload-ao6skK9K.js';
6
6
  import '../bus-BFOBGmd9.js';
7
7
  export { B as BitFieldInputEvent, f as formatMaskedValue, i as isBitFieldInputEventObject, p as parseMaskedInput } from '../field-binding-Bi1g-D8X.js';
8
8
  import '../types-CUXh7PqD.js';
9
- import '../config-types-BgIAuvzu.js';
9
+ import '../config-types-bTt2lcw9.js';
10
10
  import '../runtime-types-D1SRZr-n.js';
11
11
 
12
12
  declare function readFormMetaSnapshot<T extends object>(store: BitStoreApi<T>): BitFormMeta;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHHDHVLGPcjs = require('../chunk-HHDHVLGP.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');exports.bitBus = _chunkHHDHVLGPcjs.a; exports.createBitBus = _chunkHHDHVLGPcjs.b; exports.createBitStore = _chunkHHDHVLGPcjs.e; exports.createFrameworkStoreAdapter = _chunkHHDHVLGPcjs.d; exports.extractFeatureSlice = _chunkHHDHVLGPcjs.i; exports.extractObserveSlice = _chunkHHDHVLGPcjs.g; exports.extractReadSlice = _chunkHHDHVLGPcjs.f; exports.extractSlices = _chunkHHDHVLGPcjs.j; exports.extractWriteSlice = _chunkHHDHVLGPcjs.h; exports.resolveBitStoreForHooks = _chunkHHDHVLGPcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');exports.bitBus = _chunkL7EAZ6K6cjs.a; exports.createBitBus = _chunkL7EAZ6K6cjs.b; exports.createBitStore = _chunkL7EAZ6K6cjs.e; exports.createFrameworkStoreAdapter = _chunkL7EAZ6K6cjs.d; exports.extractFeatureSlice = _chunkL7EAZ6K6cjs.i; exports.extractObserveSlice = _chunkL7EAZ6K6cjs.g; exports.extractReadSlice = _chunkL7EAZ6K6cjs.f; exports.extractSlices = _chunkL7EAZ6K6cjs.j; exports.extractWriteSlice = _chunkL7EAZ6K6cjs.h; exports.resolveBitStoreForHooks = _chunkL7EAZ6K6cjs.c;
2
2
  //# sourceMappingURL=store.cjs.map
@@ -1,8 +1,8 @@
1
1
  export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from '../index.cjs';
2
- import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-CVQuHPhm.cjs';
3
- export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-CVQuHPhm.cjs';
2
+ import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-BPD27biP.cjs';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-BPD27biP.cjs';
4
4
  export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from '../meta-types-BC1VLABk.cjs';
5
- export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from '../config-types-CewC0AIS.cjs';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from '../config-types-Dbyt7t3D.cjs';
6
6
  export { B as BitArrayItem, a as BitArrayPath, b as BitErrors, c as BitFieldState, d as BitPath, e as BitPathValue, f as BitPersistMetadata, g as BitState, h as BitTouched, D as DeepPartial } from '../state-types-8bUndWfg.cjs';
7
7
  export { B as BitScheduler, a as BitSubmitResult, D as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.cjs';
8
8
  export { B as BitBus, a as BitBusListener, b as BitBusStorePort, c as BitFormGlobal, d as bitBus, e as createBitBus } from '../bus-DzTqgkZ4.cjs';
@@ -1,8 +1,8 @@
1
1
  export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from '../index.js';
2
- import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-Cy-zEhRU.js';
3
- export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-Cy-zEhRU.js';
2
+ import { e as BitStoreApi, g as BitStoreFeatureApi, h as BitStoreObserveSliceApi, i as BitStoreReadSliceApi, j as BitStoreWriteSliceApi } from '../store-api-types-i-zmM25p.js';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions } from '../store-api-types-i-zmM25p.js';
4
4
  export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from '../meta-types-BC1VLABk.js';
5
- export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from '../config-types-BgIAuvzu.js';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from '../config-types-bTt2lcw9.js';
6
6
  export { B as BitArrayItem, a as BitArrayPath, b as BitErrors, c as BitFieldState, d as BitPath, e as BitPathValue, f as BitPersistMetadata, g as BitState, h as BitTouched, D as DeepPartial } from '../state-types-8bUndWfg.js';
7
7
  export { B as BitScheduler, a as BitSubmitResult, D as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult } from '../runtime-types-D1SRZr-n.js';
8
8
  export { B as BitBus, a as BitBusListener, b as BitBusStorePort, c as BitFormGlobal, d as bitBus, e as createBitBus } from '../bus-BFOBGmd9.js';
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h,i,j}from"../chunk-PQYTA2OP.js";import"../chunk-UIKO6GGW.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-LIHWJJIM.js";import"../chunk-UIKO6GGW.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
2
2
  //# sourceMappingURL=store.js.map
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkHHDHVLGPcjs = require('./chunk-HHDHVLGP.cjs');var _chunkAVUK52JWcjs = require('./chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('./chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('./chunk-3KI3GEU3.cjs');var _chunkGKNGJOB3cjs = require('./chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');require('./chunk-WRNR6SXK.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');exports.areFieldSnapshotsEqual = _chunkGKNGJOB3cjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkHHDHVLGPcjs.a; exports.cleanPrefixedKeys = _chunkFTXV2NZOcjs.j; exports.cleanupRegisteredField = _chunkAVUK52JWcjs.j; exports.cleanupRegisteredPrefix = _chunkAVUK52JWcjs.k; exports.createArrayBinding = _chunkAVUK52JWcjs.g; exports.createBitBus = _chunkHHDHVLGPcjs.b; exports.createBitStore = _chunkHHDHVLGPcjs.e; exports.createFieldStateSnapshot = _chunkGKNGJOB3cjs.a; exports.createFrameworkFormBinding = _chunkAVUK52JWcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkAVUK52JWcjs.h; exports.createFrameworkStoreAdapter = _chunkHHDHVLGPcjs.d; exports.deepClone = _chunkFTXV2NZOcjs.a; exports.deepEqual = _chunkFTXV2NZOcjs.d; exports.deepMerge = _chunkFTXV2NZOcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractFeatureSlice = _chunkHHDHVLGPcjs.i; exports.extractObserveSlice = _chunkHHDHVLGPcjs.g; exports.extractReadSlice = _chunkHHDHVLGPcjs.f; exports.extractServerErrors = _chunkFTXV2NZOcjs.n; exports.extractSlices = _chunkHHDHVLGPcjs.j; exports.extractWriteSlice = _chunkHHDHVLGPcjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.getDeepValue = _chunkFTXV2NZOcjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkFTXV2NZOcjs.m; exports.observeFormMetaSnapshot = _chunkAVUK52JWcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkAVUK52JWcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkAVUK52JWcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkAVUK52JWcjs.d; exports.resolveBitStoreForHooks = _chunkHHDHVLGPcjs.c; exports.setDeepValue = _chunkFTXV2NZOcjs.g; exports.subscribeFormMetaSnapshot = _chunkAVUK52JWcjs.b; exports.subscribePersistMetaSnapshot = _chunkAVUK52JWcjs.e; exports.valueEqual = _chunkFTXV2NZOcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('./chunk-L7EAZ6K6.cjs');var _chunkAVUK52JWcjs = require('./chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('./chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('./chunk-3KI3GEU3.cjs');var _chunkGKNGJOB3cjs = require('./chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');require('./chunk-WRNR6SXK.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');exports.areFieldSnapshotsEqual = _chunkGKNGJOB3cjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkL7EAZ6K6cjs.a; exports.cleanPrefixedKeys = _chunkFTXV2NZOcjs.j; exports.cleanupRegisteredField = _chunkAVUK52JWcjs.j; exports.cleanupRegisteredPrefix = _chunkAVUK52JWcjs.k; exports.createArrayBinding = _chunkAVUK52JWcjs.g; exports.createBitBus = _chunkL7EAZ6K6cjs.b; exports.createBitStore = _chunkL7EAZ6K6cjs.e; exports.createFieldStateSnapshot = _chunkGKNGJOB3cjs.a; exports.createFrameworkFormBinding = _chunkAVUK52JWcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkAVUK52JWcjs.h; exports.createFrameworkStoreAdapter = _chunkL7EAZ6K6cjs.d; exports.deepClone = _chunkFTXV2NZOcjs.a; exports.deepEqual = _chunkFTXV2NZOcjs.d; exports.deepMerge = _chunkFTXV2NZOcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractFeatureSlice = _chunkL7EAZ6K6cjs.i; exports.extractObserveSlice = _chunkL7EAZ6K6cjs.g; exports.extractReadSlice = _chunkL7EAZ6K6cjs.f; exports.extractServerErrors = _chunkFTXV2NZOcjs.n; exports.extractSlices = _chunkL7EAZ6K6cjs.j; exports.extractWriteSlice = _chunkL7EAZ6K6cjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.getDeepValue = _chunkFTXV2NZOcjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkFTXV2NZOcjs.m; exports.observeFormMetaSnapshot = _chunkAVUK52JWcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkAVUK52JWcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkAVUK52JWcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkAVUK52JWcjs.d; exports.resolveBitStoreForHooks = _chunkL7EAZ6K6cjs.c; exports.setDeepValue = _chunkFTXV2NZOcjs.g; exports.subscribeFormMetaSnapshot = _chunkAVUK52JWcjs.b; exports.subscribePersistMetaSnapshot = _chunkAVUK52JWcjs.e; exports.valueEqual = _chunkFTXV2NZOcjs.c;
2
2
  //# sourceMappingURL=core.cjs.map
package/dist/core.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from './index.cjs';
2
2
  export { extractFeatureSlice, extractObserveSlice, extractReadSlice, extractSlices, extractWriteSlice } from './core/store.cjs';
3
- export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions, e as BitStoreApi } from './store-api-types-CVQuHPhm.cjs';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions, e as BitStoreApi } from './store-api-types-BPD27biP.cjs';
4
4
  export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.cjs';
5
- export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from './config-types-CewC0AIS.cjs';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from './config-types-Dbyt7t3D.cjs';
6
6
  export { B as BitArrayItem, a as BitArrayPath, b as BitErrors, c as BitFieldState, d as BitPath, e as BitPathValue, f as BitPersistMetadata, g as BitState, h as BitTouched, D as DeepPartial } from './state-types-8bUndWfg.cjs';
7
7
  export { B as BitScheduler, a as BitSubmitResult, D as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SRZr-n.cjs';
8
8
  export { B as BitBus, a as BitBusListener, b as BitBusStorePort, c as BitFormGlobal, d as bitBus, e as createBitBus } from './bus-DzTqgkZ4.cjs';
package/dist/core.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { createBitStore, createFrameworkStoreAdapter, resolveBitStoreForHooks } from './index.js';
2
2
  export { extractFeatureSlice, extractObserveSlice, extractReadSlice, extractSlices, extractWriteSlice } from './core/store.js';
3
- export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions, e as BitStoreApi } from './store-api-types-Cy-zEhRU.js';
3
+ export { B as BitEqualityFn, a as BitFrameworkConfig, b as BitFrameworkStoreApi, c as BitSelector, d as BitSelectorSubscriptionOptions, e as BitStoreApi } from './store-api-types-i-zmM25p.js';
4
4
  export { B as BitFormMeta, a as BitHistoryMetadata, b as BitValidationOptions } from './meta-types-BC1VLABk.js';
5
- export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from './config-types-BgIAuvzu.js';
5
+ export { B as BitAfterSubmitEvent, a as BitAfterValidateEvent, b as BitBeforeSubmitEvent, c as BitBeforeValidateEvent, d as BitComputedFn, e as BitConfig, f as BitFieldChangeEvent, g as BitFieldChangeMeta, h as BitFieldConditional, i as BitFieldDefinition, j as BitFieldValidation, k as BitHistoryConfig, l as BitNormalizeFn, m as BitPersistConfig, n as BitPersistMode, o as BitPersistStorageAdapter, p as BitPlugin, q as BitPluginContext, r as BitPluginErrorEvent, s as BitPluginHooks, t as BitTransformFn, u as BitValidationConfig, V as ValidatorFn } from './config-types-bTt2lcw9.js';
6
6
  export { B as BitArrayItem, a as BitArrayPath, b as BitErrors, c as BitFieldState, d as BitPath, e as BitPathValue, f as BitPersistMetadata, g as BitState, h as BitTouched, D as DeepPartial } from './state-types-8bUndWfg.js';
7
7
  export { B as BitScheduler, a as BitSubmitResult, D as DevToolsOptions, S as ScopeStatus, V as ValidateScopeResult } from './runtime-types-D1SRZr-n.js';
8
8
  export { B as BitBus, a as BitBusListener, b as BitBusStorePort, c as BitFormGlobal, d as bitBus, e as createBitBus } from './bus-BFOBGmd9.js';
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-PQYTA2OP.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-SYEUXL2E.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-ICYXODTQ.js";import{a as r,b as s}from"./chunk-HE6EQZTH.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-G3EHXKOS.js";import"./chunk-QCKCONCU.js";import{a as I,b as J,c as K}from"./chunk-3NUJVIAM.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
1
+ import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-LIHWJJIM.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-SYEUXL2E.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-ICYXODTQ.js";import{a as r,b as s}from"./chunk-HE6EQZTH.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-G3EHXKOS.js";import"./chunk-QCKCONCU.js";import{a as I,b as J,c as K}from"./chunk-3NUJVIAM.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
2
2
  //# sourceMappingURL=core.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUIBR5FS6cjs = require('../chunk-UIBR5FS6.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-HHDHVLGP.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');exports.setupRemoteBridge = _chunkUIBR5FS6cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkP5YQ62YNcjs = require('../chunk-P5YQ62YN.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-L7EAZ6K6.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');exports.setupRemoteBridge = _chunkP5YQ62YNcjs.c;
2
2
  //# sourceMappingURL=bridge.cjs.map
@@ -1,2 +1,2 @@
1
- import{c as a}from"../chunk-HNSQFNCR.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-PQYTA2OP.js";import"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";export{a as setupRemoteBridge};
1
+ import{c as a}from"../chunk-YO4TZ6N6.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-LIHWJJIM.js";import"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";export{a as setupRemoteBridge};
2
2
  //# sourceMappingURL=bridge.js.map
@@ -1,4 +1,4 @@
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 _class;var _chunkUIBR5FS6cjs = require('../chunk-UIBR5FS6.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkHHDHVLGPcjs = require('../chunk-HHDHVLGP.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');function x(){return`
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 _class;var _chunkP5YQ62YNcjs = require('../chunk-P5YQ62YN.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');function x(){return`
2
2
  .bit-devtools-container {
3
3
  position: fixed;
4
4
  bottom: 20px;
@@ -129,5 +129,5 @@
129
129
  <button class="bit-devtools-trigger" style="transform: ${this.isOpen?"scale(0.9)":"scale(1)"};" title="Abrir DevTools">
130
130
  ${this.isOpen?"\u2716":"Bit"}
131
131
  </button>
132
- `;this.rootElement.innerHTML=i+t}}, _class);function y(n,r=_chunkHHDHVLGPcjs.a){let i=new d(n,{onUndo:o=>_optionalChain([_chunkUIBR5FS6cjs.b.call(void 0, r.stores,o), 'optionalAccess', _ => _.undo, 'call', _2 => _2()]),onRedo:o=>_optionalChain([_chunkUIBR5FS6cjs.b.call(void 0, r.stores,o), 'optionalAccess', _3 => _3.redo, 'call', _4 => _4()]),onReset:o=>_optionalChain([_chunkUIBR5FS6cjs.b.call(void 0, r.stores,o), 'optionalAccess', _5 => _5.reset, 'call', _6 => _6()])}),t=()=>_chunkUIBR5FS6cjs.a.call(void 0, r.stores);i.updateState(t());let e=r.subscribe(()=>{i.updateState(t())});return{ui:i,destroy:()=>{e(),n.innerHTML=""}}}function T(n,r="ws://localhost:3000",i){let t=new WebSocket(r),e=s=>{t.readyState===WebSocket.OPEN?t.send(JSON.stringify(s)):console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},o=(s,l)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:s,action:l}})},a=new d(n,{onUndo:s=>o(s,"undo"),onRedo:s=>o(s,"redo"),onReset:s=>o(s,"reset")});return t.addEventListener("open",()=>{e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${r}`)}),t.addEventListener("message",s=>{try{let l=JSON.parse(s.data);_chunkQKGTVKBUcjs.d.call(void 0, l)&&a.updateState(l.payload)}catch(l){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",l)}}),t.addEventListener("error",s=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",s)}),{ui:a,destroy:()=>{(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),n.innerHTML=""}}}function b(n={}){let{mode:r="local",url:i,bus:t}=n,e,o=!1;if(typeof n.container=="string"){let s=document.querySelector(n.container);if(!s)throw new Error(`[bit-form] Container '${n.container}' n\xE3o encontrado na p\xE1gina.`);e=s}else n.container instanceof HTMLElement?e=n.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),o=!0);let a;if(r==="local")console.log("[bit-form] DevTools iniciado em modo Local."),a=y(e,t);else if(r==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),a=T(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${r}`);return{...a,destroy:()=>{a&&typeof a.destroy=="function"&&a.destroy(),o&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function h(n){return typeof n=="boolean"?{enabled:n,mode:"local"}:{enabled:!!n,mode:_nullishCoalesce(_optionalChain([n, 'optionalAccess', _7 => _7.mode]), () => ("local")),url:_optionalChain([n, 'optionalAccess', _8 => _8.url])}}function D(n){return{name:"bit-devtools",setup:r=>{let i=h(_nullishCoalesce(n, () => (r.getConfig().devTools)));if(!i.enabled)return;let t=null,e=r.getConfig().bus;try{if(i.mode==="remote")t=_chunkUIBR5FS6cjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let o=b({bus:e});t=o&&typeof o.destroy=="function"?o.destroy:null}}catch (e2){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = D; exports.initDevTools = b;
132
+ `;this.rootElement.innerHTML=i+t}}, _class);function y(n,r=_chunkL7EAZ6K6cjs.a){let i=new d(n,{onUndo:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _ => _.undo, 'call', _2 => _2()]),onRedo:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _3 => _3.redo, 'call', _4 => _4()]),onReset:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _5 => _5.reset, 'call', _6 => _6()])}),t=()=>_chunkP5YQ62YNcjs.a.call(void 0, r.stores);i.updateState(t());let e=r.subscribe(()=>{i.updateState(t())});return{ui:i,destroy:()=>{e(),n.innerHTML=""}}}function T(n,r="ws://localhost:3000",i){let t=new WebSocket(r),e=s=>{t.readyState===WebSocket.OPEN?t.send(JSON.stringify(s)):console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},o=(s,l)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:s,action:l}})},a=new d(n,{onUndo:s=>o(s,"undo"),onRedo:s=>o(s,"redo"),onReset:s=>o(s,"reset")});return t.addEventListener("open",()=>{e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${r}`)}),t.addEventListener("message",s=>{try{let l=JSON.parse(s.data);_chunkQKGTVKBUcjs.d.call(void 0, l)&&a.updateState(l.payload)}catch(l){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",l)}}),t.addEventListener("error",s=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",s)}),{ui:a,destroy:()=>{(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),n.innerHTML=""}}}function b(n={}){let{mode:r="local",url:i,bus:t}=n,e,o=!1;if(typeof n.container=="string"){let s=document.querySelector(n.container);if(!s)throw new Error(`[bit-form] Container '${n.container}' n\xE3o encontrado na p\xE1gina.`);e=s}else n.container instanceof HTMLElement?e=n.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),o=!0);let a;if(r==="local")console.log("[bit-form] DevTools iniciado em modo Local."),a=y(e,t);else if(r==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),a=T(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${r}`);return{...a,destroy:()=>{a&&typeof a.destroy=="function"&&a.destroy(),o&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function h(n){return typeof n=="boolean"?{enabled:n,mode:"local"}:{enabled:!!n,mode:_nullishCoalesce(_optionalChain([n, 'optionalAccess', _7 => _7.mode]), () => ("local")),url:_optionalChain([n, 'optionalAccess', _8 => _8.url])}}function D(n){return{name:"bit-devtools",setup:r=>{let i=h(_nullishCoalesce(n, () => (r.getConfig().devTools)));if(!i.enabled)return;let t=null,e=r.getConfig().bus;try{if(i.mode==="remote")t=_chunkP5YQ62YNcjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let o=b({bus:e});t=o&&typeof o.destroy=="function"?o.destroy:null}}catch (e2){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = D; exports.initDevTools = b;
133
133
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { B as BitBus } from '../bus-DzTqgkZ4.cjs';
2
2
  import { DevToolsStoreSnapshots } from './protocol.cjs';
3
3
  export { DEVTOOLS_PROTOCOL_VERSION, DevToolsActionName, DevToolsActionPayload, DevToolsHelloMessage, DevToolsHelloPayload, DevToolsRemoteMessage, DevToolsStateUpdateMessage, DevToolsStoreSnapshot } from './protocol.cjs';
4
- import { p as BitPlugin } from '../config-types-CewC0AIS.cjs';
4
+ import { p as BitPlugin } from '../config-types-Dbyt7t3D.cjs';
5
5
  import { D as DevToolsOptions } from '../runtime-types-D1SRZr-n.cjs';
6
6
  import '../state-types-8bUndWfg.cjs';
7
7
  import '../types-CUXh7PqD.cjs';
@@ -1,7 +1,7 @@
1
1
  import { B as BitBus } from '../bus-BFOBGmd9.js';
2
2
  import { DevToolsStoreSnapshots } from './protocol.js';
3
3
  export { DEVTOOLS_PROTOCOL_VERSION, DevToolsActionName, DevToolsActionPayload, DevToolsHelloMessage, DevToolsHelloPayload, DevToolsRemoteMessage, DevToolsStateUpdateMessage, DevToolsStoreSnapshot } from './protocol.js';
4
- import { p as BitPlugin } from '../config-types-BgIAuvzu.js';
4
+ import { p as BitPlugin } from '../config-types-bTt2lcw9.js';
5
5
  import { D as DevToolsOptions } from '../runtime-types-D1SRZr-n.js';
6
6
  import '../state-types-8bUndWfg.js';
7
7
  import '../types-CUXh7PqD.js';
@@ -1,4 +1,4 @@
1
- import{a as g,b as c,c as v}from"../chunk-HNSQFNCR.js";import{a as p,d as u}from"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import{a as f}from"../chunk-PQYTA2OP.js";import"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";function x(){return`
1
+ import{a as g,b as c,c as v}from"../chunk-YO4TZ6N6.js";import{a as p,d as u}from"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import{a as f}from"../chunk-LIHWJJIM.js";import"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";function x(){return`
2
2
  .bit-devtools-container {
3
3
  position: fixed;
4
4
  bottom: 20px;
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkHHDHVLGPcjs = require('./chunk-HHDHVLGP.cjs');require('./chunk-AVUK52JW.cjs');require('./chunk-BSGJ3T5S.cjs');require('./chunk-RHMJPKNV.cjs');require('./chunk-3KI3GEU3.cjs');require('./chunk-GKNGJOB3.cjs');require('./chunk-FTXV2NZO.cjs');require('./chunk-WRNR6SXK.cjs');require('./chunk-PFPGASVZ.cjs');exports.createBitStore = _chunkHHDHVLGPcjs.e; exports.createFrameworkStoreAdapter = _chunkHHDHVLGPcjs.d; exports.resolveBitStoreForHooks = _chunkHHDHVLGPcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('./chunk-L7EAZ6K6.cjs');require('./chunk-AVUK52JW.cjs');require('./chunk-BSGJ3T5S.cjs');require('./chunk-RHMJPKNV.cjs');require('./chunk-3KI3GEU3.cjs');require('./chunk-GKNGJOB3.cjs');require('./chunk-FTXV2NZO.cjs');require('./chunk-WRNR6SXK.cjs');require('./chunk-PFPGASVZ.cjs');exports.createBitStore = _chunkL7EAZ6K6cjs.e; exports.createFrameworkStoreAdapter = _chunkL7EAZ6K6cjs.d; exports.resolveBitStoreForHooks = _chunkL7EAZ6K6cjs.c;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { e as BitConfig } from './config-types-CewC0AIS.cjs';
2
- import { e as BitStoreApi, b as BitFrameworkStoreApi, f as BitStoreHooksApi } from './store-api-types-CVQuHPhm.cjs';
1
+ import { e as BitConfig } from './config-types-Dbyt7t3D.cjs';
2
+ import { e as BitStoreApi, b as BitFrameworkStoreApi, f as BitStoreHooksApi } from './store-api-types-BPD27biP.cjs';
3
3
  import './bus-DzTqgkZ4.cjs';
4
4
  import './types-CUXh7PqD.cjs';
5
5
  import './state-types-8bUndWfg.cjs';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { e as BitConfig } from './config-types-BgIAuvzu.js';
2
- import { e as BitStoreApi, b as BitFrameworkStoreApi, f as BitStoreHooksApi } from './store-api-types-Cy-zEhRU.js';
1
+ import { e as BitConfig } from './config-types-bTt2lcw9.js';
2
+ import { e as BitStoreApi, b as BitFrameworkStoreApi, f as BitStoreHooksApi } from './store-api-types-i-zmM25p.js';
3
3
  import './bus-BFOBGmd9.js';
4
4
  import './types-CUXh7PqD.js';
5
5
  import './state-types-8bUndWfg.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-5NA2TFPG.js";import{c as r,d as e,e as o}from"./chunk-PQYTA2OP.js";import"./chunk-SYEUXL2E.js";import"./chunk-W2E5UIXT.js";import"./chunk-UIKO6GGW.js";import"./chunk-ICYXODTQ.js";import"./chunk-HE6EQZTH.js";import"./chunk-G3EHXKOS.js";import"./chunk-QCKCONCU.js";import"./chunk-3NUJVIAM.js";export{o as createBitStore,e as createFrameworkStoreAdapter,r as resolveBitStoreForHooks};
1
+ import"./chunk-5NA2TFPG.js";import{c as r,d as e,e as o}from"./chunk-LIHWJJIM.js";import"./chunk-SYEUXL2E.js";import"./chunk-W2E5UIXT.js";import"./chunk-UIKO6GGW.js";import"./chunk-ICYXODTQ.js";import"./chunk-HE6EQZTH.js";import"./chunk-G3EHXKOS.js";import"./chunk-QCKCONCU.js";import"./chunk-3NUJVIAM.js";export{o as createBitStore,e as createFrameworkStoreAdapter,r as resolveBitStoreForHooks};
2
2
  //# sourceMappingURL=index.js.map