mlform 0.1.7 → 0.1.9

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