mlform 0.1.8 → 0.1.10

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 (387) hide show
  1. package/README.md +21 -17
  2. package/dist/builtins-D8rXH4ED.js +725 -0
  3. package/dist/{design-system-Dxx1Sh7r.js → design-6suKVQDo.js} +577 -396
  4. package/dist/mlform/builtins.mjs +2 -0
  5. package/dist/mlform/design.mjs +2 -0
  6. package/dist/mlform/kit.mjs +1896 -3
  7. package/dist/mlform/primitives.mjs +2 -2
  8. package/dist/mlform/runtime.mjs +3 -5
  9. package/dist/mlform/schema.mjs +2 -102
  10. package/dist/mlform/transport.mjs +2 -2
  11. package/dist/{primitives-Duag8Lj0.js → primitives-k9HTnd72.js} +2304 -3348
  12. package/dist/runtime-CI7vlp9i.js +1703 -0
  13. package/dist/schema-DSAZ6bts.js +88 -0
  14. package/dist/{transport-CtVX8ZUT.js → transport-CO6udZ6z.js} +633 -605
  15. package/dist/types/builtins/definitions/collections.d.ts +70 -0
  16. package/dist/types/builtins/definitions/fields/boolean.d.ts +9 -0
  17. package/dist/types/builtins/definitions/fields/category.d.ts +12 -0
  18. package/dist/types/builtins/definitions/fields/date.d.ts +10 -0
  19. package/dist/types/builtins/definitions/fields/long-text.d.ts +11 -0
  20. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/mapped-category.d.ts +3 -2
  21. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/multi-choice.d.ts +3 -2
  22. package/dist/types/builtins/definitions/fields/number.d.ts +12 -0
  23. package/dist/types/builtins/definitions/fields/rating.d.ts +10 -0
  24. package/dist/types/builtins/definitions/fields/series-helpers.d.ts +52 -0
  25. package/dist/types/builtins/definitions/fields/series.d.ts +3 -0
  26. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/single-choice.d.ts +3 -2
  27. package/dist/types/builtins/definitions/fields/text.d.ts +11 -0
  28. package/dist/types/{src/shared/object.d.ts → builtins/definitions/fields/value-helpers.d.ts} +1 -0
  29. package/dist/types/builtins/definitions/index.d.ts +14 -0
  30. package/dist/types/builtins/definitions/reports/classifier.d.ts +9 -0
  31. package/dist/types/builtins/definitions/reports/regressor.d.ts +9 -0
  32. package/dist/types/{src/runtime/builtins → builtins/definitions}/shared.d.ts +16 -1
  33. package/dist/types/builtins/index.d.ts +5 -0
  34. package/dist/types/builtins/mapped-category-behavior.d.ts +2 -0
  35. package/dist/types/builtins/registry-pack.d.ts +10 -0
  36. package/dist/types/design/recipes/collections.d.ts +2 -0
  37. package/dist/types/design/recipes/index.d.ts +2 -0
  38. package/dist/types/{src/design-system → design}/registry/builtins.d.ts +0 -3
  39. package/dist/types/{src/design-system → design}/registry/index.d.ts +3 -1
  40. package/dist/types/design/resolve/index.d.ts +4 -0
  41. package/dist/types/{src/design-system/resolve/index.d.ts → design/resolve/resolve-design.d.ts} +0 -3
  42. package/dist/types/design/runtime/controller-helpers.d.ts +12 -0
  43. package/dist/types/{src/design-system → design}/runtime/index.d.ts +3 -3
  44. package/dist/types/design/themes/airbnb.d.ts +2 -0
  45. package/dist/types/design/themes/clickhouse.d.ts +2 -0
  46. package/dist/types/design/themes/collections.d.ts +2 -0
  47. package/dist/types/design/themes/index.d.ts +3 -0
  48. package/dist/types/{src/design-system → design}/types.d.ts +1 -1
  49. package/dist/types/{src/kit → kit}/constants.d.ts +3 -11
  50. package/dist/types/{src/kit → kit}/defaults.d.ts +4 -4
  51. package/dist/types/kit/disclosure-root-styles.d.ts +1 -0
  52. package/dist/types/kit/error-navigation.d.ts +3 -0
  53. package/dist/types/kit/index.d.ts +7 -0
  54. package/dist/types/{src/presentation → kit/kinds}/define-field-kind.d.ts +11 -3
  55. package/dist/types/kit/kinds/define-report-kind.d.ts +40 -0
  56. package/dist/types/kit/kinds/index.d.ts +3 -0
  57. package/dist/types/kit/kinds/register-kind.d.ts +5 -0
  58. package/dist/types/{src/kit → kit}/layout-helpers.d.ts +7 -11
  59. package/dist/types/kit/layout-node-render.d.ts +18 -0
  60. package/dist/types/{src/kit → kit}/layout-node-resolver.d.ts +1 -1
  61. package/dist/types/{src/kit/accordion-root.d.ts → kit/layout-root.d.ts} +3 -4
  62. package/dist/types/{src/kit → kit}/layout-types.d.ts +8 -36
  63. package/dist/types/{src/kit → kit}/layout-utils.d.ts +0 -1
  64. package/dist/types/{src/kit → kit}/layout.d.ts +2 -2
  65. package/dist/types/{src/kit → kit}/mount-types.d.ts +8 -7
  66. package/dist/types/{src/kit → kit}/panel-nav.d.ts +1 -1
  67. package/dist/types/{src/kit → kit}/tabs-root.d.ts +1 -2
  68. package/dist/types/kit/types.d.ts +4 -0
  69. package/dist/types/kit/view-core-types.d.ts +110 -0
  70. package/dist/types/{src/kit → kit}/view-layout-state.d.ts +10 -3
  71. package/dist/types/{src/kit → kit}/view-navigation.d.ts +4 -4
  72. package/dist/types/kit/view-snapshot-cache.d.ts +14 -0
  73. package/dist/types/kit/view-snapshot.d.ts +15 -0
  74. package/dist/types/kit/view-types.d.ts +1 -0
  75. package/dist/types/kit/view.d.ts +2 -0
  76. package/dist/types/{src/kit → kit}/wizard-root.d.ts +1 -2
  77. package/dist/types/{src/primitives → primitives}/base-async-report-element.d.ts +1 -1
  78. package/dist/types/{src/primitives → primitives}/base-field-element.d.ts +3 -3
  79. package/dist/types/{src/primitives → primitives}/base-report-element.d.ts +3 -3
  80. package/dist/types/primitives/components/descriptor-content.d.ts +4 -0
  81. package/dist/types/primitives/components/error-focus.d.ts +5 -0
  82. package/dist/types/{src/primitives → primitives}/components/field-frame-feedback.d.ts +3 -3
  83. package/dist/types/{src/primitives → primitives}/components/field-frame.d.ts +3 -3
  84. package/dist/types/{src/primitives → primitives}/components/form-errors.d.ts +2 -2
  85. package/dist/types/primitives/components/form-root-presenters.d.ts +12 -0
  86. package/dist/types/primitives/components/form-root-split-styles.d.ts +1 -0
  87. package/dist/types/{src/primitives → primitives}/components/form-root-state.d.ts +4 -6
  88. package/dist/types/{src/primitives → primitives}/components/form-root-templates.d.ts +4 -8
  89. package/dist/types/{src/primitives → primitives}/components/form-root.d.ts +4 -4
  90. package/dist/types/{src/primitives → primitives}/components/report-frame.d.ts +4 -4
  91. package/dist/types/{src/primitives → primitives}/components/submit-button.d.ts +2 -2
  92. package/dist/types/{src/primitives → primitives}/constants.d.ts +6 -9
  93. package/dist/types/primitives/controller-types.d.ts +96 -0
  94. package/dist/types/primitives/descriptor-resolution.d.ts +6 -0
  95. package/dist/types/primitives/descriptors/content.d.ts +61 -0
  96. package/dist/types/primitives/descriptors/field.d.ts +32 -0
  97. package/dist/types/primitives/descriptors/index.d.ts +5 -0
  98. package/dist/types/primitives/descriptors/registry.d.ts +11 -0
  99. package/dist/types/primitives/descriptors/report.d.ts +20 -0
  100. package/dist/types/primitives/fields/series-field-renderers.d.ts +18 -0
  101. package/dist/types/primitives/index.d.ts +13 -0
  102. package/dist/types/primitives/mount-form.d.ts +4 -0
  103. package/dist/types/primitives/request-runner.d.ts +13 -0
  104. package/dist/types/{src/primitives → primitives}/types.d.ts +16 -53
  105. package/dist/types/runtime/create-runtime-helpers.d.ts +11 -0
  106. package/dist/types/{src/runtime → runtime}/errors.d.ts +3 -4
  107. package/dist/types/runtime/index.d.ts +10 -0
  108. package/dist/types/{src/runtime → runtime}/reports/controller.d.ts +3 -2
  109. package/dist/types/{src/runtime → runtime}/runtime-behaviors.d.ts +1 -1
  110. package/dist/types/{src/runtime → runtime}/runtime-controller.d.ts +1 -5
  111. package/dist/types/{src/runtime → runtime}/state/engine.d.ts +1 -2
  112. package/dist/types/runtime/submission/create-submitter.d.ts +2 -0
  113. package/dist/types/{src/runtime → runtime}/submission/index.d.ts +1 -1
  114. package/dist/types/{src/runtime → runtime}/submission/lifecycle.d.ts +1 -2
  115. package/dist/types/runtime/submission/pending-patches.d.ts +2 -0
  116. package/dist/types/{src/runtime → runtime}/submission/pipeline.d.ts +1 -1
  117. package/dist/types/runtime/submission/report-fetches.d.ts +2 -0
  118. package/dist/types/runtime/submission/stream-events.d.ts +13 -0
  119. package/dist/types/{src/runtime → runtime}/submission/types.d.ts +1 -2
  120. package/dist/types/{src/runtime → runtime}/types/behavior.d.ts +1 -1
  121. package/dist/types/{src/runtime → runtime}/types/field.d.ts +3 -10
  122. package/dist/types/{src/runtime → runtime}/types/form.d.ts +9 -13
  123. package/dist/types/runtime/types/index.d.ts +7 -0
  124. package/dist/types/{src/runtime → runtime}/types/pipeline.d.ts +10 -10
  125. package/dist/types/runtime/types/registry.d.ts +5 -0
  126. package/dist/types/runtime/types/report.d.ts +16 -0
  127. package/dist/types/{src/runtime → runtime}/types/transport.d.ts +4 -5
  128. package/dist/types/{src/runtime → runtime}/utils.d.ts +1 -3
  129. package/dist/types/{src/runtime → runtime}/validation/form.d.ts +1 -1
  130. package/dist/types/schema/ids.d.ts +1 -0
  131. package/dist/types/{src/schema → schema}/index.d.ts +3 -1
  132. package/dist/types/schema/registry.d.ts +7 -0
  133. package/dist/types/schema/report-fetch-request.d.ts +6 -0
  134. package/dist/types/{src/schema → schema}/types/form.d.ts +0 -3
  135. package/dist/types/{src/schema → schema}/types/registry.d.ts +0 -5
  136. package/dist/types/{src/schema → schema}/types/report.d.ts +25 -3
  137. package/dist/types/schema/types/submit.d.ts +11 -0
  138. package/dist/types/transport/composition/fanout-options.d.ts +9 -0
  139. package/dist/types/{src/transport → transport}/errors.d.ts +1 -2
  140. package/dist/types/{src/transport → transport}/index.d.ts +2 -0
  141. package/dist/types/transport/request-runner.d.ts +16 -0
  142. package/package.json +13 -26
  143. package/dist/builtins-DegwhFGA.js +0 -3507
  144. package/dist/builtins-ml-9qB2MOxt.js +0 -51
  145. package/dist/errors-B3H1wRwj.js +0 -8
  146. package/dist/kit-CuRF6dhL.js +0 -1847
  147. package/dist/mlform/behaviors.mjs +0 -32
  148. package/dist/mlform/builtins-ml.mjs +0 -3
  149. package/dist/mlform/design-system.mjs +0 -2
  150. package/dist/mlform/presentation.mjs +0 -2
  151. package/dist/mlform.mjs +0 -8
  152. package/dist/presentation-CkQuYheR.js +0 -200
  153. package/dist/runtime-DMjDVo0H.js +0 -1824
  154. package/dist/strings-CWwrrYzz.js +0 -4
  155. package/dist/types/src/behaviors/index.d.ts +0 -3
  156. package/dist/types/src/builtins-ml/index.d.ts +0 -5
  157. package/dist/types/src/design-system/recipes/index.d.ts +0 -4
  158. package/dist/types/src/design-system/themes/index.d.ts +0 -5
  159. package/dist/types/src/index.d.ts +0 -13
  160. package/dist/types/src/kit/accordion-root-styles.d.ts +0 -1
  161. package/dist/types/src/kit/accordion.d.ts +0 -2
  162. package/dist/types/src/kit/index.d.ts +0 -9
  163. package/dist/types/src/kit/layout-node-render.d.ts +0 -18
  164. package/dist/types/src/kit/tabs.d.ts +0 -2
  165. package/dist/types/src/kit/types.d.ts +0 -5
  166. package/dist/types/src/kit/view-snapshot-cache.d.ts +0 -14
  167. package/dist/types/src/kit/view-snapshot.d.ts +0 -15
  168. package/dist/types/src/kit/view-types.d.ts +0 -172
  169. package/dist/types/src/kit/view.d.ts +0 -8
  170. package/dist/types/src/kit/wizard.d.ts +0 -2
  171. package/dist/types/src/packs/default.d.ts +0 -2
  172. package/dist/types/src/packs/index.d.ts +0 -3
  173. package/dist/types/src/packs/ml.d.ts +0 -2
  174. package/dist/types/src/packs/shared.d.ts +0 -25
  175. package/dist/types/src/presentation/define-explanation-kind.d.ts +0 -11
  176. package/dist/types/src/presentation/define-report-kind.d.ts +0 -15
  177. package/dist/types/src/presentation/index.d.ts +0 -10
  178. package/dist/types/src/presentation/register-kind.d.ts +0 -6
  179. package/dist/types/src/presentation/registry.d.ts +0 -15
  180. package/dist/types/src/presentation/types/explanation.d.ts +0 -32
  181. package/dist/types/src/presentation/types/field.d.ts +0 -36
  182. package/dist/types/src/presentation/types/presentation.d.ts +0 -61
  183. package/dist/types/src/presentation/types/report.d.ts +0 -41
  184. package/dist/types/src/primitives/base-explanation-element.d.ts +0 -22
  185. package/dist/types/src/primitives/components/declarative-explanation.d.ts +0 -5
  186. package/dist/types/src/primitives/components/explanation-panel.d.ts +0 -24
  187. package/dist/types/src/primitives/components/form-root-presenters.d.ts +0 -17
  188. package/dist/types/src/primitives/components/presentation.d.ts +0 -4
  189. package/dist/types/src/primitives/index.d.ts +0 -8
  190. package/dist/types/src/primitives/mount-form.d.ts +0 -4
  191. package/dist/types/src/primitives/presentation.d.ts +0 -8
  192. package/dist/types/src/runtime/builtins/fields/boolean.d.ts +0 -8
  193. package/dist/types/src/runtime/builtins/fields/category.d.ts +0 -11
  194. package/dist/types/src/runtime/builtins/fields/date.d.ts +0 -9
  195. package/dist/types/src/runtime/builtins/fields/long-text.d.ts +0 -10
  196. package/dist/types/src/runtime/builtins/fields/number.d.ts +0 -11
  197. package/dist/types/src/runtime/builtins/fields/rating.d.ts +0 -9
  198. package/dist/types/src/runtime/builtins/fields/series.d.ts +0 -20
  199. package/dist/types/src/runtime/builtins/fields/text.d.ts +0 -10
  200. package/dist/types/src/runtime/builtins/index.d.ts +0 -103
  201. package/dist/types/src/runtime/builtins/reports/classifier.d.ts +0 -8
  202. package/dist/types/src/runtime/builtins/reports/regressor.d.ts +0 -8
  203. package/dist/types/src/runtime/declarative/explanation.d.ts +0 -2
  204. package/dist/types/src/runtime/declarative/field.d.ts +0 -2
  205. package/dist/types/src/runtime/declarative/presentation.d.ts +0 -61
  206. package/dist/types/src/runtime/declarative/report.d.ts +0 -2
  207. package/dist/types/src/runtime/explanations/controller.d.ts +0 -13
  208. package/dist/types/src/runtime/index.d.ts +0 -16
  209. package/dist/types/src/runtime/registry/index.d.ts +0 -5
  210. package/dist/types/src/runtime/reports/index.d.ts +0 -1
  211. package/dist/types/src/runtime/schema/index.d.ts +0 -7
  212. package/dist/types/src/runtime/submission/create-submitter.d.ts +0 -2
  213. package/dist/types/src/runtime/submission/explanations.d.ts +0 -2
  214. package/dist/types/src/runtime/types/explanation.d.ts +0 -22
  215. package/dist/types/src/runtime/types/index.d.ts +0 -9
  216. package/dist/types/src/runtime/types/registry.d.ts +0 -6
  217. package/dist/types/src/runtime/types/report.d.ts +0 -23
  218. package/dist/types/src/schema/registry.d.ts +0 -9
  219. package/dist/types/src/schema/types/explanation.d.ts +0 -43
  220. package/dist/types/src/shared/errors.d.ts +0 -3
  221. package/dist/types/src/shared/index.d.ts +0 -3
  222. package/dist/types/src/shared/strings.d.ts +0 -1
  223. /package/dist/types/{src/runtime → builtins}/constants.d.ts +0 -0
  224. /package/dist/types/{src/design-system → design}/constants.d.ts +0 -0
  225. /package/dist/types/{src/design-system → design}/contract/component-keys.d.ts +0 -0
  226. /package/dist/types/{src/design-system → design}/contract/component-tokens.d.ts +0 -0
  227. /package/dist/types/{src/design-system → design}/contract/global-tokens.d.ts +0 -0
  228. /package/dist/types/{src/design-system → design}/contract/index.d.ts +0 -0
  229. /package/dist/types/{src/design-system → design}/contract/token-keys.d.ts +0 -0
  230. /package/dist/types/{src/design-system → design}/index.d.ts +0 -0
  231. /package/dist/types/{src/design-system → design}/recipes/contrast.d.ts +0 -0
  232. /package/dist/types/{src/design-system → design}/recipes/default.d.ts +0 -0
  233. /package/dist/types/{src/design-system → design}/recipes/minimal.d.ts +0 -0
  234. /package/dist/types/{src/design-system → design}/recipes/soft.d.ts +0 -0
  235. /package/dist/types/{src/design-system → design}/registry/create-registry.d.ts +0 -0
  236. /package/dist/types/{src/design-system → design}/registry/deep-freeze.d.ts +0 -0
  237. /package/dist/types/{src/design-system → design}/registry/define-recipe.d.ts +0 -0
  238. /package/dist/types/{src/design-system → design}/registry/define-theme.d.ts +0 -0
  239. /package/dist/types/{src/design-system → design}/registry/define-token-maps.d.ts +0 -0
  240. /package/dist/types/{src/design-system → design}/resolve/diagnostics.d.ts +0 -0
  241. /package/dist/types/{src/design-system → design}/resolve/merge-config.d.ts +0 -0
  242. /package/dist/types/{src/design-system → design}/resolve/migrate-tokens.d.ts +0 -0
  243. /package/dist/types/{src/design-system → design}/resolve/resolve-mode.d.ts +0 -0
  244. /package/dist/types/{src/design-system → design}/resolve/resolve-recipe.d.ts +0 -0
  245. /package/dist/types/{src/design-system → design}/resolve/resolve-theme.d.ts +0 -0
  246. /package/dist/types/{src/design-system → design}/resolve/resolve-tokens.d.ts +0 -0
  247. /package/dist/types/{src/design-system → design}/runtime/apply-tokens.d.ts +0 -0
  248. /package/dist/types/{src/design-system/runtime/attach-design-system.d.ts → design/runtime/attach-design.d.ts} +0 -0
  249. /package/dist/types/{src/design-system → design}/runtime/create-stylesheet.d.ts +0 -0
  250. /package/dist/types/{src/design-system → design}/runtime/declarations.d.ts +0 -0
  251. /package/dist/types/{src/design-system/runtime/design-system-controller.d.ts → design/runtime/design-controller.d.ts} +0 -0
  252. /package/dist/types/{src/design-system → design}/runtime/fingerprint.d.ts +0 -0
  253. /package/dist/types/{src/design-system → design}/runtime/host-observer.d.ts +0 -0
  254. /package/dist/types/{src/design-system → design}/runtime/host-state.d.ts +0 -0
  255. /package/dist/types/{src/design-system/runtime/hydrate-design-system.d.ts → design/runtime/hydrate-design.d.ts} +0 -0
  256. /package/dist/types/{src/design-system → design}/runtime/hydration-state.d.ts +0 -0
  257. /package/dist/types/{src/design-system → design}/runtime/inherited-scheme.d.ts +0 -0
  258. /package/dist/types/{src/design-system → design}/runtime/media.d.ts +0 -0
  259. /package/dist/types/{src/design-system → design}/themes/cobalt.d.ts +0 -0
  260. /package/dist/types/{src/design-system → design}/themes/graphite.d.ts +0 -0
  261. /package/dist/types/{src/design-system → design}/themes/neutral.d.ts +0 -0
  262. /package/dist/types/{src/design-system → design}/themes/sage.d.ts +0 -0
  263. /package/dist/types/{src/design-system → design}/themes/sunset.d.ts +0 -0
  264. /package/dist/types/{src/design-system → design}/tokens/base.d.ts +0 -0
  265. /package/dist/types/{src/design-system → design}/tokens/contrast.d.ts +0 -0
  266. /package/dist/types/{src/design-system → design}/tokens/density.d.ts +0 -0
  267. /package/dist/types/{src/design-system → design}/tokens/forced-colors.d.ts +0 -0
  268. /package/dist/types/{src/design-system → design}/tokens/index.d.ts +0 -0
  269. /package/dist/types/{src/design-system → design}/tokens/motion.d.ts +0 -0
  270. /package/dist/types/{src/kit → kit}/mount-form.d.ts +0 -0
  271. /package/dist/types/{src/kit → kit}/step-indicator.d.ts +0 -0
  272. /package/dist/types/{src/kit → kit}/tabs-root-styles.d.ts +0 -0
  273. /package/dist/types/{src/kit → kit}/wizard-constants.d.ts +0 -0
  274. /package/dist/types/{src/kit → kit}/wizard-root-styles.d.ts +0 -0
  275. /package/dist/types/{src/primitives → primitives}/components/declarative-field.d.ts +0 -0
  276. /package/dist/types/{src/primitives → primitives}/components/declarative-report.d.ts +0 -0
  277. /package/dist/types/{src/primitives → primitives}/components/field-frame-styles.d.ts +0 -0
  278. /package/dist/types/{src/primitives → primitives}/components/form-root-styles.d.ts +0 -0
  279. /package/dist/types/{src/primitives → primitives}/components/unsupported-component.d.ts +0 -0
  280. /package/dist/types/{src/primitives → primitives}/controller-binding.d.ts +0 -0
  281. /package/dist/types/{src/primitives → primitives}/fields/boolean-field.d.ts +0 -0
  282. /package/dist/types/{src/primitives → primitives}/fields/category-field.d.ts +0 -0
  283. /package/dist/types/{src/primitives → primitives}/fields/date-field.d.ts +0 -0
  284. /package/dist/types/{src/primitives → primitives}/fields/long-text-field.d.ts +0 -0
  285. /package/dist/types/{src/primitives → primitives}/fields/multi-choice-field.d.ts +0 -0
  286. /package/dist/types/{src/primitives → primitives}/fields/number-field.d.ts +0 -0
  287. /package/dist/types/{src/primitives → primitives}/fields/rating-field.d.ts +0 -0
  288. /package/dist/types/{src/primitives → primitives}/fields/series-field-helpers.d.ts +0 -0
  289. /package/dist/types/{src/primitives → primitives}/fields/series-field-styles.d.ts +0 -0
  290. /package/dist/types/{src/primitives → primitives}/fields/series-field.d.ts +0 -0
  291. /package/dist/types/{src/primitives → primitives}/fields/single-choice-field.d.ts +0 -0
  292. /package/dist/types/{src/primitives → primitives}/fields/text-field.d.ts +0 -0
  293. /package/dist/types/{src/primitives → primitives}/register.d.ts +0 -0
  294. /package/dist/types/{src/primitives → primitives}/registry.d.ts +0 -0
  295. /package/dist/types/{src/primitives → primitives}/reports/classifier-report.d.ts +0 -0
  296. /package/dist/types/{src/primitives → primitives}/reports/regressor-report.d.ts +0 -0
  297. /package/dist/types/{src/primitives → primitives}/utils.d.ts +0 -0
  298. /package/dist/types/{src/runtime → runtime}/comparison.d.ts +0 -0
  299. /package/dist/types/{src/runtime → runtime}/create-runtime.d.ts +0 -0
  300. /package/dist/types/{src/runtime → runtime}/equality.d.ts +0 -0
  301. /package/dist/types/{src/runtime → runtime}/fields/controller.d.ts +0 -0
  302. /package/dist/types/{src/runtime/explanations → runtime/fields}/index.d.ts +0 -0
  303. /package/dist/types/{src/runtime → runtime}/fields/state-calculations.d.ts +0 -0
  304. /package/dist/types/{src/runtime → runtime}/fields/state.d.ts +0 -0
  305. /package/dist/types/{src/runtime → runtime}/form.d.ts +0 -0
  306. /package/dist/types/{src/runtime → runtime}/paths.d.ts +0 -0
  307. /package/dist/types/{src/runtime/fields → runtime/reports}/index.d.ts +0 -0
  308. /package/dist/types/{src/runtime → runtime}/runtime-refresh.d.ts +0 -0
  309. /package/dist/types/{src/runtime → runtime}/runtime-values.d.ts +0 -0
  310. /package/dist/types/{src/runtime → runtime}/state/index.d.ts +0 -0
  311. /package/dist/types/{src/runtime → runtime}/state/snapshots.d.ts +0 -0
  312. /package/dist/types/{src/runtime → runtime}/state/store.d.ts +0 -0
  313. /package/dist/types/{src/runtime → runtime}/submission/abort.d.ts +0 -0
  314. /package/dist/types/{src/runtime → runtime}/submission/error-flow.d.ts +0 -0
  315. /package/dist/types/{src/runtime → runtime}/submission/field-updates.d.ts +0 -0
  316. /package/dist/types/{src/runtime → runtime}/submission/report-updates.d.ts +0 -0
  317. /package/dist/types/{src/runtime → runtime}/submission/reports.d.ts +0 -0
  318. /package/dist/types/{src/runtime → runtime}/submission/request.d.ts +0 -0
  319. /package/dist/types/{src/runtime → runtime}/submission/result.d.ts +0 -0
  320. /package/dist/types/{src/runtime → runtime}/submission/stream-progress.d.ts +0 -0
  321. /package/dist/types/{src/runtime → runtime}/submission/submitter.d.ts +0 -0
  322. /package/dist/types/{src/runtime → runtime}/validation/conditions.d.ts +0 -0
  323. /package/dist/types/{src/runtime → runtime}/validation/field-state.d.ts +0 -0
  324. /package/dist/types/{src/runtime → runtime}/validation/field-validator.d.ts +0 -0
  325. /package/dist/types/{src/runtime → runtime}/validation/field.d.ts +0 -0
  326. /package/dist/types/{src/runtime → runtime}/validation/index.d.ts +0 -0
  327. /package/dist/types/{src/runtime → runtime}/values.d.ts +0 -0
  328. /package/dist/types/{src/schema → schema}/normalize.d.ts +0 -0
  329. /package/dist/types/{src/schema → schema}/types/field.d.ts +0 -0
  330. /package/dist/types/{src/transport → transport}/capabilities.d.ts +0 -0
  331. /package/dist/types/{src/transport → transport}/clone.d.ts +0 -0
  332. /package/dist/types/{src/transport → transport}/composition/fallback.d.ts +0 -0
  333. /package/dist/types/{src/transport → transport}/composition/fanout-helpers.d.ts +0 -0
  334. /package/dist/types/{src/transport → transport}/composition/fanout.d.ts +0 -0
  335. /package/dist/types/{src/transport → transport}/composition/hedged.d.ts +0 -0
  336. /package/dist/types/{src/transport → transport}/composition/index.d.ts +0 -0
  337. /package/dist/types/{src/transport → transport}/composition/load-balancing.d.ts +0 -0
  338. /package/dist/types/{src/transport → transport}/composition/pipeline.d.ts +0 -0
  339. /package/dist/types/{src/transport → transport}/composition/quorum-fanout.d.ts +0 -0
  340. /package/dist/types/{src/transport → transport}/composition/racing.d.ts +0 -0
  341. /package/dist/types/{src/transport → transport}/composition/routing.d.ts +0 -0
  342. /package/dist/types/{src/transport → transport}/constants.d.ts +0 -0
  343. /package/dist/types/{src/transport → transport}/internal-core.d.ts +0 -0
  344. /package/dist/types/{src/transport → transport}/internal-errors.d.ts +0 -0
  345. /package/dist/types/{src/transport → transport}/internal-request.d.ts +0 -0
  346. /package/dist/types/{src/transport → transport}/internal-routing.d.ts +0 -0
  347. /package/dist/types/{src/transport → transport}/internal-sse.d.ts +0 -0
  348. /package/dist/types/{src/transport → transport}/internal-stream.d.ts +0 -0
  349. /package/dist/types/{src/transport → transport}/internal.d.ts +0 -0
  350. /package/dist/types/{src/transport → transport}/middleware/auth.d.ts +0 -0
  351. /package/dist/types/{src/transport → transport}/middleware/cache.d.ts +0 -0
  352. /package/dist/types/{src/transport → transport}/middleware/circuit-breaker.d.ts +0 -0
  353. /package/dist/types/{src/transport → transport}/middleware/dedup.d.ts +0 -0
  354. /package/dist/types/{src/transport → transport}/middleware/index.d.ts +0 -0
  355. /package/dist/types/{src/transport → transport}/middleware/logging.d.ts +0 -0
  356. /package/dist/types/{src/transport → transport}/middleware/metrics.d.ts +0 -0
  357. /package/dist/types/{src/transport → transport}/middleware/pipe.d.ts +0 -0
  358. /package/dist/types/{src/transport → transport}/middleware/rate-limit.d.ts +0 -0
  359. /package/dist/types/{src/transport → transport}/middleware/retry.d.ts +0 -0
  360. /package/dist/types/{src/transport → transport}/middleware/timeout.d.ts +0 -0
  361. /package/dist/types/{src/transport → transport}/middleware/tracing.d.ts +0 -0
  362. /package/dist/types/{src/transport → transport}/middleware/transform.d.ts +0 -0
  363. /package/dist/types/{src/transport → transport}/policy-context.d.ts +0 -0
  364. /package/dist/types/{src/transport → transport}/protocols/graphql.d.ts +0 -0
  365. /package/dist/types/{src/transport → transport}/protocols/grpc.d.ts +0 -0
  366. /package/dist/types/{src/transport → transport}/protocols/index.d.ts +0 -0
  367. /package/dist/types/{src/transport → transport}/protocols/json.d.ts +0 -0
  368. /package/dist/types/{src/transport → transport}/protocols/sse.d.ts +0 -0
  369. /package/dist/types/{src/transport → transport}/protocols/websocket.d.ts +0 -0
  370. /package/dist/types/{src/transport → transport}/runtime.d.ts +0 -0
  371. /package/dist/types/{src/transport → transport}/state/cache-store.d.ts +0 -0
  372. /package/dist/types/{src/transport → transport}/state/circuit-breaker.d.ts +0 -0
  373. /package/dist/types/{src/transport → transport}/state/health.d.ts +0 -0
  374. /package/dist/types/{src/transport → transport}/state/index.d.ts +0 -0
  375. /package/dist/types/{src/transport → transport}/state/rate-limiter.d.ts +0 -0
  376. /package/dist/types/{src/transport → transport}/state/session.d.ts +0 -0
  377. /package/dist/types/{src/transport → transport}/types/capabilities.d.ts +0 -0
  378. /package/dist/types/{src/transport → transport}/types/core.d.ts +0 -0
  379. /package/dist/types/{src/transport → transport}/types/events.d.ts +0 -0
  380. /package/dist/types/{src/transport → transport}/types/index.d.ts +0 -0
  381. /package/dist/types/{src/transport → transport}/types/middleware.d.ts +0 -0
  382. /package/dist/types/{src/transport → transport}/types/options-http.d.ts +0 -0
  383. /package/dist/types/{src/transport → transport}/types/options-middleware.d.ts +0 -0
  384. /package/dist/types/{src/transport → transport}/types/options-routing.d.ts +0 -0
  385. /package/dist/types/{src/transport → transport}/types/options.d.ts +0 -0
  386. /package/dist/types/{src/transport → transport}/types/session.d.ts +0 -0
  387. /package/dist/types/{src/transport → transport}/types/state.d.ts +0 -0
