@lehnihon/bit-form 2.2.24 → 2.2.26

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 (109) hide show
  1. package/dist/angular/index.cjs +1 -1
  2. package/dist/angular/index.cjs.map +1 -1
  3. package/dist/angular/index.d.cts +0 -1
  4. package/dist/angular/index.d.ts +0 -1
  5. package/dist/angular/index.js +1 -1
  6. package/dist/angular/index.js.map +1 -1
  7. package/dist/chunk-7T7L2TZX.js +2 -0
  8. package/dist/chunk-7T7L2TZX.js.map +1 -0
  9. package/dist/chunk-AV7YYSFI.cjs +2 -0
  10. package/dist/chunk-AV7YYSFI.cjs.map +1 -0
  11. package/dist/chunk-EYCJKAK3.js +2 -0
  12. package/dist/chunk-EYCJKAK3.js.map +1 -0
  13. package/dist/chunk-GBHOCY7E.cjs +2 -0
  14. package/dist/chunk-GBHOCY7E.cjs.map +1 -0
  15. package/dist/{chunk-AOMXTUA4.cjs → chunk-H27ROY4F.cjs} +2 -2
  16. package/dist/{chunk-AOMXTUA4.cjs.map → chunk-H27ROY4F.cjs.map} +1 -1
  17. package/dist/{chunk-XPY6TCOO.js → chunk-L42NQRVD.js} +2 -2
  18. package/dist/chunk-OWDDAM6C.cjs +2 -0
  19. package/dist/chunk-OWDDAM6C.cjs.map +1 -0
  20. package/dist/chunk-U6UFULNS.cjs +2 -0
  21. package/dist/chunk-U6UFULNS.cjs.map +1 -0
  22. package/dist/chunk-UBVVBVLS.js +2 -0
  23. package/dist/chunk-UBVVBVLS.js.map +1 -0
  24. package/dist/chunk-WKLCAC74.cjs +2 -0
  25. package/dist/chunk-WKLCAC74.cjs.map +1 -0
  26. package/dist/chunk-WYYVVM2C.js +2 -0
  27. package/dist/chunk-WYYVVM2C.js.map +1 -0
  28. package/dist/chunk-Y7TQTZY7.js +2 -0
  29. package/dist/chunk-Y7TQTZY7.js.map +1 -0
  30. package/dist/cli/index.cjs +6 -5
  31. package/dist/core/bindings.cjs +1 -1
  32. package/dist/core/bindings.js +1 -1
  33. package/dist/core/store.cjs +1 -1
  34. package/dist/core/store.js +1 -1
  35. package/dist/core/utils.cjs +1 -1
  36. package/dist/core/utils.js +1 -1
  37. package/dist/core.cjs +1 -1
  38. package/dist/core.js +1 -1
  39. package/dist/devtools/bridge.cjs +1 -1
  40. package/dist/devtools/bridge.js +1 -1
  41. package/dist/devtools/index.cjs +16 -16
  42. package/dist/devtools/index.cjs.map +1 -1
  43. package/dist/devtools/index.js +16 -16
  44. package/dist/devtools/index.js.map +1 -1
  45. package/dist/index.cjs +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/react/index.cjs +1 -1
  48. package/dist/react/index.cjs.map +1 -1
  49. package/dist/react/index.js +1 -1
  50. package/dist/react/index.js.map +1 -1
  51. package/dist/react-native/index.cjs +1 -1
  52. package/dist/react-native/index.js +1 -1
  53. package/dist/resolvers/index.cjs +1 -1
  54. package/dist/resolvers/index.cjs.map +1 -1
  55. package/dist/resolvers/index.d.cts +0 -8
  56. package/dist/resolvers/index.d.ts +0 -8
  57. package/dist/resolvers/index.js +1 -1
  58. package/dist/resolvers/joi.cjs +1 -1
  59. package/dist/resolvers/joi.cjs.map +1 -1
  60. package/dist/resolvers/joi.js +1 -1
  61. package/dist/resolvers/joi.js.map +1 -1
  62. package/dist/resolvers/yup.cjs +1 -1
  63. package/dist/resolvers/yup.cjs.map +1 -1
  64. package/dist/resolvers/yup.js +1 -1
  65. package/dist/resolvers/yup.js.map +1 -1
  66. package/dist/resolvers/zod.cjs +1 -1
  67. package/dist/resolvers/zod.cjs.map +1 -1
  68. package/dist/resolvers/zod.js +1 -1
  69. package/dist/resolvers/zod.js.map +1 -1
  70. package/dist/utils.cjs +1 -1
  71. package/dist/utils.js +1 -1
  72. package/dist/vue/index.cjs +1 -1
  73. package/dist/vue/index.cjs.map +1 -1
  74. package/dist/vue/index.js +1 -1
  75. package/dist/vue/index.js.map +1 -1
  76. package/package.json +21 -1
  77. package/dist/chunk-27LJCW56.cjs +0 -2
  78. package/dist/chunk-27LJCW56.cjs.map +0 -1
  79. package/dist/chunk-3SEB4YRQ.cjs +0 -2
  80. package/dist/chunk-3SEB4YRQ.cjs.map +0 -1
  81. package/dist/chunk-5ILGCBKG.cjs +0 -2
  82. package/dist/chunk-5ILGCBKG.cjs.map +0 -1
  83. package/dist/chunk-7LCFS2JM.cjs +0 -2
  84. package/dist/chunk-7LCFS2JM.cjs.map +0 -1
  85. package/dist/chunk-DNHPYPJA.js +0 -2
  86. package/dist/chunk-DNHPYPJA.js.map +0 -1
  87. package/dist/chunk-JVRTPL7W.js +0 -2
  88. package/dist/chunk-JVRTPL7W.js.map +0 -1
  89. package/dist/chunk-K2JSAJAF.cjs +0 -2
  90. package/dist/chunk-K2JSAJAF.cjs.map +0 -1
  91. package/dist/chunk-K2KCQEER.js +0 -2
  92. package/dist/chunk-K2KCQEER.js.map +0 -1
  93. package/dist/chunk-LY67POOF.js +0 -2
  94. package/dist/chunk-LY67POOF.js.map +0 -1
  95. package/dist/chunk-PDFT5E2E.cjs +0 -2
  96. package/dist/chunk-PDFT5E2E.cjs.map +0 -1
  97. package/dist/chunk-PRMNTQD5.js +0 -2
  98. package/dist/chunk-PRMNTQD5.js.map +0 -1
  99. package/dist/chunk-SFVGMVIE.js +0 -2
  100. package/dist/chunk-SFVGMVIE.js.map +0 -1
  101. package/dist/chunk-SMCFLQIA.cjs +0 -2
  102. package/dist/chunk-SMCFLQIA.cjs.map +0 -1
  103. package/dist/chunk-T36GFQHU.cjs +0 -2
  104. package/dist/chunk-T36GFQHU.cjs.map +0 -1
  105. package/dist/chunk-WEZ5Q6YO.js +0 -2
  106. package/dist/chunk-WEZ5Q6YO.js.map +0 -1
  107. package/dist/chunk-X3OFU2UH.js +0 -2
  108. package/dist/chunk-X3OFU2UH.js.map +0 -1
  109. /package/dist/{chunk-XPY6TCOO.js.map → chunk-L42NQRVD.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","hasError","onChange","e","isBitFieldInputEventObject","onBlur","props","meta","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","readHistoryMetaSnapshot","subscribe","cb","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","fieldIsValidating","uploadKeyRef","isUploading","setIsUploading","useState","sharedGen","callbacksRef","msg","key","useEffect","stableCallbacks","upload","createUploadHandler","remove","createRemoveHandler"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/react/index.cjs","sourcesContent":[null,"import { useCallback, useMemo } from \"react\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type { BitFieldInputEvent, UseBitFieldResult } from \"./types\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n const {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n } = metaState;\n\n const onChange = useCallback(\n (e: BitFieldInputEvent) => {\n const val = isBitFieldInputEventObject(e) ? e.target?.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n const props = useMemo(\n () => ({\n value: displayValue,\n onChange,\n onBlur,\n }),\n [displayValue, onChange, onBlur],\n );\n\n const meta = useMemo(\n () => ({\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n }),\n [\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n ],\n );\n\n return useMemo(\n () => ({\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props,\n // Metadata (grouped)\n meta,\n }),\n [value, displayValue, setValue, setBlur, onChange, onBlur, props, meta],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { readHistoryMetaSnapshot, type HistoryMeta } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<HistoryMeta | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readHistoryMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.redo();\n }, [store]);\n\n return useMemo(\n () => ({\n ...meta,\n undo,\n redo,\n }),\n [meta, undo, redo],\n );\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useMemo, useRef, useState, useEffect } from \"react\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n const { value, setValue, meta } = field;\n const error = meta?.error;\n const fieldIsValidating = !!meta?.isValidating;\n const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n // Shared generation counter so remove() invalidates in-flight uploads.\n // This prevents a remove-during-upload race where the stale upload URL\n // would overwrite the null set by remove.\n const sharedGen = useRef({ current: 0 }).current;\n\n // Ref que sempre aponta para os valores mais recentes de render,\n // permitindo que o handler factory (e seu `currentGeneration`) seja\n // criado uma única vez por (fieldPath, uploadFn). Sem este padrão,\n // qualquer re-render que gere nova referência de callbacks zeraria\n // `currentGeneration` e perderia silenciosamente a URL de upload.\n const callbacksRef = useRef({\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n // Mantém os closures da ref atualizados sem recriar o objeto.\n // Usamos useEffect para evitar mutações de ref durante o render phase\n // (React concurrent mode pode descartar renders, tornando mutações inseguras).\n useEffect(() => {\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n });\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [], // estável para todo o lifetime do componente\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks, sharedGen),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks, sharedGen),\n [fieldPath, deleteFile, stableCallbacks],\n );\n\n return useMemo(\n () => ({\n value,\n setValue,\n error,\n isValidating: fieldIsValidating || isUploading,\n upload,\n remove,\n }),\n [value, setValue, error, fieldIsValidating, isUploading, upload, remove],\n );\n}\n"]}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/react/index.cjs","../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"names":["useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","hasError","onChange","e","isBitFieldInputEventObject","onBlur","props","meta","useBitHistory","useBitStore","lastMeta","useRef","getSnapshot","nextMeta","readHistoryMetaSnapshot","subscribe","cb","useSyncExternalStore","undo","redo","useBitUpload","fieldPath","uploadFn","deleteFile","field","fieldIsValidating","uploadKeyRef","isUploading","setIsUploading","useState","sharedGen","useEffect","callbacksRef","msg","key","stableCallbacks","upload","createUploadHandler","remove","createRemoveHandler"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/react/index.cjs","sourcesContent":[null,"import { useCallback, useMemo } from \"react\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type { BitFieldInputEvent, UseBitFieldResult } from \"./types\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n const {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n } = metaState;\n\n const onChange = useCallback(\n (e: BitFieldInputEvent) => {\n const val = isBitFieldInputEventObject(e) ? e.target?.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n const props = useMemo(\n () => ({\n value: displayValue,\n onChange,\n onBlur,\n }),\n [displayValue, onChange, onBlur],\n );\n\n const meta = useMemo(\n () => ({\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n }),\n [\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n ],\n );\n\n return useMemo(\n () => ({\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props,\n // Metadata (grouped)\n meta,\n }),\n [value, displayValue, setValue, setBlur, onChange, onBlur, props, meta],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { readHistoryMetaSnapshot, type HistoryMeta } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<HistoryMeta | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readHistoryMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.redo();\n }, [store]);\n\n return useMemo(\n () => ({\n ...meta,\n undo,\n redo,\n }),\n [meta, undo, redo],\n );\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useMemo, useRef, useState, useEffect } from \"react\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n const { value, setValue, meta } = field;\n const error = meta?.error;\n const fieldIsValidating = !!meta?.isValidating;\n const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const sharedGen = useRef({ current: 0 }).current;\n\n useEffect(() => {\n return () => {\n sharedGen.current++;\n uploadKeyRef.current = null;\n };\n }, []);\n\n const callbacksRef = useRef({\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n\n useEffect(() => {\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.getUploadKey = () => uploadKeyRef.current;\n callbacksRef.current.setUploadKey = (key) => {\n uploadKeyRef.current = key;\n };\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n });\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [],\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks, sharedGen),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks, sharedGen),\n [fieldPath, deleteFile, stableCallbacks],\n );\n\n return useMemo(\n () => ({\n value,\n setValue,\n error,\n isValidating: fieldIsValidating || isUploading,\n upload,\n remove,\n }),\n [value, setValue, error, fieldIsValidating, isUploading, upload, remove],\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{a as L,b as x,c as j,d as C,e as D,f as z,g as q,h as A,i as G}from"../chunk-DNHPYPJA.js";import{a as w,b as I}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import"../chunk-PRMNTQD5.js";import{h as H}from"../chunk-XPY6TCOO.js";import"../chunk-W2E5UIXT.js";import{f as k}from"../chunk-UIKO6GGW.js";import{a as T}from"../chunk-L57KMBXS.js";import"../chunk-X3OFU2UH.js";import"../chunk-JVRTPL7W.js";import"../chunk-MBEQLBJB.js";import{a as P}from"../chunk-DGEGYNQL.js";import{useCallback as S,useMemo as R}from"react";function V(t){let{fieldState:r,setBlur:i,store:l}=C(t),{fieldController:u}=R(()=>H(l,t),[l,t]),a=R(()=>u.displayValue(r.value),[r.value,u]),n=S(F=>{u.setValue(F)},[u]),{value:o}=r,b=T(r),{error:m,touched:B,invalid:f,isDirty:y,isValidating:U,isHidden:s,isRequired:d,hasError:g}=b,p=S(F=>{let K=P(F)?F.target?.value:F;n(K)},[n]),e=S(()=>{i()},[i]),c=R(()=>({value:a,onChange:p,onBlur:e}),[a,p,e]),h=R(()=>({error:m,touched:B,invalid:f,isDirty:y,isValidating:U,isHidden:s,isRequired:d,hasError:g}),[m,B,f,y,U,s,d,g]);return R(()=>({value:o,displayValue:a,setValue:n,setBlur:i,onChange:p,onBlur:e,props:c,meta:h}),[o,a,n,i,p,e,c,h])}import{useCallback as v,useMemo as O,useRef as W,useSyncExternalStore as J}from"react";function N(){let t=x(),r=W(null),i=v(()=>{let o=k(t);return r.current&&r.current.canUndo===o.canUndo&&r.current.canRedo===o.canRedo&&r.current.historyIndex===o.historyIndex&&r.current.historySize===o.historySize?r.current:(r.current=o,o)},[t]),l=v(o=>t.observe.subscribeHistoryMeta(()=>o()),[t]),u=J(l,i,i),a=v(()=>{t.feature.undo()},[t]),n=v(()=>{t.feature.redo()},[t]);return O(()=>({...u,undo:a,redo:n}),[u,a,n])}import{useMemo as E,useRef as M,useState as Q,useEffect as X}from"react";function Y(t,r,i){let l=x(),u=V(t),{value:a,setValue:n,meta:o}=u,b=o?.error,m=!!o?.isValidating,B=M(null),[f,y]=Q(!1),U=M({current:0}).current,s=M({setLoading:y,setError:(e,c)=>l.write.setError(e,c),setValue:e=>n(e),getUploadKey:()=>B.current,setUploadKey:e=>{B.current=e},onCallbackError:e=>l.read.config.onUnhandledError(e,"upload")});X(()=>{s.current.setLoading=y,s.current.setError=(e,c)=>l.write.setError(e,c),s.current.setValue=e=>n(e),s.current.onCallbackError=e=>l.read.config.onUnhandledError(e,"upload")});let d=E(()=>({setLoading:e=>s.current.setLoading(e),setError:(e,c)=>s.current.setError(e,c),setValue:e=>s.current.setValue(e),getUploadKey:()=>s.current.getUploadKey(),setUploadKey:e=>s.current.setUploadKey(e),onCallbackError:e=>s.current.onCallbackError?.(e)}),[]),g=E(()=>w(t,r,d,U),[t,r,d]),p=E(()=>I(t,i,d,U),[t,i,d]);return E(()=>({value:a,setValue:n,error:b,isValidating:m||f,upload:g,remove:p}),[a,n,b,m,f,g,p])}export{L as BitFormProvider,D as useBitArray,V as useBitField,j as useBitForm,N as useBitHistory,G as useBitPersist,z as useBitScope,q as useBitSteps,x as useBitStore,Y as useBitUpload,A as useBitWatch};
1
+ import{a as j,b as x,c as D,d as C,e as z,f as q,g as A,h as G,i as O}from"../chunk-EYCJKAK3.js";import{a as K,b as w}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import"../chunk-7T7L2TZX.js";import{h as H}from"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import{f as k}from"../chunk-UIKO6GGW.js";import{a as T}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import{a as P}from"../chunk-DGEGYNQL.js";import{useCallback as S,useMemo as R}from"react";function V(t){let{fieldState:r,setBlur:i,store:u}=C(t),{fieldController:l}=R(()=>H(u,t),[u,t]),a=R(()=>l.displayValue(r.value),[r.value,l]),n=S(F=>{l.setValue(F)},[l]),{value:s}=r,b=T(r),{error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}=b,m=S(F=>{let L=P(F)?F.target?.value:F;n(L)},[n]),e=S(()=>{i()},[i]),d=R(()=>({value:a,onChange:m,onBlur:e}),[a,m,e]),h=R(()=>({error:f,touched:c,invalid:y,isDirty:U,isValidating:B,isHidden:o,isRequired:p,hasError:g}),[f,c,y,U,B,o,p,g]);return R(()=>({value:s,displayValue:a,setValue:n,setBlur:i,onChange:m,onBlur:e,props:d,meta:h}),[s,a,n,i,m,e,d,h])}import{useCallback as v,useMemo as W,useRef as J,useSyncExternalStore as N}from"react";function Q(){let t=x(),r=J(null),i=v(()=>{let s=k(t);return r.current&&r.current.canUndo===s.canUndo&&r.current.canRedo===s.canRedo&&r.current.historyIndex===s.historyIndex&&r.current.historySize===s.historySize?r.current:(r.current=s,s)},[t]),u=v(s=>t.observe.subscribeHistoryMeta(()=>s()),[t]),l=N(u,i,i),a=v(()=>{t.feature.undo()},[t]),n=v(()=>{t.feature.redo()},[t]);return W(()=>({...l,undo:a,redo:n}),[l,a,n])}import{useMemo as E,useRef as M,useState as X,useEffect as I}from"react";function Y(t,r,i){let u=x(),l=V(t),{value:a,setValue:n,meta:s}=l,b=s?.error,f=!!s?.isValidating,c=M(null),[y,U]=X(!1),B=M({current:0}).current;I(()=>()=>{B.current++,c.current=null},[]);let o=M({setLoading:U,setError:(e,d)=>u.write.setError(e,d),setValue:e=>n(e),getUploadKey:()=>c.current,setUploadKey:e=>{c.current=e},onCallbackError:e=>u.read.config.onUnhandledError(e,"upload")});I(()=>{o.current.setLoading=U,o.current.setError=(e,d)=>u.write.setError(e,d),o.current.setValue=e=>n(e),o.current.getUploadKey=()=>c.current,o.current.setUploadKey=e=>{c.current=e},o.current.onCallbackError=e=>u.read.config.onUnhandledError(e,"upload")});let p=E(()=>({setLoading:e=>o.current.setLoading(e),setError:(e,d)=>o.current.setError(e,d),setValue:e=>o.current.setValue(e),getUploadKey:()=>o.current.getUploadKey(),setUploadKey:e=>o.current.setUploadKey(e),onCallbackError:e=>o.current.onCallbackError?.(e)}),[]),g=E(()=>K(t,r,p,B),[t,r,p]),m=E(()=>w(t,i,p,B),[t,i,p]);return E(()=>({value:a,setValue:n,error:b,isValidating:f||y,upload:g,remove:m}),[a,n,b,f,y,g,m])}export{j as BitFormProvider,z as useBitArray,V as useBitField,D as useBitForm,Q as useBitHistory,O as useBitPersist,q as useBitScope,A as useBitSteps,x as useBitStore,Y as useBitUpload,G as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type { BitFieldInputEvent, UseBitFieldResult } from \"./types\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n const {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n } = metaState;\n\n const onChange = useCallback(\n (e: BitFieldInputEvent) => {\n const val = isBitFieldInputEventObject(e) ? e.target?.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n const props = useMemo(\n () => ({\n value: displayValue,\n onChange,\n onBlur,\n }),\n [displayValue, onChange, onBlur],\n );\n\n const meta = useMemo(\n () => ({\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n }),\n [\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n ],\n );\n\n return useMemo(\n () => ({\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props,\n // Metadata (grouped)\n meta,\n }),\n [value, displayValue, setValue, setBlur, onChange, onBlur, props, meta],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { readHistoryMetaSnapshot, type HistoryMeta } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<HistoryMeta | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readHistoryMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.redo();\n }, [store]);\n\n return useMemo(\n () => ({\n ...meta,\n undo,\n redo,\n }),\n [meta, undo, redo],\n );\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useMemo, useRef, useState, useEffect } from \"react\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n const { value, setValue, meta } = field;\n const error = meta?.error;\n const fieldIsValidating = !!meta?.isValidating;\n const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n // Shared generation counter so remove() invalidates in-flight uploads.\n // This prevents a remove-during-upload race where the stale upload URL\n // would overwrite the null set by remove.\n const sharedGen = useRef({ current: 0 }).current;\n\n // Ref que sempre aponta para os valores mais recentes de render,\n // permitindo que o handler factory (e seu `currentGeneration`) seja\n // criado uma única vez por (fieldPath, uploadFn). Sem este padrão,\n // qualquer re-render que gere nova referência de callbacks zeraria\n // `currentGeneration` e perderia silenciosamente a URL de upload.\n const callbacksRef = useRef({\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n // Mantém os closures da ref atualizados sem recriar o objeto.\n // Usamos useEffect para evitar mutações de ref durante o render phase\n // (React concurrent mode pode descartar renders, tornando mutações inseguras).\n useEffect(() => {\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n });\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [], // estável para todo o lifetime do componente\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks, sharedGen),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks, sharedGen),\n [fieldPath, deleteFile, stableCallbacks],\n );\n\n return useMemo(\n () => ({\n value,\n setValue,\n error,\n isValidating: fieldIsValidating || isUploading,\n upload,\n remove,\n }),\n [value, setValue, error, fieldIsValidating, isUploading, upload, remove],\n );\n}\n"],"mappings":"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","names":["useCallback","useMemo","useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","hasError","onChange","e","isBitFieldInputEventObject","onBlur","props","meta","useCallback","useMemo","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","readHistoryMetaSnapshot","subscribe","cb","meta","useSyncExternalStore","undo","redo","useMemo","useMemo","useRef","useState","useEffect","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","value","setValue","meta","error","fieldIsValidating","uploadKeyRef","useRef","isUploading","setIsUploading","useState","sharedGen","callbacksRef","path","msg","val","key","useEffect","stableCallbacks","useMemo","upload","createUploadHandler","remove","createRemoveHandler"]}
1
+ {"version":3,"sources":["../../src/react/use-bit-field.ts","../../src/react/use-bit-history.ts","../../src/react/use-bit-upload.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n BitPath,\n BitPathValue,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n isBitFieldInputEventObject,\n} from \"../core\";\nimport type { BitFieldInputEvent, UseBitFieldResult } from \"./types\";\nimport { useBitFieldBase } from \"./use-bit-field-base\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldResult<TForm, P> {\n const { fieldState, setBlur, store } = useBitFieldBase<\n BitPathValue<TForm, P>,\n TForm,\n P\n >(path);\n\n const { fieldController } = useMemo(() => {\n return createFrameworkMaskedFieldBinding(store, path);\n }, [store, path]);\n\n const displayValue = useMemo(\n () => fieldController.displayValue(fieldState.value),\n [fieldState.value, fieldController],\n );\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P> | string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n [fieldController],\n );\n\n const { value } = fieldState;\n const metaState = deriveFieldMeta(fieldState);\n const {\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n } = metaState;\n\n const onChange = useCallback(\n (e: BitFieldInputEvent) => {\n const val = isBitFieldInputEventObject(e) ? e.target?.value : e;\n setValue(val);\n },\n [setValue],\n );\n\n const onBlur = useCallback(() => {\n setBlur();\n }, [setBlur]);\n\n const props = useMemo(\n () => ({\n value: displayValue,\n onChange,\n onBlur,\n }),\n [displayValue, onChange, onBlur],\n );\n\n const meta = useMemo(\n () => ({\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n }),\n [\n error,\n touched,\n invalid,\n isDirty,\n isValidating,\n isHidden,\n isRequired,\n hasError,\n ],\n );\n\n return useMemo(\n () => ({\n // Main handlers and values (flat)\n value: value as BitPathValue<TForm, P>,\n displayValue,\n setValue,\n setBlur,\n onChange,\n onBlur,\n // Props helper\n props,\n // Metadata (grouped)\n meta,\n }),\n [value, displayValue, setValue, setBlur, onChange, onBlur, props, meta],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { readHistoryMetaSnapshot, type HistoryMeta } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitHistoryResult } from \"./types\";\n\nexport function useBitHistory<T extends object = any>(): UseBitHistoryResult {\n const store = useBitStore<T>();\n const lastMeta = useRef<HistoryMeta | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readHistoryMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.canUndo === nextMeta.canUndo &&\n lastMeta.current.canRedo === nextMeta.canRedo &&\n lastMeta.current.historyIndex === nextMeta.historyIndex &&\n lastMeta.current.historySize === nextMeta.historySize\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeHistoryMeta(() => cb()),\n [store],\n );\n\n const meta = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const undo = useCallback(() => {\n store.feature.undo();\n }, [store]);\n\n const redo = useCallback(() => {\n store.feature.redo();\n }, [store]);\n\n return useMemo(\n () => ({\n ...meta,\n undo,\n redo,\n }),\n [meta, undo, redo],\n );\n}\n","/**\n * React Hook for File Upload Integration\n *\n * Minimal upload API integrated with global field validation lifecycle.\n *\n * @example\n * ```typescript\n * const avatar = useBitUpload(\"avatar\", uploadFn);\n *\n * return (\n * <>\n * <input\n * type=\"file\"\n * onChange={(e) => avatar.upload(e.target.files?.[0])}\n * disabled={avatar.isValidating}\n * />\n * {avatar.error && <Error>{avatar.error}</Error>}\n * </>\n * );\n * ```\n */\n\nimport { useMemo, useRef, useState, useEffect } from \"react\";\nimport type { BitDeleteUploadFn, BitUploadFn } from \"../core\";\nimport { createRemoveHandler, createUploadHandler } from \"../core/adapters\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitUploadResult } from \"./types\";\nimport { useBitField } from \"./use-bit-field\";\n\nexport function useBitUpload<\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n>(\n fieldPath: string,\n uploadFn: BitUploadFn<TMetadata>,\n deleteFile?: BitDeleteUploadFn,\n): UseBitUploadResult {\n const store = useBitStore<any>();\n const field = useBitField(fieldPath);\n const { value, setValue, meta } = field;\n const error = meta?.error;\n const fieldIsValidating = !!meta?.isValidating;\n const uploadKeyRef = useRef<string | null>(null);\n const [isUploading, setIsUploading] = useState(false);\n\n const sharedGen = useRef({ current: 0 }).current;\n\n useEffect(() => {\n return () => {\n sharedGen.current++;\n uploadKeyRef.current = null;\n };\n }, []);\n\n const callbacksRef = useRef({\n setLoading: setIsUploading,\n setError: (path: string, msg: string | undefined) =>\n store.write.setError(path, msg),\n setValue: (val: string | null) => setValue(val as any),\n getUploadKey: () => uploadKeyRef.current,\n setUploadKey: (key: string | null) => {\n uploadKeyRef.current = key;\n },\n onCallbackError: (e: unknown) =>\n store.read.config.onUnhandledError(e, \"upload\"),\n });\n\n useEffect(() => {\n callbacksRef.current.setLoading = setIsUploading;\n callbacksRef.current.setError = (path, msg) =>\n store.write.setError(path, msg);\n callbacksRef.current.setValue = (val) => setValue(val as any);\n callbacksRef.current.getUploadKey = () => uploadKeyRef.current;\n callbacksRef.current.setUploadKey = (key) => {\n uploadKeyRef.current = key;\n };\n callbacksRef.current.onCallbackError = (e) =>\n store.read.config.onUnhandledError(e, \"upload\");\n });\n\n const stableCallbacks = useMemo(\n () => ({\n setLoading: (val: boolean) => callbacksRef.current.setLoading(val),\n setError: (path: string, msg: string | undefined) =>\n callbacksRef.current.setError(path, msg),\n setValue: (val: string | null) => callbacksRef.current.setValue(val),\n getUploadKey: () => callbacksRef.current.getUploadKey(),\n setUploadKey: (key: string | null) =>\n callbacksRef.current.setUploadKey(key),\n onCallbackError: (e: unknown) =>\n callbacksRef.current.onCallbackError?.(e),\n }),\n [],\n );\n\n const upload = useMemo(\n () => createUploadHandler(fieldPath, uploadFn, stableCallbacks, sharedGen),\n [fieldPath, uploadFn, stableCallbacks],\n );\n\n const remove = useMemo(\n () => createRemoveHandler(fieldPath, deleteFile, stableCallbacks, sharedGen),\n [fieldPath, deleteFile, stableCallbacks],\n );\n\n return useMemo(\n () => ({\n value,\n setValue,\n error,\n isValidating: fieldIsValidating || isUploading,\n upload,\n remove,\n }),\n [value, setValue, error, fieldIsValidating, isUploading, upload, remove],\n );\n}\n"],"mappings":"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","names":["useCallback","useMemo","useBitField","path","fieldState","setBlur","store","useBitFieldBase","fieldController","useMemo","createFrameworkMaskedFieldBinding","displayValue","setValue","useCallback","val","value","metaState","deriveFieldMeta","error","touched","invalid","isDirty","isValidating","isHidden","isRequired","hasError","onChange","e","isBitFieldInputEventObject","onBlur","props","meta","useCallback","useMemo","useRef","useSyncExternalStore","useBitHistory","store","useBitStore","lastMeta","useRef","getSnapshot","useCallback","nextMeta","readHistoryMetaSnapshot","subscribe","cb","meta","useSyncExternalStore","undo","redo","useMemo","useMemo","useRef","useState","useEffect","useBitUpload","fieldPath","uploadFn","deleteFile","store","useBitStore","field","useBitField","value","setValue","meta","error","fieldIsValidating","uploadKeyRef","useRef","isUploading","setIsUploading","useState","sharedGen","useEffect","callbacksRef","path","msg","val","key","stableCallbacks","useMemo","upload","createUploadHandler","remove","createRemoveHandler"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkT36GFQHUcjs = require('../chunk-T36GFQHU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-PDFT5E2E.cjs');var _chunkAOMXTUA4cjs = require('../chunk-AOMXTUA4.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-7LCFS2JM.cjs');require('../chunk-3SEB4YRQ.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _react = require('react');function U(u){let{fieldState:r,setBlur:o,store:m}=_chunkT36GFQHUcjs.d.call(void 0, u),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkAOMXTUA4cjs.h.call(void 0, m,u),[m,u]),s=_react.useMemo.call(void 0, ()=>t.displayValue(r.value),[r.value,t]),a=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),p=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),{value:B}=r,e=_chunkH6HGYVRVcjs.a.call(void 0, r),l=_react.useCallback.call(void 0, ()=>{o()},[o]),c=_react.useMemo.call(void 0, ()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=_react.useMemo.call(void 0, ()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return _react.useMemo.call(void 0, ()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}exports.BitFormProvider = _chunkT36GFQHUcjs.a; exports.useBitArray = _chunkT36GFQHUcjs.e; exports.useBitField = U; exports.useBitForm = _chunkT36GFQHUcjs.c; exports.useBitPersist = _chunkT36GFQHUcjs.i; exports.useBitScope = _chunkT36GFQHUcjs.f; exports.useBitSteps = _chunkT36GFQHUcjs.g; exports.useBitStore = _chunkT36GFQHUcjs.b; exports.useBitWatch = _chunkT36GFQHUcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWKLCAC74cjs = require('../chunk-WKLCAC74.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-U6UFULNS.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _react = require('react');function U(u){let{fieldState:r,setBlur:o,store:m}=_chunkWKLCAC74cjs.d.call(void 0, u),{fieldController:t}=_react.useMemo.call(void 0, ()=>_chunkH27ROY4Fcjs.h.call(void 0, m,u),[m,u]),s=_react.useMemo.call(void 0, ()=>t.displayValue(r.value),[r.value,t]),a=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),p=_react.useCallback.call(void 0, d=>t.setValue(d),[t]),{value:B}=r,e=_chunkH6HGYVRVcjs.a.call(void 0, r),l=_react.useCallback.call(void 0, ()=>{o()},[o]),c=_react.useMemo.call(void 0, ()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=_react.useMemo.call(void 0, ()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return _react.useMemo.call(void 0, ()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}exports.BitFormProvider = _chunkWKLCAC74cjs.a; exports.useBitArray = _chunkWKLCAC74cjs.e; exports.useBitField = U; exports.useBitForm = _chunkWKLCAC74cjs.c; exports.useBitPersist = _chunkWKLCAC74cjs.i; exports.useBitScope = _chunkWKLCAC74cjs.f; exports.useBitSteps = _chunkWKLCAC74cjs.g; exports.useBitStore = _chunkWKLCAC74cjs.b; exports.useBitWatch = _chunkWKLCAC74cjs.h;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{a as x,b as v,c as y,d as h,e as V,f as T,g,h as R,i as S}from"../chunk-DNHPYPJA.js";import"../chunk-5NA2TFPG.js";import"../chunk-PRMNTQD5.js";import{h as f}from"../chunk-XPY6TCOO.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import{a as P}from"../chunk-L57KMBXS.js";import"../chunk-X3OFU2UH.js";import"../chunk-JVRTPL7W.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{useMemo as i,useCallback as n}from"react";function U(u){let{fieldState:r,setBlur:o,store:m}=h(u),{fieldController:t}=i(()=>f(m,u),[m,u]),s=i(()=>t.displayValue(r.value),[r.value,t]),a=n(d=>t.setValue(d),[t]),p=n(d=>t.setValue(d),[t]),{value:B}=r,e=P(r),l=n(()=>{o()},[o]),c=i(()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=i(()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return i(()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}export{x as BitFormProvider,V as useBitArray,U as useBitField,y as useBitForm,S as useBitPersist,T as useBitScope,g as useBitSteps,v as useBitStore,R as useBitWatch};
1
+ import{a as x,b as v,c as y,d as h,e as V,f as T,g,h as R,i as S}from"../chunk-EYCJKAK3.js";import"../chunk-5NA2TFPG.js";import"../chunk-7T7L2TZX.js";import{h as f}from"../chunk-L42NQRVD.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import{a as P}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{useMemo as i,useCallback as n}from"react";function U(u){let{fieldState:r,setBlur:o,store:m}=h(u),{fieldController:t}=i(()=>f(m,u),[m,u]),s=i(()=>t.displayValue(r.value),[r.value,t]),a=n(d=>t.setValue(d),[t]),p=n(d=>t.setValue(d),[t]),{value:B}=r,e=P(r),l=n(()=>{o()},[o]),c=i(()=>({error:e.error,touched:e.touched,invalid:e.invalid,isValidating:e.isValidating,isDirty:e.isDirty,isHidden:e.isHidden,isRequired:e.isRequired,hasError:e.hasError}),[e.error,e.touched,e.invalid,e.isValidating,e.isDirty,e.isHidden,e.isRequired,e.hasError]),F=i(()=>({value:s,onChangeText:a,onBlur:l}),[s,a,l]);return i(()=>({value:B,displayValue:s,setValue:p,setBlur:o,onChangeText:a,onBlur:l,meta:c,props:F}),[B,s,p,o,a,l,c,F])}export{x as BitFormProvider,V as useBitArray,U as useBitField,y as useBitForm,S as useBitPersist,T as useBitScope,g as useBitSteps,v as useBitStore,R as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK2JSAJAFcjs = require('../chunk-K2JSAJAF.cjs');var _chunk5ILGCBKGcjs = require('../chunk-5ILGCBKG.cjs');var _chunk27LJCW56cjs = require('../chunk-27LJCW56.cjs');require('../chunk-4WPLTOBT.cjs');require('../chunk-MFSDDSVG.cjs');exports.joiResolver = _chunk27LJCW56cjs.a; exports.yupResolver = _chunk5ILGCBKGcjs.a; exports.zodResolver = _chunkK2JSAJAFcjs.a;
1
+ "use strict";require('../chunk-MFSDDSVG.cjs');
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/index.cjs"],"names":[],"mappings":"AAAA,kIAAyC,yDAA0C,yDAA0C,iCAA8B,iCAA8B,gIAA2D","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/index.cjs"}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/index.cjs"],"names":[],"mappings":"AAAA,8CAA6B","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/index.cjs"}
@@ -1,9 +1 @@
1
- export { joiResolver } from './joi.cjs';
2
- export { zodResolver } from './zod.cjs';
3
- export { yupResolver } from './yup.cjs';
4
1
  export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.cjs';
5
- import 'joi';
6
- import '../state-types-8bUndWfg.cjs';
7
- import '../bus-DzTqgkZ4.cjs';
8
- import 'zod';
9
- import 'yup';
@@ -1,9 +1 @@
1
- export { joiResolver } from './joi.js';
2
- export { zodResolver } from './zod.js';
3
- export { yupResolver } from './yup.js';
4
1
  export { BitJoiResolverConfig, BitResolverScopeOptions, BitYupResolverConfig, BitZodResolverConfig } from './types.js';
5
- import 'joi';
6
- import '../state-types-8bUndWfg.js';
7
- import '../bus-BFOBGmd9.js';
8
- import 'zod';
9
- import 'yup';
@@ -1,2 +1,2 @@
1
- import{a as o}from"../chunk-K2KCQEER.js";import{a as r}from"../chunk-WEZ5Q6YO.js";import{a as e}from"../chunk-SFVGMVIE.js";import"../chunk-HTMNDK6W.js";import"../chunk-FQLJOSF7.js";export{e as joiResolver,r as yupResolver,o as zodResolver};
1
+ import"../chunk-FQLJOSF7.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk27LJCW56cjs = require('../chunk-27LJCW56.cjs');require('../chunk-4WPLTOBT.cjs');exports.joiResolver = _chunk27LJCW56cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk4WPLTOBTcjs = require('../chunk-4WPLTOBT.cjs');var f=(a,r)=>async(l,p)=>{let{error:o}=a.validate(l,{abortEarly:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _ => _.abortEarly]), () => (!1)),allowUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _2 => _2.allowUnknown]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _3 => _3.stripUnknown]), () => (!1))});if(!o)return{};let e={};return o.details.forEach(t=>{let c=_chunk4WPLTOBTcjs.a.call(void 0, t.path.join("."));_chunk4WPLTOBTcjs.b.call(void 0, e,c,t.message)}),_chunk4WPLTOBTcjs.c.call(void 0, e,_optionalChain([p, 'optionalAccess', _4 => _4.scopeFields]))};exports.joiResolver = f;
2
2
  //# sourceMappingURL=joi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/joi.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/joi.cjs"}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/joi.cjs","../../src/resolvers/joi.ts"],"names":["joiResolver","schema","config","values","options","error","errors","detail","path","normalizeErrorPath","setFirstError","filterErrorsByScope"],"mappings":"AAAA,0uBAAuD,ICK1CA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,GAAM,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAIJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CACxC,UAAA,kCAAYD,CAAAA,2BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GAAA,CACtC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CAED,EAAA,CAAI,CAACG,CAAAA,CAAO,MAAO,CAAC,CAAA,CAEpB,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,OAAAD,CAAAA,CAAM,OAAA,CAAQ,OAAA,CAASE,CAAAA,EAAW,CAChC,IAAMC,CAAAA,CAAOC,iCAAAA,CAAmBF,CAAO,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,CAAA,CAErDG,iCAAAA,CAAcJ,CAAQE,CAAAA,CAAMD,CAAAA,CAAO,OAAO,CAC5C,CAAC,CAAA,CAEMI,iCAAAA,CAAoBL,iBAAQF,CAAAA,6BAAS,aAAW,CACzD,CAAA,CAAA,wBAAA","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/joi.cjs","sourcesContent":[null,"import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = normalizeErrorPath(detail.path.join(\".\"));\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-SFVGMVIE.js";import"../chunk-HTMNDK6W.js";export{a as joiResolver};
1
+ import{a as s,b as i,c as n}from"../chunk-HTMNDK6W.js";var f=(a,r)=>async(l,p)=>{let{error:o}=a.validate(l,{abortEarly:r?.abortEarly??!1,allowUnknown:r?.allowUnknown??!1,stripUnknown:r?.stripUnknown??!1});if(!o)return{};let e={};return o.details.forEach(t=>{let c=s(t.path.join("."));i(e,c,t.message)}),n(e,p?.scopeFields)};export{f as joiResolver};
2
2
  //# sourceMappingURL=joi.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/resolvers/joi.ts"],"sourcesContent":["import { ObjectSchema } from \"joi\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitJoiResolverConfig, BitResolverScopeOptions } from \"./types\";\n\nexport const joiResolver = <T extends object>(\n schema: ObjectSchema<T>,\n config?: BitJoiResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const { error } = schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n allowUnknown: config?.allowUnknown ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n\n if (!error) return {};\n\n const errors: BitErrors<T> = {};\n\n error.details.forEach((detail) => {\n const path = normalizeErrorPath(detail.path.join(\".\"));\n\n setFirstError(errors, path, detail.message);\n });\n\n return filterErrorsByScope(errors, options?.scopeFields);\n };\n};\n"],"mappings":"uDAKO,IAAMA,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,GAAM,CAAE,MAAAC,CAAM,EAAIJ,EAAO,SAASE,EAAQ,CACxC,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,GACtC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EAED,GAAI,CAACG,EAAO,MAAO,CAAC,EAEpB,IAAMC,EAAuB,CAAC,EAE9B,OAAAD,EAAM,QAAQ,QAASE,GAAW,CAChC,IAAMC,EAAOC,EAAmBF,EAAO,KAAK,KAAK,GAAG,CAAC,EAErDG,EAAcJ,EAAQE,EAAMD,EAAO,OAAO,CAC5C,CAAC,EAEMI,EAAoBL,EAAQF,GAAS,WAAW,CACzD","names":["joiResolver","schema","config","values","options","error","errors","detail","path","normalizeErrorPath","setFirstError","filterErrorsByScope"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5ILGCBKGcjs = require('../chunk-5ILGCBKG.cjs');require('../chunk-4WPLTOBT.cjs');exports.yupResolver = _chunk5ILGCBKGcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk4WPLTOBTcjs = require('../chunk-4WPLTOBT.cjs');var _yup = require('yup');var y=(l,s)=>async(p,o)=>{let e={};if(_optionalChain([o, 'optionalAccess', _ => _.scopeFields])&&o.scopeFields.length>0)return await Promise.all(o.scopeFields.map(async t=>{try{await l.validateAt(t,p,{abortEarly:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _2 => _2.abortEarly]), () => (!1))})}catch(r){if(r instanceof _yup.ValidationError)if(r.inner&&r.inner.length>0)for(let n of r.inner)n.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, n.path),n.message);else r.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, r.path),r.message);else throw r}})),e;try{return await l.validate(p,{abortEarly:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _3 => _3.abortEarly]), () => (!1)),stripUnknown:_nullishCoalesce(_optionalChain([s, 'optionalAccess', _4 => _4.stripUnknown]), () => (!1))}),{}}catch(t){if(t instanceof _yup.ValidationError){for(let r of _nullishCoalesce(t.inner, () => ([])))r.path&&_chunk4WPLTOBTcjs.b.call(void 0, e,_chunk4WPLTOBTcjs.a.call(void 0, r.path),r.message);return _chunk4WPLTOBTcjs.c.call(void 0, e,_optionalChain([o, 'optionalAccess', _5 => _5.scopeFields]))}throw t}};exports.yupResolver = y;
2
2
  //# sourceMappingURL=yup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/yup.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/yup.cjs"}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/yup.cjs","../../src/resolvers/yup.ts"],"names":["yupResolver","schema","config","values","options","errors","field","error","ValidationError","item","setFirstError","normalizeErrorPath","filterErrorsByScope"],"mappings":"AAAA,0uBAAuD,0BCAf,IAS3BA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,EAAA,iBAAID,CAAAA,2BAAS,aAAA,EAAeA,CAAAA,CAAQ,WAAA,CAAY,MAAA,CAAS,CAAA,CACvD,OAAA,MAAM,OAAA,CAAQ,GAAA,CACZA,CAAAA,CAAQ,WAAA,CAAY,GAAA,CAAI,MAAOE,CAAAA,EAAU,CACvC,GAAI,CACF,MAAML,CAAAA,CAAO,UAAA,CAAWK,CAAAA,CAAOH,CAAAA,CAAQ,CACrC,UAAA,kCAAYD,CAAAA,6BAAQ,YAAA,SAAc,CAAA,GACpC,CAAC,CACH,CAAA,KAAA,CAASK,CAAAA,CAAgB,CACvB,EAAA,CAAIA,EAAAA,WAAiBC,oBAAAA,CACnB,EAAA,CAAID,CAAAA,CAAM,KAAA,EAASA,CAAAA,CAAM,KAAA,CAAM,MAAA,CAAS,CAAA,CACtC,GAAA,CAAA,IAAWE,EAAAA,GAAQF,CAAAA,CAAM,KAAA,CACnBE,CAAAA,CAAK,IAAA,EACPC,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBF,CAAK,IAAI,CAAA,CAAGA,CAAAA,CAAK,OAAO,CAAA,CAAA,KAG5DF,CAAAA,CAAM,IAAA,EACfG,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBJ,CAAM,IAAI,CAAA,CAAGA,CAAAA,CAAM,OAAO,CAAA,CAAA,KAGrE,MAAMA,CAEV,CACF,CAAC,CACH,CAAA,CACOF,CAAAA,CAGT,GAAI,CACF,OAAA,MAAMJ,CAAAA,CAAO,QAAA,CAASE,CAAAA,CAAQ,CAC5B,UAAA,kCAAYD,CAAAA,6BAAQ,YAAA,SAAc,CAAA,GAAA,CAClC,YAAA,kCAAcA,CAAAA,6BAAQ,cAAA,SAAgB,CAAA,GACxC,CAAC,CAAA,CACM,CAAC,CACV,CAAA,KAAA,CAASK,CAAAA,CAAgB,CACvB,EAAA,CAAIA,EAAAA,WAAiBC,oBAAAA,CAAiB,CACpC,GAAA,CAAA,IAAWC,EAAAA,oBAAQF,CAAAA,CAAM,KAAA,SAAS,CAAC,GAAA,CAC7BE,CAAAA,CAAK,IAAA,EACPC,iCAAAA,CAAcL,CAAQM,iCAAAA,CAAmBF,CAAK,IAAI,CAAA,CAAGA,CAAAA,CAAK,OAAO,CAAA,CAIrE,OAAOG,iCAAAA,CAAoBP,iBAAQD,CAAAA,6BAAS,aAAW,CACzD,CAEA,MAAMG,CACR,CACF,CAAA,CAAA,wBAAA","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/yup.cjs","sourcesContent":[null,"import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values, {\n abortEarly: config?.abortEarly ?? false,\n });\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n if (error.inner && error.inner.length > 0) {\n for (const item of error.inner) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n } else if (error.path) {\n setFirstError(errors, normalizeErrorPath(error.path), error.message);\n }\n } else {\n throw error;\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-WEZ5Q6YO.js";import"../chunk-HTMNDK6W.js";export{a as yupResolver};
1
+ import{a as i,b as a,c as f}from"../chunk-HTMNDK6W.js";import{ValidationError as c}from"yup";var y=(l,s)=>async(p,o)=>{let e={};if(o?.scopeFields&&o.scopeFields.length>0)return await Promise.all(o.scopeFields.map(async t=>{try{await l.validateAt(t,p,{abortEarly:s?.abortEarly??!1})}catch(r){if(r instanceof c)if(r.inner&&r.inner.length>0)for(let n of r.inner)n.path&&a(e,i(n.path),n.message);else r.path&&a(e,i(r.path),r.message);else throw r}})),e;try{return await l.validate(p,{abortEarly:s?.abortEarly??!1,stripUnknown:s?.stripUnknown??!1}),{}}catch(t){if(t instanceof c){for(let r of t.inner??[])r.path&&a(e,i(r.path),r.message);return f(e,o?.scopeFields)}throw t}};export{y as yupResolver};
2
2
  //# sourceMappingURL=yup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/resolvers/yup.ts"],"sourcesContent":["import { ValidationError, Schema } from \"yup\";\nimport { BitErrors } from \"../core\";\nimport {\n filterErrorsByScope,\n normalizeErrorPath,\n setFirstError,\n} from \"./utils\";\nimport { BitResolverScopeOptions, BitYupResolverConfig } from \"./types\";\n\nexport const yupResolver = <T extends object>(\n schema: Schema<T>,\n config?: BitYupResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n const errors: BitErrors<T> = {};\n\n if (options?.scopeFields && options.scopeFields.length > 0) {\n await Promise.all(\n options.scopeFields.map(async (field) => {\n try {\n await schema.validateAt(field, values, {\n abortEarly: config?.abortEarly ?? false,\n });\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n if (error.inner && error.inner.length > 0) {\n for (const item of error.inner) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n } else if (error.path) {\n setFirstError(errors, normalizeErrorPath(error.path), error.message);\n }\n } else {\n throw error;\n }\n }\n }),\n );\n return errors;\n }\n\n try {\n await schema.validate(values, {\n abortEarly: config?.abortEarly ?? false,\n stripUnknown: config?.stripUnknown ?? false,\n });\n return {};\n } catch (error: unknown) {\n if (error instanceof ValidationError) {\n for (const item of error.inner ?? []) {\n if (item.path) {\n setFirstError(errors, normalizeErrorPath(item.path), item.message);\n }\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\n};\n"],"mappings":"uDAAA,OAAS,mBAAAA,MAA+B,MASjC,IAAMC,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,IAAMC,EAAuB,CAAC,EAE9B,GAAID,GAAS,aAAeA,EAAQ,YAAY,OAAS,EACvD,aAAM,QAAQ,IACZA,EAAQ,YAAY,IAAI,MAAOE,GAAU,CACvC,GAAI,CACF,MAAML,EAAO,WAAWK,EAAOH,EAAQ,CACrC,WAAYD,GAAQ,YAAc,EACpC,CAAC,CACH,OAASK,EAAgB,CACvB,GAAIA,aAAiBC,EACnB,GAAID,EAAM,OAASA,EAAM,MAAM,OAAS,EACtC,QAAWE,KAAQF,EAAM,MACnBE,EAAK,MACPC,EAAcL,EAAQM,EAAmBF,EAAK,IAAI,EAAGA,EAAK,OAAO,OAG5DF,EAAM,MACfG,EAAcL,EAAQM,EAAmBJ,EAAM,IAAI,EAAGA,EAAM,OAAO,MAGrE,OAAMA,CAEV,CACF,CAAC,CACH,EACOF,EAGT,GAAI,CACF,aAAMJ,EAAO,SAASE,EAAQ,CAC5B,WAAYD,GAAQ,YAAc,GAClC,aAAcA,GAAQ,cAAgB,EACxC,CAAC,EACM,CAAC,CACV,OAASK,EAAgB,CACvB,GAAIA,aAAiBC,EAAiB,CACpC,QAAWC,KAAQF,EAAM,OAAS,CAAC,EAC7BE,EAAK,MACPC,EAAcL,EAAQM,EAAmBF,EAAK,IAAI,EAAGA,EAAK,OAAO,EAIrE,OAAOG,EAAoBP,EAAQD,GAAS,WAAW,CACzD,CAEA,MAAMG,CACR,CACF","names":["ValidationError","yupResolver","schema","config","values","options","errors","field","error","ValidationError","item","setFirstError","normalizeErrorPath","filterErrorsByScope"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK2JSAJAFcjs = require('../chunk-K2JSAJAF.cjs');require('../chunk-4WPLTOBT.cjs');exports.zodResolver = _chunkK2JSAJAFcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk4WPLTOBTcjs = require('../chunk-4WPLTOBT.cjs');var _zod = require('zod');var h=(n,f)=>async(c,p)=>{try{return await n.parseAsync(c),{}}catch(r){let o={};if(r instanceof _zod.ZodError){for(let e of r.issues){let a=_chunk4WPLTOBTcjs.a.call(void 0, e.path.join("."));_chunk4WPLTOBTcjs.b.call(void 0, o,a,e.message)}return _chunk4WPLTOBTcjs.c.call(void 0, o,_optionalChain([p, 'optionalAccess', _ => _.scopeFields]))}throw r}};exports.zodResolver = h;
2
2
  //# sourceMappingURL=zod.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/zod.cjs"],"names":[],"mappings":"AAAA,kIAAoC,iCAA8B,0CAAyB","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/zod.cjs"}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/resolvers/zod.cjs","../../src/resolvers/zod.ts"],"names":["zodResolver","schema","_config","values","options","error","errors","ZodError","issue","path","normalizeErrorPath","setFirstError","filterErrorsByScope"],"mappings":"AAAA,soBAAuD,0BCAnB,IAKvBA,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,CAAAA,EAEO,KAAA,CACLC,CAAAA,CACAC,CAAAA,CAAAA,EAC0B,CAC1B,GAAI,CACF,OAAA,MAAMH,CAAAA,CAAO,UAAA,CAAWE,CAAM,CAAA,CACvB,CAAC,CACV,CAAA,KAAA,CAASE,CAAAA,CAAgB,CACvB,IAAMC,CAAAA,CAAuB,CAAC,CAAA,CAE9B,EAAA,CAAID,EAAAA,WAAiBE,aAAAA,CAAU,CAC7B,GAAA,CAAA,IAAWC,EAAAA,GAASH,CAAAA,CAAM,MAAA,CAAQ,CAChC,IAAMI,CAAAA,CAAOC,iCAAAA,CAAmBF,CAAM,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,CAAA,CACpDG,iCAAAA,CAAcL,CAAQG,CAAAA,CAAMD,CAAAA,CAAM,OAAO,CAC3C,CAEA,OAAOI,iCAAAA,CAAoBN,iBAAQF,CAAAA,2BAAS,aAAW,CACzD,CAEA,MAAMC,CACR,CACF,CAAA,CAAA,wBAAA","file":"/builds/kenji.ccp-group/bit-form/dist/resolvers/zod.cjs","sourcesContent":[null,"import { ZodError, ZodSchema } from \"zod\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitResolverScopeOptions, BitZodResolverConfig } from \"./types\";\n\nexport const zodResolver = <T extends object>(\n schema: ZodSchema<T>,\n _config?: BitZodResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n try {\n await schema.parseAsync(values);\n return {};\n } catch (error: unknown) {\n const errors: BitErrors<T> = {};\n\n if (error instanceof ZodError) {\n for (const issue of error.issues) {\n const path = normalizeErrorPath(issue.path.join(\".\"));\n setFirstError(errors, path, issue.message);\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-K2KCQEER.js";import"../chunk-HTMNDK6W.js";export{a as zodResolver};
1
+ import{a as t,b as s,c as i}from"../chunk-HTMNDK6W.js";import{ZodError as m}from"zod";var h=(n,f)=>async(c,p)=>{try{return await n.parseAsync(c),{}}catch(r){let o={};if(r instanceof m){for(let e of r.issues){let a=t(e.path.join("."));s(o,a,e.message)}return i(o,p?.scopeFields)}throw r}};export{h as zodResolver};
2
2
  //# sourceMappingURL=zod.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/resolvers/zod.ts"],"sourcesContent":["import { ZodError, ZodSchema } from \"zod\";\nimport { BitErrors } from \"../core\";\nimport { filterErrorsByScope, setFirstError, normalizeErrorPath } from \"./utils\";\nimport { BitResolverScopeOptions, BitZodResolverConfig } from \"./types\";\n\nexport const zodResolver = <T extends object>(\n schema: ZodSchema<T>,\n _config?: BitZodResolverConfig,\n) => {\n return async (\n values: T,\n options?: BitResolverScopeOptions,\n ): Promise<BitErrors<T>> => {\n try {\n await schema.parseAsync(values);\n return {};\n } catch (error: unknown) {\n const errors: BitErrors<T> = {};\n\n if (error instanceof ZodError) {\n for (const issue of error.issues) {\n const path = normalizeErrorPath(issue.path.join(\".\"));\n setFirstError(errors, path, issue.message);\n }\n\n return filterErrorsByScope(errors, options?.scopeFields);\n }\n\n throw error;\n }\n };\n};\n"],"mappings":"uDAAA,OAAS,YAAAA,MAA2B,MAK7B,IAAMC,EAAc,CACzBC,EACAC,IAEO,MACLC,EACAC,IAC0B,CAC1B,GAAI,CACF,aAAMH,EAAO,WAAWE,CAAM,EACvB,CAAC,CACV,OAASE,EAAgB,CACvB,IAAMC,EAAuB,CAAC,EAE9B,GAAID,aAAiBE,EAAU,CAC7B,QAAWC,KAASH,EAAM,OAAQ,CAChC,IAAMI,EAAOC,EAAmBF,EAAM,KAAK,KAAK,GAAG,CAAC,EACpDG,EAAcL,EAAQG,EAAMD,EAAM,OAAO,CAC3C,CAEA,OAAOI,EAAoBN,EAAQF,GAAS,WAAW,CACzD,CAEA,MAAMC,CACR,CACF","names":["ZodError","zodResolver","schema","_config","values","options","error","errors","ZodError","issue","path","normalizeErrorPath","setFirstError","filterErrorsByScope"]}
package/dist/utils.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3SEB4YRQcjs = require('./chunk-3SEB4YRQ.cjs');exports.cleanPrefixedKeys = _chunk3SEB4YRQcjs.j; exports.extractServerErrors = _chunk3SEB4YRQcjs.n; exports.isValidationErrorShape = _chunk3SEB4YRQcjs.m;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');exports.cleanPrefixedKeys = _chunkOWDDAM6Ccjs.j; exports.extractServerErrors = _chunkOWDDAM6Ccjs.n; exports.isValidationErrorShape = _chunkOWDDAM6Ccjs.m;
2
2
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- import{j as r,m as e,n as a}from"./chunk-JVRTPL7W.js";export{r as cleanPrefixedKeys,a as extractServerErrors,e as isValidationErrorShape};
1
+ import{j as r,m as e,n as a}from"./chunk-UBVVBVLS.js";export{r as cleanPrefixedKeys,a as extractServerErrors,e as isValidationErrorShape};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkPDFT5E2Ecjs = require('../chunk-PDFT5E2E.cjs');var _chunkAOMXTUA4cjs = require('../chunk-AOMXTUA4.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-7LCFS2JM.cjs');var _chunk3SEB4YRQcjs = require('../chunk-3SEB4YRQ.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _vue = require('vue');var $=Symbol("BIT_STORE");function oe(t){let e=_chunkPDFT5E2Ecjs.d.call(void 0, t);_vue.provide.call(void 0, $,e),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([e, 'access', _2 => _2.feature, 'optionalAccess', _3 => _3.cleanup, 'optionalCall', _4 => _4()])})}function i(){let t=_vue.inject.call(void 0, $);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}function ne(){let t=i(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),r=_vue.ref.call(void 0, null),o=_vue.ref.call(void 0, null),s=_chunkAOMXTUA4cjs.c.call(void 0, t,S=>{e.value=S});_vue.onUnmounted.call(void 0, s);let{controller:a,actions:n}=_chunkAOMXTUA4cjs.i.call(void 0, t,{clearSubmissionState:()=>{r.value=null,o.value=null},setSubmissionResult:S=>{o.value=S},setSubmissionError:S=>{r.value=S}}),c=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),d=_vue.computed.call(void 0, ()=>e.value.isDirty),f=a.onSubmit,l=a.reset;return{meta:_vue.reactive.call(void 0, {isValid:c,isDirty:d,isSubmitting:u,submitError:r,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:f,reset:l,...n}}function U(t){let e=i(),{fieldController:r}=_chunkAOMXTUA4cjs.h.call(void 0, e,t),o=_vue.shallowRef.call(void 0, e.read.getFieldState(t)),s=e.observe.subscribeFieldState(t,m=>{o.value=m});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkAOMXTUA4cjs.j.call(void 0, e,t)});let a=_vue.computed.call(void 0, ()=>o.value.value),n=_vue.computed.call(void 0, ()=>r.displayValue(a.value)),c=_vue.computed.call(void 0, {get:()=>n.value,set:m=>{r.setValue(m)}}),u=_vue.computed.call(void 0, ()=>_chunkH6HGYVRVcjs.a.call(void 0, o.value)),d=_vue.computed.call(void 0, ()=>u.value.error),f=_vue.computed.call(void 0, ()=>u.value.touched),l=_vue.computed.call(void 0, ()=>u.value.invalid),y=_vue.computed.call(void 0, ()=>u.value.isValidating),S=_vue.computed.call(void 0, ()=>u.value.isDirty),P=_vue.computed.call(void 0, ()=>u.value.isHidden),V=_vue.computed.call(void 0, ()=>u.value.isRequired),R=_vue.computed.call(void 0, ()=>u.value.hasError),b=m=>{r.setValue(m)},F=()=>r.setBlur();return{value:a,displayValue:n,modelValue:c,setValue:b,setBlur:F,onInput:m=>{b(m)},onBlur:()=>{F()},meta:_vue.reactive.call(void 0, {error:d,touched:f,invalid:l,isValidating:y,isDirty:S,isHidden:P,isRequired:V,hasError:R})}}function de(t){let e=i(),r=_chunkAOMXTUA4cjs.g.call(void 0, e,t),o=_vue.shallowRef.call(void 0, r.readItems()),s=e.observe.subscribePath(t,()=>{o.value=r.readItems()});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkAOMXTUA4cjs.k.call(void 0, e,`${t}.`)});let a=_vue.computed.call(void 0, ()=>r.getFields(o.value)),n=_vue.computed.call(void 0, ()=>o.value.length);return{fields:a,length:n,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}}function Se(){let t=i(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, t)),r=_chunkRHMJPKNVcjs.g.call(void 0, t,a=>{e.value=a});_vue.onUnmounted.call(void 0, r);let o=()=>t.feature.undo(),s=()=>t.feature.redo();return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:o,redo:s}}function ye(t){let e=i(),r=_vue.ref.call(void 0, e.read.getScopeStatus(t)),o=_chunkBSGJ3T5Scjs.a.call(void 0, e,t,d=>{r.value=d});_vue.onUnmounted.call(void 0, ()=>{o()});let s=async()=>{let d=await e.feature.validate({scope:t}),f=e.read.getScopeErrors(t);return{valid:d,errors:f}},a=()=>e.read.getScopeErrors(t),n=_vue.computed.call(void 0, ()=>!r.value.hasErrors),c=_vue.computed.call(void 0, ()=>r.value.isDirty),u=_vue.computed.call(void 0, ()=>r.value.errors);return{scopeName:t,status:r,errors:u,validate:s,getErrors:a,isValid:n,isDirty:c}}function Fe(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),r=_vue.ref.call(void 0, 0),o=_vue.computed.call(void 0, ()=>_nullishCoalesce(t[r.value], () => (""))),s=_vue.ref.call(void 0, e.read.getScopeStatus(o.value)),a=()=>{let v=o.value,B=e.read.getScopeStatus(v);_chunkRHMJPKNVcjs.b.call(void 0, s.value,B)||(s.value=B)},n=e.observe.subscribeScopeStatus(o.value,a),c=()=>{n(),n=e.observe.subscribeScopeStatus(o.value,a)};_vue.onUnmounted.call(void 0, ()=>{n()});let u=async()=>{let v=o.value,B=await e.feature.validate({scope:v}),m=e.read.getScopeErrors(v);return{valid:B,errors:m}},d=()=>e.read.getScopeErrors(o.value),f=async()=>{let v=o.value,B=e.read.getScopeFields(v);if(e.feature.hasValidationsInProgress(B))return!1;let m=await e.feature.validate({scope:v});if(m)r.value=Math.min(r.value+1,t.length-1),s.value=e.read.getScopeStatus(o.value),c();else{let N=e.read.getScopeErrors(v),E=Object.keys(N);E.length>0&&e.write.markFieldsTouched(E)}return m},l=()=>{r.value=Math.max(r.value-1,0),s.value=e.read.getScopeStatus(o.value),c()},y=v=>{r.value=Math.max(0,Math.min(v-1,t.length-1)),s.value=e.read.getScopeStatus(o.value),c()},S=_vue.computed.call(void 0, ()=>r.value+1),P=_vue.computed.call(void 0, ()=>r.value===0),V=_vue.computed.call(void 0, ()=>r.value>=t.length-1),R=_vue.computed.call(void 0, ()=>!s.value.hasErrors),b=_vue.computed.call(void 0, ()=>s.value.isDirty),F=_vue.computed.call(void 0, ()=>s.value.errors);return{step:S,stepIndex:r,scope:o,next:f,prev:l,goTo:y,isFirst:P,isLast:V,status:s,errors:F,isValid:R,isDirty:b,validate:u,getErrors:d}}function Re(t){let e=i(),r=_chunk3SEB4YRQcjs.f.call(void 0, e.read.getState().values,t),o=_vue.ref.call(void 0, r),s=e.observe.subscribePath(t,a=>{_chunk3SEB4YRQcjs.c.call(void 0, o.value,a)||(o.value=a)});return _vue.onUnmounted.call(void 0, s),_vue.readonly.call(void 0, o)}function Ue(t,e,r){let o=i(),s=U(t),a=null,n=_vue.ref.call(void 0, !1),c={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},d=_chunkH3RTOA6Xcjs.a.call(void 0, t,e,u,c),f=_chunkH3RTOA6Xcjs.b.call(void 0, t,r,u,c);return{value:s.value,setValue:s.setValue,error:_vue.computed.call(void 0, ()=>s.meta.error),isValidating:_vue.computed.call(void 0, ()=>!!s.meta.isValidating||n.value),upload:d,remove:f}}function ke(){let t=i(),e=_vue.ref.call(void 0, t.read.getPersistMetadata()),r=_chunkAOMXTUA4cjs.f.call(void 0, t,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:_vue.reactive.call(void 0, {isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)})}}exports.provideBitStore = oe; exports.useBitArray = de; exports.useBitField = U; exports.useBitForm = ne; exports.useBitHistory = Se; exports.useBitPersist = ke; exports.useBitScope = ye; exports.useBitSteps = Fe; exports.useBitStore = i; exports.useBitUpload = Ue; exports.useBitWatch = Re;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkH3RTOA6Xcjs = require('../chunk-H3RTOA6X.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkU6UFULNScjs = require('../chunk-U6UFULNS.cjs');var _chunkH27ROY4Fcjs = require('../chunk-H27ROY4F.cjs');var _chunkBSGJ3T5Scjs = require('../chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('../chunk-RHMJPKNV.cjs');var _chunkH6HGYVRVcjs = require('../chunk-H6HGYVRV.cjs');require('../chunk-AV7YYSFI.cjs');var _chunkOWDDAM6Ccjs = require('../chunk-OWDDAM6C.cjs');require('../chunk-X3DGA5UC.cjs');require('../chunk-725CMNAV.cjs');var _vue = require('vue');var Q=Symbol("BIT_STORE");function se(r){let e=_chunkU6UFULNScjs.d.call(void 0, r);_vue.provide.call(void 0, Q,e),_vue.onUnmounted.call(void 0, ()=>{_optionalChain([e, 'access', _2 => _2.feature, 'optionalAccess', _3 => _3.cleanup, 'optionalCall', _4 => _4()])})}function i(){let r=_vue.inject.call(void 0, Q);if(!r)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return r}function ue(){let r=i(),e=_vue.shallowRef.call(void 0, {isValid:!0,isDirty:!1,isSubmitting:!1}),t=_vue.ref.call(void 0, null),o=_vue.ref.call(void 0, null),s=_chunkH27ROY4Fcjs.c.call(void 0, r,B=>{e.value=B});_vue.onUnmounted.call(void 0, s);let{controller:a,actions:n}=_chunkH27ROY4Fcjs.i.call(void 0, r,{clearSubmissionState:()=>{t.value=null,o.value=null},setSubmissionResult:B=>{o.value=B},setSubmissionError:B=>{t.value=B}}),p=_vue.computed.call(void 0, ()=>e.value.isValid),u=_vue.computed.call(void 0, ()=>e.value.isSubmitting),v=_vue.computed.call(void 0, ()=>e.value.isDirty),S=a.onSubmit,l=a.reset;return{meta:_vue.reactive.call(void 0, {isValid:p,isDirty:v,isSubmitting:u,submitError:t,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:S,reset:l,...n}}function k(r){let e=i(),{fieldController:t}=_chunkH27ROY4Fcjs.h.call(void 0, e,r),o=_vue.shallowRef.call(void 0, e.read.getFieldState(r)),s=e.observe.subscribeFieldState(r,d=>{o.value=d});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkH27ROY4Fcjs.j.call(void 0, e,r)});let a=_vue.computed.call(void 0, ()=>o.value.value),n=_vue.computed.call(void 0, ()=>t.displayValue(a.value)),p=_vue.computed.call(void 0, {get:()=>n.value,set:d=>{t.setValue(d)}}),u=_vue.computed.call(void 0, ()=>_chunkH6HGYVRVcjs.a.call(void 0, o.value)),v=_vue.computed.call(void 0, ()=>u.value.error),S=_vue.computed.call(void 0, ()=>u.value.touched),l=_vue.computed.call(void 0, ()=>u.value.invalid),y=_vue.computed.call(void 0, ()=>u.value.isValidating),B=_vue.computed.call(void 0, ()=>u.value.isDirty),V=_vue.computed.call(void 0, ()=>u.value.isHidden),R=_vue.computed.call(void 0, ()=>u.value.isRequired),x=_vue.computed.call(void 0, ()=>u.value.hasError),F=d=>{t.setValue(d)},h=()=>t.setBlur();return{value:a,displayValue:n,modelValue:p,setValue:F,setBlur:h,onInput:d=>{F(d)},onBlur:()=>{h()},meta:_vue.reactive.call(void 0, {error:v,touched:S,invalid:l,isValidating:y,isDirty:B,isHidden:V,isRequired:R,hasError:x})}}function ve(r){let e=i(),t=_chunkH27ROY4Fcjs.g.call(void 0, e,r),o=_vue.shallowRef.call(void 0, t.readItems()),s=e.observe.subscribePath(r,()=>{o.value=t.readItems()});_vue.onUnmounted.call(void 0, ()=>{s(),_chunkH27ROY4Fcjs.k.call(void 0, e,`${r}.`)});let a=_vue.computed.call(void 0, ()=>t.getFields(o.value)),n=_vue.computed.call(void 0, ()=>o.value.length);return{fields:a,length:n,append:t.append,prepend:t.prepend,insert:t.insert,remove:t.remove,move:t.move,swap:t.swap,replace:t.replace,clear:t.clear}}function Be(){let r=i(),e=_vue.shallowRef.call(void 0, _chunkRHMJPKNVcjs.f.call(void 0, r)),t=_chunkRHMJPKNVcjs.g.call(void 0, r,a=>{e.value=a});_vue.onUnmounted.call(void 0, t);let o=()=>{e.value.canUndo&&r.feature.undo()},s=()=>{e.value.canRedo&&r.feature.redo()};return{canUndo:_vue.computed.call(void 0, ()=>e.value.canUndo),canRedo:_vue.computed.call(void 0, ()=>e.value.canRedo),historyIndex:_vue.computed.call(void 0, ()=>e.value.historyIndex),historySize:_vue.computed.call(void 0, ()=>e.value.historySize),undo:o,redo:s}}function ye(r){let e=i(),t=_vue.ref.call(void 0, e.read.getScopeStatus(r)),o=_chunkBSGJ3T5Scjs.a.call(void 0, e,r,v=>{t.value=v});_vue.onUnmounted.call(void 0, ()=>{o()});let s=async()=>{let v=await e.feature.validate({scope:r}),S=e.read.getScopeErrors(r);return{valid:v,errors:S}},a=()=>e.read.getScopeErrors(r),n=_vue.computed.call(void 0, ()=>!t.value.hasErrors),p=_vue.computed.call(void 0, ()=>t.value.isDirty),u=_vue.computed.call(void 0, ()=>t.value.errors);return{scopeName:r,status:t,errors:u,validate:s,getErrors:a,isValid:n,isDirty:p}}function he(r){if(r.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),t=_vue.ref.call(void 0, 0),o=_vue.computed.call(void 0, ()=>_nullishCoalesce(r[t.value], () => (""))),s=_vue.ref.call(void 0, e.read.getScopeStatus(o.value)),a=o.value,n=e.observe.subscribeScopeStatus(a,c=>{o.value===a&&(_chunkRHMJPKNVcjs.b.call(void 0, s.value,c)||(s.value=c))}),p=()=>{let c=o.value,f=e.observe.subscribeScopeStatus(c,g=>{o.value===c&&(_chunkRHMJPKNVcjs.b.call(void 0, s.value,g)||(s.value=g))}),d=n;n=f,a=c,d()};_vue.onUnmounted.call(void 0, ()=>{n()});let u=async()=>{let c=o.value,f=t.value,d=await e.feature.validate({scope:c});if(t.value!==f){let P=o.value;return{valid:await e.feature.validate({scope:P}),errors:e.read.getScopeErrors(P)}}let g=e.read.getScopeErrors(c);return{valid:d,errors:g}},v=()=>e.read.getScopeErrors(o.value),S=async()=>{let c=t.value,f=_nullishCoalesce(r[c], () => (""));if(!f)return!1;let d=e.read.getScopeFields(f);if(e.feature.hasValidationsInProgress(d))return!1;let g=await e.feature.validate({scope:f});if(c!==t.value)return!1;if(g)t.value=Math.min(t.value+1,r.length-1),s.value=e.read.getScopeStatus(o.value),p();else{let P=e.read.getScopeErrors(f),T=Object.keys(P);T.length>0&&e.write.markFieldsTouched(T),s.value=e.read.getScopeStatus(f)}return g},l=()=>{t.value=Math.max(t.value-1,0),s.value=e.read.getScopeStatus(o.value),p()},y=c=>{t.value=Math.max(0,Math.min(c-1,r.length-1)),s.value=e.read.getScopeStatus(o.value),p()},B=_vue.computed.call(void 0, ()=>t.value+1),V=_vue.computed.call(void 0, ()=>t.value===0),R=_vue.computed.call(void 0, ()=>t.value>=r.length-1),x=_vue.computed.call(void 0, ()=>!s.value.hasErrors),F=_vue.computed.call(void 0, ()=>s.value.isDirty),h=_vue.computed.call(void 0, ()=>s.value.errors);return{step:B,stepIndex:t,scope:o,next:S,prev:l,goTo:y,isFirst:V,isLast:R,status:s,errors:h,isValid:x,isDirty:F,validate:u,getErrors:v}}function Re(r){let e=i(),t=_chunkOWDDAM6Ccjs.f.call(void 0, e.read.getState().values,r),o=_vue.ref.call(void 0, t),s=e.observe.subscribePath(r,a=>{_chunkOWDDAM6Ccjs.c.call(void 0, o.value,a)||(o.value=a)});return _vue.onUnmounted.call(void 0, s),_vue.readonly.call(void 0, o)}function we(r,e,t){let o=i(),s=k(r),a=null,n=_vue.ref.call(void 0, !1),p={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},v=_chunkH3RTOA6Xcjs.a.call(void 0, r,e,u,p),S=_chunkH3RTOA6Xcjs.b.call(void 0, r,t,u,p);return _vue.onUnmounted.call(void 0, ()=>{p.current++,a=null}),{value:s.value,setValue:s.setValue,error:_vue.computed.call(void 0, ()=>s.meta.error),isValidating:_vue.computed.call(void 0, ()=>!!s.meta.isValidating||n.value),upload:v,remove:S}}function Ie(){let r=i(),e=_vue.ref.call(void 0, r.read.getPersistMetadata()),t=_chunkH27ROY4Fcjs.f.call(void 0, r,n=>{e.value=n});return _vue.onUnmounted.call(void 0, ()=>t()),{restore:async()=>r.feature.restorePersisted(),save:async()=>{await r.feature.forceSave()},clear:async()=>{await r.feature.clearPersisted()},meta:_vue.reactive.call(void 0, {isSaving:_vue.computed.call(void 0, ()=>e.value.isSaving),isRestoring:_vue.computed.call(void 0, ()=>e.value.isRestoring),error:_vue.computed.call(void 0, ()=>e.value.error)})}}exports.provideBitStore = se; exports.useBitArray = ve; exports.useBitField = k; exports.useBitForm = ue; exports.useBitHistory = Be; exports.useBitPersist = Ie; exports.useBitScope = ye; exports.useBitSteps = he; exports.useBitStore = i; exports.useBitUpload = we; exports.useBitWatch = Re;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","adapted","createFrameworkStoreAdapter","provide","onUnmounted","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, onUnmounted, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n\n onUnmounted(() => {\n (adapted as any).feature?.cleanup?.();\n });\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = reactive({\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n });\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n // Main handlers and values (flat)\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n // Metadata (grouped)\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
1
+ {"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","../../src/vue/context.ts","../../src/vue/use-bit-form.ts","../../src/vue/use-bit-field.ts","../../src/vue/use-bit-array.ts"],"names":["BIT_STORE_KEY","provideBitStore","store","adapted","createFrameworkStoreAdapter","provide","onUnmounted","useBitStore","inject","useBitForm","state","shallowRef","submitError","ref","lastResponse","unsubscribe","observeFormMetaSnapshot","nextMeta","controller","actions","createFrameworkFormBinding","result","error","isValid","computed","isSubmitting","isDirty","onSubmit","reset","reactive","useBitField","path","fieldController","createFrameworkMaskedFieldBinding","nextState","cleanupRegisteredField","rawValue","displayValue","modelValue","val","metaState","deriveFieldMeta","touched","invalid","isValidating","isHidden","isRequired","hasError","setValue","setBlur","useBitArray","createArrayBinding","values","cleanupRegisteredPrefix"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/vue/index.cjs","sourcesContent":[null,"import { inject, onUnmounted, provide, InjectionKey } from \"vue\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nexport const BIT_STORE_KEY: InjectionKey<BitFrameworkStoreApi<any>> =\n Symbol(\"BIT_STORE\");\n\nexport function provideBitStore<T extends object>(\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>,\n) {\n const adapted = createFrameworkStoreAdapter<T>(store);\n provide(BIT_STORE_KEY, adapted);\n\n onUnmounted(() => {\n adapted.feature?.cleanup?.();\n });\n}\n\nexport function useBitStore<T extends object>() {\n const store = inject(BIT_STORE_KEY);\n if (!store)\n throw new Error(\n \"BitForm Vue hooks devem ser usados sob um provideBitStore\",\n );\n return store as BitFrameworkStoreApi<T>;\n}\n","import { computed, onUnmounted, shallowRef, ref, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport { createFrameworkFormBinding, observeFormMetaSnapshot } from \"../core\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n const state = shallowRef({\n isValid: true,\n isDirty: false,\n isSubmitting: false,\n });\n const submitError = ref<Error | null>(null);\n const lastResponse = ref<unknown>(null);\n\n const unsubscribe = observeFormMetaSnapshot(store, (nextMeta) => {\n state.value = nextMeta;\n });\n\n onUnmounted(unsubscribe);\n\n const { controller, actions } = createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n submitError.value = null;\n lastResponse.value = null;\n },\n setSubmissionResult: (result) => {\n lastResponse.value = result;\n },\n setSubmissionError: (error) => {\n submitError.value = error;\n },\n });\n\n const isValid = computed(() => state.value.isValid);\n const isSubmitting = computed(() => state.value.isSubmitting);\n const isDirty = computed(() => state.value.isDirty);\n\n const onSubmit = controller.onSubmit;\n const reset = controller.reset;\n\n const meta = reactive({\n isValid,\n isDirty,\n isSubmitting,\n submitError,\n lastResponse,\n });\n\n return {\n // Metadata (grouped)\n meta,\n // Getters\n getValues: controller.getValues,\n getErrors: controller.getErrors,\n getTouched: controller.getTouched,\n getDirtyValues: controller.getDirtyValues,\n // Main actions (frequent use - flat)\n submit: controller.submit,\n onSubmit,\n reset,\n ...actions,\n };\n}\n","import { computed, onUnmounted, shallowRef, reactive } from \"vue\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFieldVueResult } from \"./types\";\nimport type { BitPath, BitPathValue } from \"../core\";\nimport {\n cleanupRegisteredField,\n createFrameworkMaskedFieldBinding,\n deriveFieldMeta,\n} from \"../core\";\n\nexport function useBitField<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): UseBitFieldVueResult<BitPathValue<TForm, P>> {\n const store = useBitStore<TForm>();\n\n const { fieldController } = createFrameworkMaskedFieldBinding(store, path);\n\n const state = shallowRef(store.read.getFieldState(path));\n\n const unsubscribe = store.observe.subscribeFieldState(path, (nextState) => {\n state.value = nextState;\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredField(store, path as string);\n });\n\n const rawValue = computed(() => state.value.value as BitPathValue<TForm, P>);\n\n const displayValue = computed(() =>\n fieldController.displayValue(rawValue.value),\n );\n\n const modelValue = computed({\n get: () => displayValue.value,\n set: (val: string | number | null | undefined) => {\n fieldController.setValue(val);\n },\n });\n\n const metaState = computed(() => deriveFieldMeta(state.value));\n const error = computed(() => metaState.value.error);\n const touched = computed(() => metaState.value.touched);\n const invalid = computed(() => metaState.value.invalid);\n const isValidating = computed(() => metaState.value.isValidating);\n const isDirty = computed(() => metaState.value.isDirty);\n const isHidden = computed(() => metaState.value.isHidden);\n const isRequired = computed(() => metaState.value.isRequired);\n const hasError = computed(() => metaState.value.hasError);\n\n const setValue = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n fieldController.setValue(val);\n };\n\n const setBlur = () => fieldController.setBlur();\n\n const onInput = (\n val: BitPathValue<TForm, P> | string | number | null | undefined,\n ) => {\n setValue(val);\n };\n\n const onBlur = () => {\n setBlur();\n };\n\n return {\n value: rawValue,\n displayValue,\n modelValue,\n setValue,\n setBlur,\n onInput,\n onBlur,\n meta: reactive({\n error,\n touched,\n invalid,\n isValidating,\n isDirty,\n isHidden,\n isRequired,\n hasError,\n }),\n };\n}\n","import { computed, onUnmounted, shallowRef } from \"vue\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = createArrayBinding<TForm, P>(store, path);\n const values = shallowRef(controller.readItems());\n\n const unsubscribe = store.observe.subscribePath(path, () => {\n values.value = controller.readItems();\n });\n\n onUnmounted(() => {\n unsubscribe();\n cleanupRegisteredPrefix(store, `${path as string}.`);\n });\n\n const fields = computed(() => controller.getFields(values.value));\n\n const length = computed(() => values.value.length);\n\n return {\n fields,\n length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n };\n}\n"]}
package/dist/vue/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as G,b as Y}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as I}from"../chunk-PRMNTQD5.js";import{c as H,f as K,g as C,h as q,i as O,j as W,k as _}from"../chunk-XPY6TCOO.js";import{a as z}from"../chunk-W2E5UIXT.js";import{b as M,f as A,g as j}from"../chunk-UIKO6GGW.js";import{a as L}from"../chunk-L57KMBXS.js";import"../chunk-X3OFU2UH.js";import{c as k,f as D}from"../chunk-JVRTPL7W.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{inject as ee,onUnmounted as te,provide as re}from"vue";var $=Symbol("BIT_STORE");function oe(t){let e=I(t);re($,e),te(()=>{e.feature?.cleanup?.()})}function i(){let t=ee($);if(!t)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return t}import{computed as x,onUnmounted as se,shallowRef as ae,ref as J,reactive as ie}from"vue";function ne(){let t=i(),e=ae({isValid:!0,isDirty:!1,isSubmitting:!1}),r=J(null),o=J(null),s=H(t,S=>{e.value=S});se(s);let{controller:a,actions:n}=O(t,{clearSubmissionState:()=>{r.value=null,o.value=null},setSubmissionResult:S=>{o.value=S},setSubmissionError:S=>{r.value=S}}),c=x(()=>e.value.isValid),u=x(()=>e.value.isSubmitting),d=x(()=>e.value.isDirty),f=a.onSubmit,l=a.reset;return{meta:ie({isValid:c,isDirty:d,isSubmitting:u,submitError:r,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:f,reset:l,...n}}import{computed as p,onUnmounted as ue,shallowRef as le,reactive as ce}from"vue";function U(t){let e=i(),{fieldController:r}=q(e,t),o=le(e.read.getFieldState(t)),s=e.observe.subscribeFieldState(t,m=>{o.value=m});ue(()=>{s(),W(e,t)});let a=p(()=>o.value.value),n=p(()=>r.displayValue(a.value)),c=p({get:()=>n.value,set:m=>{r.setValue(m)}}),u=p(()=>L(o.value)),d=p(()=>u.value.error),f=p(()=>u.value.touched),l=p(()=>u.value.invalid),y=p(()=>u.value.isValidating),S=p(()=>u.value.isDirty),P=p(()=>u.value.isHidden),V=p(()=>u.value.isRequired),R=p(()=>u.value.hasError),b=m=>{r.setValue(m)},F=()=>r.setBlur();return{value:a,displayValue:n,modelValue:c,setValue:b,setBlur:F,onInput:m=>{b(m)},onBlur:()=>{F()},meta:ce({error:d,touched:f,invalid:l,isValidating:y,isDirty:S,isHidden:P,isRequired:V,hasError:R})}}import{computed as Q,onUnmounted as me,shallowRef as pe}from"vue";function de(t){let e=i(),r=C(e,t),o=pe(r.readItems()),s=e.observe.subscribePath(t,()=>{o.value=r.readItems()});me(()=>{s(),_(e,`${t}.`)});let a=Q(()=>r.getFields(o.value)),n=Q(()=>o.value.length);return{fields:a,length:n,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}}import{computed as h,onUnmounted as ve,shallowRef as fe}from"vue";function Se(){let t=i(),e=fe(A(t)),r=j(t,a=>{e.value=a});ve(r);let o=()=>t.feature.undo(),s=()=>t.feature.redo();return{canUndo:h(()=>e.value.canUndo),canRedo:h(()=>e.value.canRedo),historyIndex:h(()=>e.value.historyIndex),historySize:h(()=>e.value.historySize),undo:o,redo:s}}import{computed as T,onUnmounted as Be,ref as ge}from"vue";function ye(t){let e=i(),r=ge(e.read.getScopeStatus(t)),o=z(e,t,d=>{r.value=d});Be(()=>{o()});let s=async()=>{let d=await e.feature.validate({scope:t}),f=e.read.getScopeErrors(t);return{valid:d,errors:f}},a=()=>e.read.getScopeErrors(t),n=T(()=>!r.value.hasErrors),c=T(()=>r.value.isDirty),u=T(()=>r.value.errors);return{scopeName:t,status:r,errors:u,validate:s,getErrors:a,isValid:n,isDirty:c}}import{computed as g,onUnmounted as be,ref as X}from"vue";function Fe(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),r=X(0),o=g(()=>t[r.value]??""),s=X(e.read.getScopeStatus(o.value)),a=()=>{let v=o.value,B=e.read.getScopeStatus(v);M(s.value,B)||(s.value=B)},n=e.observe.subscribeScopeStatus(o.value,a),c=()=>{n(),n=e.observe.subscribeScopeStatus(o.value,a)};be(()=>{n()});let u=async()=>{let v=o.value,B=await e.feature.validate({scope:v}),m=e.read.getScopeErrors(v);return{valid:B,errors:m}},d=()=>e.read.getScopeErrors(o.value),f=async()=>{let v=o.value,B=e.read.getScopeFields(v);if(e.feature.hasValidationsInProgress(B))return!1;let m=await e.feature.validate({scope:v});if(m)r.value=Math.min(r.value+1,t.length-1),s.value=e.read.getScopeStatus(o.value),c();else{let N=e.read.getScopeErrors(v),E=Object.keys(N);E.length>0&&e.write.markFieldsTouched(E)}return m},l=()=>{r.value=Math.max(r.value-1,0),s.value=e.read.getScopeStatus(o.value),c()},y=v=>{r.value=Math.max(0,Math.min(v-1,t.length-1)),s.value=e.read.getScopeStatus(o.value),c()},S=g(()=>r.value+1),P=g(()=>r.value===0),V=g(()=>r.value>=t.length-1),R=g(()=>!s.value.hasErrors),b=g(()=>s.value.isDirty),F=g(()=>s.value.errors);return{step:S,stepIndex:r,scope:o,next:f,prev:l,goTo:y,isFirst:P,isLast:V,status:s,errors:F,isValid:R,isDirty:b,validate:u,getErrors:d}}import{ref as he,onUnmounted as Pe,readonly as Ve}from"vue";function Re(t){let e=i(),r=D(e.read.getState().values,t),o=he(r),s=e.observe.subscribePath(t,a=>{k(o.value,a)||(o.value=a)});return Pe(s),Ve(o)}import{computed as Z,ref as xe}from"vue";function Ue(t,e,r){let o=i(),s=U(t),a=null,n=xe(!1),c={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},d=G(t,e,u,c),f=Y(t,r,u,c);return{value:s.value,setValue:s.setValue,error:Z(()=>s.meta.error),isValidating:Z(()=>!!s.meta.isValidating||n.value),upload:d,remove:f}}import{computed as w,onUnmounted as Te,ref as we,reactive as Ee}from"vue";function ke(){let t=i(),e=we(t.read.getPersistMetadata()),r=K(t,n=>{e.value=n});return Te(()=>r()),{restore:async()=>t.feature.restorePersisted(),save:async()=>{await t.feature.forceSave()},clear:async()=>{await t.feature.clearPersisted()},meta:Ee({isSaving:w(()=>e.value.isSaving),isRestoring:w(()=>e.value.isRestoring),error:w(()=>e.value.error)})}}export{oe as provideBitStore,de as useBitArray,U as useBitField,ne as useBitForm,Se as useBitHistory,ke as useBitPersist,ye as useBitScope,Fe as useBitSteps,i as useBitStore,Ue as useBitUpload,Re as useBitWatch};
1
+ import{a as $,b as J}from"../chunk-CATA7YEV.js";import"../chunk-5NA2TFPG.js";import{d as K}from"../chunk-7T7L2TZX.js";import{c as C,f as q,g as O,h as W,i as _,j as z,k as L}from"../chunk-L42NQRVD.js";import{a as G}from"../chunk-W2E5UIXT.js";import{b as w,f as j,g as H}from"../chunk-UIKO6GGW.js";import{a as Y}from"../chunk-L57KMBXS.js";import"../chunk-Y7TQTZY7.js";import{c as M,f as A}from"../chunk-UBVVBVLS.js";import"../chunk-MBEQLBJB.js";import"../chunk-DGEGYNQL.js";import{inject as te,onUnmounted as re,provide as oe}from"vue";var Q=Symbol("BIT_STORE");function se(r){let e=K(r);oe(Q,e),re(()=>{e.feature?.cleanup?.()})}function i(){let r=te(Q);if(!r)throw new Error("BitForm Vue hooks devem ser usados sob um provideBitStore");return r}import{computed as E,onUnmounted as ae,shallowRef as ie,ref as X,reactive as ne}from"vue";function ue(){let r=i(),e=ie({isValid:!0,isDirty:!1,isSubmitting:!1}),t=X(null),o=X(null),s=C(r,B=>{e.value=B});ae(s);let{controller:a,actions:n}=_(r,{clearSubmissionState:()=>{t.value=null,o.value=null},setSubmissionResult:B=>{o.value=B},setSubmissionError:B=>{t.value=B}}),p=E(()=>e.value.isValid),u=E(()=>e.value.isSubmitting),v=E(()=>e.value.isDirty),S=a.onSubmit,l=a.reset;return{meta:ne({isValid:p,isDirty:v,isSubmitting:u,submitError:t,lastResponse:o}),getValues:a.getValues,getErrors:a.getErrors,getTouched:a.getTouched,getDirtyValues:a.getDirtyValues,submit:a.submit,onSubmit:S,reset:l,...n}}import{computed as m,onUnmounted as le,shallowRef as ce,reactive as pe}from"vue";function k(r){let e=i(),{fieldController:t}=W(e,r),o=ce(e.read.getFieldState(r)),s=e.observe.subscribeFieldState(r,d=>{o.value=d});le(()=>{s(),z(e,r)});let a=m(()=>o.value.value),n=m(()=>t.displayValue(a.value)),p=m({get:()=>n.value,set:d=>{t.setValue(d)}}),u=m(()=>Y(o.value)),v=m(()=>u.value.error),S=m(()=>u.value.touched),l=m(()=>u.value.invalid),y=m(()=>u.value.isValidating),B=m(()=>u.value.isDirty),V=m(()=>u.value.isHidden),R=m(()=>u.value.isRequired),x=m(()=>u.value.hasError),F=d=>{t.setValue(d)},h=()=>t.setBlur();return{value:a,displayValue:n,modelValue:p,setValue:F,setBlur:h,onInput:d=>{F(d)},onBlur:()=>{h()},meta:pe({error:v,touched:S,invalid:l,isValidating:y,isDirty:B,isHidden:V,isRequired:R,hasError:x})}}import{computed as Z,onUnmounted as de,shallowRef as me}from"vue";function ve(r){let e=i(),t=O(e,r),o=me(t.readItems()),s=e.observe.subscribePath(r,()=>{o.value=t.readItems()});de(()=>{s(),L(e,`${r}.`)});let a=Z(()=>t.getFields(o.value)),n=Z(()=>o.value.length);return{fields:a,length:n,append:t.append,prepend:t.prepend,insert:t.insert,remove:t.remove,move:t.move,swap:t.swap,replace:t.replace,clear:t.clear}}import{computed as U,onUnmounted as fe,shallowRef as Se}from"vue";function Be(){let r=i(),e=Se(j(r)),t=H(r,a=>{e.value=a});fe(t);let o=()=>{e.value.canUndo&&r.feature.undo()},s=()=>{e.value.canRedo&&r.feature.redo()};return{canUndo:U(()=>e.value.canUndo),canRedo:U(()=>e.value.canRedo),historyIndex:U(()=>e.value.historyIndex),historySize:U(()=>e.value.historySize),undo:o,redo:s}}import{computed as D,onUnmounted as ge,ref as be}from"vue";function ye(r){let e=i(),t=be(e.read.getScopeStatus(r)),o=G(e,r,v=>{t.value=v});ge(()=>{o()});let s=async()=>{let v=await e.feature.validate({scope:r}),S=e.read.getScopeErrors(r);return{valid:v,errors:S}},a=()=>e.read.getScopeErrors(r),n=D(()=>!t.value.hasErrors),p=D(()=>t.value.isDirty),u=D(()=>t.value.errors);return{scopeName:r,status:t,errors:u,validate:s,getErrors:a,isValid:n,isDirty:p}}import{computed as b,onUnmounted as Fe,ref as N}from"vue";function he(r){if(r.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=i(),t=N(0),o=b(()=>r[t.value]??""),s=N(e.read.getScopeStatus(o.value)),a=o.value,n=e.observe.subscribeScopeStatus(a,c=>{o.value===a&&(w(s.value,c)||(s.value=c))}),p=()=>{let c=o.value,f=e.observe.subscribeScopeStatus(c,g=>{o.value===c&&(w(s.value,g)||(s.value=g))}),d=n;n=f,a=c,d()};Fe(()=>{n()});let u=async()=>{let c=o.value,f=t.value,d=await e.feature.validate({scope:c});if(t.value!==f){let P=o.value;return{valid:await e.feature.validate({scope:P}),errors:e.read.getScopeErrors(P)}}let g=e.read.getScopeErrors(c);return{valid:d,errors:g}},v=()=>e.read.getScopeErrors(o.value),S=async()=>{let c=t.value,f=r[c]??"";if(!f)return!1;let d=e.read.getScopeFields(f);if(e.feature.hasValidationsInProgress(d))return!1;let g=await e.feature.validate({scope:f});if(c!==t.value)return!1;if(g)t.value=Math.min(t.value+1,r.length-1),s.value=e.read.getScopeStatus(o.value),p();else{let P=e.read.getScopeErrors(f),T=Object.keys(P);T.length>0&&e.write.markFieldsTouched(T),s.value=e.read.getScopeStatus(f)}return g},l=()=>{t.value=Math.max(t.value-1,0),s.value=e.read.getScopeStatus(o.value),p()},y=c=>{t.value=Math.max(0,Math.min(c-1,r.length-1)),s.value=e.read.getScopeStatus(o.value),p()},B=b(()=>t.value+1),V=b(()=>t.value===0),R=b(()=>t.value>=r.length-1),x=b(()=>!s.value.hasErrors),F=b(()=>s.value.isDirty),h=b(()=>s.value.errors);return{step:B,stepIndex:t,scope:o,next:S,prev:l,goTo:y,isFirst:V,isLast:R,status:s,errors:h,isValid:x,isDirty:F,validate:u,getErrors:v}}import{ref as Pe,onUnmounted as Ue,readonly as Ve}from"vue";function Re(r){let e=i(),t=A(e.read.getState().values,r),o=Pe(t),s=e.observe.subscribePath(r,a=>{M(o.value,a)||(o.value=a)});return Ue(s),Ve(o)}import{computed as ee,onUnmounted as xe,ref as Te}from"vue";function we(r,e,t){let o=i(),s=k(r),a=null,n=Te(!1),p={current:0},u={setLoading:l=>{n.value=l},setError:(l,y)=>o.write.setError(l,y),setValue:l=>s.setValue(l),getUploadKey:()=>a,setUploadKey:l=>{a=l},onCallbackError:l=>o.read.config.onUnhandledError(l,"upload")},v=$(r,e,u,p),S=J(r,t,u,p);return xe(()=>{p.current++,a=null}),{value:s.value,setValue:s.setValue,error:ee(()=>s.meta.error),isValidating:ee(()=>!!s.meta.isValidating||n.value),upload:v,remove:S}}import{computed as I,onUnmounted as Ee,ref as ke,reactive as De}from"vue";function Ie(){let r=i(),e=ke(r.read.getPersistMetadata()),t=q(r,n=>{e.value=n});return Ee(()=>t()),{restore:async()=>r.feature.restorePersisted(),save:async()=>{await r.feature.forceSave()},clear:async()=>{await r.feature.clearPersisted()},meta:De({isSaving:I(()=>e.value.isSaving),isRestoring:I(()=>e.value.isRestoring),error:I(()=>e.value.error)})}}export{se as provideBitStore,ve as useBitArray,k as useBitField,ue as useBitForm,Be as useBitHistory,Ie as useBitPersist,ye as useBitScope,he as useBitSteps,i as useBitStore,we as useBitUpload,Re as useBitWatch};
2
2
  //# sourceMappingURL=index.js.map