@getodk/xforms-engine 0.6.0 → 0.7.0

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 (296) hide show
  1. package/dist/client/BaseNode.d.ts +4 -4
  2. package/dist/client/BaseValueNode.d.ts +7 -3
  3. package/dist/client/RootNode.d.ts +20 -16
  4. package/dist/client/constants.d.ts +11 -12
  5. package/dist/client/form/CreateFormInstance.d.ts +14 -0
  6. package/dist/client/form/EditFormInstance.d.ts +62 -0
  7. package/dist/client/form/FormInstance.d.ts +104 -0
  8. package/dist/client/form/FormInstanceConfig.d.ts +17 -0
  9. package/dist/client/form/FormResource.d.ts +1 -0
  10. package/dist/client/form/LoadForm.d.ts +79 -0
  11. package/dist/client/form/LoadFormResult.d.ts +67 -0
  12. package/dist/client/form/RestoreFormInstance.d.ts +8 -0
  13. package/dist/client/index.d.ts +37 -11
  14. package/dist/client/node-types.d.ts +2 -2
  15. package/dist/client/repeat/BaseRepeatRangeNode.d.ts +3 -4
  16. package/dist/client/repeat/RepeatInstanceNode.d.ts +4 -5
  17. package/dist/client/repeat/RepeatRangeControlledNode.d.ts +2 -2
  18. package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +2 -2
  19. package/dist/client/resources.d.ts +1 -1
  20. package/dist/client/serialization/InstanceData.d.ts +12 -0
  21. package/dist/client/serialization/InstanceFile.d.ts +6 -0
  22. package/dist/client/serialization/InstancePayload.d.ts +93 -0
  23. package/dist/client/serialization/InstancePayloadOptions.d.ts +23 -0
  24. package/dist/client/serialization/InstanceState.d.ts +12 -0
  25. package/dist/client/submission/{SubmissionDefinition.d.ts → SubmissionMeta.d.ts} +1 -1
  26. package/dist/entrypoints/FormInstance.d.ts +20 -0
  27. package/dist/entrypoints/FormResult/BaseFormResult.d.ts +22 -0
  28. package/dist/entrypoints/FormResult/BaseInstantiableFormResult.d.ts +25 -0
  29. package/dist/entrypoints/FormResult/FormFailureResult.d.ts +17 -0
  30. package/dist/entrypoints/FormResult/FormSuccessResult.d.ts +15 -0
  31. package/dist/entrypoints/FormResult/FormWarningResult.d.ts +15 -0
  32. package/dist/entrypoints/createInstance.d.ts +9 -0
  33. package/dist/entrypoints/editInstance.d.ts +9 -0
  34. package/dist/entrypoints/index.d.ts +4 -0
  35. package/dist/entrypoints/loadForm.d.ts +4 -0
  36. package/dist/entrypoints/restoreInstance.d.ts +9 -0
  37. package/dist/error/LoadFormFailureError.d.ts +9 -0
  38. package/dist/error/MalformedInstanceDataError.d.ts +3 -0
  39. package/dist/error/TemplatedNodeAttributeSerializationError.d.ts +22 -0
  40. package/dist/index.d.ts +2 -33
  41. package/dist/index.js +1915 -1419
  42. package/dist/index.js.map +1 -1
  43. package/dist/instance/Group.d.ts +6 -5
  44. package/dist/instance/InputControl.d.ts +5 -4
  45. package/dist/instance/ModelValue.d.ts +5 -4
  46. package/dist/instance/Note.d.ts +4 -3
  47. package/dist/instance/PrimaryInstance.d.ts +35 -8
  48. package/dist/instance/RangeControl.d.ts +5 -4
  49. package/dist/instance/RankControl.d.ts +6 -5
  50. package/dist/instance/Root.d.ts +7 -9
  51. package/dist/instance/SelectControl.d.ts +4 -3
  52. package/dist/instance/Subtree.d.ts +6 -5
  53. package/dist/instance/TriggerControl.d.ts +4 -3
  54. package/dist/instance/abstract/DescendantNode.d.ts +10 -1
  55. package/dist/instance/abstract/InstanceNode.d.ts +7 -4
  56. package/dist/instance/abstract/ValueNode.d.ts +7 -5
  57. package/dist/instance/children/DescendantNodeInitOptions.d.ts +32 -0
  58. package/dist/instance/{children.d.ts → children/buildChildren.d.ts} +1 -1
  59. package/dist/instance/children/childrenInitOptions.d.ts +9 -0
  60. package/dist/instance/children/normalizeChildInitOptions.d.ts +2 -0
  61. package/dist/instance/input/InitialInstanceState.d.ts +13 -0
  62. package/dist/instance/input/InstanceAttachmentMap.d.ts +19 -0
  63. package/dist/instance/internal-api/InstanceConfig.d.ts +2 -9
  64. package/dist/instance/internal-api/InstanceValueContext.d.ts +8 -1
  65. package/dist/instance/internal-api/serialization/ClientReactiveSerializableInstance.d.ts +14 -0
  66. package/dist/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.d.ts +32 -0
  67. package/dist/instance/internal-api/serialization/ClientReactiveSerializableParentNode.d.ts +18 -0
  68. package/dist/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.d.ts +13 -0
  69. package/dist/instance/internal-api/serialization/ClientReactiveSerializableValueNode.d.ts +21 -0
  70. package/dist/instance/repeat/BaseRepeatRange.d.ts +10 -8
  71. package/dist/instance/repeat/RepeatInstance.d.ts +10 -7
  72. package/dist/instance/repeat/RepeatRangeControlled.d.ts +27 -3
  73. package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +4 -3
  74. package/dist/instance/resource.d.ts +5 -1
  75. package/dist/instance/unsupported/UploadControl.d.ts +32 -4
  76. package/dist/integration/xpath/EngineXPathEvaluator.d.ts +2 -2
  77. package/dist/integration/xpath/adapter/kind.d.ts +4 -10
  78. package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +4 -5
  79. package/dist/integration/xpath/static-dom/StaticDocument.d.ts +13 -10
  80. package/dist/integration/xpath/static-dom/StaticElement.d.ts +21 -22
  81. package/dist/integration/xpath/static-dom/StaticNode.d.ts +1 -1
  82. package/dist/integration/xpath/static-dom/StaticParentNode.d.ts +13 -0
  83. package/dist/integration/xpath/static-dom/staticNodeName.d.ts +3 -0
  84. package/dist/lib/client-reactivity/instance-state/createNodeRangeInstanceState.d.ts +4 -0
  85. package/dist/lib/client-reactivity/instance-state/createParentNodeInstanceState.d.ts +4 -0
  86. package/dist/lib/client-reactivity/instance-state/createPrimaryInstanceState.d.ts +3 -0
  87. package/dist/lib/client-reactivity/instance-state/createRootInstanceState.d.ts +3 -0
  88. package/dist/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.d.ts +6 -0
  89. package/dist/lib/client-reactivity/instance-state/createValueNodeInstanceState.d.ts +3 -0
  90. package/dist/lib/client-reactivity/instance-state/prepareInstancePayload.d.ts +8 -0
  91. package/dist/lib/codecs/TempUnsupportedControlCodec.d.ts +7 -0
  92. package/dist/lib/names/UnprefixedXFormsName.d.ts +4 -0
  93. package/dist/lib/reactivity/createInstanceValueState.d.ts +2 -27
  94. package/dist/parse/XFormDOM.d.ts +1 -1
  95. package/dist/parse/model/BindDefinition.d.ts +1 -1
  96. package/dist/parse/model/ItextTranslationsDefinition.d.ts +18 -0
  97. package/dist/parse/model/LeafNodeDefinition.d.ts +4 -5
  98. package/dist/parse/model/ModelBindMap.d.ts +1 -1
  99. package/dist/parse/model/ModelDefinition.d.ts +9 -2
  100. package/dist/parse/model/NodeDefinition.d.ts +18 -30
  101. package/dist/parse/model/NoteNodeDefinition.d.ts +3 -2
  102. package/dist/parse/model/RangeNodeDefinition.d.ts +2 -1
  103. package/dist/parse/model/RepeatDefinition.d.ts +62 -0
  104. package/dist/parse/model/RootAttributeDefinition.d.ts +1 -4
  105. package/dist/parse/model/RootAttributeMap.d.ts +2 -1
  106. package/dist/parse/model/RootDefinition.d.ts +7 -8
  107. package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +15 -2
  108. package/dist/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.d.ts +5 -0
  109. package/dist/parse/model/SecondaryInstance/defineSecondaryInstance.d.ts +5 -0
  110. package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +1 -7
  111. package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +1 -1
  112. package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +1 -1
  113. package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +1 -1
  114. package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +1 -1
  115. package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +1 -1
  116. package/dist/parse/model/{FormSubmissionDefinition.d.ts → SubmissionDefinition.d.ts} +2 -2
  117. package/dist/parse/model/SubtreeDefinition.d.ts +4 -5
  118. package/dist/parse/model/nodeDefinitionMap.d.ts +5 -0
  119. package/dist/parse/shared/parseInstanceXML.d.ts +21 -0
  120. package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +4 -21
  121. package/dist/solid.js +1709 -1213
  122. package/dist/solid.js.map +1 -1
  123. package/package.json +1 -1
  124. package/src/client/BaseNode.ts +4 -4
  125. package/src/client/BaseValueNode.ts +7 -3
  126. package/src/client/RootNode.ts +27 -19
  127. package/src/client/constants.ts +12 -14
  128. package/src/client/form/CreateFormInstance.ts +19 -0
  129. package/src/client/form/EditFormInstance.ts +93 -0
  130. package/src/client/form/FormInstance.ts +114 -0
  131. package/src/client/form/FormInstanceConfig.ts +18 -0
  132. package/src/client/form/FormResource.ts +1 -0
  133. package/src/client/form/LoadForm.ts +92 -0
  134. package/src/client/form/LoadFormResult.ts +103 -0
  135. package/src/client/form/RestoreFormInstance.ts +14 -0
  136. package/src/client/index.ts +47 -29
  137. package/src/client/node-types.ts +2 -4
  138. package/src/client/repeat/BaseRepeatRangeNode.ts +3 -4
  139. package/src/client/repeat/RepeatInstanceNode.ts +4 -8
  140. package/src/client/repeat/RepeatRangeControlledNode.ts +2 -2
  141. package/src/client/repeat/RepeatRangeUncontrolledNode.ts +2 -2
  142. package/src/client/resources.ts +2 -2
  143. package/src/client/serialization/InstanceData.ts +16 -0
  144. package/src/client/serialization/InstanceFile.ts +9 -0
  145. package/src/client/serialization/InstancePayload.ts +126 -0
  146. package/src/client/serialization/InstancePayloadOptions.ts +28 -0
  147. package/src/client/serialization/InstanceState.ts +14 -0
  148. package/src/client/submission/{SubmissionDefinition.ts → SubmissionMeta.ts} +1 -1
  149. package/src/entrypoints/FormInstance.ts +55 -0
  150. package/src/entrypoints/FormResult/BaseFormResult.ts +40 -0
  151. package/src/entrypoints/FormResult/BaseInstantiableFormResult.ts +109 -0
  152. package/src/entrypoints/FormResult/FormFailureResult.ts +44 -0
  153. package/src/entrypoints/FormResult/FormSuccessResult.ts +25 -0
  154. package/src/entrypoints/FormResult/FormWarningResult.ts +25 -0
  155. package/src/entrypoints/createInstance.ts +23 -0
  156. package/src/entrypoints/editInstance.ts +24 -0
  157. package/src/entrypoints/index.ts +4 -0
  158. package/src/entrypoints/loadForm.ts +154 -0
  159. package/src/entrypoints/restoreInstance.ts +27 -0
  160. package/src/error/LoadFormFailureError.ts +114 -0
  161. package/src/error/MalformedInstanceDataError.ts +3 -0
  162. package/src/error/TemplatedNodeAttributeSerializationError.ts +24 -0
  163. package/src/index.ts +2 -46
  164. package/src/instance/Group.ts +16 -15
  165. package/src/instance/InputControl.ts +17 -11
  166. package/src/instance/ModelValue.ts +17 -11
  167. package/src/instance/Note.ts +10 -9
  168. package/src/instance/PrimaryInstance.ts +69 -31
  169. package/src/instance/RangeControl.ts +17 -11
  170. package/src/instance/RankControl.ts +28 -19
  171. package/src/instance/Root.ts +20 -31
  172. package/src/instance/SelectControl.ts +21 -12
  173. package/src/instance/Subtree.ts +16 -15
  174. package/src/instance/TriggerControl.ts +21 -12
  175. package/src/instance/abstract/DescendantNode.ts +12 -2
  176. package/src/instance/abstract/InstanceNode.ts +9 -5
  177. package/src/instance/abstract/ValueNode.ts +11 -13
  178. package/src/instance/children/DescendantNodeInitOptions.ts +35 -0
  179. package/src/instance/{children.ts → children/buildChildren.ts} +55 -48
  180. package/src/instance/children/childrenInitOptions.ts +117 -0
  181. package/src/instance/children/normalizeChildInitOptions.ts +332 -0
  182. package/src/instance/input/InitialInstanceState.ts +108 -0
  183. package/src/instance/input/InstanceAttachmentMap.ts +142 -0
  184. package/src/instance/internal-api/InstanceConfig.ts +3 -10
  185. package/src/instance/internal-api/InstanceValueContext.ts +9 -1
  186. package/src/instance/internal-api/serialization/ClientReactiveSerializableInstance.ts +20 -0
  187. package/src/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.ts +43 -0
  188. package/src/instance/internal-api/serialization/ClientReactiveSerializableParentNode.ts +26 -0
  189. package/src/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.ts +24 -0
  190. package/src/instance/internal-api/serialization/ClientReactiveSerializableValueNode.ts +28 -0
  191. package/src/instance/repeat/BaseRepeatRange.ts +19 -24
  192. package/src/instance/repeat/RepeatInstance.ts +26 -19
  193. package/src/instance/repeat/RepeatRangeControlled.ts +90 -17
  194. package/src/instance/repeat/RepeatRangeUncontrolled.ts +10 -9
  195. package/src/instance/resource.ts +14 -1
  196. package/src/instance/unsupported/UploadControl.ts +116 -5
  197. package/src/integration/xpath/EngineXPathEvaluator.ts +2 -2
  198. package/src/integration/xpath/adapter/kind.ts +1 -28
  199. package/src/integration/xpath/adapter/traversal.ts +2 -2
  200. package/src/integration/xpath/static-dom/StaticAttribute.ts +6 -5
  201. package/src/integration/xpath/static-dom/StaticDocument.ts +17 -16
  202. package/src/integration/xpath/static-dom/StaticElement.ts +196 -50
  203. package/src/integration/xpath/static-dom/StaticNode.ts +1 -1
  204. package/src/integration/xpath/static-dom/StaticParentNode.ts +22 -0
  205. package/src/integration/xpath/static-dom/staticNodeName.ts +20 -0
  206. package/src/lib/client-reactivity/instance-state/createNodeRangeInstanceState.ts +17 -0
  207. package/src/lib/client-reactivity/instance-state/createParentNodeInstanceState.ts +22 -0
  208. package/src/lib/client-reactivity/instance-state/createPrimaryInstanceState.ts +12 -0
  209. package/src/lib/client-reactivity/{submission/createRootSubmissionState.ts → instance-state/createRootInstanceState.ts} +4 -4
  210. package/src/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.ts +31 -0
  211. package/src/lib/client-reactivity/instance-state/createValueNodeInstanceState.ts +21 -0
  212. package/src/lib/client-reactivity/instance-state/prepareInstancePayload.ts +173 -0
  213. package/src/lib/codecs/TempUnsupportedControlCodec.ts +32 -0
  214. package/src/lib/names/UnprefixedXFormsName.ts +12 -0
  215. package/src/lib/reactivity/createInstanceValueState.ts +27 -51
  216. package/src/parse/model/ItextTranslationsDefinition.ts +79 -0
  217. package/src/parse/model/LeafNodeDefinition.ts +3 -5
  218. package/src/parse/model/ModelDefinition.ts +36 -3
  219. package/src/parse/model/NodeDefinition.ts +19 -45
  220. package/src/parse/model/NoteNodeDefinition.ts +4 -3
  221. package/src/parse/model/RangeNodeDefinition.ts +3 -2
  222. package/src/parse/model/RepeatDefinition.ts +382 -0
  223. package/src/parse/model/RootAttributeDefinition.ts +6 -7
  224. package/src/parse/model/RootAttributeMap.ts +15 -10
  225. package/src/parse/model/RootDefinition.ts +17 -19
  226. package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +23 -2
  227. package/src/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.ts +14 -0
  228. package/src/parse/model/SecondaryInstance/defineSecondaryInstance.ts +32 -0
  229. package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +3 -24
  230. package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +33 -86
  231. package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +64 -137
  232. package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +9 -7
  233. package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +1 -1
  234. package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +7 -7
  235. package/src/parse/model/{FormSubmissionDefinition.ts → SubmissionDefinition.ts} +2 -2
  236. package/src/parse/model/SubtreeDefinition.ts +4 -5
  237. package/src/parse/model/nodeDefinitionMap.ts +34 -0
  238. package/src/parse/shared/parseInstanceXML.ts +79 -0
  239. package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +45 -130
  240. package/dist/client/EngineConfig.d.ts +0 -79
  241. package/dist/client/submission/SubmissionData.d.ts +0 -7
  242. package/dist/client/submission/SubmissionInstanceFile.d.ts +0 -6
  243. package/dist/client/submission/SubmissionOptions.d.ts +0 -23
  244. package/dist/client/submission/SubmissionResult.d.ts +0 -91
  245. package/dist/client/submission/SubmissionState.d.ts +0 -12
  246. package/dist/instance/abstract/UnsupportedControl.d.ts +0 -54
  247. package/dist/instance/index.d.ts +0 -8
  248. package/dist/instance/internal-api/ValueContext.d.ts +0 -23
  249. package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +0 -14
  250. package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +0 -32
  251. package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +0 -19
  252. package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +0 -18
  253. package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +0 -3
  254. package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +0 -3
  255. package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +0 -4
  256. package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +0 -4
  257. package/dist/lib/client-reactivity/submission/createRootSubmissionState.d.ts +0 -3
  258. package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +0 -3
  259. package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +0 -8
  260. package/dist/lib/reactivity/createValueState.d.ts +0 -40
  261. package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +0 -4
  262. package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +0 -9
  263. package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +0 -8
  264. package/dist/parse/model/RepeatInstanceDefinition.d.ts +0 -17
  265. package/dist/parse/model/RepeatRangeDefinition.d.ts +0 -32
  266. package/dist/parse/model/RepeatTemplateDefinition.d.ts +0 -31
  267. package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +0 -4
  268. package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +0 -7
  269. package/src/client/EngineConfig.ts +0 -84
  270. package/src/client/submission/SubmissionData.ts +0 -12
  271. package/src/client/submission/SubmissionInstanceFile.ts +0 -9
  272. package/src/client/submission/SubmissionOptions.ts +0 -28
  273. package/src/client/submission/SubmissionResult.ts +0 -124
  274. package/src/client/submission/SubmissionState.ts +0 -14
  275. package/src/instance/abstract/UnsupportedControl.ts +0 -175
  276. package/src/instance/index.ts +0 -55
  277. package/src/instance/internal-api/ValueContext.ts +0 -28
  278. package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +0 -20
  279. package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +0 -43
  280. package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +0 -26
  281. package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +0 -24
  282. package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +0 -12
  283. package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +0 -20
  284. package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +0 -17
  285. package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +0 -22
  286. package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +0 -21
  287. package/src/lib/client-reactivity/submission/prepareSubmission.ts +0 -172
  288. package/src/lib/reactivity/createValueState.ts +0 -200
  289. package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +0 -4
  290. package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +0 -42
  291. package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +0 -31
  292. package/src/parse/model/RepeatInstanceDefinition.ts +0 -38
  293. package/src/parse/model/RepeatRangeDefinition.ts +0 -98
  294. package/src/parse/model/RepeatTemplateDefinition.ts +0 -149
  295. package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +0 -4
  296. package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +0 -12