@@ -1,1824 +0,0 @@
1
- import { d as e, f as t, g as n, h as r, m as i } from "./builtins-DegwhFGA.js";
2
- import { t as a } from "./errors-B3H1wRwj.js";
3
- import { t as o } from "./strings-CWwrrYzz.js";
4
- import { createRegistry as s } from "./mlform/schema.mjs";
5
- import { K as c, q as l } from "./transport-CtVX8ZUT.js";
6
- //#region src/runtime/equality.ts
7
- var u = (e) => typeof e == "object" && !!e && !Array.isArray(e), d = (e, t) => Object.is(e, t), f = (e, t) => e === t ? !0 : e.length === t.length ? e.every((e, n) => Object.is(e, t[n])) : !1, p = (e, t) => {
8
- if (e === t) return !0;
9
- let n = Object.keys(e), r = Object.keys(t);
10
- return n.length === r.length ? n.every((n) => Object.is(e[n], t[n])) : !1;
11
- }, m = (e, t) => Object.is(e, t) ? !0 : Array.isArray(e) && Array.isArray(t) ? f(e, t) : u(e) && u(t) ? p(e, t) : !1, h = class extends a {
12
- constructor(e) {
13
- super(e), this.name = "EngineError";
14
- }
15
- }, g = class extends h {
16
- constructor(e) {
17
- super(e), this.name = "RegistryError";
18
- }
19
- }, _ = class extends h {
20
- result;
21
- constructor(e) {
22
- super("Form validation failed."), this.name = "ValidationError", this.result = e;
23
- }
24
- }, v = class extends h {
25
- cause;
26
- constructor(e, t) {
27
- super(e), this.name = "SubmitError", this.cause = t;
28
- }
29
- }, y = class extends v {
30
- reportId;
31
- constructor(e, t, n) {
32
- super(`Invalid payload for report "${e}": ${t}`, n), this.name = "ReportPayloadError", this.reportId = e;
33
- }
34
- }, b = class extends v {
35
- code = l.ABORTED;
36
- constructor(e = "Form submission was aborted.", t) {
37
- super(e, t), this.name = "SubmissionAbortedError";
38
- }
39
- }, x = (e) => new b(e ? `Form submission was aborted: ${e}` : void 0), S = (e) => e instanceof b || e instanceof Error && e.name === "AbortError", C = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), w = (e) => {
40
- let t = new Uint8Array(e.byteLength);
41
- return t.set(new Uint8Array(e)), t.buffer;
42
- }, T = (e) => typeof File < "u" && e instanceof File ? new File([e], e.name, {
43
- type: e.type,
44
- lastModified: e.lastModified
45
- }) : typeof Blob < "u" && e instanceof Blob ? e.slice(0, e.size, e.type) : e, E = (e, t) => e.length === t.length && e.every((e, n) => e === t[n]), D = (e, t) => e.byteLength === t.byteLength ? E(new Uint8Array(e), new Uint8Array(t)) : !1, O = (e) => {
46
- if (e instanceof Date) return new Date(e.getTime());
47
- if (e instanceof RegExp) return new RegExp(e.source, e.flags);
48
- if (e instanceof ArrayBuffer) return w(e);
49
- if (e instanceof DataView) return new DataView(w(e.buffer), e.byteOffset, e.byteLength);
50
- if (C(e)) {
51
- let t = e.constructor;
52
- return new t(w(e.buffer), e.byteOffset, e.length);
53
- }
54
- return e instanceof Map ? new Map(Array.from(e.entries(), ([e, t]) => [O(e), O(t)])) : e instanceof Set ? new Set(Array.from(e.values(), (e) => O(e))) : typeof File < "u" && e instanceof File || typeof Blob < "u" && e instanceof Blob ? T(e) : Array.isArray(e) ? e.map((e) => O(e)) : n(e) ? Object.fromEntries(Object.entries(e).map(([e, t]) => [e, O(t)])) : e;
55
- }, k = (e, t) => {
56
- if (Object.is(e, t)) return !0;
57
- if (e instanceof Date && t instanceof Date) return e.getTime() === t.getTime();
58
- if (e instanceof RegExp && t instanceof RegExp) return e.source === t.source && e.flags === t.flags;
59
- if (e instanceof ArrayBuffer && t instanceof ArrayBuffer) return D(e, t);
60
- if (e instanceof DataView && t instanceof DataView) return e.byteOffset === t.byteOffset && e.byteLength === t.byteLength && D(e.buffer, t.buffer);
61
- if (C(e) && C(t)) {
62
- let n = new Uint8Array(e.buffer, e.byteOffset, e.byteLength), r = new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
63
- return e.constructor === t.constructor && E(n, r);
64
- }
65
- if (e instanceof Map && t instanceof Map) return e.size === t.size && Array.from(e.entries()).every(([e, n], r) => {
66
- let i = Array.from(t.entries())[r];
67
- return i !== void 0 && k(e, i[0]) && k(n, i[1]);
68
- });
69
- if (e instanceof Set && t instanceof Set) {
70
- let n = Array.from(t.values());
71
- for (let t of e.values()) {
72
- let e = n.findIndex((e) => k(t, e));
73
- if (e < 0) return !1;
74
- n.splice(e, 1);
75
- }
76
- return n.length === 0;
77
- }
78
- if (typeof Blob < "u" && typeof File < "u" && e instanceof Blob && t instanceof Blob) return e.size === t.size && e.type === t.type ? e instanceof File && t instanceof File ? e.name === t.name && e.lastModified === t.lastModified : !0 : !1;
79
- if (Array.isArray(e) && Array.isArray(t)) return e.length === t.length && e.every((e, n) => k(e, t[n]));
80
- if (n(e) && n(t)) {
81
- let n = Object.keys(e), r = Object.keys(t);
82
- return n.length === r.length && n.every((n) => k(e[n], t[n]));
83
- }
84
- return !1;
85
- }, A = {
86
- status: "idle",
87
- result: void 0,
88
- error: null
89
- }, j = (e) => e instanceof Error ? e.message : typeof e == "string" && e.trim().length > 0 ? e : String(e), M = (e, t, n) => {
90
- e.update((e) => ({
91
- ...e,
92
- explanationStates: {
93
- ...e.explanationStates,
94
- [t]: n
95
- }
96
- }));
97
- }, ee = (e) => {
98
- let t = e.filter((e) => e !== void 0);
99
- if (t.length === 0) return {
100
- signal: void 0,
101
- cleanup: () => {}
102
- };
103
- let n = new AbortController(), r = [];
104
- for (let e of t) {
105
- if (e.aborted) return n.abort(e.reason), {
106
- signal: n.signal,
107
- cleanup: () => {}
108
- };
109
- let t = () => n.abort(e.reason);
110
- e.addEventListener("abort", t, { once: !0 }), r.push(() => e.removeEventListener("abort", t));
111
- }
112
- return {
113
- signal: n.signal,
114
- cleanup: () => {
115
- for (let e of r) e();
116
- }
117
- };
118
- }, te = ({ config: t, definition: n, store: r, hooks: i }) => {
119
- let a = e(O(t));
120
- M(r, a.id, A);
121
- let o = null;
122
- return {
123
- get id() {
124
- return a.id;
125
- },
126
- get kind() {
127
- return a.kind;
128
- },
129
- get config() {
130
- return a;
131
- },
132
- get state() {
133
- return O(r.getState().explanationStates[a.id] ?? A);
134
- },
135
- async fetch(e) {
136
- if ((r.getState().explanationStates[a.id] ?? A).status !== "idle") return;
137
- o?.abort();
138
- let t = new AbortController();
139
- o = t, M(r, a.id, {
140
- status: "loading",
141
- result: void 0,
142
- error: null
143
- });
144
- let s = n.transport(a), { signal: c, cleanup: l } = ee([e.signal, t.signal]);
145
- try {
146
- let n = await s.submit({
147
- ...e,
148
- signal: c
149
- });
150
- if (t.signal.aborted || c?.aborted) {
151
- M(r, a.id, A);
152
- return;
153
- }
154
- M(r, a.id, {
155
- status: "done",
156
- result: n,
157
- error: null
158
- }), await i?.afterExplanation?.({
159
- explanationId: a.id,
160
- kind: a.kind,
161
- result: n
162
- });
163
- } catch (e) {
164
- if (t.signal.aborted || c?.aborted || S(e)) {
165
- M(r, a.id, A);
166
- return;
167
- }
168
- let n = j(e);
169
- M(r, a.id, {
170
- status: "error",
171
- result: void 0,
172
- error: n
173
- }), await i?.onExplanationError?.({
174
- explanationId: a.id,
175
- kind: a.kind,
176
- error: e
177
- });
178
- } finally {
179
- o === t && (o = null), l();
180
- }
181
- },
182
- abort() {
183
- o?.abort(), o = null, M(r, a.id, A);
184
- },
185
- reset() {
186
- o?.abort(), o = null, M(r, a.id, A);
187
- },
188
- subscribe(e) {
189
- let t = r.getState().explanationStates[a.id] ?? A;
190
- return r.subscribe(() => {
191
- let n = r.getState().explanationStates[a.id] ?? A;
192
- d(t, n) || (t = n, e(O(n)));
193
- });
194
- }
195
- };
196
- }, ne = "Unknown explanation error.", re = async ({ explanations: e, request: t }) => {
197
- if (e.length === 0) return {
198
- results: {},
199
- errors: {}
200
- };
201
- for (let t of e) t.reset();
202
- await Promise.allSettled(e.map((e) => e.fetch({
203
- ...t,
204
- explanationId: e.id
205
- })));
206
- let n = {}, r = {};
207
- for (let t of e) {
208
- let e = t.state;
209
- if (e.status === "done") {
210
- n[t.id] = e.result;
211
- continue;
212
- }
213
- e.status === "error" && (r[t.id] = e.error ?? ne);
214
- }
215
- return {
216
- results: n,
217
- errors: r
218
- };
219
- }, ie = Object.freeze({}), ae = (e, t) => ({
220
- explanationId: "",
221
- backend: e.backend,
222
- values: e.values,
223
- fieldValues: e.fieldValues,
224
- serializedValues: e.serializedValues,
225
- serializedFieldValues: e.serializedFieldValues,
226
- reports: e.reports,
227
- meta: e.meta,
228
- raw: e.raw,
229
- signal: t
230
- }), oe = async ({ form: e, submit: t, artifactAdapter: n, explanationMode: r = "all" }) => {
231
- let i = await e.submit(t), a = r === "all" ? await re({
232
- explanations: e.explanations,
233
- request: ae(i, t?.signal)
234
- }) : {
235
- results: {},
236
- errors: {}
237
- }, o = {
238
- submitResult: i,
239
- explanationResults: a.results,
240
- explanationErrors: a.errors
241
- }, s = n ? await n.derive(o) : ie;
242
- return {
243
- submitResult: i,
244
- explanationResults: a.results,
245
- explanationErrors: a.errors,
246
- artifacts: s
247
- };
248
- }, se = (e, t) => (Array.isArray(e) ? e : (e ?? t).split(".")).map((e) => e.trim()).filter(Boolean), ce = (e, t, r) => {
249
- if (t.length === 0) return;
250
- let i = e;
251
- for (let e of t.slice(0, -1)) {
252
- let t = i[e];
253
- if (!n(t)) {
254
- let t = {};
255
- i[e] = t, i = t;
256
- continue;
257
- }
258
- i = t;
259
- }
260
- i[t[t.length - 1]] = r;
261
- }, le = (e) => {
262
- try {
263
- return new TextEncoder().encode(JSON.stringify(e)).byteLength;
264
- } catch {
265
- return;
266
- }
267
- }, N = (e) => ({
268
- values: O(e.values),
269
- fieldValues: O(e.fieldValues),
270
- serializedValues: O(e.serializedValues),
271
- serializedFieldValues: O(e.serializedFieldValues)
272
- }), ue = (e, t) => {
273
- if (e.config.includeInSubmission === !1) return !1;
274
- let n = t(e), r = e.state;
275
- return !((!r.visible || r.disabled) && (n === "omit" || n === "reset-on-hide"));
276
- }, de = (e, t) => {
277
- let n = {}, r = {}, i = {}, a = {};
278
- for (let o of e) {
279
- if (!ue(o, t)) continue;
280
- let e = se(o.config.valuePath, o.id), s = o.state.value, c = o.serialize();
281
- r[o.id] = O(s), a[o.id] = O(c), ce(n, e, O(s)), ce(i, e, O(c));
282
- }
283
- return {
284
- values: n,
285
- fieldValues: r,
286
- serializedValues: i,
287
- serializedFieldValues: a
288
- };
289
- }, fe = (e) => n(e) ? {
290
- reports: n(e.reports) ? e.reports : void 0,
291
- meta: n(e.meta) ? e.meta : void 0,
292
- raw: "raw" in e ? e.raw : e
293
- } : { raw: e }, pe = async (e, t) => {
294
- let n = /* @__PURE__ */ new Map();
295
- return await Promise.all(e.map(async (e) => {
296
- n.set(e.id, await e.prepareState(t));
297
- })), n;
298
- }, me = (e, t) => {
299
- for (let n of e) {
300
- let e = t.get(n.id);
301
- if (!e) throw new h(`Prepared report state missing for "${n.id}".`);
302
- n.commitState(e);
303
- }
304
- }, he = (e, t) => Object.fromEntries(e.map((e) => {
305
- let n = t.get(e.id);
306
- if (!n) throw new h(`Prepared report state missing for "${e.id}".`);
307
- return [e.id, e.cloneState(n)];
308
- })), ge = () => {
309
- let e = null, t = "", n = null, r = 0, i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = (e) => {
310
- let t = a.get(e);
311
- t && (a.delete(e), t());
312
- };
313
- return {
314
- ensureIdle() {
315
- if (n !== null) throw new h("Form submission is already in progress.");
316
- },
317
- begin() {
318
- let e = ++r;
319
- return n = e, e;
320
- },
321
- getCurrentRequestId() {
322
- return n;
323
- },
324
- getAbortReason(e) {
325
- return t || i.get(e) || "";
326
- },
327
- isAborted(e) {
328
- return i.has(e);
329
- },
330
- setActiveController(n, r) {
331
- e = r, t = i.get(n) ?? "", t && e && e.abort(t);
332
- },
333
- createSignal(t) {
334
- return e?.signal ?? t?.signal ?? new AbortController().signal;
335
- },
336
- attachExternalSignal(r, i) {
337
- if (!r?.signal) return;
338
- if (r.signal.aborted) throw this.clear(i), x(String(r.signal.reason ?? ""));
339
- let s = () => {
340
- if (n !== i) {
341
- o(i);
342
- return;
343
- }
344
- t = r.signal?.reason instanceof Error ? r.signal.reason.message : String(r.signal?.reason ?? ""), e?.abort(r.signal?.reason), o(i);
345
- };
346
- r.signal.addEventListener("abort", s, { once: !0 }), a.set(i, () => {
347
- r.signal?.removeEventListener("abort", s);
348
- });
349
- },
350
- abort(r) {
351
- if (n === null) return;
352
- let a = r ?? "";
353
- i.set(n, a), t = a, e?.abort(a);
354
- },
355
- clear(r) {
356
- o(r), n === r && (n = null), e = null, t = "", i.delete(r);
357
- },
358
- reset() {
359
- for (let e of a.keys()) o(e);
360
- n = null, e = null, t = "", i.clear();
361
- }
362
- };
363
- }, _e = () => ({
364
- status: "idle",
365
- submitCount: 0,
366
- lastResult: null,
367
- formErrors: [],
368
- fieldStates: {},
369
- reportStates: {},
370
- explanationStates: {},
371
- submissionProgress: null,
372
- lifecycleVersion: 0,
373
- activeValidationVersion: 0,
374
- activeSubmissionVersion: null
375
- }), P = (e, t) => {
376
- switch (ye(e.status, t.type), t.type) {
377
- case "bump-lifecycle": return {
378
- ...e,
379
- lifecycleVersion: e.lifecycleVersion + 1
380
- };
381
- case "rest": return {
382
- ...e,
383
- status: t.status
384
- };
385
- case "editing": return {
386
- ...e,
387
- status: "editing",
388
- formErrors: t.clearFormErrors ? [] : e.formErrors,
389
- lifecycleVersion: t.bumpLifecycle ? e.lifecycleVersion + 1 : e.lifecycleVersion
390
- };
391
- case "start-validation": return {
392
- ...e,
393
- status: "validating",
394
- formErrors: [],
395
- activeValidationVersion: t.validationVersion
396
- };
397
- case "validation-error": return {
398
- ...e,
399
- status: "error",
400
- formErrors: [t.message]
401
- };
402
- case "start-submission": return {
403
- ...e,
404
- status: "submitting",
405
- submitCount: e.submitCount + 1,
406
- formErrors: [],
407
- lastResult: null,
408
- submissionProgress: null,
409
- activeSubmissionVersion: t.submissionVersion
410
- };
411
- case "submission-stream-update": return {
412
- ...e,
413
- submissionProgress: t.progress
414
- };
415
- case "submission-success": return {
416
- ...e,
417
- status: "success",
418
- formErrors: [],
419
- lastResult: t.result,
420
- submissionProgress: null
421
- };
422
- case "submission-aborted": return {
423
- ...e,
424
- status: "idle",
425
- formErrors: [t.message],
426
- lastResult: null,
427
- submissionProgress: null
428
- };
429
- case "submission-error": return {
430
- ...e,
431
- status: "error",
432
- formErrors: [t.message],
433
- lastResult: null,
434
- submissionProgress: null
435
- };
436
- case "clear-active-submission": return {
437
- ...e,
438
- activeSubmissionVersion: e.activeSubmissionVersion === t.submissionVersion ? null : e.activeSubmissionVersion
439
- };
440
- case "reset": return {
441
- ...e,
442
- status: "idle",
443
- submitCount: 0,
444
- formErrors: [],
445
- lastResult: null,
446
- submissionProgress: null,
447
- activeSubmissionVersion: null
448
- };
449
- default: return ve(t);
450
- }
451
- }, ve = (e) => {
452
- throw Error("Unsupported engine transition.");
453
- }, ye = (e, t) => {
454
- if (!(t === "submission-success" || t === "submission-aborted" ? e === "submitting" : t === "submission-error" ? e === "submitting" || e === "success" : t !== "validation-error" || e === "validating")) throw Error(`Invalid engine transition "${t}" from status "${e}".`);
455
- }, F = (e) => ({
456
- value: O(e.value),
457
- initialValue: O(e.initialValue),
458
- touched: e.touched,
459
- dirty: e.dirty,
460
- valid: e.valid,
461
- visible: e.visible,
462
- disabled: e.disabled,
463
- readOnly: e.readOnly,
464
- errors: [...e.errors],
465
- status: e.status
466
- }), be = (e) => Object.fromEntries(Object.entries(e).map(([e, t]) => [e, F(t)])), I = (e) => {
467
- let t = Object.fromEntries(Object.entries(e.fieldStates).map(([e, t]) => [e, O(t.value)])), n = be(e.fieldStates), r = Object.fromEntries(Object.entries(n).map(([e, t]) => [e, t.errors])), i = e.formErrors.length === 0 && Object.values(n).every((e) => e.valid), a = Object.values(n).some((e) => e.dirty), o = Object.values(n).some((e) => e.touched);
468
- return {
469
- status: e.status,
470
- submitCount: e.submitCount,
471
- valid: i,
472
- dirty: a,
473
- touched: o,
474
- values: t,
475
- reportStates: O(e.reportStates),
476
- explanationStates: O(e.explanationStates),
477
- submissionProgress: O(e.submissionProgress),
478
- errors: {
479
- form: [...e.formErrors],
480
- fields: r
481
- },
482
- lastResult: O(e.lastResult)
483
- };
484
- }, xe = (e) => typeof AggregateError < "u" ? AggregateError(e, "Store listener notification failed.") : /* @__PURE__ */ Error("Store listener notification failed."), Se = (e, t = {}) => {
485
- let n = e, r = 0, i = !1, a = /* @__PURE__ */ new Set(), o = () => {
486
- let e = [];
487
- for (let r of a) try {
488
- r(n);
489
- } catch (r) {
490
- e.push(r), t.onListenerError?.(r, n);
491
- }
492
- if (e.length > 0 && t.listenerErrorPolicy === "throw-aggregate") throw xe(e);
493
- };
494
- return {
495
- getState() {
496
- return n;
497
- },
498
- setState(e) {
499
- if (n = e, r > 0) {
500
- i = !0;
501
- return;
502
- }
503
- o();
504
- },
505
- update(e) {
506
- this.setState(e(n));
507
- },
508
- batch(e) {
509
- r += 1;
510
- try {
511
- e();
512
- } finally {
513
- --r, r === 0 && i && (i = !1, o());
514
- }
515
- },
516
- subscribe(e) {
517
- return a.add(e), () => a.delete(e);
518
- }
519
- };
520
- }, Ce = ({ store: e, resetReports: t, resetExplanations: n, syncAfterSubmissionTransition: r }) => ({
521
- start(t) {
522
- e.batch(() => {
523
- n(), e.update((e) => P(e, {
524
- type: "start-submission",
525
- submissionVersion: t
526
- })), r();
527
- });
528
- },
529
- succeed(t) {
530
- e.batch(() => {
531
- e.update((e) => P(e, {
532
- type: "submission-success",
533
- result: t
534
- })), r();
535
- });
536
- },
537
- abort(i) {
538
- e.batch(() => {
539
- t(), n(), e.update((e) => P(e, {
540
- type: "submission-aborted",
541
- message: i
542
- })), r();
543
- });
544
- },
545
- fail(i) {
546
- e.batch(() => {
547
- t(), n(), e.update((e) => P(e, {
548
- type: "submission-error",
549
- message: i
550
- })), r();
551
- });
552
- },
553
- clear(t) {
554
- e.update((e) => P(e, {
555
- type: "clear-active-submission",
556
- submissionVersion: t
557
- }));
558
- }
559
- }), we = (e, t, n) => ({
560
- ...t,
561
- reportStates: he(e, n)
562
- }), L = (e, t) => {
563
- let n = Object.fromEntries(e.map((e) => {
564
- let n = t.reportStates[e.id];
565
- return [e.id, n && e.cloneState(n)];
566
- }));
567
- return {
568
- backend: t.backend,
569
- values: O(t.values),
570
- fieldValues: O(t.fieldValues),
571
- serializedValues: O(t.serializedValues),
572
- serializedFieldValues: O(t.serializedFieldValues),
573
- reports: O(t.reports),
574
- reportStates: n,
575
- meta: O(t.meta),
576
- raw: O(t.raw)
577
- };
578
- }, Te = ({ hooks: e, abortManager: t, lifecycle: n, store: r }) => {
579
- let i = async (t, n, r, i) => {
580
- let a = N(n);
581
- await e?.onSubmitError?.({
582
- backend: t,
583
- ...a,
584
- submitCount: r,
585
- error: i
586
- });
587
- };
588
- return {
589
- notifySubmitError: i,
590
- handleSubmissionAbort: async (e, a, o, s, c, l) => {
591
- let u = e instanceof b ? e : x(t.getAbortReason(a));
592
- throw t.getCurrentRequestId() === a && r.getState().lifecycleVersion === o && n.abort(u.message), await i(l, c, s, u), u;
593
- },
594
- handleSubmissionError: async (e, a, o, s, c, l) => {
595
- let u = e instanceof Error ? e.message : String(e);
596
- throw t.getCurrentRequestId() === a && r.getState().lifecycleVersion === o && n.fail(u), await i(l, c, s, e), new v(`Form submission failed: ${u}`, e);
597
- }
598
- };
599
- }, R = (e) => typeof e == "object" && !!e && !Array.isArray(e), z = (e, t, n = "deep-merge") => {
600
- if (n === "replace") return O(t);
601
- if (n === "shallow-merge") return !R(e) || !R(t) ? O(t) : {
602
- ...O(e),
603
- ...O(t)
604
- };
605
- if (!R(e) || !R(t)) return O(t);
606
- let r = { ...O(e) };
607
- for (let [e, n] of Object.entries(t)) r[e] = e in r ? z(r[e], n, "deep-merge") : O(n);
608
- return r;
609
- }, Ee = ({ reportMap: e, getReportState: t, getReportStates: n, getSubmissionMeta: r, storePendingPatch: i }) => {
610
- let a = (t, n) => {
611
- let r = e.get(t);
612
- r && r.commitState({
613
- payload: O(n),
614
- error: null,
615
- status: n === void 0 ? "idle" : "ready"
616
- });
617
- }, o = (t, i, a, o) => {
618
- let s = e.get(a)?.config?.source ?? a;
619
- return {
620
- backend: i,
621
- values: O(t.values),
622
- fieldValues: O(t.fieldValues),
623
- serializedValues: O(t.serializedValues),
624
- serializedFieldValues: O(t.serializedFieldValues),
625
- reports: { [s]: O(o) },
626
- reportStates: O(n()),
627
- meta: O(r()),
628
- raw: O(o)
629
- };
630
- }, s = async (t, n, r, s) => {
631
- let c = e.get(t);
632
- if (c) {
633
- if (c.partialUpdatePolicy === "trust") {
634
- a(t, n);
635
- return;
636
- }
637
- if (c.partialUpdatePolicy === "defer") {
638
- i(t, {
639
- type: "replace",
640
- payload: O(n)
641
- });
642
- return;
643
- }
644
- try {
645
- let e = await c.prepareState(o(r, s, t, n));
646
- c.commitState(e);
647
- } catch (e) {
648
- let t = e instanceof Error ? e.message : String(e);
649
- c.commitState({
650
- payload: void 0,
651
- error: t,
652
- status: "error"
653
- });
654
- }
655
- }
656
- }, c = (n, r, i = "deep-merge") => {
657
- let a = e.get(n);
658
- if (!a) return;
659
- let o = z(t(n)?.payload, r, i);
660
- a.commitState({
661
- payload: o,
662
- error: null,
663
- status: o === void 0 ? "idle" : "ready"
664
- });
665
- };
666
- return {
667
- applyValidatedReportReplace: s,
668
- applyValidatedReportPatch: async (n, r, a = "deep-merge", s, l) => {
669
- let u = e.get(n);
670
- if (!u) return;
671
- if (u.partialUpdatePolicy === "trust") {
672
- c(n, r, a);
673
- return;
674
- }
675
- if (u.partialUpdatePolicy === "defer") {
676
- i(n, {
677
- type: "patch",
678
- patch: O(r),
679
- strategy: a
680
- });
681
- return;
682
- }
683
- let d = z(t(n)?.payload, r, a);
684
- try {
685
- let e = await u.prepareState(o(s, l, n, d));
686
- u.commitState(e);
687
- } catch (e) {
688
- let t = e instanceof Error ? e.message : String(e);
689
- u.commitState({
690
- payload: void 0,
691
- error: t,
692
- status: "error"
693
- });
694
- }
695
- }
696
- };
697
- }, De = (e) => {
698
- if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e.getTime();
699
- if (typeof e == "number") return Number.isNaN(e) ? null : e;
700
- if (typeof e == "string") {
701
- let t = Date.parse(e);
702
- return !Number.isNaN(t) && /^\d{4}-\d{2}-\d{2}/.test(e) ? t : e;
703
- }
704
- return typeof e == "bigint" ? e : null;
705
- }, Oe = (e, t) => {
706
- let n = De(e), r = De(t);
707
- return n === null || r === null || typeof n != typeof r ? null : n === r ? 0 : n < r ? -1 : 1;
708
- }, B = (e, t, n) => e ? typeof e == "function" ? e(t) : H(e, t) : n, ke = (e, t) => t.some((t) => Object.is(t, e)), V = (e, t, n) => {
709
- let r = Oe(e, t);
710
- if (r === null) return !1;
711
- switch (n) {
712
- case "eq": return r === 0;
713
- case "neq": return r !== 0;
714
- case "gt": return r > 0;
715
- case "gte": return r >= 0;
716
- case "lt": return r < 0;
717
- case "lte": return r <= 0;
718
- default: return Ae(n);
719
- }
720
- }, Ae = (e) => {
721
- throw Error("Unsupported comparison operator.");
722
- }, H = (e, t) => {
723
- switch (e.kind) {
724
- case "field-value": {
725
- let n = t.values[e.field];
726
- return !(e.equals !== void 0 && !Object.is(n, e.equals) || e.notEquals !== void 0 && Object.is(n, e.notEquals) || e.greaterThan !== void 0 && !V(n, e.greaterThan, "gt") || e.greaterThanOrEqual !== void 0 && !V(n, e.greaterThanOrEqual, "gte") || e.lessThan !== void 0 && !V(n, e.lessThan, "lt") || e.lessThanOrEqual !== void 0 && !V(n, e.lessThanOrEqual, "lte") || e.in && !ke(n, e.in) || e.notIn && ke(n, e.notIn) || e.empty === !0 && !i(n) || e.notEmpty === !0 && i(n) || e.truthy === !0 && !n || e.falsy === !0 && n);
727
- }
728
- case "field-comparison": return V(t.values[e.field], t.values[e.otherField], e.operator);
729
- case "form-status": return (Array.isArray(e.equals) ? e.equals : [e.equals]).includes(t.formStatus);
730
- case "submit-count": return !(e.eq !== void 0 && t.submitCount !== e.eq || e.gte !== void 0 && t.submitCount < e.gte || e.lte !== void 0 && t.submitCount > e.lte);
731
- case "all": return e.conditions.every((e) => H(e, t));
732
- case "any": return e.conditions.some((e) => H(e, t));
733
- case "not": return !H(e.condition, t);
734
- default: return je(e);
735
- }
736
- }, je = (e) => {
737
- throw Error("Unsupported field condition.");
738
- }, U = (e, t, n, r) => {
739
- let i = {
740
- field: e,
741
- values: t,
742
- submitCount: n,
743
- formStatus: r
744
- };
745
- return {
746
- visible: !B(e.hiddenWhen, i, !!e.hidden),
747
- disabled: B(e.disabledWhen, i, !!e.disabled),
748
- readOnly: B(e.readOnlyWhen, i, !!e.readOnly)
749
- };
750
- }, W = (e) => [
751
- ...e.syncErrors,
752
- ...e.validationErrors,
753
- ...e.externalErrors
754
- ], G = (e) => {
755
- let t = W(e);
756
- return {
757
- ...e,
758
- errors: t,
759
- valid: t.length === 0,
760
- status: t.length === 0 ? "valid" : "invalid"
761
- };
762
- }, Me = (e) => ({
763
- ...e,
764
- errors: W(e),
765
- valid: W(e).length === 0,
766
- status: "validating"
767
- }), Ne = (e, t) => e.required && i(t) ? ["This field is required."] : [], Pe = (e, t, n) => e.cloneValue ? e.cloneValue(n, t) : O(n), K = (e, t, n) => e.normalizeValue ? Pe(e, t, e.normalizeValue(n, t)) : Pe(e, t, n), q = (e, t, n, r) => e.isEqual ? e.isEqual(n, r, t) : k(n, r), Fe = (e, t, n, i, a) => {
768
- if (!e.validate || typeof t.asyncValidationDebounceMs == "number" && t.asyncValidationDebounceMs > 0) return [];
769
- let o = e.validate(n, t, {
770
- field: t,
771
- values: i,
772
- submitCount: a,
773
- validationVersion: 0,
774
- signal: void 0
775
- });
776
- return r(o) ? [] : o;
777
- }, J = (e, t, n, r, i, a) => {
778
- if (!a.visible || a.disabled) return [];
779
- let o = Ne(t, n);
780
- return o.length > 0 ? o : Fe(e, t, n, r, i);
781
- }, Ie = (e, t, n, r, i, a) => {
782
- let o = K(e, t, n), s = U(t, r, i, a), c = J(e, t, o, r, i, s);
783
- return G({
784
- value: o,
785
- initialValue: o,
786
- touched: !1,
787
- dirty: !1,
788
- visible: s.visible,
789
- disabled: s.disabled,
790
- readOnly: s.readOnly,
791
- syncErrors: c,
792
- validationErrors: [],
793
- externalErrors: [],
794
- validationVersion: 0,
795
- errors: [],
796
- valid: c.length === 0,
797
- status: c.length === 0 ? "valid" : "invalid"
798
- });
799
- }, Le = ({ config: e, definition: n, store: i, getValues: a, getSubmitCount: o, getFormStatus: s, commitState: c }) => {
800
- let l = null, u = 0;
801
- return {
802
- abort(e) {
803
- l?.abort(e), l = null;
804
- },
805
- async validate(d, f = i.getState().activeValidationVersion) {
806
- let p = i.getState().lifecycleVersion, m = a(), h = K(n, e, d.value), g = o(), _ = U(e, m, g, s()), v = ++u, y = typeof AbortController < "u" ? new AbortController() : null, b = J(n, e, h, m, g, _);
807
- if (l?.abort("validation-restarted"), l = y, !_.visible || _.disabled) {
808
- let t = G({
809
- ...d,
810
- value: h,
811
- visible: _.visible,
812
- disabled: _.disabled,
813
- readOnly: _.readOnly,
814
- syncErrors: b,
815
- validationErrors: [],
816
- externalErrors: []
817
- });
818
- return l === y && (l = null), c(e.id, t), {
819
- fieldId: e.id,
820
- valid: !0,
821
- errors: []
822
- };
823
- }
824
- c(e.id, Me({
825
- ...d,
826
- visible: _.visible,
827
- disabled: _.disabled,
828
- readOnly: _.readOnly,
829
- validationVersion: f,
830
- syncErrors: b,
831
- validationErrors: [...d.validationErrors],
832
- externalErrors: [...d.externalErrors],
833
- status: "validating"
834
- }));
835
- let x = [];
836
- if (b.length === 0 && n.validate) try {
837
- let i = typeof e.asyncValidationDebounceMs == "number" ? e.asyncValidationDebounceMs : 0;
838
- i > 0 && await t(i, y?.signal);
839
- let a = n.validate(h, e, {
840
- field: e,
841
- values: m,
842
- submitCount: g,
843
- validationVersion: f,
844
- signal: y?.signal
845
- });
846
- r(a) && (x = await a);
847
- } catch (t) {
848
- if (y?.signal.aborted || S(t)) return {
849
- fieldId: e.id,
850
- valid: d.valid,
851
- errors: [...d.errors]
852
- };
853
- throw t;
854
- }
855
- let C = i.getState().activeValidationVersion === f && i.getState().lifecycleVersion === p && u === v && !y?.signal.aborted, w = G({
856
- ...d,
857
- value: h,
858
- touched: !0,
859
- dirty: !q(n, e, h, d.initialValue),
860
- visible: _.visible,
861
- disabled: _.disabled,
862
- readOnly: _.readOnly,
863
- syncErrors: b,
864
- validationErrors: x,
865
- externalErrors: [...d.externalErrors],
866
- validationVersion: f
867
- });
868
- return C && c(e.id, w), l === y && (l = null), {
869
- fieldId: e.id,
870
- valid: w.valid,
871
- errors: [...w.errors]
872
- };
873
- }
874
- };
875
- }, Y = (e) => {
876
- let t = I(e.getState());
877
- return {
878
- valid: t.valid,
879
- fields: t.errors.fields,
880
- formErrors: t.errors.form
881
- };
882
- }, Re = (e, t, n) => {
883
- if (n) {
884
- if (Array.isArray(n)) {
885
- t.push(...n);
886
- return;
887
- }
888
- if (n.form && t.push(...n.form), n.fields) for (let [t, r] of Object.entries(n.fields)) e[t] = [...e[t] ?? [], ...r];
889
- }
890
- }, ze = ({ store: e, fields: t, normalizedSchema: n, validators: r, hooks: i, getValues: a, getSubmitCount: o, getFormStatus: s, syncDerivedFieldState: c, setRestingStatus: l, shouldResetInactiveFields: u, inactiveFieldPolicy: d }) => {
891
- let f = 0, p = new Set(t.map((e) => e.id)), m = async (i, c) => {
892
- let l = [], u = Object.fromEntries(t.map((e) => [e.id, []]));
893
- if (r?.length) {
894
- let t = {
895
- values: a(),
896
- submitCount: o(),
897
- formStatus: s(),
898
- fields: be(e.getState().fieldStates),
899
- schema: {
900
- fields: n.fields,
901
- reports: n.reports
902
- }
903
- };
904
- for (let n of r) if (Re(u, l, await n(t)), e.getState().activeValidationVersion !== i || e.getState().lifecycleVersion !== c) return Y(e);
905
- }
906
- let d = Object.keys(u).filter((e) => !p.has(e));
907
- if (d.length > 0) throw new h(`Form validator returned errors for unknown fields: ${d.join(", ")}.`);
908
- if (e.getState().activeValidationVersion !== i || e.getState().lifecycleVersion !== c) return Y(e);
909
- for (let e of t) e.setExternalErrors(u[e.id] ?? []);
910
- return e.update((e) => ({
911
- ...e,
912
- formErrors: l
913
- })), Y(e);
914
- };
915
- return { async validate() {
916
- let n = e.getState().lifecycleVersion, r = ++f;
917
- e.update((e) => P(e, {
918
- type: "start-validation",
919
- validationVersion: r
920
- }));
921
- try {
922
- if (await i?.beforeValidate?.({
923
- values: a(),
924
- submitCount: o()
925
- }), await Promise.all(t.map((e) => e.validate(r))), e.getState().lifecycleVersion !== n) return Y(e);
926
- c({
927
- preserveValidationErrors: !0,
928
- preserveExternalErrors: !1,
929
- resetInactiveToInitial: u(),
930
- inactiveFieldPolicy: d
931
- });
932
- let s = await m(r, n);
933
- return await i?.afterValidate?.({
934
- values: a(),
935
- result: s,
936
- submitCount: o()
937
- }), e.getState().activeValidationVersion === r && l(), s;
938
- } catch (t) {
939
- let i = t instanceof Error ? t.message : String(t);
940
- throw e.getState().activeValidationVersion === r && e.getState().lifecycleVersion === n && (e.update((e) => P(e, {
941
- type: "validation-error",
942
- message: i
943
- })), c({
944
- preserveValidationErrors: !0,
945
- preserveExternalErrors: !0,
946
- resetInactiveToInitial: u(),
947
- inactiveFieldPolicy: d
948
- })), t;
949
- }
950
- } };
951
- }, Be = ({ store: e, fieldMap: t, onRemoteFieldUpdate: n }) => ({ applyFieldUpdate: (r) => {
952
- let i = t.get(r.fieldId);
953
- if (!i) return;
954
- let a = e.getState().fieldStates[r.fieldId];
955
- if (!a) return;
956
- let o = r.value === void 0 ? a.value : i.coerceValue(r.value);
957
- i.commitState(G({
958
- ...a,
959
- value: o,
960
- touched: r.touched ?? a.touched,
961
- dirty: r.dirty ?? a.dirty,
962
- externalErrors: r.errors ? [...r.errors] : a.externalErrors
963
- })), n?.(r.fieldId);
964
- } }), Ve = (e, t, n, r, i) => {
965
- t() !== r || e.getState().lifecycleVersion !== i || e.update((e) => ({
966
- ...e,
967
- submissionProgress: n
968
- }));
969
- }, He = (e, t) => {
970
- let n = e ?? {
971
- meta: {},
972
- chunkCount: 0
973
- };
974
- switch (t.type) {
975
- case "progress": return {
976
- ...n,
977
- loaded: t.loaded ?? n.loaded,
978
- total: t.total ?? n.total,
979
- message: t.message ?? n.message,
980
- meta: {
981
- ...n.meta,
982
- ...t.meta
983
- },
984
- lastEventType: t.type
985
- };
986
- case "meta": return {
987
- ...n,
988
- sessionState: t.meta.sessionClosed === !0 ? "closed" : t.meta.sessionOpening === !0 ? "opening" : t.meta.sessionOpen === !0 ? "open" : t.meta.sessionClosing === !0 ? "closing" : n.sessionState,
989
- bufferedMessages: typeof t.meta.bufferedMessages == "number" ? t.meta.bufferedMessages : n.bufferedMessages,
990
- meta: {
991
- ...n.meta,
992
- ...t.meta
993
- },
994
- lastEventType: t.type
995
- };
996
- case "chunk": return {
997
- ...n,
998
- chunkCount: n.chunkCount + 1,
999
- sessionState: t.meta?.session === !0 ? "open" : n.sessionState,
1000
- bufferedMessages: typeof t.meta?.bufferedMessages == "number" ? t.meta.bufferedMessages : n.bufferedMessages,
1001
- sessionMessageCount: t.meta?.session === !0 ? (n.sessionMessageCount ?? 0) + 1 : n.sessionMessageCount,
1002
- lastSessionMessageType: t.meta?.session === !0 && typeof t.meta?.messageType == "string" ? t.meta.messageType : n.lastSessionMessageType,
1003
- meta: {
1004
- ...n.meta,
1005
- ...t.meta
1006
- },
1007
- lastEventType: t.type
1008
- };
1009
- case "report-replace":
1010
- case "report-patch":
1011
- case "field-update":
1012
- case "result":
1013
- case "error": return {
1014
- ...n,
1015
- meta: {
1016
- ...n.meta,
1017
- ...t.meta
1018
- },
1019
- lastEventType: t.type
1020
- };
1021
- }
1022
- }, Ue = ({ store: e, transport: t, hooks: n, hookFailurePolicy: r, normalizedSchema: i, fields: a, reports: o, validate: s, getSubmitCount: u, markReportsLoading: d, resetReports: f, resetExplanations: p, syncDerivedFieldState: m, shouldResetInactiveFields: h, resolveInactiveFieldPolicy: g, inactiveFieldPolicy: v, onRemoteFieldUpdate: y, beforeSubmitRecords: b }) => {
1023
- let C = ge(), w = Ce({
1024
- store: e,
1025
- resetReports: f,
1026
- resetExplanations: p,
1027
- syncAfterSubmissionTransition: () => {
1028
- m({
1029
- preserveValidationErrors: !0,
1030
- preserveExternalErrors: !0,
1031
- resetInactiveToInitial: h(),
1032
- inactiveFieldPolicy: v
1033
- });
1034
- }
1035
- }), T = new Map(a.map((e) => [e.id, e])), E = new Map(o.map((e) => [e.id, e])), { notifySubmitError: D, handleSubmissionAbort: O, handleSubmissionError: k } = Te({
1036
- hooks: n,
1037
- abortManager: C,
1038
- lifecycle: w,
1039
- store: e
1040
- }), { applyValidatedReportReplace: A, applyValidatedReportPatch: j } = Ee({
1041
- reportMap: E,
1042
- getReportState: (t) => e.getState().reportStates[t],
1043
- getReportStates: () => e.getState().reportStates,
1044
- getSubmissionMeta: () => e.getState().submissionProgress?.meta ?? {},
1045
- storePendingPatch: (t, n) => {
1046
- e.update((e) => ({
1047
- ...e,
1048
- submissionProgress: e.submissionProgress ? {
1049
- ...e.submissionProgress,
1050
- meta: {
1051
- ...e.submissionProgress.meta,
1052
- pendingReportPatches: {
1053
- ...e.submissionProgress.meta.pendingReportPatches,
1054
- [t]: n
1055
- }
1056
- }
1057
- } : e.submissionProgress
1058
- }));
1059
- }
1060
- }), { applyFieldUpdate: M } = Be({
1061
- store: e,
1062
- fieldMap: T,
1063
- onRemoteFieldUpdate: y
1064
- }), ee = async (e, t, n) => {
1065
- switch (e.type) {
1066
- case "report-replace":
1067
- await A(e.reportId, e.payload, t, n);
1068
- break;
1069
- case "report-patch":
1070
- await j(e.reportId, e.patch, e.strategy, t, n);
1071
- break;
1072
- case "field-update":
1073
- M(e);
1074
- break;
1075
- default: break;
1076
- }
1077
- };
1078
- return {
1079
- async submit(f) {
1080
- C.ensureIdle();
1081
- let p = C.begin(), m = f?.backend, h;
1082
- try {
1083
- h = await s();
1084
- } catch (e) {
1085
- throw C.clear(p), e;
1086
- }
1087
- if (C.getCurrentRequestId() !== p) throw C.clear(p), x(C.getAbortReason(p) || "superseded");
1088
- if (!h.valid) throw C.clear(p), new _(h);
1089
- if (f?.signal?.aborted) throw C.clear(p), x(String(f.signal.reason ?? ""));
1090
- let v = de(a, g);
1091
- await b?.(v), C.setActiveController(p, typeof AbortController < "u" ? new AbortController() : null), C.attachExternalSignal(f, p), e.batch(() => {
1092
- d(), w.start(p);
1093
- });
1094
- let y = u(), T = e.getState().lifecycleVersion, E = C.createSignal(f);
1095
- try {
1096
- let a = N(v);
1097
- if (await n?.beforeSubmit?.({
1098
- backend: m,
1099
- ...a,
1100
- submitCount: y,
1101
- signal: E
1102
- }), E.aborted || C.isAborted(p)) throw x(C.getAbortReason(p));
1103
- let s = N(v), u = {
1104
- backend: m,
1105
- ...s,
1106
- fields: i.fields,
1107
- reports: i.reports,
1108
- metadata: { estimatedPayloadBytes: le({
1109
- values: s.serializedValues,
1110
- fieldValues: s.serializedFieldValues
1111
- }) },
1112
- signal: E
1113
- }, d;
1114
- if (t.stream) {
1115
- let n = !1, r = await t.stream(u);
1116
- for await (let t of r) if (Ve(e, () => C.getCurrentRequestId(), He(e.getState().submissionProgress, t), p, T), await ee(t, v, m), t.type === "result") d = t.result, n = !0;
1117
- else if (t.type === "error") throw t.error;
1118
- if (!n) throw new c("Form submission failed: stream completed without a result.", {
1119
- code: l.SESSION_RESULT_MISSING,
1120
- retryable: !1,
1121
- details: { backend: m }
1122
- });
1123
- } else d = await t.submit(u);
1124
- if (!(C.getCurrentRequestId() === p && e.getState().lifecycleVersion === T && !E.aborted && !C.isAborted(p))) throw x(C.getAbortReason(p));
1125
- let f = fe(d), h = {
1126
- backend: m,
1127
- ...v,
1128
- reports: f.reports ?? {},
1129
- meta: f.meta ?? {},
1130
- raw: f.raw
1131
- }, g = await pe(o, {
1132
- ...h,
1133
- reportStates: {}
1134
- }), _ = we(o, h, g), b = L(o, _);
1135
- e.batch(() => {
1136
- me(o, g), w.succeed(b);
1137
- });
1138
- try {
1139
- let e = N(v);
1140
- await n?.afterSubmit?.({
1141
- backend: m,
1142
- ...e,
1143
- submitCount: y,
1144
- result: L(o, _)
1145
- });
1146
- } catch (e) {
1147
- if (r?.afterSubmit !== "preserve-success") throw e;
1148
- await D(m, v, y, e);
1149
- }
1150
- return L(o, _);
1151
- } catch (e) {
1152
- return S(e) || E.aborted || C.isAborted(p) ? await O(e, p, T, y, v, m) : await k(e, p, T, y, v, m);
1153
- } finally {
1154
- C.clear(p), w.clear(p);
1155
- }
1156
- },
1157
- abort(e) {
1158
- C.abort(e);
1159
- },
1160
- reset() {
1161
- C.reset();
1162
- }
1163
- };
1164
- }, We = (e, t, n, r) => U(e, t, n(), r()), Ge = ({ config: e, definition: t, value: n, values: r, currentState: i, getSubmitCount: a, getFormStatus: o }) => {
1165
- let s = K(t, e, n), c = We(e, r, a, o);
1166
- if (!c.visible) throw new h(`Field "${e.id}" is hidden and cannot be updated.`);
1167
- if (c.disabled) throw new h(`Field "${e.id}" is disabled and cannot be updated.`);
1168
- if (c.readOnly) throw new h(`Field "${e.id}" is read-only and cannot be updated.`);
1169
- let l = J(t, e, s, r, a(), c);
1170
- return G({
1171
- ...i,
1172
- value: s,
1173
- touched: !0,
1174
- dirty: !q(t, e, s, i.initialValue),
1175
- visible: c.visible,
1176
- disabled: c.disabled,
1177
- readOnly: c.readOnly,
1178
- syncErrors: l,
1179
- validationErrors: [],
1180
- externalErrors: []
1181
- });
1182
- }, Ke = ({ config: e, definition: t, currentState: n, values: r, getSubmitCount: i, getFormStatus: a, options: o }) => {
1183
- let s = We(e, r, i, a), c = e.inactiveFieldPolicy ?? o?.inactiveFieldPolicy, l = K(t, e, (o?.resetInactiveToInitial === !0 || c === "reset-on-hide") && (!s.visible || s.disabled) ? n.initialValue : n.value), u = J(t, e, l, r, i(), s);
1184
- return G({
1185
- ...n,
1186
- value: l,
1187
- dirty: !q(t, e, l, n.initialValue),
1188
- visible: s.visible,
1189
- disabled: s.disabled,
1190
- readOnly: s.readOnly,
1191
- syncErrors: u,
1192
- validationErrors: o?.preserveValidationErrors && s.visible && !s.disabled ? [...n.validationErrors] : [],
1193
- externalErrors: o?.preserveExternalErrors && s.visible && !s.disabled ? [...n.externalErrors] : [],
1194
- validationVersion: n.validationVersion
1195
- });
1196
- }, X = (e, t, n) => {
1197
- e.update((e) => ({
1198
- ...e,
1199
- fieldStates: {
1200
- ...e.fieldStates,
1201
- [t]: n
1202
- }
1203
- }));
1204
- }, qe = ({ config: t, definition: n, store: r, getValues: i, getSubmitCount: a, getFormStatus: o, onValueChange: s }) => {
1205
- let c = e(O(t)), l = Ie(n, c, c.defaultValue === void 0 ? n.getDefaultValue?.(c) : c.defaultValue, i(), a(), o());
1206
- X(r, t.id, l);
1207
- let u = () => r.getState().fieldStates[t.id], f = Le({
1208
- config: c,
1209
- definition: n,
1210
- store: r,
1211
- getValues: i,
1212
- getSubmitCount: a,
1213
- getFormStatus: o,
1214
- commitState: (e, t) => X(r, e, t)
1215
- });
1216
- return {
1217
- get id() {
1218
- return c.id;
1219
- },
1220
- get kind() {
1221
- return c.kind;
1222
- },
1223
- get config() {
1224
- return c;
1225
- },
1226
- get state() {
1227
- return F(u());
1228
- },
1229
- setValue(e) {
1230
- let n = {
1231
- ...i(),
1232
- [c.id]: this.coerceValue(e)
1233
- };
1234
- if (this.applyValue(e, n), s) {
1235
- s(t.id, n);
1236
- return;
1237
- }
1238
- r.update((e) => ({
1239
- ...e,
1240
- status: "editing",
1241
- formErrors: [],
1242
- lifecycleVersion: e.lifecycleVersion + 1
1243
- }));
1244
- },
1245
- applyValue(e, t) {
1246
- f.abort("value-updated"), this.commitState(this.prepareValue(e, t));
1247
- },
1248
- prepareValue(e, t) {
1249
- return Ge({
1250
- config: c,
1251
- definition: n,
1252
- value: e,
1253
- values: t,
1254
- currentState: u(),
1255
- getSubmitCount: a,
1256
- getFormStatus: o
1257
- });
1258
- },
1259
- commitState(e) {
1260
- X(r, c.id, e);
1261
- },
1262
- blur() {
1263
- let e = u();
1264
- X(r, c.id, {
1265
- ...e,
1266
- touched: !0
1267
- }), r.update((e) => ({
1268
- ...e,
1269
- status: "editing"
1270
- }));
1271
- },
1272
- focus() {},
1273
- async validate(e) {
1274
- return f.validate(u(), e);
1275
- },
1276
- reset() {
1277
- f.abort("field-reset"), X(r, c.id, { ...l });
1278
- },
1279
- subscribe(e) {
1280
- let t = u();
1281
- return r.subscribe(() => {
1282
- let n = r.getState().fieldStates[c.id];
1283
- d(t, n) || (t = n, e(F(n)));
1284
- });
1285
- },
1286
- serialize() {
1287
- let e = u().value;
1288
- return n.serializeValue ? n.serializeValue(e, c) : e;
1289
- },
1290
- coerceValue(e) {
1291
- return K(n, c, e);
1292
- },
1293
- setExternalErrors(e) {
1294
- let t = u();
1295
- X(r, c.id, G({
1296
- ...t,
1297
- externalErrors: [...e]
1298
- }));
1299
- },
1300
- refresh(e) {
1301
- let t = Ke({
1302
- config: c,
1303
- definition: n,
1304
- currentState: u(),
1305
- values: e?.values ?? i(),
1306
- getSubmitCount: a,
1307
- getFormStatus: o,
1308
- options: e
1309
- });
1310
- return X(r, c.id, t), t;
1311
- }
1312
- };
1313
- }, Je = {
1314
- payload: void 0,
1315
- error: null,
1316
- status: "idle"
1317
- }, Ye = {
1318
- payload: void 0,
1319
- error: null,
1320
- status: "loading"
1321
- }, Z = (e, t, n) => {
1322
- if (n !== void 0) return e.clonePayload ? e.clonePayload(n, t) : O(n);
1323
- }, Xe = (e, t, n) => ({
1324
- payload: Z(e, t, n.payload),
1325
- error: n.error,
1326
- status: n.status
1327
- }), Q = (e, t, n) => {
1328
- e.update((e) => ({
1329
- ...e,
1330
- reportStates: {
1331
- ...e.reportStates,
1332
- [t]: n
1333
- }
1334
- }));
1335
- }, Ze = ({ config: t, definition: n, store: r }) => {
1336
- let i = e(O(t));
1337
- return Q(r, i.id, Je), {
1338
- get id() {
1339
- return i.id;
1340
- },
1341
- get kind() {
1342
- return i.kind;
1343
- },
1344
- get config() {
1345
- return i;
1346
- },
1347
- get partialUpdatePolicy() {
1348
- return n.partialUpdatePolicy ?? "trust";
1349
- },
1350
- get state() {
1351
- return Xe(n, i, r.getState().reportStates[i.id]);
1352
- },
1353
- cloneState(e) {
1354
- return Xe(n, i, e);
1355
- },
1356
- async prepareState(e) {
1357
- let t;
1358
- try {
1359
- t = n.resolvePayload ? await n.resolvePayload(i, {
1360
- report: i,
1361
- result: e
1362
- }) : e.reports[i.source];
1363
- } catch (e) {
1364
- return {
1365
- payload: void 0,
1366
- error: e instanceof Error ? e.message : String(e),
1367
- status: "error"
1368
- };
1369
- }
1370
- if (t === void 0 || !n.payloadSchema) return {
1371
- payload: Z(n, i, t),
1372
- error: null,
1373
- status: t === void 0 ? "idle" : "ready"
1374
- };
1375
- try {
1376
- return {
1377
- payload: Z(n, i, n.payloadSchema.parse(t)),
1378
- error: null,
1379
- status: "ready"
1380
- };
1381
- } catch (e) {
1382
- let t = e instanceof Error ? e.message : String(e);
1383
- if (n.payloadValidationPolicy === "fail-submit") throw new y(i.id, t, e);
1384
- return {
1385
- payload: void 0,
1386
- error: t,
1387
- status: "error"
1388
- };
1389
- }
1390
- },
1391
- commitState(e) {
1392
- Q(r, i.id, this.cloneState(e));
1393
- },
1394
- async update(e) {
1395
- this.commitState(await this.prepareState(e));
1396
- },
1397
- markLoading() {
1398
- Q(r, i.id, Ye);
1399
- },
1400
- reset() {
1401
- Q(r, i.id, Je);
1402
- },
1403
- subscribe(e) {
1404
- let t = r.getState().reportStates[i.id];
1405
- return r.subscribe(() => {
1406
- let n = r.getState().reportStates[i.id];
1407
- d(t, n) || (t = n, e(this.cloneState(n)));
1408
- });
1409
- }
1410
- };
1411
- }, Qe = (e, t, n, r) => {
1412
- if (typeof n != "object" || !n) throw new h(`Series field "${e}" requires "${t}" configuration.`);
1413
- let i = "kind" in n && typeof n.kind == "string" ? n.kind : "";
1414
- if (i.length === 0) throw new h(`Series field "${e}" requires "${t}.kind".`);
1415
- if (i === "series") throw new h(`Series field "${e}" cannot nest series in "${t}".`);
1416
- if (!r.getField(i)) throw new g(`Series field "${e}" uses unknown sub-field kind "${i}" in "${t}".`);
1417
- }, $e = (e, t) => {
1418
- if (e.kind === "series" && (Qe(e.label, "field1", e.field1, t), Qe(e.label, "field2", e.field2, t), typeof e.minPoints == "number" && typeof e.maxPoints == "number" && e.minPoints > e.maxPoints)) throw new h(`Series field "${e.label}" requires minPoints to be less than or equal to maxPoints.`);
1419
- }, $ = (e, t, n, r) => {
1420
- let i = o((e ?? t) || r);
1421
- if (e) {
1422
- if (n.has(i)) throw new h(`Duplicate explicit id "${i}" in schema.`);
1423
- return n.add(i), i;
1424
- }
1425
- let a = i, s = 2;
1426
- for (; n.has(a);) a = `${i}-${s}`, s += 1;
1427
- return n.add(a), a;
1428
- }, et = (e, t, n, r) => {
1429
- let i = n.getField(e.kind);
1430
- if (!i) throw new g(`Unknown field kind "${e.kind}".`);
1431
- let a = i.schema.parse(e);
1432
- $e(a, n);
1433
- let o = $(a.id, a.label, r, `field-${t + 1}`);
1434
- return {
1435
- ...a,
1436
- id: o
1437
- };
1438
- }, tt = (e, t, n, r) => {
1439
- let i = n.getReport(e.kind);
1440
- if (!i) throw new g(`Unknown report kind "${e.kind}".`);
1441
- let a = i.schema.parse(e), o = $(a.id, a.label ?? a.kind, r, `report-${t + 1}`);
1442
- return {
1443
- ...a,
1444
- id: o,
1445
- source: a.source ?? o
1446
- };
1447
- }, nt = (e, t, n, r) => {
1448
- let i = n.getExplanation(e.kind);
1449
- if (!i) throw new g(`Unknown explanation kind "${e.kind}".`);
1450
- let a = i.schema.parse(e), o = $(a.id, a.label ?? a.kind, r, `explanation-${t + 1}`);
1451
- return {
1452
- ...a,
1453
- id: o
1454
- };
1455
- }, rt = (e, t) => {
1456
- let n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
1457
- return {
1458
- fields: e.fields.map((e, r) => et(e, r, t, n)),
1459
- reports: (e.reports ?? []).map((e, n) => tt(e, n, t, r)),
1460
- explanations: (e.explanations ?? []).map((e, n) => nt(e, n, t, i))
1461
- };
1462
- }, it = ({ registry: e, behaviors: t, fields: n, getValues: i, getSubmitCount: a, getFormStatus: s, commitDerivedValue: c, syncDerivedState: l, onListenerError: u }) => {
1463
- let d = new Map(n.map((e) => [e.id, e])), f = (e) => d.get(e) ?? d.get(o(e)), p = () => ({
1464
- registry: e,
1465
- fields: n,
1466
- getField(e) {
1467
- return f(e);
1468
- },
1469
- resolveFieldId(e) {
1470
- return f(e)?.id;
1471
- },
1472
- getValues: i,
1473
- getSubmitCount: a,
1474
- getFormStatus: s,
1475
- commitDerivedValue: c,
1476
- syncDerivedState: l
1477
- });
1478
- return {
1479
- createBehaviorContext: p,
1480
- runBehaviorValueChange: (e) => {
1481
- let n = p();
1482
- for (let i of t) {
1483
- let t = i.onValuesChanged?.(e, n);
1484
- r(t) && Promise.resolve(t).catch((e) => {
1485
- u?.(e);
1486
- });
1487
- }
1488
- },
1489
- runBeforeSubmitRecords: async (e) => {
1490
- let n = p();
1491
- for (let r of t) await r.beforeSubmitRecords?.(e, n);
1492
- },
1493
- validateBehaviors: () => {
1494
- let e = p();
1495
- for (let n of t) n.validate?.(e);
1496
- },
1497
- fieldMap: d,
1498
- resolveField: f
1499
- };
1500
- }, at = ({ fields: e, reports: t, explanations: n, fieldMap: r, reportMap: i, explanationMap: a, store: o, getPublicState: s, getValues: c, getInternalValues: l, formValidator: u, formSubmitter: d, syncDerivedFieldState: f, shouldResetInactiveFields: p, inactiveFieldPolicy: g, bumpLifecycleVersion: _, resetReports: v, resetExplanations: y, runBehaviorValueChange: b }) => {
1501
- let x = Object.freeze([...e]), S = Object.freeze([...t]), C = Object.freeze([...n]);
1502
- return {
1503
- get fields() {
1504
- return x;
1505
- },
1506
- get reports() {
1507
- return S;
1508
- },
1509
- get explanations() {
1510
- return C;
1511
- },
1512
- get state() {
1513
- return s();
1514
- },
1515
- getField(e) {
1516
- return r.get(e);
1517
- },
1518
- getReport(e) {
1519
- return i.get(e);
1520
- },
1521
- getExplanation(e) {
1522
- return a.get(e);
1523
- },
1524
- getValues() {
1525
- return c();
1526
- },
1527
- setValues(e) {
1528
- o.batch(() => {
1529
- let t = Object.entries(e), n = { ...l() }, i = /* @__PURE__ */ new Map();
1530
- for (let [e, i] of t) {
1531
- let t = r.get(e);
1532
- if (!t) throw new h(`Unknown field "${e}".`);
1533
- n[e] = t.coerceValue(i);
1534
- }
1535
- for (let [e, a] of t) {
1536
- let t = r.get(e);
1537
- if (!t) throw new h(`Unknown field "${e}".`);
1538
- i.set(e, t.prepareValue(a, n));
1539
- }
1540
- _();
1541
- for (let [e, t] of i) {
1542
- let n = r.get(e);
1543
- if (!n) throw new h(`Unknown field "${e}".`);
1544
- n.commitState(t);
1545
- }
1546
- o.update((e) => P(e, {
1547
- type: "editing",
1548
- clearFormErrors: !0
1549
- })), f({
1550
- values: n,
1551
- preserveValidationErrors: !1,
1552
- preserveExternalErrors: !1,
1553
- resetInactiveToInitial: p(),
1554
- inactiveFieldPolicy: g
1555
- });
1556
- for (let [e] of t) b({
1557
- fieldId: e,
1558
- source: "local",
1559
- values: n
1560
- });
1561
- });
1562
- },
1563
- validate() {
1564
- return u.validate();
1565
- },
1566
- submit(e) {
1567
- return d.submit(e);
1568
- },
1569
- abortSubmit(e) {
1570
- d.abort(e);
1571
- },
1572
- reset() {
1573
- o.batch(() => {
1574
- d.abort("reset"), _();
1575
- for (let t of e) t.reset();
1576
- v(), y(), d.reset(), o.update((e) => P(e, { type: "reset" })), f({
1577
- preserveValidationErrors: !1,
1578
- preserveExternalErrors: !1
1579
- });
1580
- });
1581
- },
1582
- subscribe(e) {
1583
- return o.subscribe(() => {
1584
- e(s());
1585
- });
1586
- },
1587
- subscribeSelector(e, t, n) {
1588
- let r = n?.equality ?? m, i = e(s());
1589
- return n?.emitInitial && t(i, s()), o.subscribe(() => {
1590
- let n = s(), a = e(n);
1591
- r(i, a) || (i = a, t(a, n));
1592
- });
1593
- }
1594
- };
1595
- }, ot = ({ store: e, fields: t, shouldResetInactiveFields: n, inactiveFieldPolicy: r, hasInteractiveFieldState: i }) => {
1596
- function a(n) {
1597
- e.batch(() => {
1598
- let e = n?.resetInactiveToInitial === !0 ? { ...n.values } : n?.values;
1599
- for (let i of t) {
1600
- let t = i.refresh({
1601
- ...n,
1602
- values: e,
1603
- inactiveFieldPolicy: n?.inactiveFieldPolicy ?? r
1604
- });
1605
- e && (e[i.id] = t.value);
1606
- }
1607
- });
1608
- }
1609
- return {
1610
- syncDerivedFieldState: a,
1611
- setRestingStatus: () => {
1612
- e.batch(() => {
1613
- let t = i(e.getState().fieldStates) ? "editing" : "idle";
1614
- e.update((e) => P(e, {
1615
- type: "rest",
1616
- status: t
1617
- })), a({
1618
- preserveValidationErrors: !0,
1619
- preserveExternalErrors: !0,
1620
- resetInactiveToInitial: n(),
1621
- inactiveFieldPolicy: r
1622
- });
1623
- });
1624
- }
1625
- };
1626
- }, st = (e, t) => e.get(t), ct = ({ getFieldMap: e, getValues: t, getCurrentFieldState: n, syncDerivedFieldState: r, shouldResetInactiveFields: i, inactiveFieldPolicy: a }) => ({
1627
- getValues: () => Object.fromEntries(Object.entries(t()).map(([e, t]) => [e, O(t)])),
1628
- commitDerivedValue: (o, s) => {
1629
- let c = st(e(), o);
1630
- if (!c) throw new h(`Unknown field "${o}".`);
1631
- let l = c.coerceValue(s), u = {
1632
- ...t(),
1633
- [c.id]: l
1634
- }, d = n(c.id);
1635
- d && (c.commitState({
1636
- ...d,
1637
- value: l
1638
- }), r({
1639
- values: u,
1640
- preserveValidationErrors: !1,
1641
- preserveExternalErrors: !1,
1642
- resetInactiveToInitial: i(),
1643
- inactiveFieldPolicy: a
1644
- }), c.validate());
1645
- }
1646
- }), lt = (e) => {
1647
- if (!e || typeof e.submit != "function") throw new h("createForm requires a transport with a submit(request) function.");
1648
- }, ut = (e) => {
1649
- for (let t in e) {
1650
- let n = e[t];
1651
- if (n?.dirty || n?.touched) return !0;
1652
- }
1653
- return !1;
1654
- }, dt = (e, t) => e.config.inactiveFieldPolicy ?? t ?? "omit", ft = (e) => {
1655
- lt(e.transport);
1656
- let t = rt(e.schema, e.registry), n = e.behaviors ?? [], r = Se(_e(), {
1657
- listenerErrorPolicy: e.listenerErrorPolicy ?? "ignore",
1658
- onListenerError: e.onListenerError
1659
- }), i = r.getState(), a = I(i), o = () => {
1660
- let e = r.getState();
1661
- return e !== i && (i = e, a = I(e)), a;
1662
- }, s = () => r.getState().submitCount, c = () => r.getState().status, l = () => e.inactiveFieldPolicy === "reset-on-hide", u = () => Object.fromEntries(Object.entries(r.getState().fieldStates).map(([e, t]) => [e, t.value])), d = t.fields.map((t) => {
1663
- let n = e.registry.getField(t.kind);
1664
- if (!n) throw new h(`Field definition "${t.kind}" disappeared during form creation.`);
1665
- return qe({
1666
- config: {
1667
- ...t,
1668
- defaultValue: e.initialValues?.[t.id] === void 0 ? t.defaultValue : e.initialValues[t.id]
1669
- },
1670
- definition: n,
1671
- store: r,
1672
- getValues: () => u(),
1673
- getSubmitCount: s,
1674
- getFormStatus: c,
1675
- onValueChange: (t, n) => {
1676
- r.batch(() => {
1677
- r.update((e) => P(e, {
1678
- type: "editing",
1679
- clearFormErrors: !0,
1680
- bumpLifecycle: !0
1681
- })), y({
1682
- values: n,
1683
- preserveValidationErrors: !1,
1684
- preserveExternalErrors: !1,
1685
- resetInactiveToInitial: l(),
1686
- inactiveFieldPolicy: e.inactiveFieldPolicy
1687
- });
1688
- }), C({
1689
- fieldId: t,
1690
- source: "local",
1691
- values: n
1692
- });
1693
- }
1694
- });
1695
- }), f = t.reports.map((t) => {
1696
- let n = e.registry.getReport(t.kind);
1697
- if (!n) throw new h(`Report definition "${t.kind}" disappeared during form creation.`);
1698
- return Ze({
1699
- config: t,
1700
- definition: n,
1701
- store: r
1702
- });
1703
- }), p = t.explanations.map((t) => {
1704
- let n = e.registry.getExplanation(t.kind);
1705
- if (!n) throw new h(`Explanation definition "${t.kind}" disappeared during form creation.`);
1706
- return te({
1707
- config: t,
1708
- definition: n,
1709
- store: r,
1710
- hooks: e.hooks
1711
- });
1712
- }), m = new Map(d.map((e) => [e.id, e])), g = new Map(f.map((e) => [e.id, e])), _ = new Map(p.map((e) => [e.id, e])), v = (e) => r.getState().fieldStates[e], { syncDerivedFieldState: y, setRestingStatus: b } = ot({
1713
- store: r,
1714
- fields: d,
1715
- shouldResetInactiveFields: l,
1716
- inactiveFieldPolicy: e.inactiveFieldPolicy,
1717
- hasInteractiveFieldState: ut
1718
- }), { getValues: x, commitDerivedValue: S } = ct({
1719
- getFieldMap: () => m,
1720
- getValues: u,
1721
- getCurrentFieldState: v,
1722
- syncDerivedFieldState: y,
1723
- shouldResetInactiveFields: l,
1724
- inactiveFieldPolicy: e.inactiveFieldPolicy
1725
- }), { runBehaviorValueChange: C, runBeforeSubmitRecords: w, validateBehaviors: T } = it({
1726
- registry: e.registry,
1727
- behaviors: n,
1728
- fields: d,
1729
- getValues: x,
1730
- getSubmitCount: s,
1731
- getFormStatus: c,
1732
- commitDerivedValue: S,
1733
- syncDerivedState(t) {
1734
- y({
1735
- values: t,
1736
- preserveValidationErrors: !0,
1737
- preserveExternalErrors: !0,
1738
- resetInactiveToInitial: l(),
1739
- inactiveFieldPolicy: e.inactiveFieldPolicy
1740
- });
1741
- },
1742
- onListenerError: e.onListenerError
1743
- }), E = () => {
1744
- for (let e of f) e.reset();
1745
- }, D = () => {
1746
- for (let e of p) e.reset();
1747
- }, O = () => {
1748
- for (let e of f) e.markLoading();
1749
- }, k = () => (r.update((e) => P(e, { type: "bump-lifecycle" })), r.getState().lifecycleVersion), A = ze({
1750
- store: r,
1751
- fields: d,
1752
- normalizedSchema: t,
1753
- validators: e.validators,
1754
- hooks: e.hooks,
1755
- getValues: x,
1756
- getSubmitCount: s,
1757
- getFormStatus: c,
1758
- syncDerivedFieldState: y,
1759
- setRestingStatus: b,
1760
- shouldResetInactiveFields: l,
1761
- inactiveFieldPolicy: e.inactiveFieldPolicy
1762
- }), j = at({
1763
- fields: d,
1764
- reports: f,
1765
- explanations: p,
1766
- fieldMap: m,
1767
- reportMap: g,
1768
- explanationMap: _,
1769
- store: r,
1770
- getPublicState: o,
1771
- getValues: x,
1772
- getInternalValues: u,
1773
- formValidator: A,
1774
- formSubmitter: Ue({
1775
- store: r,
1776
- transport: e.transport,
1777
- hooks: e.hooks,
1778
- hookFailurePolicy: e.hookFailurePolicy,
1779
- normalizedSchema: t,
1780
- fields: d,
1781
- reports: f,
1782
- validate: () => A.validate(),
1783
- getSubmitCount: s,
1784
- markReportsLoading: O,
1785
- resetReports: E,
1786
- resetExplanations: D,
1787
- syncDerivedFieldState: y,
1788
- shouldResetInactiveFields: l,
1789
- resolveInactiveFieldPolicy: (t) => dt(t, e.inactiveFieldPolicy),
1790
- inactiveFieldPolicy: e.inactiveFieldPolicy,
1791
- onRemoteFieldUpdate: async (t) => {
1792
- let n = x();
1793
- y({
1794
- values: n,
1795
- preserveValidationErrors: !0,
1796
- preserveExternalErrors: !0,
1797
- resetInactiveToInitial: l(),
1798
- inactiveFieldPolicy: e.inactiveFieldPolicy
1799
- }), C({
1800
- fieldId: t,
1801
- source: "remote",
1802
- values: n
1803
- });
1804
- },
1805
- beforeSubmitRecords: w
1806
- }),
1807
- syncDerivedFieldState: y,
1808
- shouldResetInactiveFields: l,
1809
- inactiveFieldPolicy: e.inactiveFieldPolicy,
1810
- bumpLifecycleVersion: k,
1811
- resetReports: E,
1812
- resetExplanations: D,
1813
- runBehaviorValueChange: C
1814
- });
1815
- return y({
1816
- values: x(),
1817
- preserveValidationErrors: !1,
1818
- preserveExternalErrors: !1,
1819
- resetInactiveToInitial: l(),
1820
- inactiveFieldPolicy: e.inactiveFieldPolicy
1821
- }), T(), j;
1822
- }, pt = () => s(), mt = (e) => e, ht = (e) => e, gt = (e) => e;
1823
- //#endregion
1824
- export { m as _, ft as a, te as c, y as d, b as f, f as g, d as h, ht as i, h as l, _ as m, gt as n, oe as o, v as p, mt as r, re as s, pt as t, g as u, p as v };