@gaddario98/react-core 2.0.0 → 2.0.2

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 (45) hide show
  1. package/dist/form/index.js +4566 -1
  2. package/dist/form/index.js.map +1 -1
  3. package/dist/form/index.mjs +4566 -1
  4. package/dist/form/index.mjs.map +1 -1
  5. package/dist/index.d.ts +2152 -7
  6. package/dist/index.js +20713 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +20713 -1
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/localization/index.js +318 -1
  11. package/dist/localization/index.js.map +1 -1
  12. package/dist/localization/index.mjs +318 -1
  13. package/dist/localization/index.mjs.map +1 -1
  14. package/dist/notifications/index.js +84 -0
  15. package/dist/notifications/index.js.map +1 -0
  16. package/dist/notifications/index.mjs +84 -0
  17. package/dist/notifications/index.mjs.map +1 -0
  18. package/dist/pages/index.js +4652 -1
  19. package/dist/pages/index.js.map +1 -1
  20. package/dist/pages/index.mjs +4652 -1
  21. package/dist/pages/index.mjs.map +1 -1
  22. package/dist/providers/index.d.ts +12 -1
  23. package/dist/providers/index.js +17 -1
  24. package/dist/providers/index.js.map +1 -1
  25. package/dist/providers/index.mjs +17 -1
  26. package/dist/providers/index.mjs.map +1 -1
  27. package/dist/queries/index.js +8903 -1
  28. package/dist/queries/index.js.map +1 -1
  29. package/dist/queries/index.mjs +8903 -1
  30. package/dist/queries/index.mjs.map +1 -1
  31. package/dist/state/index.js +1927 -1
  32. package/dist/state/index.js.map +1 -1
  33. package/dist/state/index.mjs +1927 -1
  34. package/dist/state/index.mjs.map +1 -1
  35. package/dist/utiles/index.d.ts +15 -1
  36. package/dist/utiles/index.js +2973 -1
  37. package/dist/utiles/index.js.map +1 -1
  38. package/dist/utiles/index.mjs +2973 -1
  39. package/dist/utiles/index.mjs.map +1 -1
  40. package/package.json +12 -6
  41. package/dist/form/index.d.ts +0 -1
  42. package/dist/localization/index.d.ts +0 -1
  43. package/dist/pages/index.d.ts +0 -1
  44. package/dist/queries/index.d.ts +0 -1
  45. package/dist/state/index.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../../form/config.ts","../../form/containers.tsx","../../../../node_modules/@tanstack/store/dist/esm/scheduler.js","../../../../node_modules/@tanstack/store/dist/esm/types.js","../../../../node_modules/@tanstack/store/dist/esm/store.js","../../../../node_modules/@tanstack/store/dist/esm/derived.js","../../../../node_modules/@tanstack/pacer-lite/dist/lite-throttler.js","../../../../node_modules/@tanstack/form-core/node_modules/@tanstack/devtools-event-client/dist/esm/plugin.js","../../../../node_modules/@tanstack/form-core/dist/esm/EventClient.js","../../../../node_modules/@tanstack/form-core/dist/esm/utils.js","../../../../node_modules/@tanstack/form-core/dist/esm/ValidationLogic.js","../../../../node_modules/@tanstack/form-core/dist/esm/standardSchemaValidator.js","../../../../node_modules/@tanstack/form-core/dist/esm/metaHelper.js","../../../../node_modules/@tanstack/form-core/dist/esm/FormApi.js","../../../../node_modules/@tanstack/form-core/dist/esm/FieldApi.js","../../node_modules/@tanstack/react-store/dist/esm/index.js","../../node_modules/@tanstack/react-form/dist/esm/useIsomorphicLayoutEffect.js","../../node_modules/@tanstack/react-form/dist/esm/useField.js","../../node_modules/@tanstack/react-form/dist/esm/useUUID.js","../../node_modules/@tanstack/react-form/dist/esm/useFormId.js","../../node_modules/@tanstack/react-form/dist/esm/useForm.js","../../form/hooks/useJotaiForm.ts","../../form/FormField.tsx","../../node_modules/jotai/esm/vanilla/internals.mjs","../../node_modules/jotai/esm/vanilla.mjs","../../node_modules/jotai/esm/react.mjs","../../node_modules/jotai/esm/vanilla/utils.mjs","../../form/atoms/formAtom.ts","../../form/hooks/useFormValues.ts","../../form/hooks/useFormManager.tsx","../../form/FormManager.tsx"],"sourcesContent":["import { atomStateGenerator } from '@gaddario98/react-state'\nimport type { PropsWithChildren } from 'react'\n\nexport interface FormNotificationMessage {\n message: string\n type: 'success' | 'error' | 'info' | 'warning'\n autoHideDuration?: number\n textTransOption?: Record<string, unknown>\n ns?: string\n}\nexport interface FormTranslationOptions {\n [key: string]: string | number | boolean | undefined\n ns?: string\n}\nexport interface FormConfigProps {\n formFieldContainer: React.FC<PropsWithChildren>\n showNotification?: (notification: FormNotificationMessage) => void\n translateText?: (key: string, options?: FormTranslationOptions) => string\n}\n\nconst DefaultContainer = ({ children }: PropsWithChildren) => {\n return children\n}\n// Lazy initialization to avoid side effects at module load time\nconst _formConfig: FormConfigProps = {\n formFieldContainer: DefaultContainer,\n}\n\nexport const {\n atom: formConfigAtom,\n useValue: useFormConfigValue,\n useState: useFormConfigState,\n useReset: useFormConfigReset,\n} = atomStateGenerator<FormConfigProps>({\n key: 'formConfig',\n defaultValue: _formConfig,\n persist: false,\n})\n","import { useCallback } from 'react'\nimport type { FieldValues, ViewSettingsContainerProps } from './types'\n\nexport interface DefaultFormContainerProps {\n children: React.ReactNode\n}\n\nconst createDefaultContainer = () => {\n return ({ children }: ViewSettingsContainerProps) => {\n return children\n }\n}\n\nlet DefaultContainer = createDefaultContainer()\n\nconst setDefaultFormContainer = (\n val: ({\n children,\n }: ViewSettingsContainerProps) => React.ReactNode,\n) => {\n DefaultContainer = val\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DefaultFormContainer = <_T extends FieldValues = FieldValues>({\n children,\n}: ViewSettingsContainerProps) => {\n const handleSubmit = useCallback((e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const form = e.currentTarget\n const submitButton = form.querySelector('button[type=\"submit\"]') as\n | HTMLButtonElement\n | undefined\n submitButton?.click()\n }, [])\n\n return (\n <form onSubmit={handleSubmit} className=\"gap-3 flex flex-col\">\n {children}\n </form>\n )\n}\n\nexport { DefaultContainer, setDefaultFormContainer, DefaultFormContainer }\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n const value = {\n prevVal: store.prevState,\n currentVal: store.state\n };\n for (const listener of store.listeners) {\n listener(value);\n }\n}\nfunction __notifyDerivedListeners(derived) {\n const value = {\n prevVal: derived.prevState,\n currentVal: derived.state\n };\n for (const listener of derived.listeners) {\n listener(value);\n }\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = __pendingUpdates.values().next().value;\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","function isUpdaterFunction(updater) {\n return typeof updater === \"function\";\n}\nexport {\n isUpdaterFunction\n};\n//# sourceMappingURL=types.js.map\n","import { __flush } from \"./scheduler.js\";\nimport { isUpdaterFunction } from \"./types.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n setState(updater) {\n var _a, _b, _c;\n this.prevState = this.state;\n if ((_a = this.options) == null ? void 0 : _a.updateFn) {\n this.state = this.options.updateFn(this.prevState)(updater);\n } else {\n if (isUpdaterFunction(updater)) {\n this.state = updater(this.prevState);\n } else {\n this.state = updater;\n }\n }\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const l = this.options.deps.length;\n const prevDepVals = new Array(l);\n const currDepVals = new Array(l);\n for (let i = 0; i < l; i++) {\n const dep = this.options.deps[i];\n prevDepVals[i] = dep.prevState;\n currDepVals[i] = dep.state;\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const depVals = this.getDepVals();\n this.state = this.options.fn(depVals);\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","//#region src/lite-throttler.ts\n/**\n* A lightweight class that creates a throttled function.\n*\n* This is an alternative to the Throttler in the core @tanstack/pacer package, but is more\n* suitable for libraries and npm packages that need minimal overhead. Unlike the core Throttler,\n* this version does not use TanStack Store for state management, has no devtools integration,\n* and provides only essential throttling functionality.\n*\n* Throttling ensures a function is called at most once within a specified time window.\n* Unlike debouncing which waits for a pause in calls, throttling guarantees consistent\n* execution timing regardless of call frequency.\n*\n* Supports both leading and trailing edge execution:\n* - Leading: Execute immediately on first call (default: true)\n* - Trailing: Execute after wait period if called during throttle (default: true)\n*\n* Features:\n* - Zero dependencies - no external libraries required\n* - Minimal API surface - only essential methods (maybeExecute, flush, cancel)\n* - Simple state management - uses basic private properties instead of reactive stores\n* - Callback support for monitoring execution events\n* - Lightweight - designed for use in npm packages where bundle size matters\n*\n* @example\n* ```ts\n* const throttler = new LiteThrottler((scrollY: number) => {\n* updateScrollPosition(scrollY);\n* }, {\n* wait: 100,\n* onExecute: (args, throttler) => {\n* console.log('Updated scroll position:', args[0]);\n* }\n* });\n*\n* // Will execute at most once per 100ms\n* window.addEventListener('scroll', () => {\n* throttler.maybeExecute(window.scrollY);\n* });\n* ```\n*/\nvar LiteThrottler = class {\n\tconstructor(fn, options) {\n\t\tthis.fn = fn;\n\t\tthis.options = options;\n\t\tthis.lastExecutionTime = 0;\n\t\tthis.isPending = false;\n\t\tthis.maybeExecute = (...args) => {\n\t\t\tconst timeSinceLastExecution = Date.now() - this.lastExecutionTime;\n\t\t\tif (this.options.leading && timeSinceLastExecution >= this.options.wait) this.execute(...args);\n\t\t\telse {\n\t\t\t\tthis.lastArgs = args;\n\t\t\t\tif (!this.timeoutId && this.options.trailing) {\n\t\t\t\t\tconst timeoutDuration = this.options.wait - timeSinceLastExecution;\n\t\t\t\t\tthis.isPending = true;\n\t\t\t\t\tthis.timeoutId = setTimeout(() => {\n\t\t\t\t\t\tif (this.lastArgs !== void 0) this.execute(...this.lastArgs);\n\t\t\t\t\t}, timeoutDuration);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tthis.execute = (...args) => {\n\t\t\tthis.fn(...args);\n\t\t\tthis.options.onExecute?.(args, this);\n\t\t\tthis.lastExecutionTime = Date.now();\n\t\t\tthis.clearTimeout();\n\t\t\tthis.lastArgs = void 0;\n\t\t\tthis.isPending = false;\n\t\t};\n\t\tthis.flush = () => {\n\t\t\tif (this.isPending && this.lastArgs) this.execute(...this.lastArgs);\n\t\t};\n\t\tthis.cancel = () => {\n\t\t\tthis.clearTimeout();\n\t\t\tthis.lastArgs = void 0;\n\t\t\tthis.isPending = false;\n\t\t};\n\t\tthis.clearTimeout = () => {\n\t\t\tif (this.timeoutId) {\n\t\t\t\tclearTimeout(this.timeoutId);\n\t\t\t\tthis.timeoutId = void 0;\n\t\t\t}\n\t\t};\n\t\tif (this.options.leading === void 0 && this.options.trailing === void 0) {\n\t\t\tthis.options.leading = true;\n\t\t\tthis.options.trailing = true;\n\t\t}\n\t}\n};\n/**\n* Creates a lightweight throttled function that limits how often the provided function can execute.\n*\n* This is an alternative to the throttle function in the core @tanstack/pacer package, but is more\n* suitable for libraries and npm packages that need minimal overhead. Unlike the core version,\n* this function creates a throttler with no external dependencies, devtools integration, or reactive state.\n*\n* Throttling ensures a function executes at most once within a specified time window,\n* regardless of how many times it is called. This is useful for rate-limiting\n* expensive operations or UI updates.\n*\n* @example\n* ```ts\n* const throttledScroll = liteThrottle(() => {\n* updateScrollIndicator();\n* }, { wait: 100 });\n*\n* // Will execute at most once per 100ms\n* window.addEventListener('scroll', throttledScroll);\n* ```\n*\n* @example\n* ```ts\n* // Leading edge execution - fires immediately then throttles\n* const throttledResize = liteThrottle(() => {\n* recalculateLayout();\n* }, { wait: 250, leading: true, trailing: false });\n* ```\n*/\nfunction liteThrottle(fn, options) {\n\treturn new LiteThrottler(fn, options).maybeExecute;\n}\n\n//#endregion\nexport { LiteThrottler, liteThrottle };\n//# sourceMappingURL=lite-throttler.js.map","class EventClient {\n #enabled = true;\n #pluginId;\n #eventTarget;\n #debug;\n #queuedEvents;\n #connected;\n #connectIntervalId;\n #connectEveryMs;\n #retryCount = 0;\n #maxRetries = 5;\n #connecting = false;\n #failedToConnect = false;\n #internalEventTarget = null;\n #onConnected = () => {\n this.debugLog(\"Connected to event bus\");\n this.#connected = true;\n this.#connecting = false;\n this.debugLog(\"Emitting queued events\", this.#queuedEvents);\n this.#queuedEvents.forEach((event) => this.emitEventToBus(event));\n this.#queuedEvents = [];\n this.stopConnectLoop();\n this.#eventTarget().removeEventListener(\n \"tanstack-connect-success\",\n this.#onConnected\n );\n };\n // fired off right away and then at intervals\n #retryConnection = () => {\n if (this.#retryCount < this.#maxRetries) {\n this.#retryCount++;\n this.dispatchCustomEvent(\"tanstack-connect\", {});\n return;\n }\n this.#eventTarget().removeEventListener(\n \"tanstack-connect\",\n this.#retryConnection\n );\n this.#failedToConnect = true;\n this.debugLog(\"Max retries reached, giving up on connection\");\n this.stopConnectLoop();\n };\n // This is run to register connection handlers on first emit attempt\n #connectFunction = () => {\n if (this.#connecting) return;\n this.#connecting = true;\n this.#eventTarget().addEventListener(\n \"tanstack-connect-success\",\n this.#onConnected\n );\n this.#retryConnection();\n };\n constructor({\n pluginId,\n debug = false,\n enabled = true,\n reconnectEveryMs = 300\n }) {\n this.#pluginId = pluginId;\n this.#enabled = enabled;\n this.#eventTarget = this.getGlobalTarget;\n this.#debug = debug;\n this.debugLog(\" Initializing event subscription for plugin\", this.#pluginId);\n this.#queuedEvents = [];\n this.#connected = false;\n this.#failedToConnect = false;\n this.#connectIntervalId = null;\n this.#connectEveryMs = reconnectEveryMs;\n }\n startConnectLoop() {\n if (this.#connectIntervalId !== null || this.#connected) return;\n this.debugLog(`Starting connect loop (every ${this.#connectEveryMs}ms)`);\n this.#connectIntervalId = setInterval(\n this.#retryConnection,\n this.#connectEveryMs\n );\n }\n stopConnectLoop() {\n this.#connecting = false;\n if (this.#connectIntervalId === null) {\n return;\n }\n clearInterval(this.#connectIntervalId);\n this.#connectIntervalId = null;\n this.#queuedEvents = [];\n this.debugLog(\"Stopped connect loop\");\n }\n debugLog(...args) {\n if (this.#debug) {\n console.log(`🌴 [tanstack-devtools:${this.#pluginId}-plugin]`, ...args);\n }\n }\n getGlobalTarget() {\n if (typeof globalThis !== \"undefined\" && globalThis.__TANSTACK_EVENT_TARGET__) {\n this.debugLog(\"Using global event target\");\n return globalThis.__TANSTACK_EVENT_TARGET__;\n }\n if (typeof window !== \"undefined\" && typeof window.addEventListener !== \"undefined\") {\n this.debugLog(\"Using window as event target\");\n return window;\n }\n const eventTarget = typeof EventTarget !== \"undefined\" ? new EventTarget() : void 0;\n if (typeof eventTarget === \"undefined\" || typeof eventTarget.addEventListener === \"undefined\") {\n this.debugLog(\n \"No event mechanism available, running in non-web environment\"\n );\n return {\n addEventListener: () => {\n },\n removeEventListener: () => {\n },\n dispatchEvent: () => false\n };\n }\n this.debugLog(\"Using new EventTarget as fallback\");\n return eventTarget;\n }\n getPluginId() {\n return this.#pluginId;\n }\n dispatchCustomEventShim(eventName, detail) {\n try {\n const event = new Event(eventName, {\n detail\n });\n this.#eventTarget().dispatchEvent(event);\n } catch (e) {\n this.debugLog(\"Failed to dispatch shim event\");\n }\n }\n dispatchCustomEvent(eventName, detail) {\n try {\n this.#eventTarget().dispatchEvent(new CustomEvent(eventName, { detail }));\n } catch (e) {\n this.dispatchCustomEventShim(eventName, detail);\n }\n }\n emitEventToBus(event) {\n this.debugLog(\"Emitting event to client bus\", event);\n this.dispatchCustomEvent(\"tanstack-dispatch-event\", event);\n }\n createEventPayload(eventSuffix, payload) {\n return {\n type: `${this.#pluginId}:${eventSuffix}`,\n payload,\n pluginId: this.#pluginId\n };\n }\n emit(eventSuffix, payload) {\n if (!this.#enabled) {\n this.debugLog(\n \"Event bus client is disabled, not emitting event\",\n eventSuffix,\n payload\n );\n return;\n }\n if (this.#internalEventTarget) {\n this.debugLog(\n \"Emitting event to internal event target\",\n eventSuffix,\n payload\n );\n this.#internalEventTarget.dispatchEvent(\n new CustomEvent(`${this.#pluginId}:${eventSuffix}`, {\n detail: this.createEventPayload(eventSuffix, payload)\n })\n );\n }\n if (this.#failedToConnect) {\n this.debugLog(\"Previously failed to connect, not emitting to bus\");\n return;\n }\n if (!this.#connected) {\n this.debugLog(\"Bus not available, will be pushed as soon as connected\");\n this.#queuedEvents.push(this.createEventPayload(eventSuffix, payload));\n if (typeof CustomEvent !== \"undefined\" && !this.#connecting) {\n this.#connectFunction();\n this.startConnectLoop();\n }\n return;\n }\n return this.emitEventToBus(this.createEventPayload(eventSuffix, payload));\n }\n on(eventSuffix, cb, options) {\n const withEventTarget = options?.withEventTarget ?? false;\n const eventName = `${this.#pluginId}:${eventSuffix}`;\n if (withEventTarget) {\n if (!this.#internalEventTarget) {\n this.#internalEventTarget = new EventTarget();\n }\n this.#internalEventTarget.addEventListener(eventName, (e) => {\n cb(e.detail);\n });\n }\n if (!this.#enabled) {\n this.debugLog(\n \"Event bus client is disabled, not registering event\",\n eventName\n );\n return () => {\n };\n }\n const handler = (e) => {\n this.debugLog(\"Received event from bus\", e.detail);\n cb(e.detail);\n };\n this.#eventTarget().addEventListener(eventName, handler);\n this.debugLog(\"Registered event to bus\", eventName);\n return () => {\n if (withEventTarget) {\n this.#internalEventTarget?.removeEventListener(eventName, handler);\n }\n this.#eventTarget().removeEventListener(eventName, handler);\n };\n }\n onAll(cb) {\n if (!this.#enabled) {\n this.debugLog(\"Event bus client is disabled, not registering event\");\n return () => {\n };\n }\n const handler = (e) => {\n const event = e.detail;\n cb(event);\n };\n this.#eventTarget().addEventListener(\"tanstack-devtools-global\", handler);\n return () => this.#eventTarget().removeEventListener(\n \"tanstack-devtools-global\",\n handler\n );\n }\n onAllPluginEvents(cb) {\n if (!this.#enabled) {\n this.debugLog(\"Event bus client is disabled, not registering event\");\n return () => {\n };\n }\n const handler = (e) => {\n const event = e.detail;\n if (this.#pluginId && event.pluginId !== this.#pluginId) {\n return;\n }\n cb(event);\n };\n this.#eventTarget().addEventListener(\"tanstack-devtools-global\", handler);\n return () => this.#eventTarget().removeEventListener(\n \"tanstack-devtools-global\",\n handler\n );\n }\n}\nexport {\n EventClient\n};\n//# sourceMappingURL=plugin.js.map\n","import { EventClient } from \"@tanstack/devtools-event-client\";\nclass FormEventClient extends EventClient {\n constructor() {\n super({\n pluginId: \"form-devtools\",\n reconnectEveryMs: 1e3\n });\n }\n}\nconst formEventClient = new FormEventClient();\nexport {\n formEventClient\n};\n//# sourceMappingURL=EventClient.js.map\n","import { liteThrottle } from \"@tanstack/pacer-lite\";\nimport { formEventClient } from \"./EventClient.js\";\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction getBy(obj, path) {\n const pathObj = makePathArray(path);\n return pathObj.reduce((current, pathPart) => {\n if (current === null) return null;\n if (typeof current !== \"undefined\") {\n return current[pathPart];\n }\n return void 0;\n }, obj);\n}\nfunction setBy(obj, _path, updater) {\n const path = makePathArray(_path);\n function doSet(parent) {\n if (!path.length) {\n return functionalUpdate(updater, parent);\n }\n const key = path.shift();\n if (typeof key === \"string\" || typeof key === \"number\" && !Array.isArray(parent)) {\n if (typeof parent === \"object\") {\n if (parent === null) {\n parent = {};\n }\n return {\n ...parent,\n [key]: doSet(parent[key])\n };\n }\n return {\n [key]: doSet()\n };\n }\n if (Array.isArray(parent) && typeof key === \"number\") {\n const prefix = parent.slice(0, key);\n return [\n ...prefix.length ? prefix : new Array(key),\n doSet(parent[key]),\n ...parent.slice(key + 1)\n ];\n }\n return [...new Array(key), doSet()];\n }\n return doSet(obj);\n}\nfunction deleteBy(obj, _path) {\n const path = makePathArray(_path);\n function doDelete(parent) {\n if (!parent) return;\n if (path.length === 1) {\n const finalPath = path[0];\n if (Array.isArray(parent) && typeof finalPath === \"number\") {\n return parent.filter((_, i) => i !== finalPath);\n }\n const { [finalPath]: remove, ...rest } = parent;\n return rest;\n }\n const key = path.shift();\n if (typeof key === \"string\" || typeof key === \"number\" && !Array.isArray(parent)) {\n if (typeof parent === \"object\") {\n return {\n ...parent,\n [key]: doDelete(parent[key])\n };\n }\n }\n if (typeof key === \"number\") {\n if (Array.isArray(parent)) {\n if (key >= parent.length) {\n return parent;\n }\n const prefix = parent.slice(0, key);\n return [\n ...prefix.length ? prefix : new Array(key),\n doDelete(parent[key]),\n ...parent.slice(key + 1)\n ];\n }\n }\n throw new Error(\"It seems we have created an infinite loop in deleteBy. \");\n }\n return doDelete(obj);\n}\nconst reLineOfOnlyDigits = /^(\\d+)$/gm;\nconst reDigitsBetweenDots = /\\.(\\d+)(?=\\.)/gm;\nconst reStartWithDigitThenDot = /^(\\d+)\\./gm;\nconst reDotWithDigitsToEnd = /\\.(\\d+$)/gm;\nconst reMultipleDots = /\\.{2,}/gm;\nconst intPrefix = \"__int__\";\nconst intReplace = `${intPrefix}$1`;\nfunction makePathArray(str) {\n if (Array.isArray(str)) {\n return [...str];\n }\n if (typeof str !== \"string\") {\n throw new Error(\"Path must be a string.\");\n }\n return str.replace(/(^\\[)|]/gm, \"\").replace(/\\[/g, \".\").replace(reLineOfOnlyDigits, intReplace).replace(reDigitsBetweenDots, `.${intReplace}.`).replace(reStartWithDigitThenDot, `${intReplace}.`).replace(reDotWithDigitsToEnd, `.${intReplace}`).replace(reMultipleDots, \".\").split(\".\").map((d) => {\n if (d.startsWith(intPrefix)) {\n const numStr = d.substring(intPrefix.length);\n const num = parseInt(numStr, 10);\n if (String(num) === numStr) {\n return num;\n }\n return numStr;\n }\n return d;\n });\n}\nfunction concatenatePaths(path1, path2) {\n if (path1.length === 0) return path2;\n if (path2.length === 0) return path1;\n if (path2.startsWith(\"[\")) {\n return path1 + path2;\n }\n if (path2.startsWith(\".\")) {\n return path1 + path2;\n }\n return `${path1}.${path2}`;\n}\nfunction isNonEmptyArray(obj) {\n return !(Array.isArray(obj) && obj.length === 0);\n}\nfunction getSyncValidatorArray(cause, options) {\n const runValidation = (props) => {\n return props.validators.filter(Boolean).map((validator) => {\n return {\n cause: validator.cause,\n validate: validator.fn\n };\n });\n };\n return options.validationLogic({\n form: options.form,\n validators: options.validators,\n event: { type: cause, async: false },\n runValidation\n });\n}\nfunction getAsyncValidatorArray(cause, options) {\n const { asyncDebounceMs } = options;\n const {\n onBlurAsyncDebounceMs,\n onChangeAsyncDebounceMs,\n onDynamicAsyncDebounceMs\n } = options.validators || {};\n const defaultDebounceMs = asyncDebounceMs ?? 0;\n const runValidation = (props) => {\n return props.validators.filter(Boolean).map((validator) => {\n const validatorCause = validator?.cause || cause;\n let debounceMs = defaultDebounceMs;\n switch (validatorCause) {\n case \"change\":\n debounceMs = onChangeAsyncDebounceMs ?? defaultDebounceMs;\n break;\n case \"blur\":\n debounceMs = onBlurAsyncDebounceMs ?? defaultDebounceMs;\n break;\n case \"dynamic\":\n debounceMs = onDynamicAsyncDebounceMs ?? defaultDebounceMs;\n break;\n case \"submit\":\n debounceMs = 0;\n break;\n }\n if (cause === \"submit\") {\n debounceMs = 0;\n }\n return {\n cause: validatorCause,\n validate: validator.fn,\n debounceMs\n };\n });\n };\n return options.validationLogic({\n form: options.form,\n validators: options.validators,\n event: { type: cause, async: true },\n runValidation\n });\n}\nconst isGlobalFormValidationError = (error) => {\n return !!error && typeof error === \"object\" && \"fields\" in error;\n};\nfunction evaluate(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Date && objB instanceof Date) {\n return objA.getTime() === objB.getTime();\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n for (const key of keysA) {\n if (!keysB.includes(key) || !evaluate(objA[key], objB[key])) {\n return false;\n }\n }\n return true;\n}\nconst determineFormLevelErrorSourceAndValue = ({\n newFormValidatorError,\n isPreviousErrorFromFormValidator,\n previousErrorValue\n}) => {\n if (newFormValidatorError) {\n return { newErrorValue: newFormValidatorError, newSource: \"form\" };\n }\n if (isPreviousErrorFromFormValidator) {\n return { newErrorValue: void 0, newSource: void 0 };\n }\n if (previousErrorValue) {\n return { newErrorValue: previousErrorValue, newSource: \"field\" };\n }\n return { newErrorValue: void 0, newSource: void 0 };\n};\nconst determineFieldLevelErrorSourceAndValue = ({\n formLevelError,\n fieldLevelError\n}) => {\n if (fieldLevelError) {\n return { newErrorValue: fieldLevelError, newSource: \"field\" };\n }\n if (formLevelError) {\n return { newErrorValue: formLevelError, newSource: \"form\" };\n }\n return { newErrorValue: void 0, newSource: void 0 };\n};\nfunction createFieldMap(values) {\n const output = {};\n for (const key in values) {\n output[key] = key;\n }\n return output;\n}\nfunction mergeOpts(originalOpts, overrides) {\n if (originalOpts === void 0 || originalOpts === null) {\n return overrides;\n }\n return { ...originalOpts, ...overrides };\n}\nlet IDX = 256;\nconst HEX = [];\nlet BUFFER;\nwhile (IDX--) {\n HEX[IDX] = (IDX + 256).toString(16).substring(1);\n}\nfunction uuid() {\n let i = 0;\n let num;\n let out = \"\";\n if (!BUFFER || IDX + 16 > 256) {\n BUFFER = new Array(256);\n i = 256;\n while (i--) {\n BUFFER[i] = 256 * Math.random() | 0;\n }\n i = 0;\n IDX = 0;\n }\n for (; i < 16; i++) {\n num = BUFFER[IDX + i];\n if (i === 6) out += HEX[num & 15 | 64];\n else if (i === 8) out += HEX[num & 63 | 128];\n else out += HEX[num];\n if (i & 1 && i > 1 && i < 11) out += \"-\";\n }\n IDX++;\n return out;\n}\nconst throttleFormState = liteThrottle(\n (form) => formEventClient.emit(\"form-state\", {\n id: form.formId,\n state: form.store.state\n }),\n {\n wait: 300\n }\n);\nexport {\n concatenatePaths,\n createFieldMap,\n deleteBy,\n determineFieldLevelErrorSourceAndValue,\n determineFormLevelErrorSourceAndValue,\n evaluate,\n functionalUpdate,\n getAsyncValidatorArray,\n getBy,\n getSyncValidatorArray,\n isGlobalFormValidationError,\n isNonEmptyArray,\n makePathArray,\n mergeOpts,\n setBy,\n throttleFormState,\n uuid\n};\n//# sourceMappingURL=utils.js.map\n","const revalidateLogic = ({\n mode = \"submit\",\n modeAfterSubmission = \"change\"\n} = {}) => (props) => {\n const validatorNames = Object.keys(props.validators ?? {});\n if (validatorNames.length === 0) {\n return props.runValidation({\n validators: [],\n form: props.form\n });\n }\n const dynamicValidator = {\n fn: props.event.async ? props.validators[\"onDynamicAsync\"] : props.validators[\"onDynamic\"],\n cause: \"dynamic\"\n };\n const validatorsToAdd = [];\n const modeToWatch = props.form.state.submissionAttempts === 0 ? mode : modeAfterSubmission;\n if ([modeToWatch, \"submit\"].includes(props.event.type)) {\n validatorsToAdd.push(dynamicValidator);\n }\n let defaultValidators = [];\n defaultValidationLogic({\n ...props,\n runValidation: (vProps) => {\n defaultValidators = vProps.validators;\n }\n });\n if (validatorsToAdd.length === 0) {\n return props.runValidation({\n validators: defaultValidators,\n form: props.form\n });\n }\n return props.runValidation({\n validators: [...defaultValidators, ...validatorsToAdd],\n form: props.form\n });\n};\nconst defaultValidationLogic = (props) => {\n if (!props.validators) {\n return props.runValidation({\n validators: [],\n form: props.form\n });\n }\n const isAsync = props.event.async;\n const onMountValidator = isAsync ? void 0 : { fn: props.validators.onMount, cause: \"mount\" };\n const onChangeValidator = {\n fn: isAsync ? props.validators.onChangeAsync : props.validators.onChange,\n cause: \"change\"\n };\n const onBlurValidator = {\n fn: isAsync ? props.validators.onBlurAsync : props.validators.onBlur,\n cause: \"blur\"\n };\n const onSubmitValidator = {\n fn: isAsync ? props.validators.onSubmitAsync : props.validators.onSubmit,\n cause: \"submit\"\n };\n const onServerValidator = isAsync ? void 0 : { fn: () => void 0, cause: \"server\" };\n switch (props.event.type) {\n case \"mount\": {\n return props.runValidation({\n validators: [onMountValidator],\n form: props.form\n });\n }\n case \"submit\": {\n return props.runValidation({\n validators: [\n onChangeValidator,\n onBlurValidator,\n onSubmitValidator,\n onServerValidator\n ],\n form: props.form\n });\n }\n case \"server\": {\n return props.runValidation({\n validators: [],\n form: props.form\n });\n }\n case \"blur\": {\n return props.runValidation({\n validators: [onBlurValidator, onServerValidator],\n form: props.form\n });\n }\n case \"change\": {\n return props.runValidation({\n validators: [onChangeValidator, onServerValidator],\n form: props.form\n });\n }\n default: {\n throw new Error(`Unknown validation event type: ${props.event.type}`);\n }\n }\n};\nexport {\n defaultValidationLogic,\n revalidateLogic\n};\n//# sourceMappingURL=ValidationLogic.js.map\n","function prefixSchemaToErrors(issues, formValue) {\n const schema = /* @__PURE__ */ new Map();\n for (const issue of issues) {\n const issuePath = issue.path ?? [];\n let currentFormValue = formValue;\n let path = \"\";\n for (let i = 0; i < issuePath.length; i++) {\n const pathSegment = issuePath[i];\n if (pathSegment === void 0) continue;\n const segment = typeof pathSegment === \"object\" ? pathSegment.key : pathSegment;\n const segmentAsNumber = Number(segment);\n if (Array.isArray(currentFormValue) && !Number.isNaN(segmentAsNumber)) {\n path += `[${segmentAsNumber}]`;\n } else {\n path += (i > 0 ? \".\" : \"\") + String(segment);\n }\n if (typeof currentFormValue === \"object\" && currentFormValue !== null) {\n currentFormValue = currentFormValue[segment];\n } else {\n currentFormValue = void 0;\n }\n }\n schema.set(path, (schema.get(path) ?? []).concat(issue));\n }\n return Object.fromEntries(schema);\n}\nconst transformFormIssues = (issues, formValue) => {\n const schemaErrors = prefixSchemaToErrors(issues, formValue);\n return {\n form: schemaErrors,\n fields: schemaErrors\n };\n};\nconst standardSchemaValidators = {\n validate({\n value,\n validationSource\n }, schema) {\n const result = schema[\"~standard\"].validate(value);\n if (result instanceof Promise) {\n throw new Error(\"async function passed to sync validator\");\n }\n if (!result.issues) return;\n if (validationSource === \"field\")\n return result.issues;\n return transformFormIssues(result.issues, value);\n },\n async validateAsync({\n value,\n validationSource\n }, schema) {\n const result = await schema[\"~standard\"].validate(value);\n if (!result.issues) return;\n if (validationSource === \"field\")\n return result.issues;\n return transformFormIssues(result.issues, value);\n }\n};\nconst isStandardSchemaValidator = (validator) => !!validator && \"~standard\" in validator;\nexport {\n isStandardSchemaValidator,\n standardSchemaValidators\n};\n//# sourceMappingURL=standardSchemaValidator.js.map\n","const defaultFieldMeta = {\n isValidating: false,\n isTouched: false,\n isBlurred: false,\n isDirty: false,\n isPristine: true,\n isValid: true,\n isDefaultValue: true,\n errors: [],\n errorMap: {},\n errorSourceMap: {}\n};\nfunction metaHelper(formApi) {\n function handleArrayMove(field, fromIndex, toIndex) {\n const affectedFields = getAffectedFields(field, fromIndex, \"move\", toIndex);\n const startIndex = Math.min(fromIndex, toIndex);\n const endIndex = Math.max(fromIndex, toIndex);\n for (let i = startIndex; i <= endIndex; i++) {\n affectedFields.push(getFieldPath(field, i));\n }\n const fromFields = Object.keys(formApi.fieldInfo).reduce(\n (fieldMap, fieldKey) => {\n if (fieldKey.startsWith(getFieldPath(field, fromIndex))) {\n fieldMap.set(\n fieldKey,\n formApi.getFieldMeta(fieldKey)\n );\n }\n return fieldMap;\n },\n /* @__PURE__ */ new Map()\n );\n shiftMeta(affectedFields, fromIndex < toIndex ? \"up\" : \"down\");\n Object.keys(formApi.fieldInfo).filter((fieldKey) => fieldKey.startsWith(getFieldPath(field, toIndex))).forEach((fieldKey) => {\n const fromKey = fieldKey.replace(\n getFieldPath(field, toIndex),\n getFieldPath(field, fromIndex)\n );\n const fromMeta = fromFields.get(fromKey);\n if (fromMeta) {\n formApi.setFieldMeta(fieldKey, fromMeta);\n }\n });\n }\n function handleArrayRemove(field, index) {\n const affectedFields = getAffectedFields(field, index, \"remove\");\n shiftMeta(affectedFields, \"up\");\n }\n function handleArraySwap(field, index, secondIndex) {\n const affectedFields = getAffectedFields(field, index, \"swap\", secondIndex);\n affectedFields.forEach((fieldKey) => {\n if (!fieldKey.toString().startsWith(getFieldPath(field, index))) {\n return;\n }\n const swappedKey = fieldKey.toString().replace(\n getFieldPath(field, index),\n getFieldPath(field, secondIndex)\n );\n const [meta1, meta2] = [\n formApi.getFieldMeta(fieldKey),\n formApi.getFieldMeta(swappedKey)\n ];\n if (meta1) formApi.setFieldMeta(swappedKey, meta1);\n if (meta2) formApi.setFieldMeta(fieldKey, meta2);\n });\n }\n function handleArrayInsert(field, insertIndex) {\n const affectedFields = getAffectedFields(field, insertIndex, \"insert\");\n shiftMeta(affectedFields, \"down\");\n affectedFields.forEach((fieldKey) => {\n if (fieldKey.toString().startsWith(getFieldPath(field, insertIndex))) {\n formApi.setFieldMeta(fieldKey, getEmptyFieldMeta());\n }\n });\n }\n function getFieldPath(field, index) {\n return `${field}[${index}]`;\n }\n function getAffectedFields(field, index, mode, secondIndex) {\n const affectedFieldKeys = [getFieldPath(field, index)];\n switch (mode) {\n case \"swap\":\n affectedFieldKeys.push(getFieldPath(field, secondIndex));\n break;\n case \"move\": {\n const [startIndex, endIndex] = [\n Math.min(index, secondIndex),\n Math.max(index, secondIndex)\n ];\n for (let i = startIndex; i <= endIndex; i++) {\n affectedFieldKeys.push(getFieldPath(field, i));\n }\n break;\n }\n default: {\n const currentValue = formApi.getFieldValue(field);\n const fieldItems = Array.isArray(currentValue) ? currentValue.length : 0;\n for (let i = index + 1; i < fieldItems; i++) {\n affectedFieldKeys.push(getFieldPath(field, i));\n }\n break;\n }\n }\n return Object.keys(formApi.fieldInfo).filter(\n (fieldKey) => affectedFieldKeys.some((key) => fieldKey.startsWith(key))\n );\n }\n function updateIndex(fieldKey, direction) {\n return fieldKey.replace(/\\[(\\d+)\\]/, (_, num) => {\n const currIndex = parseInt(num, 10);\n const newIndex = direction === \"up\" ? currIndex + 1 : Math.max(0, currIndex - 1);\n return `[${newIndex}]`;\n });\n }\n function shiftMeta(fields, direction) {\n const sortedFields = direction === \"up\" ? fields : [...fields].reverse();\n sortedFields.forEach((fieldKey) => {\n const nextFieldKey = updateIndex(fieldKey.toString(), direction);\n const nextFieldMeta = formApi.getFieldMeta(nextFieldKey);\n if (nextFieldMeta) {\n formApi.setFieldMeta(fieldKey, nextFieldMeta);\n } else {\n formApi.setFieldMeta(fieldKey, getEmptyFieldMeta());\n }\n });\n }\n const getEmptyFieldMeta = () => defaultFieldMeta;\n return {\n handleArrayMove,\n handleArrayRemove,\n handleArraySwap,\n handleArrayInsert\n };\n}\nexport {\n defaultFieldMeta,\n metaHelper\n};\n//# sourceMappingURL=metaHelper.js.map\n","import { batch, Store, Derived } from \"@tanstack/store\";\nimport { throttleFormState, evaluate, getSyncValidatorArray, determineFormLevelErrorSourceAndValue, getAsyncValidatorArray, getBy, functionalUpdate, setBy, deleteBy, mergeOpts, isGlobalFormValidationError, uuid, isNonEmptyArray } from \"./utils.js\";\nimport { defaultValidationLogic } from \"./ValidationLogic.js\";\nimport { standardSchemaValidators, isStandardSchemaValidator } from \"./standardSchemaValidator.js\";\nimport { defaultFieldMeta, metaHelper } from \"./metaHelper.js\";\nimport { formEventClient } from \"./EventClient.js\";\nfunction getDefaultFormState(defaultState) {\n return {\n values: defaultState.values ?? {},\n errorMap: defaultState.errorMap ?? {},\n fieldMetaBase: defaultState.fieldMetaBase ?? {},\n isSubmitted: defaultState.isSubmitted ?? false,\n isSubmitting: defaultState.isSubmitting ?? false,\n isValidating: defaultState.isValidating ?? false,\n submissionAttempts: defaultState.submissionAttempts ?? 0,\n isSubmitSuccessful: defaultState.isSubmitSuccessful ?? false,\n validationMetaMap: defaultState.validationMetaMap ?? {\n onChange: void 0,\n onBlur: void 0,\n onSubmit: void 0,\n onMount: void 0,\n onServer: void 0,\n onDynamic: void 0\n }\n };\n}\nclass FormApi {\n /**\n * Constructs a new `FormApi` instance with the given form options.\n */\n constructor(opts) {\n this.options = {};\n this.fieldInfo = {};\n this.prevTransformArray = [];\n this.mount = () => {\n const cleanupFieldMetaDerived = this.fieldMetaDerived.mount();\n const cleanupStoreDerived = this.store.mount();\n const cleanupDevtoolBroadcast = this.store.subscribe(() => {\n throttleFormState(this);\n });\n const cleanupFormStateListener = formEventClient.on(\n \"request-form-state\",\n (e) => {\n if (e.payload.id === this._formId) {\n formEventClient.emit(\"form-api\", {\n id: this._formId,\n state: this.store.state,\n options: this.options\n });\n }\n }\n );\n const cleanupFormResetListener = formEventClient.on(\n \"request-form-reset\",\n (e) => {\n if (e.payload.id === this._formId) {\n this.reset();\n }\n }\n );\n const cleanupFormForceSubmitListener = formEventClient.on(\n \"request-form-force-submit\",\n (e) => {\n if (e.payload.id === this._formId) {\n this._devtoolsSubmissionOverride = true;\n this.handleSubmit();\n this._devtoolsSubmissionOverride = false;\n }\n }\n );\n const cleanup = () => {\n cleanupFormForceSubmitListener();\n cleanupFormResetListener();\n cleanupFormStateListener();\n cleanupDevtoolBroadcast();\n cleanupFieldMetaDerived();\n cleanupStoreDerived();\n formEventClient.emit(\"form-unmounted\", {\n id: this._formId\n });\n };\n this.options.listeners?.onMount?.({ formApi: this });\n const { onMount } = this.options.validators || {};\n formEventClient.emit(\"form-api\", {\n id: this._formId,\n state: this.store.state,\n options: this.options\n });\n if (!onMount) return cleanup;\n this.validateSync(\"mount\");\n return cleanup;\n };\n this.update = (options) => {\n if (!options) return;\n const oldOptions = this.options;\n this.options = options;\n const shouldUpdateReeval = !!options.transform?.deps?.some(\n (val, i) => val !== this.prevTransformArray[i]\n );\n const shouldUpdateValues = options.defaultValues && !evaluate(options.defaultValues, oldOptions.defaultValues) && !this.state.isTouched;\n const shouldUpdateState = !evaluate(options.defaultState, oldOptions.defaultState) && !this.state.isTouched;\n if (!shouldUpdateValues && !shouldUpdateState && !shouldUpdateReeval) return;\n batch(() => {\n this.baseStore.setState(\n () => getDefaultFormState(\n Object.assign(\n {},\n this.state,\n shouldUpdateState ? options.defaultState : {},\n shouldUpdateValues ? {\n values: options.defaultValues\n } : {},\n shouldUpdateReeval ? { _force_re_eval: !this.state._force_re_eval } : {}\n )\n )\n );\n });\n formEventClient.emit(\"form-api\", {\n id: this._formId,\n state: this.store.state,\n options: this.options\n });\n };\n this.reset = (values, opts2) => {\n const { fieldMeta: currentFieldMeta } = this.state;\n const fieldMetaBase = this.resetFieldMeta(currentFieldMeta);\n if (values && !opts2?.keepDefaultValues) {\n this.options = {\n ...this.options,\n defaultValues: values\n };\n }\n this.baseStore.setState(\n () => getDefaultFormState({\n ...this.options.defaultState,\n values: values ?? this.options.defaultValues ?? this.options.defaultState?.values,\n fieldMetaBase\n })\n );\n };\n this.validateAllFields = async (cause) => {\n const fieldValidationPromises = [];\n batch(() => {\n void Object.values(this.fieldInfo).forEach(\n (field) => {\n if (!field.instance) return;\n const fieldInstance = field.instance;\n fieldValidationPromises.push(\n // Remember, `validate` is either a sync operation or a promise\n Promise.resolve().then(\n () => fieldInstance.validate(cause, { skipFormValidation: true })\n )\n );\n if (!field.instance.state.meta.isTouched) {\n field.instance.setMeta((prev) => ({ ...prev, isTouched: true }));\n }\n }\n );\n });\n const fieldErrorMapMap = await Promise.all(fieldValidationPromises);\n return fieldErrorMapMap.flat();\n };\n this.validateArrayFieldsStartingFrom = async (field, index, cause) => {\n const currentValue = this.getFieldValue(field);\n const lastIndex = Array.isArray(currentValue) ? Math.max(currentValue.length - 1, 0) : null;\n const fieldKeysToValidate = [`${field}[${index}]`];\n for (let i = index + 1; i <= (lastIndex ?? 0); i++) {\n fieldKeysToValidate.push(`${field}[${i}]`);\n }\n const fieldsToValidate = Object.keys(this.fieldInfo).filter(\n (fieldKey) => fieldKeysToValidate.some((key) => fieldKey.startsWith(key))\n );\n const fieldValidationPromises = [];\n batch(() => {\n fieldsToValidate.forEach((nestedField) => {\n fieldValidationPromises.push(\n Promise.resolve().then(() => this.validateField(nestedField, cause))\n );\n });\n });\n const fieldErrorMapMap = await Promise.all(fieldValidationPromises);\n return fieldErrorMapMap.flat();\n };\n this.validateField = (field, cause) => {\n const fieldInstance = this.fieldInfo[field]?.instance;\n if (!fieldInstance) return [];\n if (!fieldInstance.state.meta.isTouched) {\n fieldInstance.setMeta((prev) => ({ ...prev, isTouched: true }));\n }\n return fieldInstance.validate(cause);\n };\n this.validateSync = (cause) => {\n const validates = getSyncValidatorArray(cause, {\n ...this.options,\n form: this,\n validationLogic: this.options.validationLogic || defaultValidationLogic\n });\n let hasErrored = false;\n const currentValidationErrorMap = {};\n batch(() => {\n for (const validateObj of validates) {\n if (!validateObj.validate) continue;\n const rawError = this.runValidator({\n validate: validateObj.validate,\n value: {\n value: this.state.values,\n formApi: this,\n validationSource: \"form\"\n },\n type: \"validate\"\n });\n const { formError, fieldErrors } = normalizeError(rawError);\n const errorMapKey = getErrorMapKey(validateObj.cause);\n const allFieldsToProcess = /* @__PURE__ */ new Set([\n ...Object.keys(this.state.fieldMeta),\n ...Object.keys(fieldErrors || {})\n ]);\n for (const field of allFieldsToProcess) {\n if (this.baseStore.state.fieldMetaBase[field] === void 0 && !fieldErrors?.[field]) {\n continue;\n }\n const fieldMeta = this.getFieldMeta(field) ?? defaultFieldMeta;\n const {\n errorMap: currentErrorMap,\n errorSourceMap: currentErrorMapSource\n } = fieldMeta;\n const newFormValidatorError = fieldErrors?.[field];\n const { newErrorValue, newSource } = determineFormLevelErrorSourceAndValue({\n newFormValidatorError,\n isPreviousErrorFromFormValidator: (\n // These conditional checks are required, otherwise we get runtime errors.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n currentErrorMapSource?.[errorMapKey] === \"form\"\n ),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n previousErrorValue: currentErrorMap?.[errorMapKey]\n });\n if (newSource === \"form\") {\n currentValidationErrorMap[field] = {\n ...currentValidationErrorMap[field],\n [errorMapKey]: newFormValidatorError\n };\n }\n if (currentErrorMap?.[errorMapKey] !== newErrorValue) {\n this.setFieldMeta(field, (prev = defaultFieldMeta) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: newErrorValue\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [errorMapKey]: newSource\n }\n }));\n }\n }\n if (this.state.errorMap?.[errorMapKey] !== formError) {\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: formError\n }\n }));\n }\n if (formError || fieldErrors) {\n hasErrored = true;\n }\n }\n const submitErrKey = getErrorMapKey(\"submit\");\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n this.state.errorMap?.[submitErrKey] && cause !== \"submit\" && !hasErrored\n ) {\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [submitErrKey]: void 0\n }\n }));\n }\n const serverErrKey = getErrorMapKey(\"server\");\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n this.state.errorMap?.[serverErrKey] && cause !== \"server\" && !hasErrored\n ) {\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [serverErrKey]: void 0\n }\n }));\n }\n });\n return { hasErrored, fieldsErrorMap: currentValidationErrorMap };\n };\n this.validateAsync = async (cause) => {\n const validates = getAsyncValidatorArray(cause, {\n ...this.options,\n form: this,\n validationLogic: this.options.validationLogic || defaultValidationLogic\n });\n if (!this.state.isFormValidating) {\n this.baseStore.setState((prev) => ({ ...prev, isFormValidating: true }));\n }\n const promises = [];\n let fieldErrorsFromFormValidators;\n for (const validateObj of validates) {\n if (!validateObj.validate) continue;\n const key = getErrorMapKey(validateObj.cause);\n const fieldValidatorMeta = this.state.validationMetaMap[key];\n fieldValidatorMeta?.lastAbortController.abort();\n const controller = new AbortController();\n this.state.validationMetaMap[key] = {\n lastAbortController: controller\n };\n promises.push(\n new Promise(async (resolve) => {\n let rawError;\n try {\n rawError = await new Promise((rawResolve, rawReject) => {\n setTimeout(async () => {\n if (controller.signal.aborted) return rawResolve(void 0);\n try {\n rawResolve(\n await this.runValidator({\n validate: validateObj.validate,\n value: {\n value: this.state.values,\n formApi: this,\n validationSource: \"form\",\n signal: controller.signal\n },\n type: \"validateAsync\"\n })\n );\n } catch (e) {\n rawReject(e);\n }\n }, validateObj.debounceMs);\n });\n } catch (e) {\n rawError = e;\n }\n const { formError, fieldErrors: fieldErrorsFromNormalizeError } = normalizeError(rawError);\n if (fieldErrorsFromNormalizeError) {\n fieldErrorsFromFormValidators = fieldErrorsFromFormValidators ? {\n ...fieldErrorsFromFormValidators,\n ...fieldErrorsFromNormalizeError\n } : fieldErrorsFromNormalizeError;\n }\n const errorMapKey = getErrorMapKey(validateObj.cause);\n for (const field of Object.keys(\n this.state.fieldMeta\n )) {\n if (this.baseStore.state.fieldMetaBase[field] === void 0) {\n continue;\n }\n const fieldMeta = this.getFieldMeta(field);\n if (!fieldMeta) continue;\n const {\n errorMap: currentErrorMap,\n errorSourceMap: currentErrorMapSource\n } = fieldMeta;\n const newFormValidatorError = fieldErrorsFromFormValidators?.[field];\n const { newErrorValue, newSource } = determineFormLevelErrorSourceAndValue({\n newFormValidatorError,\n isPreviousErrorFromFormValidator: (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n currentErrorMapSource?.[errorMapKey] === \"form\"\n ),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n previousErrorValue: currentErrorMap?.[errorMapKey]\n });\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n currentErrorMap?.[errorMapKey] !== newErrorValue\n ) {\n this.setFieldMeta(field, (prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: newErrorValue\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [errorMapKey]: newSource\n }\n }));\n }\n }\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: formError\n }\n }));\n resolve(\n fieldErrorsFromFormValidators ? { fieldErrors: fieldErrorsFromFormValidators, errorMapKey } : void 0\n );\n })\n );\n }\n let results = [];\n const fieldsErrorMap = {};\n if (promises.length) {\n results = await Promise.all(promises);\n for (const fieldValidationResult of results) {\n if (fieldValidationResult?.fieldErrors) {\n const { errorMapKey } = fieldValidationResult;\n for (const [field, fieldError] of Object.entries(\n fieldValidationResult.fieldErrors\n )) {\n const oldErrorMap = fieldsErrorMap[field] || {};\n const newErrorMap = {\n ...oldErrorMap,\n [errorMapKey]: fieldError\n };\n fieldsErrorMap[field] = newErrorMap;\n }\n }\n }\n }\n this.baseStore.setState((prev) => ({\n ...prev,\n isFormValidating: false\n }));\n return fieldsErrorMap;\n };\n this.validate = (cause) => {\n const { hasErrored, fieldsErrorMap } = this.validateSync(cause);\n if (hasErrored && !this.options.asyncAlways) {\n return fieldsErrorMap;\n }\n return this.validateAsync(cause);\n };\n this._handleSubmit = async (submitMeta) => {\n this.baseStore.setState((old) => ({\n ...old,\n // Submission attempts mark the form as not submitted\n isSubmitted: false,\n // Count submission attempts\n submissionAttempts: old.submissionAttempts + 1,\n isSubmitSuccessful: false\n // Reset isSubmitSuccessful at the start of submission\n }));\n batch(() => {\n void Object.values(this.fieldInfo).forEach(\n (field) => {\n if (!field.instance) return;\n if (!field.instance.state.meta.isTouched) {\n field.instance.setMeta((prev) => ({ ...prev, isTouched: true }));\n }\n }\n );\n });\n const submitMetaArg = submitMeta ?? this.options.onSubmitMeta;\n if (!this.state.canSubmit && !this._devtoolsSubmissionOverride) {\n this.options.onSubmitInvalid?.({\n value: this.state.values,\n formApi: this,\n meta: submitMetaArg\n });\n return;\n }\n this.baseStore.setState((d) => ({ ...d, isSubmitting: true }));\n const done = () => {\n this.baseStore.setState((prev) => ({ ...prev, isSubmitting: false }));\n };\n await this.validateAllFields(\"submit\");\n if (!this.state.isFieldsValid) {\n done();\n this.options.onSubmitInvalid?.({\n value: this.state.values,\n formApi: this,\n meta: submitMetaArg\n });\n formEventClient.emit(\"form-submission\", {\n id: this._formId,\n submissionAttempt: this.state.submissionAttempts,\n successful: false,\n stage: \"validateAllFields\",\n errors: Object.values(this.state.fieldMeta).map((meta) => meta.errors).flat()\n });\n return;\n }\n await this.validate(\"submit\");\n if (!this.state.isValid) {\n done();\n this.options.onSubmitInvalid?.({\n value: this.state.values,\n formApi: this,\n meta: submitMetaArg\n });\n formEventClient.emit(\"form-submission\", {\n id: this._formId,\n submissionAttempt: this.state.submissionAttempts,\n successful: false,\n stage: \"validate\",\n errors: this.state.errors\n });\n return;\n }\n batch(() => {\n void Object.values(this.fieldInfo).forEach(\n (field) => {\n field.instance?.options.listeners?.onSubmit?.({\n value: field.instance.state.value,\n fieldApi: field.instance\n });\n }\n );\n });\n this.options.listeners?.onSubmit?.({ formApi: this, meta: submitMetaArg });\n try {\n await this.options.onSubmit?.({\n value: this.state.values,\n formApi: this,\n meta: submitMetaArg\n });\n batch(() => {\n this.baseStore.setState((prev) => ({\n ...prev,\n isSubmitted: true,\n isSubmitSuccessful: true\n // Set isSubmitSuccessful to true on successful submission\n }));\n formEventClient.emit(\"form-submission\", {\n id: this._formId,\n submissionAttempt: this.state.submissionAttempts,\n successful: true\n });\n done();\n });\n } catch (err) {\n this.baseStore.setState((prev) => ({\n ...prev,\n isSubmitSuccessful: false\n // Ensure isSubmitSuccessful is false if an error occurs\n }));\n formEventClient.emit(\"form-submission\", {\n id: this._formId,\n submissionAttempt: this.state.submissionAttempts,\n successful: false,\n stage: \"inflight\",\n onError: err\n });\n done();\n throw err;\n }\n };\n this.getFieldValue = (field) => getBy(this.state.values, field);\n this.getFieldMeta = (field) => {\n return this.state.fieldMeta[field];\n };\n this.getFieldInfo = (field) => {\n return this.fieldInfo[field] ||= {\n instance: null,\n validationMetaMap: {\n onChange: void 0,\n onBlur: void 0,\n onSubmit: void 0,\n onMount: void 0,\n onServer: void 0,\n onDynamic: void 0\n }\n };\n };\n this.setFieldMeta = (field, updater) => {\n this.baseStore.setState((prev) => {\n return {\n ...prev,\n fieldMetaBase: {\n ...prev.fieldMetaBase,\n [field]: functionalUpdate(\n updater,\n prev.fieldMetaBase[field]\n )\n }\n };\n });\n };\n this.resetFieldMeta = (fieldMeta) => {\n return Object.keys(fieldMeta).reduce(\n (acc, key) => {\n const fieldKey = key;\n acc[fieldKey] = defaultFieldMeta;\n return acc;\n },\n {}\n );\n };\n this.setFieldValue = (field, updater, opts2) => {\n const dontUpdateMeta = opts2?.dontUpdateMeta ?? false;\n const dontRunListeners = opts2?.dontRunListeners ?? false;\n const dontValidate = opts2?.dontValidate ?? false;\n batch(() => {\n if (!dontUpdateMeta) {\n this.setFieldMeta(field, (prev) => ({\n ...prev,\n isTouched: true,\n isDirty: true,\n errorMap: {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n ...prev?.errorMap,\n onMount: void 0\n }\n }));\n }\n this.baseStore.setState((prev) => {\n return {\n ...prev,\n values: setBy(prev.values, field, updater)\n };\n });\n });\n if (!dontRunListeners) {\n this.getFieldInfo(field).instance?.triggerOnChangeListener();\n }\n if (!dontValidate) {\n this.validateField(field, \"change\");\n }\n };\n this.deleteField = (field) => {\n const subFieldsToDelete = Object.keys(this.fieldInfo).filter((f) => {\n const fieldStr = field.toString();\n return f !== fieldStr && f.startsWith(fieldStr);\n });\n const fieldsToDelete = [...subFieldsToDelete, field];\n this.baseStore.setState((prev) => {\n const newState = { ...prev };\n fieldsToDelete.forEach((f) => {\n newState.values = deleteBy(newState.values, f);\n delete this.fieldInfo[f];\n delete newState.fieldMetaBase[f];\n });\n return newState;\n });\n };\n this.pushFieldValue = (field, value, options) => {\n this.setFieldValue(\n field,\n (prev) => [...Array.isArray(prev) ? prev : [], value],\n options\n );\n };\n this.insertFieldValue = async (field, index, value, options) => {\n this.setFieldValue(\n field,\n (prev) => {\n return [\n ...prev.slice(0, index),\n value,\n ...prev.slice(index)\n ];\n },\n mergeOpts(options, { dontValidate: true })\n );\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n await this.validateField(field, \"change\");\n }\n metaHelper(this).handleArrayInsert(field, index);\n if (!dontValidate) {\n await this.validateArrayFieldsStartingFrom(field, index, \"change\");\n }\n };\n this.replaceFieldValue = async (field, index, value, options) => {\n this.setFieldValue(\n field,\n (prev) => {\n return prev.map(\n (d, i) => i === index ? value : d\n );\n },\n mergeOpts(options, { dontValidate: true })\n );\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n await this.validateField(field, \"change\");\n await this.validateArrayFieldsStartingFrom(field, index, \"change\");\n }\n };\n this.removeFieldValue = async (field, index, options) => {\n const fieldValue = this.getFieldValue(field);\n const lastIndex = Array.isArray(fieldValue) ? Math.max(fieldValue.length - 1, 0) : null;\n this.setFieldValue(\n field,\n (prev) => {\n return prev.filter(\n (_d, i) => i !== index\n );\n },\n mergeOpts(options, { dontValidate: true })\n );\n metaHelper(this).handleArrayRemove(field, index);\n if (lastIndex !== null) {\n const start = `${field}[${lastIndex}]`;\n this.deleteField(start);\n }\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n await this.validateField(field, \"change\");\n await this.validateArrayFieldsStartingFrom(field, index, \"change\");\n }\n };\n this.swapFieldValues = (field, index1, index2, options) => {\n this.setFieldValue(\n field,\n (prev) => {\n const prev1 = prev[index1];\n const prev2 = prev[index2];\n return setBy(setBy(prev, `${index1}`, prev2), `${index2}`, prev1);\n },\n mergeOpts(options, { dontValidate: true })\n );\n metaHelper(this).handleArraySwap(field, index1, index2);\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n this.validateField(field, \"change\");\n this.validateField(`${field}[${index1}]`, \"change\");\n this.validateField(`${field}[${index2}]`, \"change\");\n }\n };\n this.moveFieldValues = (field, index1, index2, options) => {\n this.setFieldValue(\n field,\n (prev) => {\n const next = [...prev];\n next.splice(index2, 0, next.splice(index1, 1)[0]);\n return next;\n },\n mergeOpts(options, { dontValidate: true })\n );\n metaHelper(this).handleArrayMove(field, index1, index2);\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n this.validateField(field, \"change\");\n this.validateField(`${field}[${index1}]`, \"change\");\n this.validateField(`${field}[${index2}]`, \"change\");\n }\n };\n this.clearFieldValues = (field, options) => {\n const fieldValue = this.getFieldValue(field);\n const lastIndex = Array.isArray(fieldValue) ? Math.max(fieldValue.length - 1, 0) : null;\n this.setFieldValue(\n field,\n [],\n mergeOpts(options, { dontValidate: true })\n );\n if (lastIndex !== null) {\n for (let i = 0; i <= lastIndex; i++) {\n const fieldKey = `${field}[${i}]`;\n this.deleteField(fieldKey);\n }\n }\n const dontValidate = options?.dontValidate ?? false;\n if (!dontValidate) {\n this.validateField(field, \"change\");\n }\n };\n this.resetField = (field) => {\n this.baseStore.setState((prev) => {\n return {\n ...prev,\n fieldMetaBase: {\n ...prev.fieldMetaBase,\n [field]: defaultFieldMeta\n },\n values: this.options.defaultValues ? setBy(prev.values, field, getBy(this.options.defaultValues, field)) : prev.values\n };\n });\n };\n this.setErrorMap = (errorMap) => {\n batch(() => {\n Object.entries(errorMap).forEach(([key, value]) => {\n const errorMapKey = key;\n if (isGlobalFormValidationError(value)) {\n const { formError, fieldErrors } = normalizeError(value);\n for (const fieldName of Object.keys(\n this.fieldInfo\n )) {\n const fieldMeta = this.getFieldMeta(fieldName);\n if (!fieldMeta) continue;\n this.setFieldMeta(fieldName, (prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: fieldErrors?.[fieldName]\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [errorMapKey]: \"form\"\n }\n }));\n }\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: formError\n }\n }));\n } else {\n this.baseStore.setState((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: value\n }\n }));\n }\n });\n });\n };\n this.getAllErrors = () => {\n return {\n form: {\n errors: this.state.errors,\n errorMap: this.state.errorMap\n },\n fields: Object.entries(this.state.fieldMeta).reduce(\n (acc, [fieldName, fieldMeta]) => {\n if (Object.keys(fieldMeta).length && fieldMeta.errors.length) {\n acc[fieldName] = {\n errors: fieldMeta.errors,\n errorMap: fieldMeta.errorMap\n };\n }\n return acc;\n },\n {}\n )\n };\n };\n this.parseValuesWithSchema = (schema) => {\n return standardSchemaValidators.validate(\n { value: this.state.values, validationSource: \"form\" },\n schema\n );\n };\n this.parseValuesWithSchemaAsync = (schema) => {\n return standardSchemaValidators.validateAsync(\n { value: this.state.values, validationSource: \"form\" },\n schema\n );\n };\n this.timeoutIds = {\n validations: {},\n listeners: {},\n formListeners: {}\n };\n this._formId = opts?.formId ?? uuid();\n this._devtoolsSubmissionOverride = false;\n this.baseStore = new Store(\n getDefaultFormState({\n ...opts?.defaultState,\n values: opts?.defaultValues ?? opts?.defaultState?.values\n })\n );\n this.fieldMetaDerived = new Derived({\n deps: [this.baseStore],\n fn: ({ prevDepVals, currDepVals, prevVal: _prevVal }) => {\n const prevVal = _prevVal;\n const prevBaseStore = prevDepVals?.[0];\n const currBaseStore = currDepVals[0];\n let originalMetaCount = 0;\n const fieldMeta = {};\n for (const fieldName of Object.keys(\n currBaseStore.fieldMetaBase\n )) {\n const currBaseMeta = currBaseStore.fieldMetaBase[fieldName];\n const prevBaseMeta = prevBaseStore?.fieldMetaBase[fieldName];\n const prevFieldInfo = prevVal?.[fieldName];\n const curFieldVal = getBy(currBaseStore.values, fieldName);\n let fieldErrors = prevFieldInfo?.errors;\n if (!prevBaseMeta || currBaseMeta.errorMap !== prevBaseMeta.errorMap) {\n fieldErrors = Object.values(currBaseMeta.errorMap ?? {}).filter(\n (val) => val !== void 0\n );\n const fieldInstance = this.getFieldInfo(fieldName)?.instance;\n if (fieldInstance && !fieldInstance.options.disableErrorFlat) {\n fieldErrors = fieldErrors.flat(1);\n }\n }\n const isFieldValid = !isNonEmptyArray(fieldErrors);\n const isFieldPristine = !currBaseMeta.isDirty;\n const isDefaultValue = evaluate(\n curFieldVal,\n getBy(this.options.defaultValues, fieldName)\n ) || evaluate(\n curFieldVal,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n this.getFieldInfo(fieldName)?.instance?.options.defaultValue\n );\n if (prevFieldInfo && prevFieldInfo.isPristine === isFieldPristine && prevFieldInfo.isValid === isFieldValid && prevFieldInfo.isDefaultValue === isDefaultValue && prevFieldInfo.errors === fieldErrors && currBaseMeta === prevBaseMeta) {\n fieldMeta[fieldName] = prevFieldInfo;\n originalMetaCount++;\n continue;\n }\n fieldMeta[fieldName] = {\n ...currBaseMeta,\n errors: fieldErrors ?? [],\n isPristine: isFieldPristine,\n isValid: isFieldValid,\n isDefaultValue\n };\n }\n if (!Object.keys(currBaseStore.fieldMetaBase).length) return fieldMeta;\n if (prevVal && originalMetaCount === Object.keys(currBaseStore.fieldMetaBase).length) {\n return prevVal;\n }\n return fieldMeta;\n }\n });\n this.store = new Derived({\n deps: [this.baseStore, this.fieldMetaDerived],\n fn: ({ prevDepVals, currDepVals, prevVal: _prevVal }) => {\n const prevVal = _prevVal;\n const prevBaseStore = prevDepVals?.[0];\n const currBaseStore = currDepVals[0];\n const currFieldMeta = currDepVals[1];\n const fieldMetaValues = Object.values(currFieldMeta).filter(\n Boolean\n );\n const isFieldsValidating = fieldMetaValues.some(\n (field) => field.isValidating\n );\n const isFieldsValid = fieldMetaValues.every((field) => field.isValid);\n const isTouched = fieldMetaValues.some((field) => field.isTouched);\n const isBlurred = fieldMetaValues.some((field) => field.isBlurred);\n const isDefaultValue = fieldMetaValues.every(\n (field) => field.isDefaultValue\n );\n const shouldInvalidateOnMount = (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n isTouched && currBaseStore.errorMap?.onMount\n );\n const isDirty = fieldMetaValues.some((field) => field.isDirty);\n const isPristine = !isDirty;\n const hasOnMountError = Boolean(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n currBaseStore.errorMap?.onMount || // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n fieldMetaValues.some((f) => f?.errorMap?.onMount)\n );\n const isValidating = !!isFieldsValidating;\n let errors = prevVal?.errors ?? [];\n if (!prevBaseStore || currBaseStore.errorMap !== prevBaseStore.errorMap) {\n errors = Object.values(currBaseStore.errorMap).reduce((prev, curr) => {\n if (curr === void 0) return prev;\n if (curr && isGlobalFormValidationError(curr)) {\n prev.push(curr.form);\n return prev;\n }\n prev.push(curr);\n return prev;\n }, []);\n }\n const isFormValid = errors.length === 0;\n const isValid = isFieldsValid && isFormValid;\n const submitInvalid = this.options.canSubmitWhenInvalid ?? false;\n const canSubmit = currBaseStore.submissionAttempts === 0 && !isTouched && !hasOnMountError || !isValidating && !currBaseStore.isSubmitting && isValid || submitInvalid;\n let errorMap = currBaseStore.errorMap;\n if (shouldInvalidateOnMount) {\n errors = errors.filter(\n (err) => err !== currBaseStore.errorMap.onMount\n );\n errorMap = Object.assign(errorMap, { onMount: void 0 });\n }\n if (prevVal && prevBaseStore && prevVal.errorMap === errorMap && prevVal.fieldMeta === this.fieldMetaDerived.state && prevVal.errors === errors && prevVal.isFieldsValidating === isFieldsValidating && prevVal.isFieldsValid === isFieldsValid && prevVal.isFormValid === isFormValid && prevVal.isValid === isValid && prevVal.canSubmit === canSubmit && prevVal.isTouched === isTouched && prevVal.isBlurred === isBlurred && prevVal.isPristine === isPristine && prevVal.isDefaultValue === isDefaultValue && prevVal.isDirty === isDirty && evaluate(prevBaseStore, currBaseStore)) {\n return prevVal;\n }\n let state = {\n ...currBaseStore,\n errorMap,\n fieldMeta: this.fieldMetaDerived.state,\n errors,\n isFieldsValidating,\n isFieldsValid,\n isFormValid,\n isValid,\n canSubmit,\n isTouched,\n isBlurred,\n isPristine,\n isDefaultValue,\n isDirty\n };\n const transformArray = this.options.transform?.deps ?? [];\n const shouldTransform = transformArray.length !== this.prevTransformArray.length || transformArray.some((val, i) => val !== this.prevTransformArray[i]);\n if (shouldTransform) {\n const newObj = Object.assign({}, this, { state });\n this.options.transform?.fn(newObj);\n state = newObj.state;\n this.prevTransformArray = transformArray;\n }\n return state;\n }\n });\n this.handleSubmit = this.handleSubmit.bind(this);\n this.update(opts || {});\n }\n get state() {\n return this.store.state;\n }\n get formId() {\n return this._formId;\n }\n /**\n * @private\n */\n runValidator(props) {\n if (isStandardSchemaValidator(props.validate)) {\n return standardSchemaValidators[props.type](\n props.value,\n props.validate\n );\n }\n return props.validate(props.value);\n }\n handleSubmit(submitMeta) {\n return this._handleSubmit(submitMeta);\n }\n}\nfunction normalizeError(rawError) {\n if (rawError) {\n if (isGlobalFormValidationError(rawError)) {\n const formError = normalizeError(rawError.form).formError;\n const fieldErrors = rawError.fields;\n return { formError, fieldErrors };\n }\n return { formError: rawError };\n }\n return { formError: void 0 };\n}\nfunction getErrorMapKey(cause) {\n switch (cause) {\n case \"submit\":\n return \"onSubmit\";\n case \"blur\":\n return \"onBlur\";\n case \"mount\":\n return \"onMount\";\n case \"server\":\n return \"onServer\";\n case \"dynamic\":\n return \"onDynamic\";\n case \"change\":\n default:\n return \"onChange\";\n }\n}\nexport {\n FormApi\n};\n//# sourceMappingURL=FormApi.js.map\n","import { batch, Derived } from \"@tanstack/store\";\nimport { standardSchemaValidators, isStandardSchemaValidator } from \"./standardSchemaValidator.js\";\nimport { defaultFieldMeta } from \"./metaHelper.js\";\nimport { evaluate, mergeOpts, getSyncValidatorArray, getAsyncValidatorArray, determineFieldLevelErrorSourceAndValue } from \"./utils.js\";\nimport { defaultValidationLogic } from \"./ValidationLogic.js\";\nclass FieldApi {\n /**\n * Initializes a new `FieldApi` instance.\n */\n constructor(opts) {\n this.options = {};\n this.mount = () => {\n const cleanup = this.store.mount();\n if (this.options.defaultValue !== void 0 && !this.getMeta().isTouched) {\n this.form.setFieldValue(this.name, this.options.defaultValue, {\n dontUpdateMeta: true\n });\n }\n const info = this.getInfo();\n info.instance = this;\n this.update(this.options);\n const { onMount } = this.options.validators || {};\n if (onMount) {\n const error = this.runValidator({\n validate: onMount,\n value: {\n value: this.state.value,\n fieldApi: this,\n validationSource: \"field\"\n },\n type: \"validate\"\n });\n if (error) {\n this.setMeta(\n (prev) => ({\n ...prev,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n errorMap: { ...prev?.errorMap, onMount: error },\n errorSourceMap: {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n ...prev?.errorSourceMap,\n onMount: \"field\"\n }\n })\n );\n }\n }\n this.options.listeners?.onMount?.({\n value: this.state.value,\n fieldApi: this\n });\n return cleanup;\n };\n this.update = (opts2) => {\n this.options = opts2;\n this.name = opts2.name;\n if (!this.state.meta.isTouched && this.options.defaultValue !== void 0) {\n const formField = this.form.getFieldValue(this.name);\n if (!evaluate(formField, opts2.defaultValue)) {\n this.form.setFieldValue(this.name, opts2.defaultValue, {\n dontUpdateMeta: true,\n dontValidate: true,\n dontRunListeners: true\n });\n }\n }\n if (!this.form.getFieldMeta(this.name)) {\n this.form.setFieldMeta(this.name, this.state.meta);\n }\n };\n this.getValue = () => {\n return this.form.getFieldValue(this.name);\n };\n this.setValue = (updater, options) => {\n this.form.setFieldValue(\n this.name,\n updater,\n mergeOpts(options, { dontRunListeners: true, dontValidate: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n if (!options?.dontValidate) {\n this.validate(\"change\");\n }\n };\n this.getMeta = () => this.store.state.meta;\n this.setMeta = (updater) => this.form.setFieldMeta(this.name, updater);\n this.getInfo = () => this.form.getFieldInfo(this.name);\n this.pushValue = (value, options) => {\n this.form.pushFieldValue(\n this.name,\n value,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.insertValue = (index, value, options) => {\n this.form.insertFieldValue(\n this.name,\n index,\n value,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.replaceValue = (index, value, options) => {\n this.form.replaceFieldValue(\n this.name,\n index,\n value,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.removeValue = (index, options) => {\n this.form.removeFieldValue(\n this.name,\n index,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.swapValues = (aIndex, bIndex, options) => {\n this.form.swapFieldValues(\n this.name,\n aIndex,\n bIndex,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.moveValue = (aIndex, bIndex, options) => {\n this.form.moveFieldValues(\n this.name,\n aIndex,\n bIndex,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.clearValues = (options) => {\n this.form.clearFieldValues(\n this.name,\n mergeOpts(options, { dontRunListeners: true })\n );\n if (!options?.dontRunListeners) {\n this.triggerOnChangeListener();\n }\n };\n this.getLinkedFields = (cause) => {\n const fields = Object.values(this.form.fieldInfo);\n const linkedFields = [];\n for (const field of fields) {\n if (!field.instance) continue;\n const { onChangeListenTo, onBlurListenTo } = field.instance.options.validators || {};\n if (cause === \"change\" && onChangeListenTo?.includes(this.name)) {\n linkedFields.push(field.instance);\n }\n if (cause === \"blur\" && onBlurListenTo?.includes(this.name)) {\n linkedFields.push(field.instance);\n }\n }\n return linkedFields;\n };\n this.validateSync = (cause, errorFromForm) => {\n const validates = getSyncValidatorArray(cause, {\n ...this.options,\n form: this.form,\n validationLogic: this.form.options.validationLogic || defaultValidationLogic\n });\n const linkedFields = this.getLinkedFields(cause);\n const linkedFieldValidates = linkedFields.reduce(\n (acc, field) => {\n const fieldValidates = getSyncValidatorArray(cause, {\n ...field.options,\n form: field.form,\n validationLogic: field.form.options.validationLogic || defaultValidationLogic\n });\n fieldValidates.forEach((validate) => {\n validate.field = field;\n });\n return acc.concat(fieldValidates);\n },\n []\n );\n let hasErrored = false;\n batch(() => {\n const validateFieldFn = (field, validateObj) => {\n const errorMapKey = getErrorMapKey(validateObj.cause);\n const fieldLevelError = validateObj.validate ? normalizeError(\n field.runValidator({\n validate: validateObj.validate,\n value: {\n value: field.store.state.value,\n validationSource: \"field\",\n fieldApi: field\n },\n type: \"validate\"\n })\n ) : void 0;\n const formLevelError = errorFromForm[errorMapKey];\n const { newErrorValue, newSource } = determineFieldLevelErrorSourceAndValue({\n formLevelError,\n fieldLevelError\n });\n if (field.state.meta.errorMap?.[errorMapKey] !== newErrorValue) {\n field.setMeta((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [errorMapKey]: newErrorValue\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [errorMapKey]: newSource\n }\n }));\n }\n if (newErrorValue) {\n hasErrored = true;\n }\n };\n for (const validateObj of validates) {\n validateFieldFn(this, validateObj);\n }\n for (const fieldValitateObj of linkedFieldValidates) {\n if (!fieldValitateObj.validate) continue;\n validateFieldFn(fieldValitateObj.field, fieldValitateObj);\n }\n });\n const submitErrKey = getErrorMapKey(\"submit\");\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n this.state.meta.errorMap?.[submitErrKey] && cause !== \"submit\" && !hasErrored\n ) {\n this.setMeta((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n [submitErrKey]: void 0\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [submitErrKey]: void 0\n }\n }));\n }\n return { hasErrored };\n };\n this.validateAsync = async (cause, formValidationResultPromise) => {\n const validates = getAsyncValidatorArray(cause, {\n ...this.options,\n form: this.form,\n validationLogic: this.form.options.validationLogic || defaultValidationLogic\n });\n const asyncFormValidationResults = await formValidationResultPromise;\n const linkedFields = this.getLinkedFields(cause);\n const linkedFieldValidates = linkedFields.reduce(\n (acc, field) => {\n const fieldValidates = getAsyncValidatorArray(cause, {\n ...field.options,\n form: field.form,\n validationLogic: field.form.options.validationLogic || defaultValidationLogic\n });\n fieldValidates.forEach((validate) => {\n validate.field = field;\n });\n return acc.concat(fieldValidates);\n },\n []\n );\n const validatesPromises = [];\n const linkedPromises = [];\n const hasAsyncValidators = validates.some((v) => v.validate) || linkedFieldValidates.some((v) => v.validate);\n if (hasAsyncValidators) {\n if (!this.state.meta.isValidating) {\n this.setMeta((prev) => ({ ...prev, isValidating: true }));\n }\n for (const linkedField of linkedFields) {\n linkedField.setMeta((prev) => ({ ...prev, isValidating: true }));\n }\n }\n const validateFieldAsyncFn = (field, validateObj, promises) => {\n const errorMapKey = getErrorMapKey(validateObj.cause);\n const fieldValidatorMeta = field.getInfo().validationMetaMap[errorMapKey];\n fieldValidatorMeta?.lastAbortController.abort();\n const controller = new AbortController();\n this.getInfo().validationMetaMap[errorMapKey] = {\n lastAbortController: controller\n };\n promises.push(\n new Promise(async (resolve) => {\n let rawError;\n try {\n rawError = await new Promise((rawResolve, rawReject) => {\n if (this.timeoutIds.validations[validateObj.cause]) {\n clearTimeout(this.timeoutIds.validations[validateObj.cause]);\n }\n this.timeoutIds.validations[validateObj.cause] = setTimeout(\n async () => {\n if (controller.signal.aborted) return rawResolve(void 0);\n try {\n rawResolve(\n await this.runValidator({\n validate: validateObj.validate,\n value: {\n value: field.store.state.value,\n fieldApi: field,\n signal: controller.signal,\n validationSource: \"field\"\n },\n type: \"validateAsync\"\n })\n );\n } catch (e) {\n rawReject(e);\n }\n },\n validateObj.debounceMs\n );\n });\n } catch (e) {\n rawError = e;\n }\n if (controller.signal.aborted) return resolve(void 0);\n const fieldLevelError = normalizeError(rawError);\n const formLevelError = asyncFormValidationResults[this.name]?.[errorMapKey];\n const { newErrorValue, newSource } = determineFieldLevelErrorSourceAndValue({\n formLevelError,\n fieldLevelError\n });\n field.setMeta((prev) => {\n return {\n ...prev,\n errorMap: {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n ...prev?.errorMap,\n [errorMapKey]: newErrorValue\n },\n errorSourceMap: {\n ...prev.errorSourceMap,\n [errorMapKey]: newSource\n }\n };\n });\n resolve(newErrorValue);\n })\n );\n };\n for (const validateObj of validates) {\n if (!validateObj.validate) continue;\n validateFieldAsyncFn(this, validateObj, validatesPromises);\n }\n for (const fieldValitateObj of linkedFieldValidates) {\n if (!fieldValitateObj.validate) continue;\n validateFieldAsyncFn(\n fieldValitateObj.field,\n fieldValitateObj,\n linkedPromises\n );\n }\n let results = [];\n if (validatesPromises.length || linkedPromises.length) {\n results = await Promise.all(validatesPromises);\n await Promise.all(linkedPromises);\n }\n if (hasAsyncValidators) {\n this.setMeta((prev) => ({ ...prev, isValidating: false }));\n for (const linkedField of linkedFields) {\n linkedField.setMeta((prev) => ({ ...prev, isValidating: false }));\n }\n }\n return results.filter(Boolean);\n };\n this.validate = (cause, opts2) => {\n if (!this.state.meta.isTouched) return [];\n const { fieldsErrorMap } = opts2?.skipFormValidation ? { fieldsErrorMap: {} } : this.form.validateSync(cause);\n const { hasErrored } = this.validateSync(\n cause,\n fieldsErrorMap[this.name] ?? {}\n );\n if (hasErrored && !this.options.asyncAlways) {\n this.getInfo().validationMetaMap[getErrorMapKey(cause)]?.lastAbortController.abort();\n return this.state.meta.errors;\n }\n const formValidationResultPromise = opts2?.skipFormValidation ? Promise.resolve({}) : this.form.validateAsync(cause);\n return this.validateAsync(cause, formValidationResultPromise);\n };\n this.handleChange = (updater) => {\n this.setValue(updater);\n };\n this.handleBlur = () => {\n const prevTouched = this.state.meta.isTouched;\n if (!prevTouched) {\n this.setMeta((prev) => ({ ...prev, isTouched: true }));\n }\n if (!this.state.meta.isBlurred) {\n this.setMeta((prev) => ({ ...prev, isBlurred: true }));\n }\n this.validate(\"blur\");\n this.triggerOnBlurListener();\n };\n this.setErrorMap = (errorMap) => {\n this.setMeta((prev) => ({\n ...prev,\n errorMap: {\n ...prev.errorMap,\n ...errorMap\n }\n }));\n };\n this.parseValueWithSchema = (schema) => {\n return standardSchemaValidators.validate(\n { value: this.state.value, validationSource: \"field\" },\n schema\n );\n };\n this.parseValueWithSchemaAsync = (schema) => {\n return standardSchemaValidators.validateAsync(\n { value: this.state.value, validationSource: \"field\" },\n schema\n );\n };\n this.triggerOnChangeListener = () => {\n const formDebounceMs = this.form.options.listeners?.onChangeDebounceMs;\n if (formDebounceMs && formDebounceMs > 0) {\n if (this.timeoutIds.formListeners.change) {\n clearTimeout(this.timeoutIds.formListeners.change);\n }\n this.timeoutIds.formListeners.change = setTimeout(() => {\n this.form.options.listeners?.onChange?.({\n formApi: this.form,\n fieldApi: this\n });\n }, formDebounceMs);\n } else {\n this.form.options.listeners?.onChange?.({\n formApi: this.form,\n fieldApi: this\n });\n }\n const fieldDebounceMs = this.options.listeners?.onChangeDebounceMs;\n if (fieldDebounceMs && fieldDebounceMs > 0) {\n if (this.timeoutIds.listeners.change) {\n clearTimeout(this.timeoutIds.listeners.change);\n }\n this.timeoutIds.listeners.change = setTimeout(() => {\n this.options.listeners?.onChange?.({\n value: this.state.value,\n fieldApi: this\n });\n }, fieldDebounceMs);\n } else {\n this.options.listeners?.onChange?.({\n value: this.state.value,\n fieldApi: this\n });\n }\n };\n this.form = opts.form;\n this.name = opts.name;\n this.options = opts;\n this.timeoutIds = {\n validations: {},\n listeners: {},\n formListeners: {}\n };\n this.store = new Derived({\n deps: [this.form.store],\n fn: ({ prevVal: _prevVal }) => {\n const prevVal = _prevVal;\n const meta = this.form.getFieldMeta(this.name) ?? {\n ...defaultFieldMeta,\n ...opts.defaultMeta\n };\n let value = this.form.getFieldValue(this.name);\n if (!meta.isTouched && value === void 0 && this.options.defaultValue !== void 0 && !evaluate(value, this.options.defaultValue)) {\n value = this.options.defaultValue;\n }\n if (prevVal && prevVal.value === value && prevVal.meta === meta) {\n return prevVal;\n }\n return {\n value,\n meta\n };\n }\n });\n }\n /**\n * The current field state.\n */\n get state() {\n return this.store.state;\n }\n /**\n * @private\n */\n runValidator(props) {\n if (isStandardSchemaValidator(props.validate)) {\n return standardSchemaValidators[props.type](\n props.value,\n props.validate\n );\n }\n return props.validate(props.value);\n }\n triggerOnBlurListener() {\n const formDebounceMs = this.form.options.listeners?.onBlurDebounceMs;\n if (formDebounceMs && formDebounceMs > 0) {\n if (this.timeoutIds.formListeners.blur) {\n clearTimeout(this.timeoutIds.formListeners.blur);\n }\n this.timeoutIds.formListeners.blur = setTimeout(() => {\n this.form.options.listeners?.onBlur?.({\n formApi: this.form,\n fieldApi: this\n });\n }, formDebounceMs);\n } else {\n this.form.options.listeners?.onBlur?.({\n formApi: this.form,\n fieldApi: this\n });\n }\n const fieldDebounceMs = this.options.listeners?.onBlurDebounceMs;\n if (fieldDebounceMs && fieldDebounceMs > 0) {\n if (this.timeoutIds.listeners.blur) {\n clearTimeout(this.timeoutIds.listeners.blur);\n }\n this.timeoutIds.listeners.blur = setTimeout(() => {\n this.options.listeners?.onBlur?.({\n value: this.state.value,\n fieldApi: this\n });\n }, fieldDebounceMs);\n } else {\n this.options.listeners?.onBlur?.({\n value: this.state.value,\n fieldApi: this\n });\n }\n }\n}\nfunction normalizeError(rawError) {\n if (rawError) {\n return rawError;\n }\n return void 0;\n}\nfunction getErrorMapKey(cause) {\n switch (cause) {\n case \"submit\":\n return \"onSubmit\";\n case \"blur\":\n return \"onBlur\";\n case \"mount\":\n return \"onMount\";\n case \"server\":\n return \"onServer\";\n case \"dynamic\":\n return \"onDynamic\";\n case \"change\":\n default:\n return \"onChange\";\n }\n}\nexport {\n FieldApi\n};\n//# sourceMappingURL=FieldApi.js.map\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d, options = {}) {\n const equal = options.equal ?? shallow;\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n equal\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = getOwnKeys(objA);\n if (keysA.length !== getOwnKeys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nfunction getOwnKeys(obj) {\n return Object.keys(obj).concat(\n Object.getOwnPropertySymbols(obj)\n );\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import { useLayoutEffect, useEffect } from \"react\";\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nexport {\n useIsomorphicLayoutEffect\n};\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map\n","\"use client\";\nimport { jsx, Fragment } from \"react/jsx-runtime\";\nimport { useState, useMemo } from \"react\";\nimport { useStore } from \"@tanstack/react-store\";\nimport { FieldApi, functionalUpdate } from \"@tanstack/form-core\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect.js\";\nfunction useField(opts) {\n const [prevOptions, setPrevOptions] = useState(() => ({\n form: opts.form,\n name: opts.name\n }));\n const [fieldApi, setFieldApi] = useState(() => {\n return new FieldApi({\n ...opts\n });\n });\n if (prevOptions.form !== opts.form || prevOptions.name !== opts.name) {\n setFieldApi(\n new FieldApi({\n ...opts\n })\n );\n setPrevOptions({ form: opts.form, name: opts.name });\n }\n const reactiveStateValue = useStore(\n fieldApi.store,\n opts.mode === \"array\" ? (state) => Object.keys(state.value ?? []).length : (state) => state.value\n );\n const reactiveMetaIsTouched = useStore(\n fieldApi.store,\n (state) => state.meta.isTouched\n );\n const reactiveMetaIsBlurred = useStore(\n fieldApi.store,\n (state) => state.meta.isBlurred\n );\n const reactiveMetaIsDirty = useStore(\n fieldApi.store,\n (state) => state.meta.isDirty\n );\n const reactiveMetaErrorMap = useStore(\n fieldApi.store,\n (state) => state.meta.errorMap\n );\n const reactiveMetaErrorSourceMap = useStore(\n fieldApi.store,\n (state) => state.meta.errorSourceMap\n );\n const reactiveMetaIsValidating = useStore(\n fieldApi.store,\n (state) => state.meta.isValidating\n );\n const extendedFieldApi = useMemo(() => {\n const reactiveFieldApi = {\n ...fieldApi,\n get state() {\n return {\n // For array mode, reactiveStateValue is the length (for reactivity tracking),\n // so we need to get the actual value from fieldApi\n value: opts.mode === \"array\" ? fieldApi.state.value : reactiveStateValue,\n get meta() {\n return {\n ...fieldApi.state.meta,\n isTouched: reactiveMetaIsTouched,\n isBlurred: reactiveMetaIsBlurred,\n isDirty: reactiveMetaIsDirty,\n errorMap: reactiveMetaErrorMap,\n errorSourceMap: reactiveMetaErrorSourceMap,\n isValidating: reactiveMetaIsValidating\n };\n }\n };\n }\n };\n const extendedApi = reactiveFieldApi;\n extendedApi.Field = Field;\n return extendedApi;\n }, [\n fieldApi,\n opts.mode,\n reactiveStateValue,\n reactiveMetaIsTouched,\n reactiveMetaIsBlurred,\n reactiveMetaIsDirty,\n reactiveMetaErrorMap,\n reactiveMetaErrorSourceMap,\n reactiveMetaIsValidating\n ]);\n useIsomorphicLayoutEffect(fieldApi.mount, [fieldApi]);\n useIsomorphicLayoutEffect(() => {\n fieldApi.update(opts);\n });\n return extendedFieldApi;\n}\nconst Field = (({\n children,\n ...fieldOptions\n}) => {\n const fieldApi = useField(fieldOptions);\n const jsxToDisplay = useMemo(\n () => functionalUpdate(children, fieldApi),\n [children, fieldApi]\n );\n return /* @__PURE__ */ jsx(Fragment, { children: jsxToDisplay });\n});\nexport {\n Field,\n useField\n};\n//# sourceMappingURL=useField.js.map\n","import { useState } from \"react\";\nimport { uuid } from \"@tanstack/form-core\";\nfunction useUUID() {\n return useState(() => uuid())[0];\n}\nexport {\n useUUID\n};\n//# sourceMappingURL=useUUID.js.map\n","import * as React from \"react\";\nimport { useUUID } from \"./useUUID.js\";\nconst useFormId = React.version.split(\".\")[0] === \"17\" ? useUUID : React.useId;\nexport {\n useFormId\n};\n//# sourceMappingURL=useFormId.js.map\n","\"use client\";\nimport { jsx, Fragment } from \"react/jsx-runtime\";\nimport { FormApi, functionalUpdate } from \"@tanstack/form-core\";\nimport { useStore } from \"@tanstack/react-store\";\nimport { useState, useMemo } from \"react\";\nimport { Field } from \"./useField.js\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect.js\";\nimport { useFormId } from \"./useFormId.js\";\nfunction LocalSubscribe({\n form,\n selector,\n children\n}) {\n const data = useStore(form.store, selector);\n return /* @__PURE__ */ jsx(Fragment, { children: functionalUpdate(children, data) });\n}\nfunction useForm(opts) {\n const fallbackFormId = useFormId();\n const [prevFormId, setPrevFormId] = useState(opts?.formId);\n const [formApi, setFormApi] = useState(() => {\n return new FormApi({ ...opts, formId: opts?.formId ?? fallbackFormId });\n });\n if (prevFormId !== opts?.formId) {\n const formId = opts?.formId ?? fallbackFormId;\n setFormApi(new FormApi({ ...opts, formId }));\n setPrevFormId(formId);\n }\n const extendedFormApi = useMemo(() => {\n const extendedApi = {\n ...formApi,\n handleSubmit: ((...props) => {\n return formApi._handleSubmit(...props);\n }),\n // We must add all `get`ters from `core`'s `FormApi` here, as otherwise the spread operator won't catch those\n get formId() {\n return formApi._formId;\n },\n get state() {\n return formApi.store.state;\n }\n };\n extendedApi.Field = function APIField(props) {\n return /* @__PURE__ */ jsx(Field, { ...props, form: formApi });\n };\n extendedApi.Subscribe = function Subscribe(props) {\n return /* @__PURE__ */ jsx(\n LocalSubscribe,\n {\n form: formApi,\n selector: props.selector,\n children: props.children\n }\n );\n };\n return extendedApi;\n }, [formApi]);\n useIsomorphicLayoutEffect(formApi.mount, []);\n useIsomorphicLayoutEffect(() => {\n formApi.update(opts);\n });\n return extendedFormApi;\n}\nexport {\n useForm\n};\n//# sourceMappingURL=useForm.js.map\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useForm } from '@tanstack/react-form'\nimport type {FormOptions} from '@tanstack/react-form';\nimport type { FieldValues } from '../types'\n\nexport interface UseCustomFormOptions<TData extends FieldValues>\n extends FormOptions<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n > {\n formId?: string\n}\n\nexport function useJotaiForm<TData extends FieldValues>(formOptions: UseCustomFormOptions<TData>) {\n const form = useForm<\n TData,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >(formOptions)\n\n return form\n}\n","/* eslint-disable react-hooks/refs */\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useFormConfigValue } from './config'\nimport type { FieldValues, FormFieldProps } from './types'\n\nexport const FormField = <T extends FieldValues>({\n config,\n onFieldChange,\n ns: globalNs,\n globalErrorNs,\n}: FormFieldProps<T>) => {\n const ns = config.ns ?? globalNs\n const errorNs = config.errorNs ?? globalErrorNs\n const { formFieldContainer, translateText } = useFormConfigValue()\n\n // TanStack Form uses field.state.meta.errors which is an array of ValidationError\n const firstError =\n config.field.state.meta.errors.length > 0\n ? config.field.state.meta.errors[0]\n : undefined\n const errorMessageStr = firstError ? String(firstError) : undefined\n\n const errorMessage = useMemo(() => {\n if (!errorMessageStr) return undefined\n return errorNs\n ? translateText?.(errorMessageStr, {\n ns: errorNs || '',\n defaultValue: '',\n })\n : errorMessageStr\n }, [errorMessageStr, errorNs, translateText])\n\n const label = useMemo(\n () => (ns ? translateText?.(config.label ?? '') : config.label),\n [ns, config.label, translateText],\n )\n\n const helperMessage = useMemo(\n () =>\n config.helper?.text\n ? translateText?.(config.helper.text, config.helper.translationOption)\n : '',\n [config.helper, translateText],\n )\n\n const ref = useRef({ onFieldChange, handleChange: config.field.handleChange })\n\n useEffect(() => {\n ref.current = {\n onFieldChange,\n handleChange: config.field.handleChange,\n }\n }, [config.field.handleChange, onFieldChange])\n\n const handleChange = useCallback((value: T) => {\n // TanStack Form handleChange usually expects just the value for input\n // but if we are manually calling it we should pass the value.\n ref.current.handleChange(value)\n ref.current.onFieldChange?.(value)\n }, [])\n\n const handleBlur = useCallback(() => {\n config.field.handleBlur()\n }, [config.field])\n\n const baseProps = useMemo(\n () => ({\n value: config.field.state.value,\n onChange: handleChange,\n onBlur: handleBlur,\n error: config.field.state.meta.errors.length > 0,\n errorMessage,\n label,\n helperMessage,\n }),\n [\n config.field.state.value,\n handleChange,\n handleBlur,\n config.field.state.meta.errors.length,\n errorMessage,\n label,\n helperMessage,\n ],\n )\n\n const ConfigContainer = useMemo(() => config.container, [config.container])\n const FormFieldContainer = useMemo(\n () => formFieldContainer,\n [formFieldContainer],\n )\n\n if (ConfigContainer) {\n return (\n <ConfigContainer>\n {config.component(baseProps)}\n </ConfigContainer>\n )\n }\n return (\n <FormFieldContainer>\n {config.component(baseProps)}\n </FormFieldContainer>\n )\n}\n","function hasInitialValue(atom) {\n return \"init\" in atom;\n}\nfunction isActuallyWritableAtom(atom) {\n return !!atom.write;\n}\nfunction isAtomStateInitialized(atomState) {\n return \"v\" in atomState || \"e\" in atomState;\n}\nfunction returnAtomValue(atomState) {\n if (\"e\" in atomState) {\n throw atomState.e;\n }\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !(\"v\" in atomState)) {\n throw new Error(\"[Bug] atom state is not initialized\");\n }\n return atomState.v;\n}\nconst promiseStateMap = /* @__PURE__ */ new WeakMap();\nfunction isPendingPromise(value) {\n var _a;\n return isPromiseLike(value) && !!((_a = promiseStateMap.get(value)) == null ? void 0 : _a[0]);\n}\nfunction abortPromise(promise) {\n const promiseState = promiseStateMap.get(promise);\n if (promiseState == null ? void 0 : promiseState[0]) {\n promiseState[0] = false;\n promiseState[1].forEach((fn) => fn());\n }\n}\nfunction registerAbortHandler(promise, abortHandler) {\n let promiseState = promiseStateMap.get(promise);\n if (!promiseState) {\n promiseState = [true, /* @__PURE__ */ new Set()];\n promiseStateMap.set(promise, promiseState);\n const settle = () => {\n promiseState[0] = false;\n };\n promise.then(settle, settle);\n }\n promiseState[1].add(abortHandler);\n}\nfunction isPromiseLike(p) {\n return typeof (p == null ? void 0 : p.then) === \"function\";\n}\nfunction addPendingPromiseToDependency(atom, promise, dependencyAtomState) {\n if (!dependencyAtomState.p.has(atom)) {\n dependencyAtomState.p.add(atom);\n const cleanup = () => dependencyAtomState.p.delete(atom);\n promise.then(cleanup, cleanup);\n }\n}\nfunction getMountedOrPendingDependents(atom, atomState, mountedMap) {\n var _a;\n const dependents = /* @__PURE__ */ new Set();\n for (const a of ((_a = mountedMap.get(atom)) == null ? void 0 : _a.t) || []) {\n dependents.add(a);\n }\n for (const atomWithPendingPromise of atomState.p) {\n dependents.add(atomWithPendingPromise);\n }\n return dependents;\n}\nconst createStoreHook = () => {\n const callbacks = /* @__PURE__ */ new Set();\n const notify = () => callbacks.forEach((fn) => fn());\n notify.add = (fn) => {\n callbacks.add(fn);\n return () => callbacks.delete(fn);\n };\n return notify;\n};\nconst createStoreHookForAtoms = () => {\n const all = {};\n const callbacks = /* @__PURE__ */ new WeakMap();\n const notify = (atom) => {\n var _a, _b;\n (_a = callbacks.get(all)) == null ? void 0 : _a.forEach((fn) => fn(atom));\n (_b = callbacks.get(atom)) == null ? void 0 : _b.forEach((fn) => fn());\n };\n notify.add = (atom, fn) => {\n const key = atom || all;\n let fns = callbacks.get(key);\n if (!fns) {\n fns = /* @__PURE__ */ new Set();\n callbacks.set(key, fns);\n }\n fns.add(fn);\n return () => {\n fns.delete(fn);\n if (!fns.size) {\n callbacks.delete(key);\n }\n };\n };\n return notify;\n};\nfunction initializeStoreHooks(storeHooks) {\n storeHooks.i || (storeHooks.i = createStoreHookForAtoms());\n storeHooks.r || (storeHooks.r = createStoreHookForAtoms());\n storeHooks.c || (storeHooks.c = createStoreHookForAtoms());\n storeHooks.m || (storeHooks.m = createStoreHookForAtoms());\n storeHooks.u || (storeHooks.u = createStoreHookForAtoms());\n storeHooks.f || (storeHooks.f = createStoreHook());\n return storeHooks;\n}\nconst atomRead = (_store, atom, ...params) => atom.read(...params);\nconst atomWrite = (_store, atom, ...params) => atom.write(...params);\nconst atomOnInit = (store, atom) => {\n if (atom.INTERNAL_onInit) {\n return atom.INTERNAL_onInit(store);\n }\n if (atom.unstable_onInit) {\n console.warn(\n \"[DEPRECATED] atom.unstable_onInit is renamed to atom.INTERNAL_onInit.\"\n );\n return atom.unstable_onInit(store);\n }\n};\nconst atomOnMount = (_store, atom, setAtom) => {\n var _a;\n return (_a = atom.onMount) == null ? void 0 : _a.call(atom, setAtom);\n};\nconst ensureAtomState = (store, atom) => {\n var _a;\n const buildingBlocks = getInternalBuildingBlocks(store);\n const atomStateMap = buildingBlocks[0];\n const storeHooks = buildingBlocks[6];\n const atomOnInit2 = buildingBlocks[9];\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !atom) {\n throw new Error(\"Atom is undefined or null\");\n }\n let atomState = atomStateMap.get(atom);\n if (!atomState) {\n atomState = { d: /* @__PURE__ */ new Map(), p: /* @__PURE__ */ new Set(), n: 0 };\n atomStateMap.set(atom, atomState);\n (_a = storeHooks.i) == null ? void 0 : _a.call(storeHooks, atom);\n atomOnInit2 == null ? void 0 : atomOnInit2(store, atom);\n }\n return atomState;\n};\nconst flushCallbacks = (store) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const changedAtoms = buildingBlocks[3];\n const mountCallbacks = buildingBlocks[4];\n const unmountCallbacks = buildingBlocks[5];\n const storeHooks = buildingBlocks[6];\n const recomputeInvalidatedAtoms2 = buildingBlocks[13];\n const errors = [];\n const call = (fn) => {\n try {\n fn();\n } catch (e) {\n errors.push(e);\n }\n };\n do {\n if (storeHooks.f) {\n call(storeHooks.f);\n }\n const callbacks = /* @__PURE__ */ new Set();\n const add = callbacks.add.bind(callbacks);\n changedAtoms.forEach((atom) => {\n var _a;\n return (_a = mountedMap.get(atom)) == null ? void 0 : _a.l.forEach(add);\n });\n changedAtoms.clear();\n unmountCallbacks.forEach(add);\n unmountCallbacks.clear();\n mountCallbacks.forEach(add);\n mountCallbacks.clear();\n callbacks.forEach(call);\n if (changedAtoms.size) {\n recomputeInvalidatedAtoms2(store);\n }\n } while (changedAtoms.size || unmountCallbacks.size || mountCallbacks.size);\n if (errors.length) {\n throw new AggregateError(errors);\n }\n};\nconst recomputeInvalidatedAtoms = (store) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const invalidatedAtoms = buildingBlocks[2];\n const changedAtoms = buildingBlocks[3];\n const ensureAtomState2 = buildingBlocks[11];\n const readAtomState2 = buildingBlocks[14];\n const mountDependencies2 = buildingBlocks[17];\n const topSortedReversed = [];\n const visiting = /* @__PURE__ */ new WeakSet();\n const visited = /* @__PURE__ */ new WeakSet();\n const stack = Array.from(changedAtoms);\n while (stack.length) {\n const a = stack[stack.length - 1];\n const aState = ensureAtomState2(store, a);\n if (visited.has(a)) {\n stack.pop();\n continue;\n }\n if (visiting.has(a)) {\n if (invalidatedAtoms.get(a) === aState.n) {\n topSortedReversed.push([a, aState]);\n } else if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && invalidatedAtoms.has(a)) {\n throw new Error(\"[Bug] invalidated atom exists\");\n }\n visited.add(a);\n stack.pop();\n continue;\n }\n visiting.add(a);\n for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {\n if (!visiting.has(d)) {\n stack.push(d);\n }\n }\n }\n for (let i = topSortedReversed.length - 1; i >= 0; --i) {\n const [a, aState] = topSortedReversed[i];\n let hasChangedDeps = false;\n for (const dep of aState.d.keys()) {\n if (dep !== a && changedAtoms.has(dep)) {\n hasChangedDeps = true;\n break;\n }\n }\n if (hasChangedDeps) {\n readAtomState2(store, a);\n mountDependencies2(store, a);\n }\n invalidatedAtoms.delete(a);\n }\n};\nconst storeMutationSet = /* @__PURE__ */ new WeakSet();\nconst readAtomState = (store, atom) => {\n var _a, _b;\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const invalidatedAtoms = buildingBlocks[2];\n const changedAtoms = buildingBlocks[3];\n const storeHooks = buildingBlocks[6];\n const atomRead2 = buildingBlocks[7];\n const ensureAtomState2 = buildingBlocks[11];\n const flushCallbacks2 = buildingBlocks[12];\n const recomputeInvalidatedAtoms2 = buildingBlocks[13];\n const readAtomState2 = buildingBlocks[14];\n const writeAtomState2 = buildingBlocks[16];\n const mountDependencies2 = buildingBlocks[17];\n const atomState = ensureAtomState2(store, atom);\n if (isAtomStateInitialized(atomState)) {\n if (mountedMap.has(atom) && invalidatedAtoms.get(atom) !== atomState.n) {\n return atomState;\n }\n let hasChangedDeps = false;\n for (const [a, n] of atomState.d) {\n if (readAtomState2(store, a).n !== n) {\n hasChangedDeps = true;\n break;\n }\n }\n if (!hasChangedDeps) {\n return atomState;\n }\n }\n atomState.d.clear();\n let isSync = true;\n function mountDependenciesIfAsync() {\n if (mountedMap.has(atom)) {\n mountDependencies2(store, atom);\n recomputeInvalidatedAtoms2(store);\n flushCallbacks2(store);\n }\n }\n function getter(a) {\n var _a2;\n if (a === atom) {\n const aState2 = ensureAtomState2(store, a);\n if (!isAtomStateInitialized(aState2)) {\n if (hasInitialValue(a)) {\n setAtomStateValueOrPromise(store, a, a.init);\n } else {\n throw new Error(\"no atom init\");\n }\n }\n return returnAtomValue(aState2);\n }\n const aState = readAtomState2(store, a);\n try {\n return returnAtomValue(aState);\n } finally {\n atomState.d.set(a, aState.n);\n if (isPendingPromise(atomState.v)) {\n addPendingPromiseToDependency(atom, atomState.v, aState);\n }\n if (mountedMap.has(atom)) {\n (_a2 = mountedMap.get(a)) == null ? void 0 : _a2.t.add(atom);\n }\n if (!isSync) {\n mountDependenciesIfAsync();\n }\n }\n }\n let controller;\n let setSelf;\n const options = {\n get signal() {\n if (!controller) {\n controller = new AbortController();\n }\n return controller.signal;\n },\n get setSelf() {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !isActuallyWritableAtom(atom)) {\n console.warn(\"setSelf function cannot be used with read-only atom\");\n }\n if (!setSelf && isActuallyWritableAtom(atom)) {\n setSelf = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && isSync) {\n console.warn(\"setSelf function cannot be called in sync\");\n }\n if (!isSync) {\n try {\n return writeAtomState2(store, atom, ...args);\n } finally {\n recomputeInvalidatedAtoms2(store);\n flushCallbacks2(store);\n }\n }\n };\n }\n return setSelf;\n }\n };\n const prevEpochNumber = atomState.n;\n try {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n storeMutationSet.delete(store);\n }\n const valueOrPromise = atomRead2(store, atom, getter, options);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && storeMutationSet.has(store)) {\n console.warn(\n \"Detected store mutation during atom read. This is not supported.\"\n );\n }\n setAtomStateValueOrPromise(store, atom, valueOrPromise);\n if (isPromiseLike(valueOrPromise)) {\n registerAbortHandler(valueOrPromise, () => controller == null ? void 0 : controller.abort());\n valueOrPromise.then(mountDependenciesIfAsync, mountDependenciesIfAsync);\n }\n (_a = storeHooks.r) == null ? void 0 : _a.call(storeHooks, atom);\n return atomState;\n } catch (error) {\n delete atomState.v;\n atomState.e = error;\n ++atomState.n;\n return atomState;\n } finally {\n isSync = false;\n if (prevEpochNumber !== atomState.n && invalidatedAtoms.get(atom) === prevEpochNumber) {\n invalidatedAtoms.set(atom, atomState.n);\n changedAtoms.add(atom);\n (_b = storeHooks.c) == null ? void 0 : _b.call(storeHooks, atom);\n }\n }\n};\nconst invalidateDependents = (store, atom) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const invalidatedAtoms = buildingBlocks[2];\n const ensureAtomState2 = buildingBlocks[11];\n const stack = [atom];\n while (stack.length) {\n const a = stack.pop();\n const aState = ensureAtomState2(store, a);\n for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {\n const dState = ensureAtomState2(store, d);\n invalidatedAtoms.set(d, dState.n);\n stack.push(d);\n }\n }\n};\nconst writeAtomState = (store, atom, ...args) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const changedAtoms = buildingBlocks[3];\n const storeHooks = buildingBlocks[6];\n const atomWrite2 = buildingBlocks[8];\n const ensureAtomState2 = buildingBlocks[11];\n const flushCallbacks2 = buildingBlocks[12];\n const recomputeInvalidatedAtoms2 = buildingBlocks[13];\n const readAtomState2 = buildingBlocks[14];\n const invalidateDependents2 = buildingBlocks[15];\n const mountDependencies2 = buildingBlocks[17];\n let isSync = true;\n const getter = (a) => returnAtomValue(readAtomState2(store, a));\n const setter = (a, ...args2) => {\n var _a;\n const aState = ensureAtomState2(store, a);\n try {\n if (a === atom) {\n if (!hasInitialValue(a)) {\n throw new Error(\"atom not writable\");\n }\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n storeMutationSet.add(store);\n }\n const prevEpochNumber = aState.n;\n const v = args2[0];\n setAtomStateValueOrPromise(store, a, v);\n mountDependencies2(store, a);\n if (prevEpochNumber !== aState.n) {\n changedAtoms.add(a);\n invalidateDependents2(store, a);\n (_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);\n }\n return void 0;\n } else {\n return writeAtomState(store, a, ...args2);\n }\n } finally {\n if (!isSync) {\n recomputeInvalidatedAtoms2(store);\n flushCallbacks2(store);\n }\n }\n };\n try {\n return atomWrite2(store, atom, getter, setter, ...args);\n } finally {\n isSync = false;\n }\n};\nconst mountDependencies = (store, atom) => {\n var _a;\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const changedAtoms = buildingBlocks[3];\n const storeHooks = buildingBlocks[6];\n const ensureAtomState2 = buildingBlocks[11];\n const invalidateDependents2 = buildingBlocks[15];\n const mountAtom2 = buildingBlocks[18];\n const unmountAtom2 = buildingBlocks[19];\n const atomState = ensureAtomState2(store, atom);\n const mounted = mountedMap.get(atom);\n if (mounted && !isPendingPromise(atomState.v)) {\n for (const [a, n] of atomState.d) {\n if (!mounted.d.has(a)) {\n const aState = ensureAtomState2(store, a);\n const aMounted = mountAtom2(store, a);\n aMounted.t.add(atom);\n mounted.d.add(a);\n if (n !== aState.n) {\n changedAtoms.add(a);\n invalidateDependents2(store, a);\n (_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);\n }\n }\n }\n for (const a of mounted.d) {\n if (!atomState.d.has(a)) {\n mounted.d.delete(a);\n const aMounted = unmountAtom2(store, a);\n aMounted == null ? void 0 : aMounted.t.delete(atom);\n }\n }\n }\n};\nconst mountAtom = (store, atom) => {\n var _a;\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const mountCallbacks = buildingBlocks[4];\n const storeHooks = buildingBlocks[6];\n const atomOnMount2 = buildingBlocks[10];\n const ensureAtomState2 = buildingBlocks[11];\n const flushCallbacks2 = buildingBlocks[12];\n const recomputeInvalidatedAtoms2 = buildingBlocks[13];\n const readAtomState2 = buildingBlocks[14];\n const writeAtomState2 = buildingBlocks[16];\n const atomState = ensureAtomState2(store, atom);\n let mounted = mountedMap.get(atom);\n if (!mounted) {\n readAtomState2(store, atom);\n for (const a of atomState.d.keys()) {\n const aMounted = mountAtom(store, a);\n aMounted.t.add(atom);\n }\n mounted = {\n l: /* @__PURE__ */ new Set(),\n d: new Set(atomState.d.keys()),\n t: /* @__PURE__ */ new Set()\n };\n mountedMap.set(atom, mounted);\n if (isActuallyWritableAtom(atom)) {\n const processOnMount = () => {\n let isSync = true;\n const setAtom = (...args) => {\n try {\n return writeAtomState2(store, atom, ...args);\n } finally {\n if (!isSync) {\n recomputeInvalidatedAtoms2(store);\n flushCallbacks2(store);\n }\n }\n };\n try {\n const onUnmount = atomOnMount2(store, atom, setAtom);\n if (onUnmount) {\n mounted.u = () => {\n isSync = true;\n try {\n onUnmount();\n } finally {\n isSync = false;\n }\n };\n }\n } finally {\n isSync = false;\n }\n };\n mountCallbacks.add(processOnMount);\n }\n (_a = storeHooks.m) == null ? void 0 : _a.call(storeHooks, atom);\n }\n return mounted;\n};\nconst unmountAtom = (store, atom) => {\n var _a, _b;\n const buildingBlocks = getInternalBuildingBlocks(store);\n const mountedMap = buildingBlocks[1];\n const unmountCallbacks = buildingBlocks[5];\n const storeHooks = buildingBlocks[6];\n const ensureAtomState2 = buildingBlocks[11];\n const unmountAtom2 = buildingBlocks[19];\n const atomState = ensureAtomState2(store, atom);\n let mounted = mountedMap.get(atom);\n if (!mounted || mounted.l.size) {\n return mounted;\n }\n let isDependent = false;\n for (const a of mounted.t) {\n if ((_a = mountedMap.get(a)) == null ? void 0 : _a.d.has(atom)) {\n isDependent = true;\n break;\n }\n }\n if (!isDependent) {\n if (mounted.u) {\n unmountCallbacks.add(mounted.u);\n }\n mounted = void 0;\n mountedMap.delete(atom);\n for (const a of atomState.d.keys()) {\n const aMounted = unmountAtom2(store, a);\n aMounted == null ? void 0 : aMounted.t.delete(atom);\n }\n (_b = storeHooks.u) == null ? void 0 : _b.call(storeHooks, atom);\n return void 0;\n }\n return mounted;\n};\nconst setAtomStateValueOrPromise = (store, atom, valueOrPromise) => {\n const ensureAtomState2 = getInternalBuildingBlocks(store)[11];\n const atomState = ensureAtomState2(store, atom);\n const hasPrevValue = \"v\" in atomState;\n const prevValue = atomState.v;\n if (isPromiseLike(valueOrPromise)) {\n for (const a of atomState.d.keys()) {\n addPendingPromiseToDependency(\n atom,\n valueOrPromise,\n ensureAtomState2(store, a)\n );\n }\n }\n atomState.v = valueOrPromise;\n delete atomState.e;\n if (!hasPrevValue || !Object.is(prevValue, atomState.v)) {\n ++atomState.n;\n if (isPromiseLike(prevValue)) {\n abortPromise(prevValue);\n }\n }\n};\nconst storeGet = (store, atom) => {\n const readAtomState2 = getInternalBuildingBlocks(store)[14];\n return returnAtomValue(readAtomState2(store, atom));\n};\nconst storeSet = (store, atom, ...args) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const flushCallbacks2 = buildingBlocks[12];\n const recomputeInvalidatedAtoms2 = buildingBlocks[13];\n const writeAtomState2 = buildingBlocks[16];\n try {\n return writeAtomState2(store, atom, ...args);\n } finally {\n recomputeInvalidatedAtoms2(store);\n flushCallbacks2(store);\n }\n};\nconst storeSub = (store, atom, listener) => {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const flushCallbacks2 = buildingBlocks[12];\n const mountAtom2 = buildingBlocks[18];\n const unmountAtom2 = buildingBlocks[19];\n const mounted = mountAtom2(store, atom);\n const listeners = mounted.l;\n listeners.add(listener);\n flushCallbacks2(store);\n return () => {\n listeners.delete(listener);\n unmountAtom2(store, atom);\n flushCallbacks2(store);\n };\n};\nconst buildingBlockMap = /* @__PURE__ */ new WeakMap();\nconst getInternalBuildingBlocks = (store) => {\n const buildingBlocks = buildingBlockMap.get(store);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !buildingBlocks) {\n throw new Error(\n \"Store must be created by buildStore to read its building blocks\"\n );\n }\n return buildingBlocks;\n};\nfunction getBuildingBlocks(store) {\n const buildingBlocks = getInternalBuildingBlocks(store);\n const enhanceBuildingBlocks = buildingBlocks[24];\n if (enhanceBuildingBlocks) {\n return enhanceBuildingBlocks(buildingBlocks);\n }\n return buildingBlocks;\n}\nfunction buildStore(...buildArgs) {\n const store = {\n get(atom) {\n const storeGet2 = getInternalBuildingBlocks(store)[21];\n return storeGet2(store, atom);\n },\n set(atom, ...args) {\n const storeSet2 = getInternalBuildingBlocks(store)[22];\n return storeSet2(store, atom, ...args);\n },\n sub(atom, listener) {\n const storeSub2 = getInternalBuildingBlocks(store)[23];\n return storeSub2(store, atom, listener);\n }\n };\n const buildingBlocks = [\n // store state\n /* @__PURE__ */ new WeakMap(),\n // atomStateMap\n /* @__PURE__ */ new WeakMap(),\n // mountedMap\n /* @__PURE__ */ new WeakMap(),\n // invalidatedAtoms\n /* @__PURE__ */ new Set(),\n // changedAtoms\n /* @__PURE__ */ new Set(),\n // mountCallbacks\n /* @__PURE__ */ new Set(),\n // unmountCallbacks\n {},\n // storeHooks\n // atom interceptors\n atomRead,\n atomWrite,\n atomOnInit,\n atomOnMount,\n // building-block functions\n ensureAtomState,\n flushCallbacks,\n recomputeInvalidatedAtoms,\n readAtomState,\n invalidateDependents,\n writeAtomState,\n mountDependencies,\n mountAtom,\n unmountAtom,\n setAtomStateValueOrPromise,\n storeGet,\n storeSet,\n storeSub,\n void 0\n ].map((fn, i) => buildArgs[i] || fn);\n buildingBlockMap.set(store, Object.freeze(buildingBlocks));\n return store;\n}\n\nexport { abortPromise as INTERNAL_abortPromise, addPendingPromiseToDependency as INTERNAL_addPendingPromiseToDependency, buildStore as INTERNAL_buildStoreRev2, getBuildingBlocks as INTERNAL_getBuildingBlocksRev2, getMountedOrPendingDependents as INTERNAL_getMountedOrPendingDependents, hasInitialValue as INTERNAL_hasInitialValue, initializeStoreHooks as INTERNAL_initializeStoreHooksRev2, isActuallyWritableAtom as INTERNAL_isActuallyWritableAtom, isAtomStateInitialized as INTERNAL_isAtomStateInitialized, isPendingPromise as INTERNAL_isPendingPromise, isPromiseLike as INTERNAL_isPromiseLike, promiseStateMap as INTERNAL_promiseStateMap, registerAbortHandler as INTERNAL_registerAbortHandler, returnAtomValue as INTERNAL_returnAtomValue };\n","import { INTERNAL_buildStoreRev2 } from 'jotai/vanilla/internals';\n\nlet keyCount = 0;\nfunction atom(read, write) {\n const key = `atom${++keyCount}`;\n const config = {\n toString() {\n return (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && this.debugLabel ? key + \":\" + this.debugLabel : key;\n }\n };\n if (typeof read === \"function\") {\n config.read = read;\n } else {\n config.init = read;\n config.read = defaultRead;\n config.write = defaultWrite;\n }\n if (write) {\n config.write = write;\n }\n return config;\n}\nfunction defaultRead(get) {\n return get(this);\n}\nfunction defaultWrite(get, set, arg) {\n return set(\n this,\n typeof arg === \"function\" ? arg(get(this)) : arg\n );\n}\n\nlet overiddenCreateStore;\nfunction INTERNAL_overrideCreateStore(fn) {\n overiddenCreateStore = fn(overiddenCreateStore);\n}\nfunction createStore() {\n if (overiddenCreateStore) {\n return overiddenCreateStore();\n }\n return INTERNAL_buildStoreRev2();\n}\nlet defaultStore;\nfunction getDefaultStore() {\n if (!defaultStore) {\n defaultStore = createStore();\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n globalThis.__JOTAI_DEFAULT_STORE__ || (globalThis.__JOTAI_DEFAULT_STORE__ = defaultStore);\n if (globalThis.__JOTAI_DEFAULT_STORE__ !== defaultStore) {\n console.warn(\n \"Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044\"\n );\n }\n }\n }\n return defaultStore;\n}\n\nexport { INTERNAL_overrideCreateStore, atom, createStore, getDefaultStore };\n","'use client';\nimport React, { createContext, useContext, useRef, createElement, useReducer, useEffect, useDebugValue, useCallback } from 'react';\nimport { getDefaultStore, createStore } from 'jotai/vanilla';\nimport { INTERNAL_registerAbortHandler } from 'jotai/vanilla/internals';\n\nconst StoreContext = createContext(\n void 0\n);\nfunction useStore(options) {\n const store = useContext(StoreContext);\n return (options == null ? void 0 : options.store) || store || getDefaultStore();\n}\nfunction Provider({\n children,\n store\n}) {\n const storeRef = useRef(null);\n if (store) {\n return createElement(StoreContext.Provider, { value: store }, children);\n }\n if (storeRef.current === null) {\n storeRef.current = createStore();\n }\n return createElement(\n StoreContext.Provider,\n {\n // TODO: If this is not a false positive, consider using useState instead of useRef like https://github.com/pmndrs/jotai/pull/2771\n // eslint-disable-next-line react-hooks/refs\n value: storeRef.current\n },\n children\n );\n}\n\nconst isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === \"function\";\nconst attachPromiseStatus = (promise) => {\n if (!promise.status) {\n promise.status = \"pending\";\n promise.then(\n (v) => {\n promise.status = \"fulfilled\";\n promise.value = v;\n },\n (e) => {\n promise.status = \"rejected\";\n promise.reason = e;\n }\n );\n }\n};\nconst use = React.use || // A shim for older React versions\n((promise) => {\n if (promise.status === \"pending\") {\n throw promise;\n } else if (promise.status === \"fulfilled\") {\n return promise.value;\n } else if (promise.status === \"rejected\") {\n throw promise.reason;\n } else {\n attachPromiseStatus(promise);\n throw promise;\n }\n});\nconst continuablePromiseMap = /* @__PURE__ */ new WeakMap();\nconst createContinuablePromise = (promise, getValue) => {\n let continuablePromise = continuablePromiseMap.get(promise);\n if (!continuablePromise) {\n continuablePromise = new Promise((resolve, reject) => {\n let curr = promise;\n const onFulfilled = (me) => (v) => {\n if (curr === me) {\n resolve(v);\n }\n };\n const onRejected = (me) => (e) => {\n if (curr === me) {\n reject(e);\n }\n };\n const onAbort = () => {\n try {\n const nextValue = getValue();\n if (isPromiseLike(nextValue)) {\n continuablePromiseMap.set(nextValue, continuablePromise);\n curr = nextValue;\n nextValue.then(onFulfilled(nextValue), onRejected(nextValue));\n INTERNAL_registerAbortHandler(nextValue, onAbort);\n } else {\n resolve(nextValue);\n }\n } catch (e) {\n reject(e);\n }\n };\n promise.then(onFulfilled(promise), onRejected(promise));\n INTERNAL_registerAbortHandler(promise, onAbort);\n });\n continuablePromiseMap.set(promise, continuablePromise);\n }\n return continuablePromise;\n};\nfunction useAtomValue(atom, options) {\n const { delay, unstable_promiseStatus: promiseStatus = !React.use } = options || {};\n const store = useStore(options);\n const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = useReducer(\n (prev) => {\n const nextValue = store.get(atom);\n if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) {\n return prev;\n }\n return [nextValue, store, atom];\n },\n void 0,\n () => [store.get(atom), store, atom]\n );\n let value = valueFromReducer;\n if (storeFromReducer !== store || atomFromReducer !== atom) {\n rerender();\n value = store.get(atom);\n }\n useEffect(() => {\n const unsub = store.sub(atom, () => {\n if (promiseStatus) {\n try {\n const value2 = store.get(atom);\n if (isPromiseLike(value2)) {\n attachPromiseStatus(\n createContinuablePromise(value2, () => store.get(atom))\n );\n }\n } catch (e) {\n }\n }\n if (typeof delay === \"number\") {\n setTimeout(rerender, delay);\n return;\n }\n rerender();\n });\n rerender();\n return unsub;\n }, [store, atom, delay, promiseStatus]);\n useDebugValue(value);\n if (isPromiseLike(value)) {\n const promise = createContinuablePromise(value, () => store.get(atom));\n if (promiseStatus) {\n attachPromiseStatus(promise);\n }\n return use(promise);\n }\n return value;\n}\n\nfunction useSetAtom(atom, options) {\n const store = useStore(options);\n const setAtom = useCallback(\n (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !(\"write\" in atom)) {\n throw new Error(\"not writable atom\");\n }\n return store.set(atom, ...args);\n },\n [store, atom]\n );\n return setAtom;\n}\n\nfunction useAtom(atom, options) {\n return [\n useAtomValue(atom, options),\n // We do wrong type assertion here, which results in throwing an error.\n useSetAtom(atom, options)\n ];\n}\n\nexport { Provider, useAtom, useAtomValue, useSetAtom, useStore };\n","import { atom } from 'jotai/vanilla';\n\nconst RESET = /* @__PURE__ */ Symbol(\n (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" ? \"RESET\" : \"\"\n);\n\nfunction atomWithReset(initialValue) {\n const anAtom = atom(\n initialValue,\n (get, set, update) => {\n const nextValue = typeof update === \"function\" ? update(get(anAtom)) : update;\n set(anAtom, nextValue === RESET ? initialValue : nextValue);\n }\n );\n return anAtom;\n}\n\nfunction atomWithReducer(initialValue, reducer) {\n return atom(initialValue, function(get, set, action) {\n set(this, reducer(get(this), action));\n });\n}\n\nlet didWarnDeprecation = false;\nfunction atomFamily(initializeAtom, areEqual) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !didWarnDeprecation) {\n console.warn(\n \"[DEPRECATED] atomFamily is deprecated and will be removed in v3. Please use the `jotai-family` package instead: https://github.com/jotaijs/jotai-family\"\n );\n didWarnDeprecation = true;\n }\n let shouldRemove = null;\n const atoms = /* @__PURE__ */ new Map();\n const listeners = /* @__PURE__ */ new Set();\n const createAtom = (param) => {\n let item;\n if (areEqual === void 0) {\n item = atoms.get(param);\n } else {\n for (const [key, value] of atoms) {\n if (areEqual(key, param)) {\n item = value;\n break;\n }\n }\n }\n if (item !== void 0) {\n if (shouldRemove == null ? void 0 : shouldRemove(item[1], param)) {\n createAtom.remove(param);\n } else {\n return item[0];\n }\n }\n const newAtom = initializeAtom(param);\n atoms.set(param, [newAtom, Date.now()]);\n notifyListeners(\"CREATE\", param, newAtom);\n return newAtom;\n };\n const notifyListeners = (type, param, atom) => {\n for (const listener of listeners) {\n listener({ type, param, atom });\n }\n };\n createAtom.unstable_listen = (callback) => {\n listeners.add(callback);\n return () => {\n listeners.delete(callback);\n };\n };\n createAtom.getParams = () => atoms.keys();\n createAtom.remove = (param) => {\n if (areEqual === void 0) {\n if (!atoms.has(param)) return;\n const [atom] = atoms.get(param);\n atoms.delete(param);\n notifyListeners(\"REMOVE\", param, atom);\n } else {\n for (const [key, [atom]] of atoms) {\n if (areEqual(key, param)) {\n atoms.delete(key);\n notifyListeners(\"REMOVE\", key, atom);\n break;\n }\n }\n }\n };\n createAtom.setShouldRemove = (fn) => {\n shouldRemove = fn;\n if (!shouldRemove) return;\n for (const [key, [atom, createdAt]] of atoms) {\n if (shouldRemove(createdAt, key)) {\n atoms.delete(key);\n notifyListeners(\"REMOVE\", key, atom);\n }\n }\n };\n return createAtom;\n}\n\nconst getCached$2 = (c, m, k) => (m.has(k) ? m : m.set(k, c())).get(k);\nconst cache1$3 = /* @__PURE__ */ new WeakMap();\nconst memo3 = (create, dep1, dep2, dep3) => {\n const cache2 = getCached$2(() => /* @__PURE__ */ new WeakMap(), cache1$3, dep1);\n const cache3 = getCached$2(() => /* @__PURE__ */ new WeakMap(), cache2, dep2);\n return getCached$2(create, cache3, dep3);\n};\nfunction selectAtom(anAtom, selector, equalityFn = Object.is) {\n return memo3(\n () => {\n const EMPTY = /* @__PURE__ */ Symbol();\n const selectValue = ([value, prevSlice]) => {\n if (prevSlice === EMPTY) {\n return selector(value);\n }\n const slice = selector(value, prevSlice);\n return equalityFn(prevSlice, slice) ? prevSlice : slice;\n };\n const derivedAtom = atom((get) => {\n const prev = get(derivedAtom);\n const value = get(anAtom);\n return selectValue([value, prev]);\n });\n derivedAtom.init = EMPTY;\n return derivedAtom;\n },\n anAtom,\n selector,\n equalityFn\n );\n}\n\nconst frozenAtoms = /* @__PURE__ */ new WeakSet();\nconst deepFreeze = (value) => {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n Object.freeze(value);\n const propNames = Object.getOwnPropertyNames(value);\n for (const name of propNames) {\n deepFreeze(value[name]);\n }\n return value;\n};\nfunction freezeAtom(anAtom) {\n if (frozenAtoms.has(anAtom)) {\n return anAtom;\n }\n frozenAtoms.add(anAtom);\n const origRead = anAtom.read;\n anAtom.read = function(get, options) {\n return deepFreeze(origRead.call(this, get, options));\n };\n if (\"write\" in anAtom) {\n const origWrite = anAtom.write;\n anAtom.write = function(get, set, ...args) {\n return origWrite.call(\n this,\n get,\n (...setArgs) => {\n if (setArgs[0] === anAtom) {\n setArgs[1] = deepFreeze(setArgs[1]);\n }\n return set(...setArgs);\n },\n ...args\n );\n };\n }\n return anAtom;\n}\nfunction freezeAtomCreator(createAtom) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] freezeAtomCreator is deprecated, define it on users end\"\n );\n }\n return ((...args) => freezeAtom(createAtom(...args)));\n}\n\nconst getCached$1 = (c, m, k) => (m.has(k) ? m : m.set(k, c())).get(k);\nconst cache1$2 = /* @__PURE__ */ new WeakMap();\nconst memo2$1 = (create, dep1, dep2) => {\n const cache2 = getCached$1(() => /* @__PURE__ */ new WeakMap(), cache1$2, dep1);\n return getCached$1(create, cache2, dep2);\n};\nconst cacheKeyForEmptyKeyExtractor = {};\nconst isWritable = (atom2) => !!atom2.write;\nconst isFunction = (x) => typeof x === \"function\";\nfunction splitAtom(arrAtom, keyExtractor) {\n return memo2$1(\n () => {\n const mappingCache = /* @__PURE__ */ new WeakMap();\n const getMapping = (arr, prev) => {\n let mapping = mappingCache.get(arr);\n if (mapping) {\n return mapping;\n }\n const prevMapping = prev && mappingCache.get(prev);\n const atomList = [];\n const keyList = [];\n arr.forEach((item, index) => {\n const key = keyExtractor ? keyExtractor(item) : index;\n keyList[index] = key;\n const cachedAtom = prevMapping && prevMapping.atomList[prevMapping.keyList.indexOf(key)];\n if (cachedAtom) {\n atomList[index] = cachedAtom;\n return;\n }\n const read = (get) => {\n const prev2 = get(mappingAtom);\n const currArr = get(arrAtom);\n const mapping2 = getMapping(currArr, prev2 == null ? void 0 : prev2.arr);\n const index2 = mapping2.keyList.indexOf(key);\n if (index2 < 0 || index2 >= currArr.length) {\n const prevItem = arr[getMapping(arr).keyList.indexOf(key)];\n if (prevItem) {\n return prevItem;\n }\n throw new Error(\"splitAtom: index out of bounds for read\");\n }\n return currArr[index2];\n };\n const write = (get, set, update) => {\n const prev2 = get(mappingAtom);\n const arr2 = get(arrAtom);\n const mapping2 = getMapping(arr2, prev2 == null ? void 0 : prev2.arr);\n const index2 = mapping2.keyList.indexOf(key);\n if (index2 < 0 || index2 >= arr2.length) {\n throw new Error(\"splitAtom: index out of bounds for write\");\n }\n const nextItem = isFunction(update) ? update(arr2[index2]) : update;\n if (!Object.is(arr2[index2], nextItem)) {\n set(arrAtom, [\n ...arr2.slice(0, index2),\n nextItem,\n ...arr2.slice(index2 + 1)\n ]);\n }\n };\n atomList[index] = isWritable(arrAtom) ? atom(read, write) : atom(read);\n });\n if (prevMapping && prevMapping.keyList.length === keyList.length && prevMapping.keyList.every((x, i) => x === keyList[i])) {\n mapping = prevMapping;\n } else {\n mapping = { arr, atomList, keyList };\n }\n mappingCache.set(arr, mapping);\n return mapping;\n };\n const mappingAtom = atom((get) => {\n const prev = get(mappingAtom);\n const arr = get(arrAtom);\n const mapping = getMapping(arr, prev == null ? void 0 : prev.arr);\n return mapping;\n });\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n mappingAtom.debugPrivate = true;\n }\n mappingAtom.init = void 0;\n const splittedAtom = isWritable(arrAtom) ? atom(\n (get) => get(mappingAtom).atomList,\n (get, set, action) => {\n switch (action.type) {\n case \"remove\": {\n const index = get(splittedAtom).indexOf(action.atom);\n if (index >= 0) {\n const arr = get(arrAtom);\n set(arrAtom, [\n ...arr.slice(0, index),\n ...arr.slice(index + 1)\n ]);\n }\n break;\n }\n case \"insert\": {\n const index = action.before ? get(splittedAtom).indexOf(action.before) : get(splittedAtom).length;\n if (index >= 0) {\n const arr = get(arrAtom);\n set(arrAtom, [\n ...arr.slice(0, index),\n action.value,\n ...arr.slice(index)\n ]);\n }\n break;\n }\n case \"move\": {\n const index1 = get(splittedAtom).indexOf(action.atom);\n const index2 = action.before ? get(splittedAtom).indexOf(action.before) : get(splittedAtom).length;\n if (index1 >= 0 && index2 >= 0) {\n const arr = get(arrAtom);\n if (index1 < index2) {\n set(arrAtom, [\n ...arr.slice(0, index1),\n ...arr.slice(index1 + 1, index2),\n arr[index1],\n ...arr.slice(index2)\n ]);\n } else {\n set(arrAtom, [\n ...arr.slice(0, index2),\n arr[index1],\n ...arr.slice(index2, index1),\n ...arr.slice(index1 + 1)\n ]);\n }\n }\n break;\n }\n }\n }\n ) : atom((get) => get(mappingAtom).atomList);\n return splittedAtom;\n },\n arrAtom,\n keyExtractor || cacheKeyForEmptyKeyExtractor\n );\n}\n\nfunction atomWithDefault(getDefault) {\n const EMPTY = /* @__PURE__ */ Symbol();\n const overwrittenAtom = atom(EMPTY);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n overwrittenAtom.debugPrivate = true;\n }\n const anAtom = atom(\n (get, options) => {\n const overwritten = get(overwrittenAtom);\n if (overwritten !== EMPTY) {\n return overwritten;\n }\n return getDefault(get, options);\n },\n (get, set, update) => {\n const newValue = typeof update === \"function\" ? update(get(anAtom)) : update;\n set(overwrittenAtom, newValue === RESET ? EMPTY : newValue);\n }\n );\n return anAtom;\n}\n\nconst isPromiseLike$3 = (x) => typeof (x == null ? void 0 : x.then) === \"function\";\nfunction withStorageValidator(validator) {\n return (unknownStorage) => {\n const storage = {\n ...unknownStorage,\n getItem: (key, initialValue) => {\n const validate = (value2) => {\n if (!validator(value2)) {\n return initialValue;\n }\n return value2;\n };\n const value = unknownStorage.getItem(key, initialValue);\n if (isPromiseLike$3(value)) {\n return value.then(validate);\n }\n return validate(value);\n }\n };\n return storage;\n };\n}\nfunction createJSONStorage(getStringStorage = () => {\n try {\n return window.localStorage;\n } catch (e) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n if (typeof window !== \"undefined\") {\n console.warn(e);\n }\n }\n return void 0;\n }\n}, options) {\n var _a;\n let lastStr;\n let lastValue;\n const storage = {\n getItem: (key, initialValue) => {\n var _a2, _b;\n const parse = (str2) => {\n str2 = str2 || \"\";\n if (lastStr !== str2) {\n try {\n lastValue = JSON.parse(str2, options == null ? void 0 : options.reviver);\n } catch (e) {\n return initialValue;\n }\n lastStr = str2;\n }\n return lastValue;\n };\n const str = (_b = (_a2 = getStringStorage()) == null ? void 0 : _a2.getItem(key)) != null ? _b : null;\n if (isPromiseLike$3(str)) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (key, newValue) => {\n var _a2;\n return (_a2 = getStringStorage()) == null ? void 0 : _a2.setItem(\n key,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n );\n },\n removeItem: (key) => {\n var _a2;\n return (_a2 = getStringStorage()) == null ? void 0 : _a2.removeItem(key);\n }\n };\n const createHandleSubscribe = (subscriber2) => (key, callback, initialValue) => subscriber2(key, (v) => {\n let newValue;\n try {\n newValue = JSON.parse(v || \"\");\n } catch (e) {\n newValue = initialValue;\n }\n callback(newValue);\n });\n let subscriber;\n try {\n subscriber = (_a = getStringStorage()) == null ? void 0 : _a.subscribe;\n } catch (e) {\n }\n if (!subscriber && typeof window !== \"undefined\" && typeof window.addEventListener === \"function\" && window.Storage) {\n subscriber = (key, callback) => {\n if (!(getStringStorage() instanceof window.Storage)) {\n return () => {\n };\n }\n const storageEventCallback = (e) => {\n if (e.storageArea === getStringStorage() && e.key === key) {\n callback(e.newValue);\n }\n };\n window.addEventListener(\"storage\", storageEventCallback);\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n };\n }\n if (subscriber) {\n storage.subscribe = createHandleSubscribe(subscriber);\n }\n return storage;\n}\nconst defaultStorage = createJSONStorage();\nfunction atomWithStorage(key, initialValue, storage = defaultStorage, options) {\n const getOnInit = options == null ? void 0 : options.getOnInit;\n const baseAtom = atom(\n getOnInit ? storage.getItem(key, initialValue) : initialValue\n );\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n baseAtom.debugPrivate = true;\n }\n baseAtom.onMount = (setAtom) => {\n setAtom(storage.getItem(key, initialValue));\n let unsub;\n if (storage.subscribe) {\n unsub = storage.subscribe(key, setAtom, initialValue);\n }\n return unsub;\n };\n const anAtom = atom(\n (get) => get(baseAtom),\n (get, set, update) => {\n const nextValue = typeof update === \"function\" ? update(get(baseAtom)) : update;\n if (nextValue === RESET) {\n set(baseAtom, initialValue);\n return storage.removeItem(key);\n }\n if (isPromiseLike$3(nextValue)) {\n return nextValue.then((resolvedValue) => {\n set(baseAtom, resolvedValue);\n return storage.setItem(key, resolvedValue);\n });\n }\n set(baseAtom, nextValue);\n return storage.setItem(key, nextValue);\n }\n );\n return anAtom;\n}\n\nconst isPromiseLike$2 = (x) => typeof (x == null ? void 0 : x.then) === \"function\";\nfunction atomWithObservable(getObservable, options) {\n const returnResultData = (result) => {\n if (\"e\" in result) {\n throw result.e;\n }\n return result.d;\n };\n const observableResultAtom = atom((get) => {\n var _a;\n let observable = getObservable(get);\n const itself = (_a = observable[Symbol.observable]) == null ? void 0 : _a.call(observable);\n if (itself) {\n observable = itself;\n }\n let resolve;\n const makePending = () => new Promise((r) => {\n resolve = r;\n });\n const initialResult = options && \"initialValue\" in options ? {\n d: typeof options.initialValue === \"function\" ? options.initialValue() : options.initialValue\n } : makePending();\n let setResult;\n let lastResult;\n const listener = (result) => {\n lastResult = result;\n resolve == null ? void 0 : resolve(result);\n setResult == null ? void 0 : setResult(result);\n };\n let subscription;\n let timer;\n const isNotMounted = () => !setResult;\n const unsubscribe = () => {\n if (subscription) {\n subscription.unsubscribe();\n subscription = void 0;\n }\n };\n const start = () => {\n if (subscription) {\n clearTimeout(timer);\n subscription.unsubscribe();\n }\n subscription = observable.subscribe({\n next: (d) => listener({ d }),\n error: (e) => listener({ e }),\n complete: () => {\n }\n });\n if (isNotMounted() && (options == null ? void 0 : options.unstable_timeout)) {\n timer = setTimeout(unsubscribe, options.unstable_timeout);\n }\n };\n start();\n const resultAtom = atom(lastResult || initialResult);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n resultAtom.debugPrivate = true;\n }\n resultAtom.onMount = (update) => {\n setResult = update;\n if (lastResult) {\n update(lastResult);\n }\n if (subscription) {\n clearTimeout(timer);\n } else {\n start();\n }\n return () => {\n setResult = void 0;\n if (options == null ? void 0 : options.unstable_timeout) {\n timer = setTimeout(unsubscribe, options.unstable_timeout);\n } else {\n unsubscribe();\n }\n };\n };\n return [resultAtom, observable, makePending, start, isNotMounted];\n });\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n observableResultAtom.debugPrivate = true;\n }\n const observableAtom = atom(\n (get) => {\n const [resultAtom] = get(observableResultAtom);\n const result = get(resultAtom);\n if (isPromiseLike$2(result)) {\n return result.then(returnResultData);\n }\n return returnResultData(result);\n },\n (get, set, data) => {\n const [resultAtom, observable, makePending, start, isNotMounted] = get(observableResultAtom);\n if (\"next\" in observable) {\n if (isNotMounted()) {\n set(resultAtom, makePending());\n start();\n }\n observable.next(data);\n } else {\n throw new Error(\"observable is not subject\");\n }\n }\n );\n return observableAtom;\n}\n\nconst cache1$1 = /* @__PURE__ */ new WeakMap();\nconst memo1 = (create, dep1) => (cache1$1.has(dep1) ? cache1$1 : cache1$1.set(dep1, create())).get(dep1);\nconst isPromiseLike$1 = (p) => typeof (p == null ? void 0 : p.then) === \"function\";\nconst LOADING = { state: \"loading\" };\nfunction loadable(anAtom) {\n return memo1(() => {\n const loadableCache = /* @__PURE__ */ new WeakMap();\n const refreshAtom = atom([() => {\n }, 0]);\n refreshAtom.INTERNAL_onInit = (store) => {\n store.set(refreshAtom, ([, c]) => [\n () => store.set(refreshAtom, ([f, c2]) => [f, c2 + 1]),\n c\n ]);\n };\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n refreshAtom.debugPrivate = true;\n }\n const derivedAtom = atom((get) => {\n const [triggerRefresh] = get(refreshAtom);\n let value;\n try {\n value = get(anAtom);\n } catch (error) {\n return { state: \"hasError\", error };\n }\n if (!isPromiseLike$1(value)) {\n return { state: \"hasData\", data: value };\n }\n const promise = value;\n const cached1 = loadableCache.get(promise);\n if (cached1) {\n return cached1;\n }\n promise.then(\n (data) => {\n loadableCache.set(promise, { state: \"hasData\", data });\n triggerRefresh();\n },\n (error) => {\n loadableCache.set(promise, { state: \"hasError\", error });\n triggerRefresh();\n }\n );\n const cached2 = loadableCache.get(promise);\n if (cached2) {\n return cached2;\n }\n loadableCache.set(promise, LOADING);\n return LOADING;\n });\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n derivedAtom.debugPrivate = true;\n }\n return atom((get) => get(derivedAtom));\n }, anAtom);\n}\n\nconst getCached = (c, m, k) => (m.has(k) ? m : m.set(k, c())).get(k);\nconst cache1 = /* @__PURE__ */ new WeakMap();\nconst memo2 = (create, dep1, dep2) => {\n const cache2 = getCached(() => /* @__PURE__ */ new WeakMap(), cache1, dep1);\n return getCached(create, cache2, dep2);\n};\nconst isPromiseLike = (p) => typeof (p == null ? void 0 : p.then) === \"function\";\nconst defaultFallback = () => void 0;\nfunction unwrap(anAtom, fallback = defaultFallback) {\n return memo2(\n () => {\n const promiseErrorCache = /* @__PURE__ */ new WeakMap();\n const promiseResultCache = /* @__PURE__ */ new WeakMap();\n const refreshAtom = atom([() => {\n }, 0]);\n refreshAtom.INTERNAL_onInit = (store) => {\n store.set(refreshAtom, ([, c]) => [\n () => store.set(refreshAtom, ([f, c2]) => [f, c2 + 1]),\n c\n ]);\n };\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n refreshAtom.debugPrivate = true;\n }\n const promiseAndValueAtom = atom((get) => {\n const [triggerRefresh] = get(refreshAtom);\n let prev;\n try {\n prev = get(promiseAndValueAtom);\n } catch (e) {\n }\n const promise = get(anAtom);\n if (!isPromiseLike(promise)) {\n return { v: promise };\n }\n if (promise !== (prev == null ? void 0 : prev.p)) {\n promise.then(\n (v) => {\n promiseResultCache.set(promise, v);\n triggerRefresh();\n },\n (e) => {\n promiseErrorCache.set(promise, e);\n triggerRefresh();\n }\n );\n }\n if (promiseErrorCache.has(promise)) {\n throw promiseErrorCache.get(promise);\n }\n if (promiseResultCache.has(promise)) {\n return {\n p: promise,\n v: promiseResultCache.get(promise)\n };\n }\n if (prev && \"v\" in prev) {\n return { p: promise, f: fallback(prev.v), v: prev.v };\n }\n return { p: promise, f: fallback() };\n });\n promiseAndValueAtom.init = void 0;\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n promiseAndValueAtom.debugPrivate = true;\n }\n return atom(\n (get) => {\n const state = get(promiseAndValueAtom);\n if (\"f\" in state) {\n return state.f;\n }\n return state.v;\n },\n (_get, set, ...args) => set(anAtom, ...args)\n );\n },\n anAtom,\n fallback\n );\n}\n\nfunction atomWithRefresh(read, write) {\n const refreshAtom = atom(0);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n refreshAtom.debugPrivate = true;\n }\n return atom(\n (get, options) => {\n get(refreshAtom);\n return read(get, options);\n },\n (get, set, ...args) => {\n if (args.length === 0) {\n set(refreshAtom, (c) => c + 1);\n } else if (write) {\n return write(get, set, ...args);\n } else if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n throw new Error(\"refresh must be called without arguments\");\n }\n }\n );\n}\n\nfunction atomWithLazy(makeInitial) {\n const a = atom(void 0);\n delete a.init;\n Object.defineProperty(a, \"init\", {\n get() {\n return makeInitial();\n }\n });\n return a;\n}\n\nexport { RESET, atomFamily, atomWithDefault, atomWithLazy, atomWithObservable, atomWithReducer, atomWithRefresh, atomWithReset, atomWithStorage, createJSONStorage, freezeAtom, freezeAtomCreator, loadable, selectAtom, splitAtom, withStorageValidator as unstable_withStorageValidator, unwrap };\n","import { atom, useAtom, useAtomValue, useSetAtom } from 'jotai'\nimport { selectAtom } from 'jotai/utils'\nimport { useCallback, useMemo } from 'react'\nimport type { FieldValues, SetValueFunction } from '../types'\n\nexport interface FormStoreEntry<F extends FieldValues = FieldValues> {\n formValues: F\n setValue: SetValueFunction<F>\n}\n\nexport const DEFAULT_FORM_ENTRY: FormStoreEntry<FieldValues> = Object.freeze({\n formValues: {} as FieldValues,\n setValue: () => {},\n})\n\n/**\n * Global atom storing all form state.\n * Key format: \"scopeId:formId\" or just \"formId\" for backward compatibility.\n */\nexport const formAtom = atom<Record<string, FormStoreEntry>>({})\n\n/**\n * Helper to generate composite keys for forms.\n */\nexport const getFormCompositeKey = (scopeId: string, key: string): string =>\n `${scopeId}:${key}`\n\n/**\n * Creates a derived atom for accessing forms of a specific scope.\n */\nexport const createScopeFormsAtom = (scopeId: string) =>\n atom(\n (get) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const scopeForms: Record<string, FormStoreEntry> = {}\n\n for (const [key, value] of Object.entries(allForms)) {\n if (key.startsWith(prefix)) {\n scopeForms[key.slice(prefix.length)] = value\n }\n }\n\n return scopeForms\n },\n (get, set, update: Record<string, FormStoreEntry>) => {\n const allForms = get(formAtom)\n const prefix = `${scopeId}:`\n const newForms = { ...allForms }\n\n // Remove old scope entries\n for (const key of Object.keys(newForms)) {\n if (key.startsWith(prefix)) {\n delete newForms[key]\n }\n }\n\n // Add new scope entries\n for (const [key, value] of Object.entries(update)) {\n newForms[`${prefix}${key}`] = value\n }\n\n set(formAtom, newForms)\n },\n )\n\nexport const createFormSelector = <F extends FieldValues = FieldValues>(\n formId: string,\n) =>\n selectAtom(\n formAtom,\n (forms) => {\n const entry = forms[formId] as FormStoreEntry<F> | undefined\n return entry ?? (DEFAULT_FORM_ENTRY as unknown as FormStoreEntry<F>)\n },\n (a, b) =>\n a === b || (a.formValues === b.formValues && a.setValue === b.setValue),\n )\n\nexport const useFormValue = <F extends FieldValues>(formId: string) => {\n const selectorAtom = useMemo(() => createFormSelector<F>(formId), [formId])\n return useAtomValue(selectorAtom)\n}\n\nexport const useFormState = <F extends FieldValues>() => {\n return useAtom(formAtom) as unknown as [\n Record<string, FormStoreEntry<F>>,\n (value: Record<string, FormStoreEntry<F>>) => void,\n ]\n}\n\nexport const useSetFormState = <F extends FieldValues>(formId: string) => {\n const setForms = useSetAtom(formAtom)\n\n return useCallback(\n (val: Partial<FormStoreEntry<F>>) => {\n setForms((prev) => {\n const prevEntry =\n (prev[formId] as FormStoreEntry<FieldValues> | undefined) ??\n DEFAULT_FORM_ENTRY\n\n return {\n ...prev,\n [formId]: {\n ...(prevEntry as unknown as FormStoreEntry<F>),\n ...(val as unknown as Partial<FormStoreEntry<FieldValues>>),\n } as unknown as FormStoreEntry<FieldValues>,\n }\n })\n },\n [formId, setForms],\n )\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport equal from 'fast-deep-equal'\nimport { useFormValue } from '../atoms'\nimport type {\n FieldValues,\n FormFunctionProps,\n GetFormValuesFunction,\n} from '../types'\nimport type { DeepKeys, DeepValue } from '@tanstack/react-form'\n\nconst getValueAtPath = (\n obj: unknown,\n path: string,\n defaultObj?: unknown,\n): unknown => {\n if (!path) return undefined\n const normalized = path.replace(/\\[(\\d+)\\]/g, '.$1')\n const parts = normalized.split('.').filter(Boolean)\n let current: unknown = obj\n for (const part of parts) {\n if (!current || !Object.keys(current).length) {\n if (!defaultObj) return undefined\n current = { [part]: defaultObj }\n }\n if (typeof current !== 'object') return undefined\n current = (current as Record<string, unknown>)[part]\n }\n\n return current\n}\n\nexport interface UseFormValuesProps {\n formId: string\n scopeId?: string\n}\n\nexport const useFormValues = <F extends FieldValues>({\n formId,\n}: UseFormValuesProps): FormFunctionProps<F> => {\n // We subscribe to the specific form entry in the atoms\n // Note: This subscription is a bit coarse (entire form entry), but we optimize re-renders locally\n // Ideally we would want to subscribe only to specific paths, but Jotai atoms are per-form.\n const formEntry = useFormValue(formId)\n const currentValues = useMemo(\n () => formEntry.formValues,\n [formEntry.formValues],\n )\n\n const subscriptions = useRef(new Map<string, unknown>())\n // trigger state is used to force re-render when a subscribed value changes\n const [trigger, setTrigger] = useState(0)\n\n // Ref to hold the latest values without causing re-renders itself\n const formRef = useRef({\n formValues: formEntry.formValues,\n setValue: formEntry.setValue,\n })\n\n useEffect(() => {\n formRef.current.setValue = formEntry.setValue\n }, [formEntry.setValue])\n\n useEffect(() => {\n let shouldTrigger = false\n subscriptions.current.forEach((_, path) => {\n const newValue = getValueAtPath(currentValues, path)\n const oldValue = getValueAtPath(formRef.current.formValues, path)\n if (!equal(newValue, oldValue)) {\n shouldTrigger = true\n }\n })\n\n formRef.current.formValues = currentValues\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (shouldTrigger) {\n setTrigger((c) => c + 1)\n }\n }, [currentValues])\n\n const get = useCallback(\n (key: string, defaultValue?: unknown) => {\n const val =\n getValueAtPath(formRef.current.formValues, key) ?? defaultValue\n subscriptions.current.set(key, val)\n return subscriptions.current.get(key)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [trigger],\n ) as GetFormValuesFunction<F>\n\n const set = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n value: DeepValue<F, TField>,\n ) => {\n formRef.current.setValue(field, value)\n },\n [],\n )\n\n return { get, set }\n}\n","import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { FormField } from '../FormField'\nimport { useSetFormState } from '../atoms'\nimport { useFormConfigValue } from '../config'\nimport { useFormValues } from './useFormValues'\nimport { useJotaiForm } from './useJotaiForm'\nimport type { FormNotificationMessage } from '../config'\nimport type { DeepKeys, DeepValue, Updater } from '@tanstack/react-form'\nimport type {\n FieldValues,\n FormFieldConfig,\n FormManagerConfig,\n FormManagerProps,\n GenericFieldApi,\n GenericFieldState,\n GenericFormApi,\n SetValueFunction,\n Submit,\n SubmitKeysArg,\n SubmitPayload,\n UseFormManagerProps,\n} from '../types'\nimport type { JSX } from 'react'\n\nexport interface FormElements {\n index: number\n element: JSX.Element\n renderInFooter: boolean\n renderInHeader: boolean\n isSubmit?: boolean\n}\n\ntype PayloadOf<\n F extends FieldValues,\n S extends Submit<F, SubmitKeysArg<F>>,\n> = SubmitPayload<F, S extends Submit<F, infer K> ? K : undefined>\n\nconst trimObject = <T extends object>(obj?: T): T =>\n Object.entries(obj ?? {}).reduce(\n (prev, [key, val]) => ({\n ...prev,\n [key]:\n typeof val === 'string' && !['password', 'pPassword'].includes(key)\n ? val.trim()\n : val,\n }),\n {} as T,\n )\nconst RenderField = <F extends FieldValues = FieldValues>({\n field,\n fieldState,\n fieldProps,\n onFieldChange,\n}: {\n field: GenericFieldApi<F>\n fieldState: GenericFieldState<F>\n fieldProps: FormManagerConfig<F>\n onFieldChange?: (value: F) => void\n}) => {\n const config: FormFieldConfig<F> = useMemo(\n () => ({\n ...fieldProps,\n field,\n fieldState,\n }),\n [fieldProps, field, fieldState],\n )\n return (\n <FormField<F>\n config={config}\n ns={fieldProps.ns}\n globalErrorNs={fieldProps.errorNs}\n onFieldChange={onFieldChange}\n />\n )\n}\n\nconst DynamicFieldItem = <F extends FieldValues>({\n item,\n form,\n globalErrorNs,\n formId,\n}: {\n item: FormManagerProps<F>['data'][number]\n form: GenericFormApi<F>\n globalErrorNs?: string\n formId: string\n}) => {\n const { get, set } = useFormValues<F>({ formId })\n\n const fieldProps = useMemo(() => {\n if (typeof item === 'function') {\n return item({ get, set })\n } else {\n return item\n }\n }, [get, set, item])\n\n const isHidden = useMemo(() => {\n if (!fieldProps.hidden) {\n return false\n } else if (typeof fieldProps.hidden === 'function') {\n return fieldProps.hidden({ get, set })\n } else {\n return !!fieldProps.hidden\n }\n }, [get, set, fieldProps])\n\n const rules = useMemo(() => {\n if (!fieldProps.rules) {\n return undefined\n } else if (typeof fieldProps.rules === 'function') {\n return fieldProps.rules({ get, set })\n } else {\n return fieldProps.rules\n }\n }, [get, set, fieldProps])\n\n const props = useMemo(() => {\n return {\n ...fieldProps,\n errorNs: fieldProps.errorNs ?? globalErrorNs,\n }\n }, [fieldProps, globalErrorNs])\n\n if (isHidden) {\n return <></>\n }\n\n return (\n <form.Field\n name={props.name}\n validators={rules}\n // eslint-disable-next-line react/no-children-prop\n children={(field) => (\n <RenderField<F>\n field={field}\n fieldState={field.state}\n fieldProps={props}\n onFieldChange={props.onFieldChange}\n />\n )}\n />\n )\n}\n\nconst SubmitItem = <F extends FieldValues>({\n item,\n index,\n handlersRef,\n}: {\n item: Submit<F>\n index: number\n handlersRef: React.MutableRefObject<{\n formControl: GenericFormApi<F>\n onInvalidHandle: (err: unknown, submitConfig: Submit<F>) => void\n createSubmitHandler: (\n submitConfig: Submit<F>,\n ) => (data: F) => Promise<unknown>\n }>\n}) => {\n const handleClick = useCallback(async () => {\n const { formControl, createSubmitHandler, onInvalidHandle } =\n handlersRef.current\n\n // Partial or full validation logic\n let isValid = true\n\n const keys = item.values as ReadonlyArray<string> | undefined\n if (keys && keys.length > 0) {\n // Validate only specific fields\n await Promise.all(\n keys.map((key) => formControl.validateField(key, 'change')),\n )\n const hasError = keys.some((key) => {\n // This is a simplified check. TanStack form errors might be structured differently.\n // You might need deep checking if errors are nested objects.\n // For now assume flat or use lodash get if possible, but state.errors is usually flat-ish map in newer versions or object.\n // Checking standard TanStack: form.state.fieldMeta[key]?.errors\n const meta = formControl.getFieldMeta(key)\n return meta?.errors && meta.errors.length > 0\n })\n isValid = !hasError\n } else {\n // Validate all\n await formControl.validateAllFields('submit')\n isValid = formControl.state.isValid\n }\n\n if (!isValid) {\n onInvalidHandle(formControl.state.errors, item)\n return\n }\n\n const values = formControl.state.values\n // Call handlers\n await createSubmitHandler(item)(values)\n }, [item, handlersRef])\n\n const Component = useMemo(() => item.component, [item])\n if (item.hidden || !Component) return <></>\n\n return (\n <Component\n onClick={handleClick}\n index={index}\n key={`submit-${index}`}\n type={item.type || 'button'}\n />\n )\n}\n\nexport const useFormManager = <F extends FieldValues = FieldValues>({\n data,\n onInvalid,\n submit = [],\n notification,\n formOptions,\n onValuesChange,\n globalErrorNs,\n id = 'form-manager',\n}: UseFormManagerProps<F>) => {\n const formControl = useJotaiForm<F>(formOptions)\n const formState = useMemo(() => formControl.state, [formControl.state])\n const errors = useMemo(() => formState.errors, [formState.errors])\n const values = useMemo(() => formState.values, [formState.values])\n const setFormState = useSetFormState<F>(id)\n const { showNotification } = useFormConfigValue()\n\n const setValue = useCallback(\n <TField extends DeepKeys<F>>(\n field: TField,\n updater: Updater<DeepValue<F, TField>>,\n ) => formControl.setFieldValue(field, updater),\n [formControl],\n ) as SetValueFunction<F>\n\n useEffect(() => {\n setFormState({\n setValue,\n formValues: formState.values,\n })\n const unsubscribe = formControl.store.subscribe((store) => {\n setFormState({\n formValues: store.currentVal.values,\n })\n })\n\n return () => {\n unsubscribe()\n } /**/\n }, [formControl.store, setValue, formState.values, setFormState])\n\n const handleNotification = useCallback(\n (props: FormNotificationMessage) => {\n if (props.message) {\n showNotification?.(props)\n }\n },\n [showNotification],\n )\n\n const filterFormData = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n v: F,\n submitConfig: S,\n ): PayloadOf<F, S> => {\n const keys = submitConfig.values as ReadonlyArray<keyof F> | undefined\n if (!keys || keys.length === 0) {\n return v as PayloadOf<F, S>\n }\n\n const out = {} as Record<keyof F, F[keyof F]>\n for (const key of keys) {\n if (key in v) {\n out[key] = v[key]\n }\n }\n return out as PayloadOf<F, S>\n },\n [],\n )\n\n const processSubmit = useCallback(\n async <S extends Submit<F, SubmitKeysArg<F>>>(d: F, submitConfig: S) => {\n const filteredData = filterFormData(d, submitConfig)\n if (submitConfig.onSuccess) {\n return await submitConfig.onSuccess(filteredData)\n }\n throw new Error('No submit handler provided')\n },\n [filterFormData],\n )\n\n const handleError = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(\n error: unknown,\n submitConfig: S,\n ) => {\n if (submitConfig.onError) {\n submitConfig.onError(error as Error)\n }\n const notificationProps =\n typeof notification?.error === 'function'\n ? notification.error((error as Error).message)\n : notification?.error\n if (notificationProps?.message) {\n handleNotification(notificationProps)\n }\n },\n [handleNotification, notification],\n )\n\n const createSubmitHandler = useCallback(\n <S extends Submit<F, SubmitKeysArg<F>>>(submitConfig: S) =>\n async (dataSubmit: F) => {\n try {\n const res = await processSubmit(\n trimObject<F>(dataSubmit),\n submitConfig,\n )\n const notificationProps =\n typeof notification?.success === 'function'\n ? notification.success(res)\n : notification?.success\n if (notificationProps?.message) {\n handleNotification(notificationProps)\n }\n return res\n } catch (error) {\n handleError(error, submitConfig)\n throw error\n }\n },\n [processSubmit, notification, handleNotification, handleError],\n )\n\n const onInvalidHandle = useCallback(\n (err: unknown, submitConfig: Submit<F>) => {\n onInvalid?.(err)\n handleError(new Error('invalidData'), submitConfig)\n },\n [handleError, onInvalid],\n )\n\n const handlersRef = useRef({\n formControl,\n onInvalidHandle,\n createSubmitHandler,\n setValue: formControl.setFieldValue,\n trigger: formControl.validateField,\n onValuesChange,\n })\n\n useEffect(() => {\n handlersRef.current.onInvalidHandle = onInvalidHandle\n handlersRef.current.createSubmitHandler = createSubmitHandler\n handlersRef.current.setValue = formControl.setFieldValue\n handlersRef.current.trigger = formControl.validateField\n handlersRef.current.onValuesChange = onValuesChange\n }, [onInvalidHandle, createSubmitHandler, formControl, onValuesChange])\n\n const fields = useMemo(\n () =>\n data.map((item, index): FormElements => {\n const staticItem = typeof item === 'function' ? null : item\n return {\n index: staticItem?.index ?? index,\n element: (\n <DynamicFieldItem<F>\n key={staticItem?.name ?? index}\n item={item}\n form={formControl}\n globalErrorNs={globalErrorNs}\n formId={id}\n />\n ),\n renderInFooter: !!staticItem?.renderInFooter,\n renderInHeader: !!staticItem?.renderInHeader,\n }\n }),\n [data, formControl, globalErrorNs, id],\n )\n\n const submits = useMemo(\n () =>\n submit.map((submitConfig, index): FormElements => {\n return {\n index: submitConfig.index === undefined ? index : submitConfig.index,\n element: (\n <SubmitItem<F>\n key={`submit-${index}`}\n item={submitConfig}\n index={index}\n handlersRef={handlersRef}\n />\n ),\n renderInFooter: !!submitConfig.renderInFooter,\n renderInHeader: !!submitConfig.renderInHeader,\n isSubmit: true,\n }\n }),\n [submit],\n )\n\n const elements = useMemo(\n (): Array<FormElements> => fields.concat(submits),\n [fields, submits],\n )\n\n const formContents = useMemo(() => [...data, ...submit], [data, submit])\n\n useEffect(() => {\n handlersRef.current.onValuesChange?.(values, handlersRef.current.setValue)\n }, [values])\n\n return {\n elements,\n formContents,\n errors,\n formValues: values,\n setValue,\n }\n}\n","import { useMemo } from \"react\";\nimport { useFormManager } from \"./hooks\";\nimport { DefaultContainer, DefaultFormContainer } from \"./containers\";\nimport type { FieldValues, FormManagerProps } from \"./types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormManager = <T extends Record<string, any> = FieldValues>({\n data,\n defaultValues,\n onInvalid,\n submit = [],\n ns,\n globalErrorNs,\n notification,\n formSettings,\n viewSettings,\n onValuesChange,\n id = \"form-manager\",\n}: FormManagerProps<T>) => {\n const { elements = [] } = useFormManager({\n data,\n globalErrorNs,\n notification,\n ns,\n onInvalid,\n submit,\n onValuesChange,\n id,\n formOptions: {\n defaultValues: defaultValues,\n ...formSettings,\n formId: id,\n },\n });\n\n // Render logic remains similar\n const render = useMemo(\n () =>\n elements\n .filter((el) => !el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n const renderSubmit = useMemo(\n () =>\n elements\n .filter((el) => el.isSubmit)\n .sort((a, b) => a.index - b.index)\n .map((el) => el.element),\n [elements],\n );\n\n const Container = viewSettings?.container || DefaultFormContainer<T>;\n const BodyContainer = viewSettings?.bodyContainer || DefaultContainer;\n const SubmitContainer = viewSettings?.submitContainer || DefaultContainer;\n\n return (\n <Container {...(viewSettings?.containerProps || {})}>\n <BodyContainer {...(viewSettings?.bodyContainerProps || {})}>\n {render}\n </BodyContainer>\n <SubmitContainer {...(viewSettings?.submitContainerProps || {})}>\n {renderSubmit}\n </SubmitContainer>\n </Container>\n );\n};\n"],"names":["DefaultContainer","children","_formConfig","formFieldContainer","atom","formConfigAtom","useValue","useFormConfigValue","useState","useFormConfigState","useReset","useFormConfigReset","atomStateGenerator","key","defaultValue","persist","createDefaultContainer","setDefaultFormContainer","val","DefaultFormContainer","t0","$","_c","handleSubmit","_temp","t1","_jsx","onSubmit","className","e","preventDefault","form","currentTarget","submitButton","querySelector","click","__storeToDerived","WeakMap","__derivedToStore","__depsThatHaveWrittenThisTick","current","__isFlushing","__batchDepth","__pendingUpdates","Set","__initialBatchValues","Map","__flush_internals","relatedVals","sorted","Array","from","sort","a","b","Derived","options","deps","includes","derived","push","recompute","stores","get","store","relatedLinkedDerivedVals","__notifyListeners","value","prevVal","prevState","currentVal","state","listener","listeners","__notifyDerivedListeners","__flush","has","set","add","size","clear","store2","derivedVals","batch","fn","pendingUpdateToFlush","values","next","isUpdaterFunction","updater","Store","constructor","initialState","subscribe","unsub","_b","_a","onSubscribe","call","delete","setState","updateFn","onUpdate","_subscriptions","lastSeenDepValues","getDepVals","l","length","prevDepVals","currDepVals","i","dep","depVals","checkIfRecalculationNeededDeeply","shouldRecompute","mount","registerOnGraph","unregisterFromGraph","cleanup","relatedStores","LiteThrottler","args","timeSinceLastExecution","Date","now","lastExecutionTime","leading","wait","execute","lastArgs","timeoutId","trailing","timeoutDuration","isPending","setTimeout","onExecute","clearTimeout","liteThrottle","maybeExecute","EventClient","#onConnected","debugLog","forEach","event","emitEventToBus","stopConnectLoop","removeEventListener","#retryConnection","dispatchCustomEvent","#connectFunction","addEventListener","pluginId","debug","enabled","reconnectEveryMs","getGlobalTarget","startConnectLoop","setInterval","clearInterval","console","log","globalThis","__TANSTACK_EVENT_TARGET__","window","eventTarget","EventTarget","dispatchEvent","getPluginId","dispatchCustomEventShim","eventName","detail","Event","CustomEvent","createEventPayload","eventSuffix","payload","type","emit","on","cb","withEventTarget","handler","onAll","onAllPluginEvents","FormEventClient","formEventClient","functionalUpdate","input","getBy","obj","path","pathObj","makePathArray","reduce","pathPart","setBy","_path","doSet","parent","shift","isArray","prefix","slice","deleteBy","doDelete","finalPath","filter","_","remove","rest","Error","reLineOfOnlyDigits","reDigitsBetweenDots","reStartWithDigitThenDot","reDotWithDigitsToEnd","reMultipleDots","intPrefix","intReplace","str","replace","split","map","d","startsWith","numStr","substring","num","parseInt","String","isNonEmptyArray","getSyncValidatorArray","cause","runValidation","props","validators","Boolean","validator","validate","validationLogic","async","getAsyncValidatorArray","asyncDebounceMs","onBlurAsyncDebounceMs","onChangeAsyncDebounceMs","onDynamicAsyncDebounceMs","defaultDebounceMs","validatorCause","debounceMs","isGlobalFormValidationError","error","evaluate","objA","objB","Object","is","getTime","k","v","keysA","keys","keysB","determineFormLevelErrorSourceAndValue","newFormValidatorError","isPreviousErrorFromFormValidator","previousErrorValue","newErrorValue","newSource","determineFieldLevelErrorSourceAndValue","formLevelError","fieldLevelError","mergeOpts","originalOpts","overrides","IDX","HEX","BUFFER","toString","uuid","out","Math","random","throttleFormState","id","formId","defaultValidationLogic","isAsync","onMountValidator","onMount","onChangeValidator","onChangeAsync","onChange","onBlurValidator","onBlurAsync","onBlur","onSubmitValidator","onSubmitAsync","onServerValidator","prefixSchemaToErrors","issues","formValue","schema","issue","issuePath","currentFormValue","pathSegment","segment","segmentAsNumber","Number","isNaN","concat","fromEntries","transformFormIssues","schemaErrors","fields","standardSchemaValidators","validationSource","result","Promise","validateAsync","isStandardSchemaValidator","defaultFieldMeta","isValidating","isTouched","isBlurred","isDirty","isPristine","isValid","isDefaultValue","errors","errorMap","errorSourceMap","metaHelper","formApi","handleArrayMove","field","fromIndex","toIndex","affectedFields","getAffectedFields","startIndex","min","endIndex","max","getFieldPath","fromFields","fieldInfo","fieldMap","fieldKey","getFieldMeta","shiftMeta","fromKey","fromMeta","setFieldMeta","handleArrayRemove","index","handleArraySwap","secondIndex","swappedKey","meta1","meta2","handleArrayInsert","insertIndex","getEmptyFieldMeta","mode","affectedFieldKeys","currentValue","getFieldValue","fieldItems","some","updateIndex","direction","currIndex","newIndex","sortedFields","reverse","nextFieldKey","nextFieldMeta","getDefaultFormState","defaultState","fieldMetaBase","isSubmitted","isSubmitting","submissionAttempts","isSubmitSuccessful","validationMetaMap","onServer","onDynamic","FormApi","opts","prevTransformArray","cleanupFieldMetaDerived","fieldMetaDerived","cleanupStoreDerived","cleanupDevtoolBroadcast","cleanupFormStateListener","_formId","cleanupFormResetListener","reset","cleanupFormForceSubmitListener","_devtoolsSubmissionOverride","validateSync","update","oldOptions","shouldUpdateReeval","transform","shouldUpdateValues","defaultValues","shouldUpdateState","baseStore","assign","_force_re_eval","opts2","fieldMeta","currentFieldMeta","resetFieldMeta","keepDefaultValues","validateAllFields","fieldValidationPromises","instance","fieldInstance","resolve","then","skipFormValidation","meta","setMeta","prev","fieldErrorMapMap","all","flat","validateArrayFieldsStartingFrom","lastIndex","fieldKeysToValidate","fieldsToValidate","nestedField","validateField","validates","hasErrored","currentValidationErrorMap","validateObj","rawError","runValidator","formError","fieldErrors","normalizeError","errorMapKey","getErrorMapKey","allFieldsToProcess","currentErrorMap","currentErrorMapSource","submitErrKey","serverErrKey","fieldsErrorMap","isFormValidating","promises","fieldErrorsFromFormValidators","fieldValidatorMeta","lastAbortController","abort","controller","AbortController","rawResolve","rawReject","signal","aborted","fieldErrorsFromNormalizeError","results","fieldValidationResult","fieldError","entries","oldErrorMap","newErrorMap","asyncAlways","_handleSubmit","submitMeta","old","submitMetaArg","onSubmitMeta","canSubmit","onSubmitInvalid","done","isFieldsValid","submissionAttempt","successful","stage","fieldApi","err","onError","getFieldInfo","acc","setFieldValue","dontUpdateMeta","dontRunListeners","dontValidate","triggerOnChangeListener","deleteField","subFieldsToDelete","f","fieldStr","fieldsToDelete","newState","pushFieldValue","insertFieldValue","replaceFieldValue","removeFieldValue","fieldValue","_d","start","swapFieldValues","index1","index2","prev1","prev2","moveFieldValues","splice","clearFieldValues","resetField","setErrorMap","fieldName","getAllErrors","parseValuesWithSchema","parseValuesWithSchemaAsync","timeoutIds","validations","formListeners","_prevVal","prevBaseStore","currBaseStore","originalMetaCount","currBaseMeta","prevBaseMeta","prevFieldInfo","curFieldVal","disableErrorFlat","isFieldValid","isFieldPristine","currFieldMeta","fieldMetaValues","isFieldsValidating","every","shouldInvalidateOnMount","hasOnMountError","curr","isFormValid","submitInvalid","canSubmitWhenInvalid","transformArray","shouldTransform","newObj","bind","FieldApi","getMeta","name","info","getInfo","formField","getValue","setValue","pushValue","insertValue","replaceValue","removeValue","swapValues","aIndex","bIndex","moveValue","clearValues","getLinkedFields","linkedFields","onChangeListenTo","onBlurListenTo","errorFromForm","linkedFieldValidates","fieldValidates","validateFieldFn","fieldValitateObj","formValidationResultPromise","asyncFormValidationResults","validatesPromises","linkedPromises","hasAsyncValidators","linkedField","validateFieldAsyncFn","handleChange","handleBlur","prevTouched","triggerOnBlurListener","parseValueWithSchema","parseValueWithSchemaAsync","formDebounceMs","onChangeDebounceMs","change","fieldDebounceMs","defaultMeta","onBlurDebounceMs","blur","useStore","useSyncExternalStoreWithSelector","useLayoutEffect","useEffect","useMemo","jsx","Fragment","React","useJotaiForm","formOptions","useForm","FormField","config","onFieldChange","ns","globalNs","globalErrorNs","errorNs","translateText","firstError","undefined","errorMessageStr","errorMessage","label","helperMessage","helper","text","translationOption","ref","useRef","useCallback","baseProps","ConfigContainer","container","FormFieldContainer","component","isPromiseLike","INTERNAL_buildStoreRev2","createContext","useContext","INTERNAL_registerAbortHandler","useReducer","useDebugValue","DEFAULT_FORM_ENTRY","freeze","formValues","formAtom","getFormCompositeKey","scopeId","createScopeFormsAtom","allForms","scopeForms","newForms","createFormSelector","selectAtom","forms","entry","useFormValue","selectorAtom","useAtomValue","useFormState","useAtom","useSetFormState","setForms","useSetAtom","prevEntry","getValueAtPath","defaultObj","normalized","parts","part","useFormValues","formEntry","currentValues","subscriptions","trigger","setTrigger","formRef","shouldTrigger","newValue","oldValue","equal","c","trimObject","trim","RenderField","fieldState","fieldProps","t2","DynamicFieldItem","item","isHidden","hidden","rules","Field","SubmitItem","handlersRef","handleClick","formControl","createSubmitHandler","onInvalidHandle","hasError","Component","onClick","useFormManager","data","onInvalid","submit","notification","onValuesChange","formState","setFormState","showNotification","unsubscribe","handleNotification","message","filterFormData","submitConfig","processSubmit","filteredData","onSuccess","handleError","notificationProps","dataSubmit","res","success","staticItem","element","renderInFooter","renderInHeader","submits","isSubmit","elements","formContents","FormManager","formSettings","viewSettings","t3","t4","t5","t6","t7","t8","_temp2","_temp3","render","t9","_temp4","_temp5","_temp6","renderSubmit","Container","BodyContainer","bodyContainer","SubmitContainer","submitContainer","t10","_jsxs","containerProps","bodyContainerProps","submitContainerProps","el","el_0","el_1","a_0","b_0","el_2"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26]}