@@ -2,10 +2,11 @@ import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { Accessor } from 'solid-js';
3
3
  import { GroupDefinition, GroupNode, GroupNodeAppearances } from '../client/GroupNode.ts';
4
4
  import { FormNodeID } from '../client/identity.ts';
5
- import { SubmissionState } from '../client/submission/SubmissionState.ts';
5
+ import { InstanceState } from '../client/serialization/InstanceState.ts';
6
6
  import { TextRange } from '../client/TextRange.ts';
7
7
  import { AncestorNodeValidationState } from '../client/validation.ts';
8
8
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
9
+ import { StaticElement } from '../integration/xpath/static-dom/StaticElement.ts';
9
10
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
10
11
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
11
12
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -13,7 +14,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
13
14
  import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
14
15
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
15
16
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
16
- import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
17
+ import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
17
18
  interface GroupStateSpec extends DescendantNodeSharedStateSpec {
18
19
  readonly label: Accessor<TextRange<'label'> | null>;
19
20
  readonly hint: null;
@@ -21,7 +22,7 @@ interface GroupStateSpec extends DescendantNodeSharedStateSpec {
21
22
  readonly valueOptions: null;
22
23
  readonly value: null;
23
24
  }
24
- export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralParentNode, GeneralChildNode> implements GroupNode, XFormsXPathElement, EvaluationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
25
+ export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralParentNode, GeneralChildNode> implements GroupNode, XFormsXPathElement, EvaluationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
25
26
  private readonly childrenState;
26
27
  readonly [XPathNodeKindKey] = "element";
27
28
  protected readonly state: SharedNodeState<GroupStateSpec>;
@@ -31,8 +32,8 @@ export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpe
31
32
  readonly nodeOptions: null;
32
33
  readonly currentState: MaterializedChildren<CurrentState<GroupStateSpec>, GeneralChildNode>;
33
34
  readonly validationState: AncestorNodeValidationState;
34
- readonly submissionState: SubmissionState;
35
- constructor(parent: GeneralParentNode, definition: GroupDefinition);
35
+ readonly instanceState: InstanceState;
36
+ constructor(parent: GeneralParentNode, instanceNode: StaticElement | null, definition: GroupDefinition);
36
37
  getChildren(): readonly GeneralChildNode[];
37
38
  }
38
39
  export {};
@@ -4,6 +4,7 @@ import { InputDefinition, InputNode, InputNodeAppearances, InputNodeInputValue,
4
4
  import { TextRange } from '../client/TextRange.ts';
5
5
  import { ValueType } from '../client/ValueType.ts';
6
6
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
7
8
  import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
8
9
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
9
10
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -11,7 +12,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
11
12
  import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
13
  import { GeneralParentNode } from './hierarchy.ts';
13
14
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
15
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
15
16
  import { ValidationContext } from './internal-api/ValidationContext.ts';
16
17
  import { Root } from './Root.ts';
17
18
  export type AnyInputDefinition = {
@@ -22,8 +23,8 @@ interface InputControlStateSpec<V extends ValueType> extends ValueNodeStateSpec<
22
23
  readonly hint: Accessor<TextRange<'hint'> | null>;
23
24
  readonly valueOptions: null;
24
25
  }
25
- export declare class InputControl<V extends ValueType = ValueType> extends ValueNode<V, InputDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements InputNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
- static from(parent: GeneralParentNode, definition: InputDefinition): AnyInputControl;
26
+ export declare class InputControl<V extends ValueType = ValueType> extends ValueNode<V, InputDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements InputNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
27
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: InputDefinition): AnyInputControl;
27
28
  readonly [XPathNodeKindKey] = "element";
28
29
  protected readonly state: SharedNodeState<InputControlStateSpec<V>>;
29
30
  protected readonly engineState: EngineState<InputControlStateSpec<V>>;
@@ -31,7 +32,7 @@ export declare class InputControl<V extends ValueType = ValueType> extends Value
31
32
  readonly appearances: InputNodeAppearances;
32
33
  readonly nodeOptions: InputNodeOptions<V>;
33
34
  readonly currentState: CurrentState<InputControlStateSpec<V>>;
34
- constructor(parent: GeneralParentNode, definition: InputDefinition<V>);
35
+ constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: InputDefinition<V>);
35
36
  setValue(value: InputNodeInputValue<V>): Root;
36
37
  }
37
38
  export type AnyInputControl = InputControl<'barcode'> | InputControl<'binary'> | InputControl<'boolean'> | InputControl<'date'> | InputControl<'dateTime'> | InputControl<'decimal'> | InputControl<'geopoint'> | InputControl<'geoshape'> | InputControl<'geotrace'> | InputControl<'int'> | InputControl<'intent'> | InputControl<'string'> | InputControl<'time'>;
@@ -2,6 +2,7 @@ import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { ModelValueDefinition, ModelValueNode } from '../client/ModelValueNode.ts';
3
3
  import { ValueType } from '../client/ValueType.ts';
4
4
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
5
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
5
6
  import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
6
7
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
8
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -10,14 +11,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
10
11
  import { GeneralParentNode } from './hierarchy.ts';
11
12
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
12
13
  import { ValidationContext } from './internal-api/ValidationContext.ts';
13
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
14
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
14
15
  interface ModelValueStateSpec<V extends ValueType> extends ValueNodeStateSpec<RuntimeValue<V>> {
15
16
  readonly label: null;
16
17
  readonly hint: null;
17
18
  readonly valueOptions: null;
18
19
  }
19
- export declare class ModelValue<V extends ValueType = ValueType> extends ValueNode<V, ModelValueDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements ModelValueNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
20
- static from(parent: GeneralParentNode, definition: ModelValueDefinition): AnyModelValue;
20
+ export declare class ModelValue<V extends ValueType = ValueType> extends ValueNode<V, ModelValueDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements ModelValueNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
21
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: ModelValueDefinition): AnyModelValue;
21
22
  readonly [XPathNodeKindKey] = "element";
22
23
  protected readonly state: SharedNodeState<ModelValueStateSpec<V>>;
23
24
  protected readonly engineState: EngineState<ModelValueStateSpec<V>>;
@@ -25,7 +26,7 @@ export declare class ModelValue<V extends ValueType = ValueType> extends ValueNo
25
26
  readonly appearances: null;
26
27
  readonly nodeOptions: null;
27
28
  readonly currentState: CurrentState<ModelValueStateSpec<V>>;
28
- constructor(parent: GeneralParentNode, definition: ModelValueDefinition<V>);
29
+ constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: ModelValueDefinition<V>);
29
30
  }
30
31
  export type AnyModelValue = ModelValue<'barcode'> | ModelValue<'binary'> | ModelValue<'boolean'> | ModelValue<'date'> | ModelValue<'dateTime'> | ModelValue<'decimal'> | ModelValue<'geopoint'> | ModelValue<'geoshape'> | ModelValue<'geotrace'> | ModelValue<'int'> | ModelValue<'intent'> | ModelValue<'string'> | ModelValue<'time'>;
31
32
  export {};
@@ -4,6 +4,7 @@ import { NoteNode, NoteNodeAppearances, NoteValue } from '../client/NoteNode.ts'
4
4
  import { TextRange } from '../client/TextRange.ts';
5
5
  import { ValueType } from '../client/ValueType.ts';
6
6
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
7
8
  import { NoteInputValue, NoteRuntimeValue } from '../lib/codecs/NoteCodec.ts';
8
9
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
9
10
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -13,7 +14,7 @@ import { NoteNodeDefinition } from '../parse/model/NoteNodeDefinition.ts';
13
14
  import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
14
15
  import { GeneralParentNode } from './hierarchy.ts';
15
16
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
16
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
17
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
17
18
  import { ValidationContext } from './internal-api/ValidationContext.ts';
18
19
  interface NoteStateSpec<V extends ValueType> extends ValueNodeStateSpec<NoteValue<V>> {
19
20
  readonly readonly: Accessor<true>;
@@ -22,7 +23,7 @@ interface NoteStateSpec<V extends ValueType> extends ValueNodeStateSpec<NoteValu
22
23
  readonly hint: Accessor<TextRange<'hint', 'form'> | null>;
23
24
  readonly valueOptions: null;
24
25
  }
25
- export declare class Note<V extends ValueType = ValueType> extends ValueNode<V, NoteNodeDefinition<V>, NoteRuntimeValue<V>, NoteInputValue<V>> implements NoteNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
+ export declare class Note<V extends ValueType = ValueType> extends ValueNode<V, NoteNodeDefinition<V>, NoteRuntimeValue<V>, NoteInputValue<V>> implements NoteNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
26
27
  readonly [XPathNodeKindKey] = "element";
27
28
  protected readonly state: SharedNodeState<NoteStateSpec<V>>;
28
29
  protected readonly engineState: EngineState<NoteStateSpec<V>>;
@@ -30,7 +31,7 @@ export declare class Note<V extends ValueType = ValueType> extends ValueNode<V,
30
31
  readonly appearances: NoteNodeAppearances;
31
32
  readonly nodeOptions: null;
32
33
  readonly currentState: CurrentState<NoteStateSpec<V>>;
33
- constructor(parent: GeneralParentNode, definition: NoteNodeDefinition<V>);
34
+ constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: NoteNodeDefinition<V>);
34
35
  }
35
36
  export type AnyNote = Note<'barcode'> | Note<'binary'> | Note<'boolean'> | Note<'date'> | Note<'dateTime'> | Note<'decimal'> | Note<'geopoint'> | Note<'geoshape'> | Note<'geotrace'> | Note<'int'> | Note<'intent'> | Note<'string'> | Note<'time'>;
36
37
  export {};
@@ -1,13 +1,15 @@
1
1
  import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { Accessor } from 'solid-js';
3
+ import { FormInstanceInitializationMode } from '../client/form/FormInstance.ts';
3
4
  import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
4
5
  import { FormNodeID } from '../client/identity.ts';
5
- import { SubmissionChunkedType, SubmissionOptions } from '../client/submission/SubmissionOptions.ts';
6
- import { SubmissionResult } from '../client/submission/SubmissionResult.ts';
7
- import { SubmissionState } from '../client/submission/SubmissionState.ts';
6
+ import { InstancePayload } from '../client/serialization/InstancePayload.ts';
7
+ import { InstancePayloadOptions, InstancePayloadType } from '../client/serialization/InstancePayloadOptions.ts';
8
+ import { InstanceState } from '../client/serialization/InstanceState.ts';
8
9
  import { AncestorNodeValidationState } from '../client/validation.ts';
9
10
  import { XFormsXPathDocument } from '../integration/xpath/adapter/XFormsXPathNode.ts';
10
11
  import { EngineXPathEvaluator } from '../integration/xpath/EngineXPathEvaluator.ts';
12
+ import { StaticDocument } from '../integration/xpath/static-dom/StaticDocument.ts';
11
13
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
12
14
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
13
15
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -18,10 +20,11 @@ import { ModelDefinition } from '../parse/model/ModelDefinition.ts';
18
20
  import { RootDefinition } from '../parse/model/RootDefinition.ts';
19
21
  import { SecondaryInstancesDefinition } from '../parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts';
20
22
  import { InstanceNode } from './abstract/InstanceNode.ts';
23
+ import { InitialInstanceState } from './input/InitialInstanceState.ts';
21
24
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
22
25
  import { InstanceConfig } from './internal-api/InstanceConfig.ts';
23
26
  import { PrimaryInstanceDocument } from './internal-api/PrimaryInstanceDocument.ts';
24
- import { ClientReactiveSubmittableInstance } from './internal-api/submission/ClientReactiveSubmittableInstance.ts';
27
+ import { ClientReactiveSerializableInstance } from './internal-api/serialization/ClientReactiveSerializableInstance.ts';
25
28
  import { TranslationContext } from './internal-api/TranslationContext.ts';
26
29
  import { Root } from './Root.ts';
27
30
  interface PrimaryInstanceStateSpec {
@@ -36,9 +39,33 @@ interface PrimaryInstanceStateSpec {
36
39
  readonly value: null;
37
40
  readonly activeLanguage: Accessor<ActiveLanguage>;
38
41
  }
39
- export declare class PrimaryInstance extends InstanceNode<RootDefinition, PrimaryInstanceStateSpec, null, Root> implements PrimaryInstanceDocument, XFormsXPathDocument, TranslationContext, EvaluationContext, ClientReactiveSubmittableInstance {
42
+ interface PrimaryInstanceStateInputByMode {
43
+ readonly create: null;
44
+ readonly edit: InitialInstanceState;
45
+ readonly restore: InitialInstanceState;
46
+ }
47
+ export type PrimaryInstanceInitialState<Mode extends FormInstanceInitializationMode> = PrimaryInstanceStateInputByMode[Mode];
48
+ export interface BasePrimaryInstanceOptions {
49
+ readonly scope: ReactiveScope;
50
+ readonly model: ModelDefinition;
51
+ readonly secondaryInstances: SecondaryInstancesDefinition;
52
+ }
53
+ export interface ModelessPrimaryInstanceOptions extends BasePrimaryInstanceOptions {
54
+ readonly config: InstanceConfig;
55
+ }
56
+ export interface PrimaryInstanceOptions<Mode extends FormInstanceInitializationMode> extends ModelessPrimaryInstanceOptions {
57
+ readonly mode: Mode;
58
+ readonly initialState: PrimaryInstanceInitialState<Mode>;
59
+ }
60
+ export declare class PrimaryInstance<Mode extends FormInstanceInitializationMode = FormInstanceInitializationMode> extends InstanceNode<RootDefinition, PrimaryInstanceStateSpec, null, Root> implements PrimaryInstanceDocument, XFormsXPathDocument, TranslationContext, EvaluationContext, ClientReactiveSerializableInstance {
61
+ /**
62
+ * @todo this will be populated as we introduce other initialization modes!
63
+ */
64
+ readonly initializationMode: FormInstanceInitializationMode;
65
+ readonly model: ModelDefinition;
40
66
  protected readonly state: SharedNodeState<PrimaryInstanceStateSpec>;
41
67
  protected readonly engineState: EngineState<PrimaryInstanceStateSpec>;
68
+ readonly instanceNode: StaticDocument;
42
69
  readonly getChildren: Accessor<readonly Root[]>;
43
70
  readonly hasReadonlyAncestor: () => boolean;
44
71
  readonly isReadonly: () => boolean;
@@ -53,13 +80,13 @@ export declare class PrimaryInstance extends InstanceNode<RootDefinition, Primar
53
80
  readonly root: Root;
54
81
  readonly currentState: MaterializedChildren<CurrentState<PrimaryInstanceStateSpec>, Root>;
55
82
  readonly validationState: AncestorNodeValidationState;
56
- readonly submissionState: SubmissionState;
83
+ readonly instanceState: InstanceState;
57
84
  readonly languages: FormLanguages;
58
85
  readonly getActiveLanguage: Accessor<ActiveLanguage>;
59
86
  readonly isAttached: Accessor<boolean>;
60
87
  readonly evaluator: EngineXPathEvaluator;
61
88
  readonly contextNode: this;
62
- constructor(scope: ReactiveScope, model: ModelDefinition, secondaryInstances: SecondaryInstancesDefinition, engineConfig: InstanceConfig);
89
+ constructor(options: PrimaryInstanceOptions<Mode>);
63
90
  /**
64
91
  * @todo Note that this method's signature is intentionally derived from
65
92
  * {@link RootNode.setLanguage}, but its return type differs! The design
@@ -80,6 +107,6 @@ export declare class PrimaryInstance extends InstanceNode<RootDefinition, Primar
80
107
  * philosophical reasoning behind the existing signature convention.
81
108
  */
82
109
  setLanguage(language: FormLanguage): FormLanguage;
83
- prepareSubmission<ChunkedType extends SubmissionChunkedType = 'monolithic'>(options?: SubmissionOptions<ChunkedType>): Promise<SubmissionResult<ChunkedType>>;
110
+ prepareInstancePayload<PayloadType extends InstancePayloadType = 'monolithic'>(options?: InstancePayloadOptions<PayloadType>): Promise<InstancePayload<PayloadType>>;
84
111
  }
85
112
  export {};
@@ -3,6 +3,7 @@ import { Accessor } from 'solid-js';
3
3
  import { RangeInputValue, RangeNode, RangeNodeAppearances, RangeValue } from '../client/RangeNode.ts';
4
4
  import { TextRange } from '../client/TextRange.ts';
5
5
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
6
7
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
8
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
8
9
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
@@ -12,14 +13,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
13
  import { GeneralParentNode } from './hierarchy.ts';
13
14
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
15
  import { ValidationContext } from './internal-api/ValidationContext.ts';
15
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
16
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
16
17
  interface RangeControlStateSpec<V extends RangeValueType> extends ValueNodeStateSpec<RangeValue<V>> {
17
18
  readonly label: Accessor<TextRange<'label'> | null>;
18
19
  readonly hint: Accessor<TextRange<'hint'> | null>;
19
20
  readonly valueOptions: null;
20
21
  }
21
- export declare class RangeControl<V extends RangeValueType = RangeValueType> extends ValueNode<V, RangeNodeDefinition<V>, RangeValue<V>, RangeInputValue<V>> implements RangeNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
22
- static from(parent: GeneralParentNode, definition: AnyRangeNodeDefinition): AnyRangeControl;
22
+ export declare class RangeControl<V extends RangeValueType = RangeValueType> extends ValueNode<V, RangeNodeDefinition<V>, RangeValue<V>, RangeInputValue<V>> implements RangeNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
23
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: AnyRangeNodeDefinition): AnyRangeControl;
23
24
  readonly [XPathNodeKindKey] = "element";
24
25
  protected readonly state: SharedNodeState<RangeControlStateSpec<V>>;
25
26
  protected readonly engineState: EngineState<RangeControlStateSpec<V>>;
@@ -27,7 +28,7 @@ export declare class RangeControl<V extends RangeValueType = RangeValueType> ext
27
28
  readonly appearances: RangeNodeAppearances;
28
29
  readonly nodeOptions: null;
29
30
  readonly currentState: CurrentState<RangeControlStateSpec<V>>;
30
- constructor(parent: GeneralParentNode, definition: RangeNodeDefinition<V>);
31
+ constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: RangeNodeDefinition<V>);
31
32
  setValue(value: RangeInputValue<V>): Root;
32
33
  }
33
34
  export type AnyRangeControl = RangeControl<'decimal'> | RangeControl<'int'>;
@@ -2,18 +2,19 @@ import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { Accessor } from 'solid-js';
3
3
  import { RankDefinition, RankNode, RankValueOptions } from '../client/RankNode.ts';
4
4
  import { TextRange } from '../client/TextRange.ts';
5
+ import { ValueType } from '../client/ValueType.ts';
5
6
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
6
8
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
9
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
8
10
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
11
+ import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
9
12
  import { Root } from './Root.ts';
10
13
  import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
11
14
  import { GeneralParentNode } from './hierarchy.ts';
12
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
13
16
  import { ValidationContext } from './internal-api/ValidationContext.ts';
14
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
15
- import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
16
- import { ValueType } from '../client/ValueType.ts';
17
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
17
18
  export type AnyRankDefinition = {
18
19
  [V in ValueType]: RankDefinition<V>;
19
20
  }[ValueType];
@@ -22,8 +23,8 @@ interface RankControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
22
23
  readonly hint: Accessor<TextRange<'hint'> | null>;
23
24
  readonly valueOptions: Accessor<RankValueOptions>;
24
25
  }
25
- export declare class RankControl extends ValueNode<'string', RankDefinition<'string'>, readonly string[], readonly string[]> implements RankNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
- static from(parent: GeneralParentNode, definition: RankDefinition): RankControl;
26
+ export declare class RankControl extends ValueNode<'string', RankDefinition<'string'>, readonly string[], readonly string[]> implements RankNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
27
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: RankDefinition): RankControl;
27
28
  private readonly mapOptionsByValue;
28
29
  protected readonly getInstanceValue: Accessor<string>;
29
30
  readonly [XPathNodeKindKey] = "element";
@@ -3,10 +3,9 @@ import { Accessor } from 'solid-js';
3
3
  import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
4
4
  import { FormNodeID } from '../client/identity.ts';
5
5
  import { RootNode } from '../client/RootNode.ts';
6
- import { SubmissionDefinition } from '../client/submission/SubmissionDefinition.ts';
7
- import { SubmissionChunkedType, SubmissionOptions } from '../client/submission/SubmissionOptions.ts';
8
- import { SubmissionResult } from '../client/submission/SubmissionResult.ts';
9
- import { SubmissionState } from '../client/submission/SubmissionState.ts';
6
+ import { InstancePayload } from '../client/serialization/InstancePayload.ts';
7
+ import { InstancePayloadOptions, InstancePayloadType } from '../client/serialization/InstancePayloadOptions.ts';
8
+ import { InstanceState } from '../client/serialization/InstanceState.ts';
10
9
  import { AncestorNodeValidationState } from '../client/validation.ts';
11
10
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
12
11
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
@@ -18,7 +17,7 @@ import { RootDefinition } from '../parse/model/RootDefinition.ts';
18
17
  import { DescendantNode } from './abstract/DescendantNode.ts';
19
18
  import { GeneralChildNode } from './hierarchy.ts';
20
19
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
21
- import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
20
+ import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
22
21
  import { TranslationContext } from './internal-api/TranslationContext.ts';
23
22
  import { PrimaryInstance } from './PrimaryInstance.ts';
24
23
  interface RootStateSpec {
@@ -33,7 +32,7 @@ interface RootStateSpec {
33
32
  readonly value: null;
34
33
  readonly activeLanguage: Accessor<ActiveLanguage>;
35
34
  }
36
- export declare class Root extends DescendantNode<RootDefinition, RootStateSpec, PrimaryInstance, GeneralChildNode> implements RootNode, XFormsXPathElement, EvaluationContext, TranslationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
35
+ export declare class Root extends DescendantNode<RootDefinition, RootStateSpec, PrimaryInstance, GeneralChildNode> implements RootNode, XFormsXPathElement, EvaluationContext, TranslationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
37
36
  private readonly childrenState;
38
37
  readonly [XPathNodeKindKey] = "element";
39
38
  protected readonly state: SharedNodeState<RootStateSpec>;
@@ -51,12 +50,11 @@ export declare class Root extends DescendantNode<RootDefinition, RootStateSpec,
51
50
  readonly classes: BodyClassList;
52
51
  readonly currentState: MaterializedChildren<CurrentState<RootStateSpec>, GeneralChildNode>;
53
52
  readonly validationState: AncestorNodeValidationState;
54
- readonly submissionState: SubmissionState;
55
- get submissionDefinition(): SubmissionDefinition;
53
+ readonly instanceState: InstanceState;
56
54
  readonly languages: FormLanguages;
57
55
  constructor(parent: PrimaryInstance);
58
56
  getChildren(): readonly GeneralChildNode[];
59
57
  setLanguage(language: FormLanguage): Root;
60
- prepareSubmission<ChunkedType extends SubmissionChunkedType = 'monolithic'>(options?: SubmissionOptions<ChunkedType>): Promise<SubmissionResult<ChunkedType>>;
58
+ prepareInstancePayload<PayloadType extends InstancePayloadType = 'monolithic'>(options?: InstancePayloadOptions<PayloadType>): Promise<InstancePayload<PayloadType>>;
61
59
  }
62
60
  export {};
@@ -4,6 +4,7 @@ import { SelectDefinition, SelectItem, SelectNode, SelectNodeAppearances, Select
4
4
  import { TextRange } from '../client/TextRange.ts';
5
5
  import { ValueType } from '../client/ValueType.ts';
6
6
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
7
8
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
8
9
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
9
10
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
@@ -13,7 +14,7 @@ import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
13
14
  import { GeneralParentNode } from './hierarchy.ts';
14
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
15
16
  import { ValidationContext } from './internal-api/ValidationContext.ts';
16
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
17
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
17
18
  export type AnySelectDefinition = {
18
19
  [V in ValueType]: SelectDefinition<V>;
19
20
  }[ValueType];
@@ -22,8 +23,8 @@ interface SelectControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
22
23
  readonly hint: Accessor<TextRange<'hint'> | null>;
23
24
  readonly valueOptions: Accessor<SelectValueOptions>;
24
25
  }
25
- export declare class SelectControl extends ValueNode<'string', SelectDefinition<'string'>, readonly string[], readonly string[]> implements SelectNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
- static from(parent: GeneralParentNode, definition: SelectDefinition): SelectControl;
26
+ export declare class SelectControl extends ValueNode<'string', SelectDefinition<'string'>, readonly string[], readonly string[]> implements SelectNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
27
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: SelectDefinition): SelectControl;
27
28
  private readonly mapOptionsByValue;
28
29
  protected readonly getInstanceValue: Accessor<string>;
29
30
  readonly [XPathNodeKindKey] = "element";
@@ -1,10 +1,11 @@
1
1
  import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { Accessor } from 'solid-js';
3
3
  import { FormNodeID } from '../client/identity.ts';
4
- import { SubmissionState } from '../client/submission/SubmissionState.ts';
4
+ import { InstanceState } from '../client/serialization/InstanceState.ts';
5
5
  import { SubtreeDefinition, SubtreeNode } from '../client/SubtreeNode.ts';
6
6
  import { AncestorNodeValidationState } from '../client/validation.ts';
7
7
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
8
+ import { StaticElement } from '../integration/xpath/static-dom/StaticElement.ts';
8
9
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
9
10
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
10
11
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -12,7 +13,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
12
13
  import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
13
14
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
14
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
15
- import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
16
+ import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
16
17
  interface SubtreeStateSpec extends DescendantNodeSharedStateSpec {
17
18
  readonly label: null;
18
19
  readonly hint: null;
@@ -20,7 +21,7 @@ interface SubtreeStateSpec extends DescendantNodeSharedStateSpec {
20
21
  readonly valueOptions: null;
21
22
  readonly value: null;
22
23
  }
23
- export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralParentNode, GeneralChildNode> implements SubtreeNode, XFormsXPathElement, EvaluationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
24
+ export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralParentNode, GeneralChildNode> implements SubtreeNode, XFormsXPathElement, EvaluationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
24
25
  private readonly childrenState;
25
26
  readonly [XPathNodeKindKey] = "element";
26
27
  protected readonly state: SharedNodeState<SubtreeStateSpec>;
@@ -30,8 +31,8 @@ export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeSt
30
31
  readonly nodeOptions: null;
31
32
  readonly currentState: MaterializedChildren<CurrentState<SubtreeStateSpec>, GeneralChildNode>;
32
33
  readonly validationState: AncestorNodeValidationState;
33
- readonly submissionState: SubmissionState;
34
- constructor(parent: GeneralParentNode, definition: SubtreeDefinition);
34
+ readonly instanceState: InstanceState;
35
+ constructor(parent: GeneralParentNode, instanceNode: StaticElement | null, definition: SubtreeDefinition);
35
36
  getChildren(): readonly GeneralChildNode[];
36
37
  }
37
38
  export {};
@@ -3,6 +3,7 @@ import { Accessor } from 'solid-js';
3
3
  import { TextRange } from '../client/TextRange.ts';
4
4
  import { TriggerNode, TriggerNodeDefinition } from '../client/TriggerNode.ts';
5
5
  import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
+ import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
6
7
  import { TriggerInputValue, TriggerRuntimeValue } from '../lib/codecs/TriggerCodec.ts';
7
8
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
8
9
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
@@ -13,14 +14,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
13
14
  import { GeneralParentNode } from './hierarchy.ts';
14
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
15
16
  import { ValidationContext } from './internal-api/ValidationContext.ts';
16
- import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
17
+ import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
17
18
  interface TriggerControlStateSpec extends ValueNodeStateSpec<TriggerRuntimeValue> {
18
19
  readonly label: Accessor<TextRange<'label'> | null>;
19
20
  readonly hint: Accessor<TextRange<'hint'> | null>;
20
21
  readonly valueOptions: null;
21
22
  }
22
- export declare class TriggerControl extends ValueNode<'string', TriggerNodeDefinition<'string'>, TriggerRuntimeValue, TriggerInputValue> implements TriggerNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
23
- static from(parent: GeneralParentNode, definition: TriggerNodeDefinition): TriggerControl;
23
+ export declare class TriggerControl extends ValueNode<'string', TriggerNodeDefinition<'string'>, TriggerRuntimeValue, TriggerInputValue> implements TriggerNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
24
+ static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: TriggerNodeDefinition): TriggerControl;
24
25
  readonly [XPathNodeKindKey] = "element";
25
26
  protected readonly state: SharedNodeState<TriggerControlStateSpec>;
26
27
  protected readonly engineState: EngineState<TriggerControlStateSpec>;
@@ -6,6 +6,7 @@ import { InstanceNodeType } from '../../client/node-types.ts';
6
6
  import { PrimaryInstanceXPathChildNode } from '../../integration/xpath/adapter/kind.ts';
7
7
  import { XFormsXPathPrimaryInstanceDescendantNode, XFormsXPathPrimaryInstanceDescendantNodeKind } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
8
8
  import { EngineXPathEvaluator } from '../../integration/xpath/EngineXPathEvaluator.ts';
9
+ import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
9
10
  import { AnyNodeDefinition } from '../../parse/model/NodeDefinition.ts';
10
11
  import { AnyChildNode, AnyParentNode } from '../hierarchy.ts';
11
12
  import { EvaluationContext } from '../internal-api/EvaluationContext.ts';
@@ -23,8 +24,16 @@ export type AnyDescendantNode = DescendantNode<DescendantNodeDefinition, Descend
23
24
  interface DescendantNodeOptions {
24
25
  readonly computeReference?: Accessor<string>;
25
26
  }
27
+ /**
28
+ * @todo Unify constructor signatures of {@link DescendantNode} and its
29
+ * subclasses, which will simplify the branchy logic of child node construction
30
+ * and minimize internal churn as common themes evolve. A good starting point is
31
+ * beginning to form in {@link DescendantNodeInitOptions} (not to be confused
32
+ * with the current module-local {@link DescendantNodeOptions}).
33
+ */
26
34
  export declare abstract class DescendantNode<Definition extends DescendantNodeDefinition, Spec extends DescendantNodeStateSpec<any>, Parent extends AnyParentNode, Child extends AnyChildNode | null = null> extends InstanceNode<Definition, Spec, Parent, Child> implements BaseNode, XFormsXPathPrimaryInstanceDescendantNode, EvaluationContext {
27
35
  readonly parent: Parent;
36
+ readonly instanceNode: StaticElement | null;
28
37
  readonly definition: Definition;
29
38
  /**
30
39
  * Partial implementation of {@link isAttached}, used to check whether `this`
@@ -56,7 +65,7 @@ export declare abstract class DescendantNode<Definition extends DescendantNodeDe
56
65
  readonly evaluator: EngineXPathEvaluator;
57
66
  readonly contextNode: PrimaryInstanceXPathChildNode;
58
67
  readonly getActiveLanguage: Accessor<ActiveLanguage>;
59
- constructor(parent: Parent, definition: Definition, options?: DescendantNodeOptions);
68
+ constructor(parent: Parent, instanceNode: StaticElement | null, definition: Definition, options?: DescendantNodeOptions);
60
69
  /**
61
70
  * @package
62
71
  *
@@ -4,12 +4,14 @@ import { BaseNode } from '../../client/BaseNode.ts';
4
4
  import { NodeAppearances } from '../../client/NodeAppearances.ts';
5
5
  import { FormNodeID } from '../../client/identity.ts';
6
6
  import { InstanceNodeType as ClientInstanceNodeType } from '../../client/node-types.ts';
7
- import { SubmissionState } from '../../client/submission/SubmissionState.ts';
7
+ import { InstanceState } from '../../client/serialization/InstanceState.ts';
8
8
  import { NodeValidationState } from '../../client/validation.ts';
9
9
  import { ActiveLanguage, TextRange } from '../../index.ts';
10
10
  import { EngineXPathEvaluator } from '../../integration/xpath/EngineXPathEvaluator.ts';
11
11
  import { XFormsXPathPrimaryInstanceNode, XFormsXPathPrimaryInstanceNodeKind } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
12
12
  import { PrimaryInstanceXPathNode } from '../../integration/xpath/adapter/kind.ts';
13
+ import { StaticDocument } from '../../integration/xpath/static-dom/StaticDocument.ts';
14
+ import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
13
15
  import { CurrentState } from '../../lib/reactivity/node-state/createCurrentState.ts';
14
16
  import { EngineState } from '../../lib/reactivity/node-state/createEngineState.ts';
15
17
  import { SharedNodeState } from '../../lib/reactivity/node-state/createSharedNodeState.ts';
@@ -55,8 +57,9 @@ export interface InstanceNodeOptions {
55
57
  readonly scope?: ReactiveScope;
56
58
  }
57
59
  export declare abstract class InstanceNode<Definition extends AnyNodeDefinition, Spec extends InstanceNodeStateSpec<any>, Parent extends AnyParentNode | null, Child extends AnyChildNode | null = null> implements BaseEngineNode, XFormsXPathPrimaryInstanceNode, EvaluationContext {
58
- readonly engineConfig: InstanceConfig;
60
+ readonly instanceConfig: InstanceConfig;
59
61
  readonly parent: Parent;
62
+ readonly instanceNode: StaticDocument | StaticElement | null;
60
63
  readonly definition: Definition;
61
64
  protected abstract readonly state: SharedNodeState<Spec>;
62
65
  protected abstract readonly engineState: EngineState<Spec>;
@@ -89,7 +92,7 @@ export declare abstract class InstanceNode<Definition extends AnyNodeDefinition,
89
92
  abstract readonly nodeOptions: object | null;
90
93
  abstract readonly currentState: InstanceNodeCurrentState<Spec, Child>;
91
94
  abstract readonly validationState: NodeValidationState;
92
- abstract readonly submissionState: SubmissionState;
95
+ abstract readonly instanceState: InstanceState;
93
96
  abstract readonly evaluator: EngineXPathEvaluator;
94
97
  abstract readonly getActiveLanguage: Accessor<ActiveLanguage>;
95
98
  abstract readonly isAttached: Accessor<boolean>;
@@ -103,7 +106,7 @@ export declare abstract class InstanceNode<Definition extends AnyNodeDefinition,
103
106
  * constrain) their more specific `this` type.
104
107
  */
105
108
  readonly contextNode: PrimaryInstanceXPathNode;
106
- constructor(engineConfig: InstanceConfig, parent: Parent, definition: Definition, options?: InstanceNodeOptions);
109
+ constructor(instanceConfig: InstanceConfig, parent: Parent, instanceNode: StaticDocument | StaticElement | null, definition: Definition, options?: InstanceNodeOptions);
107
110
  /** @package */
108
111
  isPrimaryInstance(): this is PrimaryInstance;
109
112
  /** @package */
@@ -2,10 +2,11 @@ import { XPathNodeKindKey } from '@getodk/xpath';
2
2
  import { Accessor } from 'solid-js';
3
3
  import { BaseValueNode } from '../../client/BaseValueNode.ts';
4
4
  import { LeafNodeType as ValueNodeType } from '../../client/node-types.ts';
5
- import { SubmissionState } from '../../client/submission/SubmissionState.ts';
5
+ import { InstanceState } from '../../client/serialization/InstanceState.ts';
6
6
  import { AnyViolation, LeafNodeValidationState } from '../../client/validation.ts';
7
7
  import { ValueType } from '../../client/ValueType.ts';
8
8
  import { XFormsXPathElement } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
9
+ import { StaticLeafElement } from '../../integration/xpath/static-dom/StaticElement.ts';
9
10
  import { RuntimeValueSetter, RuntimeValueState, ValueCodec } from '../../lib/codecs/ValueCodec.ts';
10
11
  import { CurrentState } from '../../lib/reactivity/node-state/createCurrentState.ts';
11
12
  import { EngineState } from '../../lib/reactivity/node-state/createEngineState.ts';
@@ -16,7 +17,7 @@ import { LeafNodeDefinition } from '../../parse/model/LeafNodeDefinition.ts';
16
17
  import { GeneralParentNode } from '../hierarchy.ts';
17
18
  import { EvaluationContext } from '../internal-api/EvaluationContext.ts';
18
19
  import { DecodeInstanceValue, InstanceValueContext } from '../internal-api/InstanceValueContext.ts';
19
- import { ClientReactiveSubmittableValueNode } from '../internal-api/submission/ClientReactiveSubmittableValueNode.ts';
20
+ import { ClientReactiveSerializableValueNode } from '../internal-api/serialization/ClientReactiveSerializableValueNode.ts';
20
21
  import { ValidationContext } from '../internal-api/ValidationContext.ts';
21
22
  import { DescendantNodeStateSpec, DescendantNode } from './DescendantNode.ts';
22
23
  export type ValueNodeDefinition<V extends ValueType> = LeafNodeDefinition<V>;
@@ -25,7 +26,8 @@ export interface ValueNodeStateSpec<RuntimeValue> extends DescendantNodeStateSpe
25
26
  readonly value: SimpleAtomicState<RuntimeValue>;
26
27
  readonly instanceValue: Accessor<string>;
27
28
  }
28
- export declare abstract class ValueNode<V extends ValueType, Definition extends ValueNodeDefinition<V>, RuntimeValue extends RuntimeInputValue, RuntimeInputValue = RuntimeValue> extends DescendantNode<Definition, ValueNodeStateSpec<RuntimeValue>, GeneralParentNode, null> implements BaseValueNode<V, RuntimeValue>, XFormsXPathElement, EvaluationContext, InstanceValueContext, ValidationContext, ClientReactiveSubmittableValueNode {
29
+ export declare abstract class ValueNode<V extends ValueType, Definition extends ValueNodeDefinition<V>, RuntimeValue extends RuntimeInputValue, RuntimeInputValue = RuntimeValue> extends DescendantNode<Definition, ValueNodeStateSpec<RuntimeValue>, GeneralParentNode, null> implements BaseValueNode<V, RuntimeValue>, XFormsXPathElement, EvaluationContext, InstanceValueContext, ValidationContext, ClientReactiveSerializableValueNode {
30
+ readonly instanceNode: StaticLeafElement | null;
29
31
  protected readonly validation: SharedValidationState;
30
32
  protected readonly getInstanceValue: Accessor<string>;
31
33
  protected readonly valueState: RuntimeValueState<RuntimeValue>;
@@ -39,8 +41,8 @@ export declare abstract class ValueNode<V extends ValueType, Definition extends
39
41
  readonly valueType: V;
40
42
  abstract readonly currentState: CurrentState<ValueNodeStateSpec<RuntimeValue>>;
41
43
  get validationState(): LeafNodeValidationState;
42
- readonly submissionState: SubmissionState;
43
- constructor(parent: GeneralParentNode, definition: Definition, codec: ValueCodec<V, RuntimeValue, RuntimeInputValue>);
44
+ readonly instanceState: InstanceState;
45
+ constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: Definition, codec: ValueCodec<V, RuntimeValue, RuntimeInputValue>);
44
46
  getViolation(): AnyViolation | null;
45
47
  isBlank(): boolean;
46
48
  getChildren(): readonly [];