@getodk/xforms-engine 0.3.0 → 0.4.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 (266) hide show
  1. package/dist/client/BaseNode.d.ts +1 -2
  2. package/dist/client/EngineConfig.d.ts +0 -1
  3. package/dist/client/GroupNode.d.ts +2 -3
  4. package/dist/client/ModelValueNode.d.ts +1 -2
  5. package/dist/client/NodeAppearances.d.ts +1 -2
  6. package/dist/client/NoteNode.d.ts +2 -3
  7. package/dist/client/RootNode.d.ts +2 -3
  8. package/dist/client/SelectNode.d.ts +2 -3
  9. package/dist/client/StringNode.d.ts +2 -3
  10. package/dist/client/SubtreeNode.d.ts +1 -2
  11. package/dist/client/TextRange.d.ts +3 -4
  12. package/dist/client/TriggerNode.d.ts +25 -0
  13. package/dist/client/constants.d.ts +0 -1
  14. package/dist/client/hierarchy.d.ts +7 -3
  15. package/dist/client/index.d.ts +0 -1
  16. package/dist/client/node-types.d.ts +2 -1
  17. package/dist/client/repeat/BaseRepeatRangeNode.d.ts +1 -2
  18. package/dist/client/repeat/RepeatInstanceNode.d.ts +2 -3
  19. package/dist/client/repeat/RepeatRangeControlledNode.d.ts +1 -2
  20. package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +1 -2
  21. package/dist/client/unsupported/RangeNode.d.ts +9 -0
  22. package/dist/client/unsupported/RankNode.d.ts +9 -0
  23. package/dist/client/unsupported/UnsupportedControlNode.d.ts +32 -0
  24. package/dist/client/unsupported/UploadNode.d.ts +9 -0
  25. package/dist/client/validation.d.ts +0 -1
  26. package/dist/index.d.ts +6 -3
  27. package/dist/index.js +39029 -37441
  28. package/dist/index.js.map +1 -1
  29. package/dist/instance/Group.d.ts +0 -1
  30. package/dist/instance/ModelValue.d.ts +1 -2
  31. package/dist/instance/Note.d.ts +1 -2
  32. package/dist/instance/Root.d.ts +3 -4
  33. package/dist/instance/SelectField.d.ts +3 -4
  34. package/dist/instance/StringField.d.ts +2 -3
  35. package/dist/instance/Subtree.d.ts +0 -1
  36. package/dist/instance/TriggerControl.d.ts +40 -0
  37. package/dist/instance/abstract/DescendantNode.d.ts +4 -5
  38. package/dist/instance/abstract/InstanceNode.d.ts +1 -2
  39. package/dist/instance/abstract/UnsupportedControl.d.ts +46 -0
  40. package/dist/instance/children.d.ts +0 -1
  41. package/dist/instance/hierarchy.d.ts +9 -5
  42. package/dist/instance/index.d.ts +0 -1
  43. package/dist/instance/internal-api/EvaluationContext.d.ts +0 -1
  44. package/dist/instance/internal-api/InstanceConfig.d.ts +0 -1
  45. package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -1
  46. package/dist/instance/internal-api/TranslationContext.d.ts +0 -1
  47. package/dist/instance/internal-api/ValidationContext.d.ts +11 -4
  48. package/dist/instance/internal-api/ValueContext.d.ts +3 -4
  49. package/dist/instance/repeat/BaseRepeatRange.d.ts +1 -2
  50. package/dist/instance/repeat/RepeatInstance.d.ts +0 -1
  51. package/dist/instance/repeat/RepeatRangeControlled.d.ts +1 -2
  52. package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +1 -2
  53. package/dist/instance/resource.d.ts +0 -1
  54. package/dist/instance/text/TextChunk.d.ts +0 -1
  55. package/dist/instance/text/TextRange.d.ts +0 -1
  56. package/dist/instance/unsupported/RangeControl.d.ts +4 -0
  57. package/dist/instance/unsupported/RankControl.d.ts +4 -0
  58. package/dist/instance/unsupported/UploadControl.d.ts +4 -0
  59. package/dist/lib/TokenListParser.d.ts +3 -3
  60. package/dist/lib/dom/query.d.ts +1 -2
  61. package/dist/lib/reactivity/createChildrenState.d.ts +0 -1
  62. package/dist/lib/reactivity/createComputedExpression.d.ts +1 -2
  63. package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -3
  64. package/dist/lib/reactivity/createSelectItems.d.ts +0 -1
  65. package/dist/lib/reactivity/createValueState.d.ts +0 -1
  66. package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +0 -1
  67. package/dist/lib/reactivity/node-state/createClientState.d.ts +0 -1
  68. package/dist/lib/reactivity/node-state/createCurrentState.d.ts +0 -1
  69. package/dist/lib/reactivity/node-state/createEngineState.d.ts +0 -1
  70. package/dist/lib/reactivity/node-state/createSharedNodeState.d.ts +0 -1
  71. package/dist/lib/reactivity/node-state/createSpecifiedPropertyDescriptor.d.ts +0 -1
  72. package/dist/lib/reactivity/node-state/createSpecifiedState.d.ts +0 -1
  73. package/dist/lib/reactivity/node-state/representations.d.ts +0 -1
  74. package/dist/lib/reactivity/scope.d.ts +0 -1
  75. package/dist/lib/reactivity/text/createFieldHint.d.ts +1 -2
  76. package/dist/lib/reactivity/text/createNodeLabel.d.ts +1 -2
  77. package/dist/lib/reactivity/text/createNoteText.d.ts +1 -2
  78. package/dist/lib/reactivity/text/createTextRange.d.ts +0 -1
  79. package/dist/lib/reactivity/types.d.ts +0 -1
  80. package/dist/lib/reactivity/validation/createAggregatedViolations.d.ts +0 -1
  81. package/dist/lib/reactivity/validation/createValidation.d.ts +0 -1
  82. package/dist/{XFormDOM.d.ts → parse/XFormDOM.d.ts} +1 -2
  83. package/dist/{XFormDataType.d.ts → parse/XFormDataType.d.ts} +2 -4
  84. package/dist/{XFormDefinition.d.ts → parse/XFormDefinition.d.ts} +2 -3
  85. package/dist/{body → parse/body}/BodyDefinition.d.ts +15 -10
  86. package/dist/{body → parse/body}/BodyElementDefinition.d.ts +7 -7
  87. package/dist/{body → parse/body}/RepeatElementDefinition.d.ts +3 -4
  88. package/dist/{body → parse/body}/UnsupportedBodyElementDefinition.d.ts +0 -1
  89. package/dist/{body → parse/body}/appearance/inputAppearanceParser.d.ts +1 -2
  90. package/dist/{body → parse/body}/appearance/selectAppearanceParser.d.ts +1 -2
  91. package/dist/{body → parse/body}/appearance/structureElementAppearanceParser.d.ts +1 -2
  92. package/dist/parse/body/appearance/unknownAppearanceParser.d.ts +3 -0
  93. package/dist/{body → parse/body}/control/ControlDefinition.d.ts +3 -4
  94. package/dist/{body → parse/body}/control/InputDefinition.d.ts +1 -2
  95. package/dist/parse/body/control/RangeControlDefinition.d.ts +11 -0
  96. package/dist/parse/body/control/RankControlDefinition.d.ts +11 -0
  97. package/dist/parse/body/control/TriggerControlDefinition.d.ts +11 -0
  98. package/dist/parse/body/control/UploadControlDefinition.d.ts +11 -0
  99. package/dist/{body → parse/body}/control/select/ItemDefinition.d.ts +2 -3
  100. package/dist/{body → parse/body}/control/select/ItemsetDefinition.d.ts +4 -5
  101. package/dist/{body → parse/body}/control/select/ItemsetNodesetContext.d.ts +2 -3
  102. package/dist/{body → parse/body}/control/select/SelectDefinition.d.ts +3 -12
  103. package/dist/{body → parse/body}/group/BaseGroupDefinition.d.ts +3 -5
  104. package/dist/{body → parse/body}/group/LogicalGroupDefinition.d.ts +0 -1
  105. package/dist/{body → parse/body}/group/PresentationGroupDefinition.d.ts +1 -2
  106. package/dist/{body → parse/body}/group/StructuralGroupDefinition.d.ts +0 -1
  107. package/dist/{model/BindComputation.d.ts → parse/expression/BindComputationExpression.d.ts} +5 -6
  108. package/dist/{body/control/select → parse/expression}/ItemsetNodesetExpression.d.ts +2 -3
  109. package/dist/{body/control/select → parse/expression}/ItemsetValueExpression.d.ts +2 -3
  110. package/dist/parse/expression/RepeatCountControlExpression.d.ts +2 -3
  111. package/dist/parse/expression/TextLiteralExpression.d.ts +9 -0
  112. package/dist/parse/expression/TextOutputExpression.d.ts +7 -0
  113. package/dist/parse/expression/TextReferenceExpression.d.ts +7 -0
  114. package/dist/parse/expression/TextTranslationExpression.d.ts +8 -0
  115. package/dist/{expression → parse/expression/abstract}/DependencyContext.d.ts +0 -1
  116. package/dist/{expression → parse/expression/abstract}/DependentExpression.d.ts +2 -3
  117. package/dist/parse/expression/abstract/TextChunkExpression.d.ts +17 -0
  118. package/dist/parse/model/BindDefinition.d.ts +39 -0
  119. package/dist/{model → parse/model}/DescendentNodeDefinition.d.ts +0 -1
  120. package/dist/{model → parse/model}/LeafNodeDefinition.d.ts +1 -2
  121. package/dist/{model → parse/model}/ModelBindMap.d.ts +0 -1
  122. package/dist/{model → parse/model}/ModelDefinition.d.ts +1 -2
  123. package/dist/{model → parse/model}/NodeDefinition.d.ts +0 -1
  124. package/dist/parse/{NoteNodeDefinition.d.ts → model/NoteNodeDefinition.d.ts} +8 -9
  125. package/dist/{model → parse/model}/RepeatInstanceDefinition.d.ts +1 -2
  126. package/dist/{model → parse/model}/RepeatRangeDefinition.d.ts +2 -3
  127. package/dist/{model → parse/model}/RepeatTemplateDefinition.d.ts +2 -3
  128. package/dist/{model → parse/model}/RootDefinition.d.ts +2 -3
  129. package/dist/{model → parse/model}/SubtreeDefinition.d.ts +1 -2
  130. package/dist/parse/text/HintDefinition.d.ts +2 -3
  131. package/dist/parse/text/ItemLabelDefinition.d.ts +2 -3
  132. package/dist/parse/text/ItemsetLabelDefinition.d.ts +3 -4
  133. package/dist/parse/text/LabelDefinition.d.ts +5 -6
  134. package/dist/parse/text/MessageDefinition.d.ts +4 -5
  135. package/dist/parse/text/abstract/TextElementDefinition.d.ts +8 -9
  136. package/dist/parse/text/abstract/TextRangeDefinition.d.ts +5 -6
  137. package/dist/parse/xpath/path-resolution.d.ts +0 -1
  138. package/dist/parse/xpath/predicate-analysis.d.ts +0 -1
  139. package/dist/parse/xpath/reference-parsing.d.ts +0 -1
  140. package/dist/parse/xpath/semantic-analysis.d.ts +0 -1
  141. package/dist/parse/xpath/syntax-traversal.d.ts +0 -1
  142. package/dist/solid.js +6849 -5247
  143. package/dist/solid.js.map +1 -1
  144. package/package.json +11 -11
  145. package/src/client/BaseNode.ts +1 -1
  146. package/src/client/GroupNode.ts +2 -2
  147. package/src/client/ModelValueNode.ts +1 -1
  148. package/src/client/NodeAppearances.ts +1 -1
  149. package/src/client/NoteNode.ts +2 -2
  150. package/src/client/RootNode.ts +2 -2
  151. package/src/client/SelectNode.ts +2 -2
  152. package/src/client/StringNode.ts +2 -2
  153. package/src/client/SubtreeNode.ts +1 -1
  154. package/src/client/TextRange.ts +4 -5
  155. package/src/client/TriggerNode.ts +29 -0
  156. package/src/client/hierarchy.ts +13 -1
  157. package/src/client/node-types.ts +9 -1
  158. package/src/client/repeat/BaseRepeatRangeNode.ts +1 -1
  159. package/src/client/repeat/RepeatInstanceNode.ts +2 -2
  160. package/src/client/repeat/RepeatRangeControlledNode.ts +1 -1
  161. package/src/client/repeat/RepeatRangeUncontrolledNode.ts +1 -1
  162. package/src/client/unsupported/RangeNode.ts +14 -0
  163. package/src/client/unsupported/RankNode.ts +14 -0
  164. package/src/client/unsupported/UnsupportedControlNode.ts +40 -0
  165. package/src/client/unsupported/UploadNode.ts +14 -0
  166. package/src/index.ts +6 -1
  167. package/src/instance/ModelValue.ts +2 -2
  168. package/src/instance/Note.ts +2 -2
  169. package/src/instance/Root.ts +7 -3
  170. package/src/instance/SelectField.ts +6 -6
  171. package/src/instance/StringField.ts +3 -3
  172. package/src/instance/TriggerControl.ts +134 -0
  173. package/src/instance/abstract/DescendantNode.ts +4 -4
  174. package/src/instance/abstract/InstanceNode.ts +9 -1
  175. package/src/instance/abstract/UnsupportedControl.ts +151 -0
  176. package/src/instance/children.ts +75 -5
  177. package/src/instance/hierarchy.ts +22 -4
  178. package/src/instance/index.ts +1 -1
  179. package/src/instance/internal-api/EvaluationContext.ts +1 -1
  180. package/src/instance/internal-api/ValidationContext.ts +12 -3
  181. package/src/instance/internal-api/ValueContext.ts +3 -3
  182. package/src/instance/repeat/BaseRepeatRange.ts +1 -1
  183. package/src/instance/repeat/RepeatRangeControlled.ts +1 -1
  184. package/src/instance/repeat/RepeatRangeUncontrolled.ts +1 -1
  185. package/src/instance/unsupported/RangeControl.ts +5 -0
  186. package/src/instance/unsupported/RankControl.ts +5 -0
  187. package/src/instance/unsupported/UploadControl.ts +5 -0
  188. package/src/lib/TokenListParser.ts +11 -7
  189. package/src/lib/dom/query.ts +1 -1
  190. package/src/lib/reactivity/createComputedExpression.ts +3 -3
  191. package/src/lib/reactivity/createNoteReadonlyThunk.ts +2 -2
  192. package/src/lib/reactivity/createSelectItems.ts +3 -3
  193. package/src/lib/reactivity/createValueState.ts +3 -3
  194. package/src/lib/reactivity/node-state/createSpecifiedState.ts +1 -1
  195. package/src/lib/reactivity/text/createFieldHint.ts +1 -1
  196. package/src/lib/reactivity/text/createNodeLabel.ts +1 -1
  197. package/src/lib/reactivity/text/createNoteText.ts +1 -1
  198. package/src/lib/reactivity/text/createTextRange.ts +4 -4
  199. package/src/lib/reactivity/validation/createAggregatedViolations.ts +8 -3
  200. package/src/lib/reactivity/validation/createValidation.ts +1 -1
  201. package/src/{XFormDataType.ts → parse/XFormDataType.ts} +1 -3
  202. package/src/{XFormDefinition.ts → parse/XFormDefinition.ts} +2 -2
  203. package/src/{body → parse/body}/BodyDefinition.ts +44 -27
  204. package/src/{body → parse/body}/BodyElementDefinition.ts +12 -6
  205. package/src/{body → parse/body}/RepeatElementDefinition.ts +7 -5
  206. package/src/{body → parse/body}/appearance/inputAppearanceParser.ts +1 -1
  207. package/src/{body → parse/body}/appearance/selectAppearanceParser.ts +1 -1
  208. package/src/{body → parse/body}/appearance/structureElementAppearanceParser.ts +1 -1
  209. package/src/parse/body/appearance/unknownAppearanceParser.ts +5 -0
  210. package/src/{body → parse/body}/control/ControlDefinition.ts +4 -4
  211. package/src/parse/body/control/RangeControlDefinition.ts +26 -0
  212. package/src/parse/body/control/RankControlDefinition.ts +27 -0
  213. package/src/parse/body/control/TriggerControlDefinition.ts +26 -0
  214. package/src/parse/body/control/UploadControlDefinition.ts +26 -0
  215. package/src/{body → parse/body}/control/select/ItemDefinition.ts +2 -2
  216. package/src/{body → parse/body}/control/select/ItemsetDefinition.ts +5 -5
  217. package/src/{body → parse/body}/control/select/ItemsetNodesetContext.ts +2 -2
  218. package/src/{body → parse/body}/control/select/SelectDefinition.ts +3 -11
  219. package/src/{body → parse/body}/group/BaseGroupDefinition.ts +11 -22
  220. package/src/{body → parse/body}/group/PresentationGroupDefinition.ts +1 -1
  221. package/src/{model/BindComputation.ts → parse/expression/BindComputationExpression.ts} +8 -8
  222. package/src/{body/control/select → parse/expression}/ItemsetNodesetExpression.ts +2 -2
  223. package/src/{body/control/select → parse/expression}/ItemsetValueExpression.ts +2 -2
  224. package/src/parse/expression/RepeatCountControlExpression.ts +2 -2
  225. package/src/parse/expression/TextLiteralExpression.ts +19 -0
  226. package/src/parse/{text/OutputChunkDefinition.ts → expression/TextOutputExpression.ts} +4 -4
  227. package/src/parse/{text/ReferenceChunkDefinition.ts → expression/TextReferenceExpression.ts} +4 -4
  228. package/src/parse/{text/TranslationChunkDefinition.ts → expression/TextTranslationExpression.ts} +4 -4
  229. package/src/{expression → parse/expression/abstract}/DependentExpression.ts +4 -4
  230. package/src/parse/expression/abstract/TextChunkExpression.ts +38 -0
  231. package/src/{model → parse/model}/BindDefinition.ts +23 -22
  232. package/src/parse/{NoteNodeDefinition.ts → model/NoteNodeDefinition.ts} +9 -9
  233. package/src/{model → parse/model}/RepeatRangeDefinition.ts +1 -1
  234. package/src/{model → parse/model}/RootDefinition.ts +2 -2
  235. package/src/parse/text/HintDefinition.ts +2 -2
  236. package/src/parse/text/ItemLabelDefinition.ts +2 -2
  237. package/src/parse/text/ItemsetLabelDefinition.ts +7 -7
  238. package/src/parse/text/LabelDefinition.ts +5 -5
  239. package/src/parse/text/MessageDefinition.ts +7 -7
  240. package/src/parse/text/abstract/TextElementDefinition.ts +14 -14
  241. package/src/parse/text/abstract/TextRangeDefinition.ts +5 -5
  242. package/dist/model/BindDefinition.d.ts +0 -34
  243. package/dist/parse/text/OutputChunkDefinition.d.ts +0 -8
  244. package/dist/parse/text/ReferenceChunkDefinition.d.ts +0 -8
  245. package/dist/parse/text/StaticTextChunkDefinition.d.ts +0 -10
  246. package/dist/parse/text/TranslationChunkDefinition.d.ts +0 -9
  247. package/dist/parse/text/abstract/TextChunkDefinition.d.ts +0 -18
  248. package/src/parse/TODO.md +0 -3
  249. package/src/parse/text/StaticTextChunkDefinition.ts +0 -19
  250. package/src/parse/text/abstract/TextChunkDefinition.ts +0 -38
  251. package/dist/{model → parse/model}/BindElement.d.ts +0 -0
  252. package/src/{XFormDOM.ts → parse/XFormDOM.ts} +0 -0
  253. package/src/{body → parse/body}/UnsupportedBodyElementDefinition.ts +0 -0
  254. package/src/{body → parse/body}/control/InputDefinition.ts +1 -1
  255. /package/src/{body → parse/body}/group/LogicalGroupDefinition.ts +0 -0
  256. /package/src/{body → parse/body}/group/StructuralGroupDefinition.ts +0 -0
  257. /package/src/{expression → parse/expression/abstract}/DependencyContext.ts +0 -0
  258. /package/src/{model → parse/model}/BindElement.ts +0 -0
  259. /package/src/{model → parse/model}/DescendentNodeDefinition.ts +0 -0
  260. /package/src/{model → parse/model}/LeafNodeDefinition.ts +0 -0
  261. /package/src/{model → parse/model}/ModelBindMap.ts +0 -0
  262. /package/src/{model → parse/model}/ModelDefinition.ts +0 -0
  263. /package/src/{model → parse/model}/NodeDefinition.ts +0 -0
  264. /package/src/{model → parse/model}/RepeatInstanceDefinition.ts +0 -0
  265. /package/src/{model → parse/model}/RepeatTemplateDefinition.ts +0 -0
  266. /package/src/{model → parse/model}/SubtreeDefinition.ts +0 -0
@@ -1,9 +1,8 @@
1
- import { AnyNodeDefinition } from '../model/NodeDefinition.ts';
1
+ import { AnyNodeDefinition } from '../parse/model/NodeDefinition.ts';
2
2
  import { NodeAppearances } from './NodeAppearances.ts';
3
3
  import { TextRange } from './TextRange.ts';
4
4
  import { InstanceNodeType } from './node-types.ts';
5
5
  import { NodeValidationState } from './validation.ts';
6
-
7
6
  export interface BaseNodeState {
8
7
  /**
9
8
  * Location path reference to the node's primary instance state. This property
@@ -1,5 +1,4 @@
1
1
  import { OpaqueReactiveObjectFactory } from './OpaqueReactiveObjectFactory.ts';
2
-
3
2
  /**
4
3
  * @todo this is currently a strict subset of the web standard `Response`. Is it
5
4
  * sufficient? Ways it might not be:
@@ -1,11 +1,10 @@
1
- import { AnyGroupElementDefinition } from '../body/BodyDefinition.ts';
2
- import { SubtreeDefinition } from '../model/SubtreeDefinition.ts';
1
+ import { AnyGroupElementDefinition } from '../parse/body/BodyDefinition.ts';
2
+ import { SubtreeDefinition } from '../parse/model/SubtreeDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
4
4
  import { NodeAppearances } from './NodeAppearances.ts';
5
5
  import { RootNode } from './RootNode.ts';
6
6
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
7
7
  import { AncestorNodeValidationState } from './validation.ts';
8
-
9
8
  export interface GroupNodeState extends BaseNodeState {
10
9
  get hint(): null;
11
10
  get children(): readonly GeneralChildNode[];
@@ -1,9 +1,8 @@
1
- import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
1
+ import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
2
2
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
3
3
  import { GeneralParentNode } from './hierarchy.ts';
4
4
  import { RootNode } from './RootNode.ts';
5
5
  import { LeafNodeValidationState } from './validation.ts';
6
-
7
6
  export interface ModelValueNodeState extends BaseNodeState {
8
7
  get label(): null;
9
8
  get hint(): null;
@@ -1,6 +1,5 @@
1
1
  import { ParsedTokenList } from '../lib/TokenListParser.ts';
2
- import { NodeDefinition } from '../model/NodeDefinition.ts';
3
-
2
+ import { NodeDefinition } from '../parse/model/NodeDefinition.ts';
4
3
  /**
5
4
  * - Provides a means to distinguish between internal and client-facing names
6
5
  * for the same {@link ParsedTokenList} types.
@@ -1,12 +1,11 @@
1
- import { InputDefinition } from '../body/control/InputDefinition.ts';
2
- import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
1
+ import { InputDefinition } from '../parse/body/control/InputDefinition.ts';
2
+ import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
4
4
  import { GeneralParentNode } from './hierarchy.ts';
5
5
  import { NodeAppearances } from './NodeAppearances.ts';
6
6
  import { RootNode } from './RootNode.ts';
7
7
  import { TextRange } from './TextRange.ts';
8
8
  import { LeafNodeValidationState } from './validation.ts';
9
-
10
9
  export interface NoteNodeState extends BaseNodeState {
11
10
  /**
12
11
  * Note-specific specialization: a note will always have a non-null value in
@@ -1,10 +1,9 @@
1
- import { BodyClassList } from '../body/BodyDefinition.ts';
2
- import { RootDefinition } from '../model/RootDefinition.ts';
1
+ import { BodyClassList } from '../parse/body/BodyDefinition.ts';
2
+ import { RootDefinition } from '../parse/model/RootDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
4
4
  import { ActiveLanguage, FormLanguage, FormLanguages } from './FormLanguage.ts';
5
5
  import { GeneralChildNode } from './hierarchy.ts';
6
6
  import { AncestorNodeValidationState } from './validation.ts';
7
-
8
7
  export interface RootNodeState extends BaseNodeState {
9
8
  /**
10
9
  * This, along with {@link RootNode.languages} is the most significant break
@@ -1,12 +1,11 @@
1
- import { AnySelectDefinition } from '../body/control/select/SelectDefinition.ts';
2
- import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
1
+ import { AnySelectDefinition } from '../parse/body/control/select/SelectDefinition.ts';
2
+ import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
4
4
  import { NodeAppearances } from './NodeAppearances.ts';
5
5
  import { RootNode } from './RootNode.ts';
6
6
  import { TextRange } from './TextRange.ts';
7
7
  import { GeneralParentNode } from './hierarchy.ts';
8
8
  import { LeafNodeValidationState } from './validation.ts';
9
-
10
9
  export interface SelectItem {
11
10
  get value(): string;
12
11
  get label(): TextRange<'item-label'> | null;
@@ -1,11 +1,10 @@
1
- import { InputDefinition } from '../body/control/InputDefinition.ts';
2
- import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
1
+ import { InputDefinition } from '../parse/body/control/InputDefinition.ts';
2
+ import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
4
4
  import { NodeAppearances } from './NodeAppearances.ts';
5
5
  import { RootNode } from './RootNode.ts';
6
6
  import { GeneralParentNode } from './hierarchy.ts';
7
7
  import { LeafNodeValidationState } from './validation.ts';
8
-
9
8
  export interface StringNodeState extends BaseNodeState {
10
9
  get children(): null;
11
10
  get valueOptions(): null;
@@ -1,9 +1,8 @@
1
- import { SubtreeDefinition as BaseSubtreeDefinition } from '../model/SubtreeDefinition.ts';
1
+ import { SubtreeDefinition as BaseSubtreeDefinition } from '../parse/model/SubtreeDefinition.ts';
2
2
  import { BaseNode, BaseNodeState } from './BaseNode.ts';
3
3
  import { RootNode } from './RootNode.ts';
4
4
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
5
5
  import { AncestorNodeValidationState } from './validation.ts';
6
-
7
6
  export interface SubtreeNodeState extends BaseNodeState {
8
7
  get label(): null;
9
8
  get hint(): null;
@@ -1,5 +1,4 @@
1
1
  import { ActiveLanguage } from './FormLanguage.ts';
2
-
3
2
  /**
4
3
  * **COMMENTARY**
5
4
  *
@@ -23,7 +22,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
23
22
  * Here, `is-translation-expr()` is a fictional shorthand for checking
24
23
  * that the attribute's value is a valid `jr:itext(...)` FunctionCall
25
24
  * expression. Note that, per spec, these attributes **do not accept
26
- * arbitrary XPath expressions**! The non-translation case is treated as
25
+ * arbitrary XPath expressions**! The non-translation case is treated as
27
26
  * static text, not parsed for e.g. an XPath [string] Literal expression.
28
27
  * This is why we have introduced this 'translation' case, distinct from
29
28
  * 'reference', which previously handled translated labels and hints.
@@ -33,7 +32,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
33
32
  *
34
33
  * - `h:body//label/@ref[is-translation-expr()]`
35
34
  *
36
- * - 'static':
35
+ * - 'literal':
37
36
  * - `h:head//bind/@jr:constraintMsg[not(is-translation-expr())]`
38
37
  * - `h:head//bind/@jr:requiredMsg[not(is-translation-expr())]`
39
38
  * - `h:body//label/text()`
@@ -57,7 +56,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
57
56
  * package, and the engine doesn't really deal with itext translations at the
58
57
  * node level at all).
59
58
  */
60
- export type TextChunkSource = 'output' | 'reference' | 'translation' | 'static';
59
+ export type TextChunkSource = 'literal' | 'output' | 'reference' | 'translation';
61
60
  /**
62
61
  * @todo This (and everything else to do with {@link TextRange}s is for
63
62
  * illustration purposes, as a starting point where any particular detail is of
@@ -0,0 +1,25 @@
1
+ import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
2
+ import { TriggerControlDefinition } from '../parse/body/control/TriggerControlDefinition.ts';
3
+ import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
4
+ import { BaseNode, BaseNodeState } from './BaseNode.ts';
5
+ import { GeneralParentNode } from './hierarchy.ts';
6
+ import { RootNode } from './RootNode.ts';
7
+ import { LeafNodeValidationState } from './validation.ts';
8
+ export interface TriggerNodeState extends BaseNodeState {
9
+ get children(): null;
10
+ get valueOptions(): null;
11
+ get value(): boolean;
12
+ }
13
+ export interface TriggerNodeDefinition extends LeafNodeDefinition {
14
+ readonly bodyElement: TriggerControlDefinition;
15
+ }
16
+ export interface TriggerNode extends BaseNode {
17
+ readonly nodeType: 'trigger';
18
+ readonly definition: TriggerNodeDefinition;
19
+ readonly appearances: UnknownAppearanceDefinition;
20
+ readonly root: RootNode;
21
+ readonly parent: GeneralParentNode;
22
+ readonly currentState: TriggerNodeState;
23
+ readonly validationState: LeafNodeValidationState;
24
+ setValue(value: boolean): RootNode;
25
+ }
@@ -1,5 +1,4 @@
1
1
  import { ValidationTextRole } from './TextRange.ts';
2
-
3
2
  export declare const VALIDATION_TEXT: {
4
3
  readonly constraintMsg: "Condition not satisfied: constraint";
5
4
  readonly requiredMsg: "Condition not satisfied: required";
@@ -9,9 +9,13 @@ import { RootNode } from './RootNode.ts';
9
9
  import { SelectNode } from './SelectNode.ts';
10
10
  import { StringNode } from './StringNode.ts';
11
11
  import { SubtreeNode } from './SubtreeNode.ts';
12
-
13
- export type AnyControlNode = NoteNode | SelectNode | StringNode;
14
- export type AnyLeafNode = AnyControlNode | ModelValueNode;
12
+ import { TriggerNode } from './TriggerNode.ts';
13
+ import { RangeNode } from './unsupported/RangeNode.ts';
14
+ import { RankNode } from './unsupported/RankNode.ts';
15
+ import { UploadNode } from './unsupported/UploadNode.ts';
16
+ export type AnyUnsupportedControlNode = RangeNode | RankNode | UploadNode;
17
+ export type AnyControlNode = NoteNode | SelectNode | StringNode | TriggerNode;
18
+ export type AnyLeafNode = AnyControlNode | AnyUnsupportedControlNode | ModelValueNode;
15
19
  export type RepeatRangeNode = RepeatRangeControlledNode | RepeatRangeUncontrolledNode;
16
20
  /**
17
21
  * Any of the concrete node types which may be a parent of non-repeat instance
@@ -1,6 +1,5 @@
1
1
  import { EngineConfig } from './EngineConfig.ts';
2
2
  import { RootNode } from './RootNode.ts';
3
-
4
3
  export type FormResource = Blob | URL | string;
5
4
  export interface InitializeFormOptions {
6
5
  readonly config: EngineConfig;
@@ -1,2 +1,3 @@
1
+ export type UnsupportedControlNodeType = 'range' | 'rank' | 'upload';
1
2
  export type RepeatRangeNodeType = 'repeat-range:controlled' | 'repeat-range:uncontrolled';
2
- export type InstanceNodeType = 'root' | RepeatRangeNodeType | 'repeat-instance' | 'group' | 'subtree' | 'model-value' | 'note' | 'select' | 'string';
3
+ export type InstanceNodeType = 'root' | RepeatRangeNodeType | 'repeat-instance' | 'group' | 'subtree' | 'model-value' | 'note' | 'select' | 'string' | 'trigger' | UnsupportedControlNodeType;
@@ -1,4 +1,4 @@
1
- import { AnyRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
1
+ import { AnyRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
2
2
  import { BaseNode, BaseNodeState } from '../BaseNode.ts';
3
3
  import { NodeAppearances } from '../NodeAppearances.ts';
4
4
  import { RootNode } from '../RootNode.ts';
@@ -7,7 +7,6 @@ import { GeneralParentNode } from '../hierarchy.ts';
7
7
  import { RepeatRangeNodeType } from '../node-types.ts';
8
8
  import { AncestorNodeValidationState } from '../validation.ts';
9
9
  import { RepeatInstanceNode } from './RepeatInstanceNode.ts';
10
-
11
10
  export interface BaseRepeatRangeNodeState extends BaseNodeState {
12
11
  get hint(): null;
13
12
  get label(): TextRange<'label'> | null;
@@ -1,11 +1,10 @@
1
- import { RepeatInstanceDefinition } from '../../model/RepeatInstanceDefinition.ts';
2
- import { RepeatTemplateDefinition } from '../../model/RepeatTemplateDefinition.ts';
1
+ import { RepeatInstanceDefinition } from '../../parse/model/RepeatInstanceDefinition.ts';
2
+ import { RepeatTemplateDefinition } from '../../parse/model/RepeatTemplateDefinition.ts';
3
3
  import { BaseNode, BaseNodeState } from '../BaseNode.ts';
4
4
  import { GeneralChildNode, RepeatRangeNode } from '../hierarchy.ts';
5
5
  import { NodeAppearances } from '../NodeAppearances.ts';
6
6
  import { RootNode } from '../RootNode.ts';
7
7
  import { AncestorNodeValidationState } from '../validation.ts';
8
-
9
8
  export interface RepeatInstanceNodeState extends BaseNodeState {
10
9
  get hint(): null;
11
10
  get children(): readonly GeneralChildNode[];
@@ -1,6 +1,5 @@
1
- import { ControlledRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
1
+ import { ControlledRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
2
2
  import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
3
-
4
3
  /**
5
4
  * {@inheritDoc BaseRepeatRangeNodeState}
6
5
  * @see {@link BaseRepeatRangeNodeState}
@@ -1,7 +1,6 @@
1
- import { UncontrolledRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
1
+ import { UncontrolledRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
2
2
  import { RootNode } from '../RootNode.ts';
3
3
  import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
4
-
5
4
  /**
6
5
  * {@inheritDoc BaseRepeatRangeNodeState}
7
6
  * @see {@link BaseRepeatRangeNodeState}
@@ -0,0 +1,9 @@
1
+ import { RangeControlDefinition } from '../../parse/body/control/RangeControlDefinition.ts';
2
+ import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
3
+ export interface RangeNodeDefinition extends UnsupportedControlDefinition {
4
+ readonly bodyElement: RangeControlDefinition;
5
+ }
6
+ export interface RangeNode extends UnsupportedControlNode {
7
+ readonly nodeType: 'range';
8
+ readonly definition: RangeNodeDefinition;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { RankControlDefinition } from '../../parse/body/control/RankControlDefinition.ts';
2
+ import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
3
+ export interface RankNodeDefinition extends UnsupportedControlDefinition {
4
+ readonly bodyElement: RankControlDefinition;
5
+ }
6
+ export interface RankNode extends UnsupportedControlNode {
7
+ readonly nodeType: 'rank';
8
+ readonly definition: RankNodeDefinition;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { UnknownAppearanceDefinition } from '../../parse/body/appearance/unknownAppearanceParser.ts';
2
+ import { RangeControlDefinition } from '../../parse/body/control/RangeControlDefinition.ts';
3
+ import { RankControlDefinition } from '../../parse/body/control/RankControlDefinition.ts';
4
+ import { UploadControlDefinition } from '../../parse/body/control/UploadControlDefinition.ts';
5
+ import { LeafNodeDefinition } from '../../parse/model/LeafNodeDefinition.ts';
6
+ import { BaseNode, BaseNodeState } from '../BaseNode.ts';
7
+ import { RootNode } from '../RootNode.ts';
8
+ import { GeneralParentNode } from '../hierarchy.ts';
9
+ import { UnsupportedControlNodeType } from '../node-types.ts';
10
+ import { LeafNodeValidationState } from '../validation.ts';
11
+ export interface UnsupportedControlNodeState extends BaseNodeState {
12
+ get children(): null;
13
+ get valueOptions(): unknown;
14
+ get value(): unknown;
15
+ }
16
+ export type UnsupportedControlElementDefinition = RangeControlDefinition | RankControlDefinition | UploadControlDefinition;
17
+ export interface UnsupportedControlDefinition extends LeafNodeDefinition {
18
+ readonly bodyElement: UnsupportedControlElementDefinition;
19
+ }
20
+ /**
21
+ * Stub node, for form controls pending further engine support.
22
+ */
23
+ export interface UnsupportedControlNode extends BaseNode {
24
+ readonly nodeType: UnsupportedControlNodeType;
25
+ readonly appearances: UnknownAppearanceDefinition;
26
+ readonly definition: UnsupportedControlDefinition;
27
+ readonly root: RootNode;
28
+ readonly parent: GeneralParentNode;
29
+ readonly currentState: UnsupportedControlNodeState;
30
+ readonly validationState: LeafNodeValidationState;
31
+ setValue?(value: never): never;
32
+ }
@@ -0,0 +1,9 @@
1
+ import { UploadControlDefinition } from '../../parse/body/control/UploadControlDefinition.ts';
2
+ import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
3
+ export interface UploadNodeDefinition extends UnsupportedControlDefinition {
4
+ readonly bodyElement: UploadControlDefinition;
5
+ }
6
+ export interface UploadNode extends UnsupportedControlNode {
7
+ readonly nodeType: 'upload';
8
+ readonly definition: UploadNodeDefinition;
9
+ }
@@ -1,6 +1,5 @@
1
1
  import { NodeID } from '../instance/identity.ts';
2
2
  import { TextRange } from './TextRange.ts';
3
-
4
3
  interface BaseValidity {
5
4
  /**
6
5
  * Specifies the unambiguous validity state for each validity condition of a
package/dist/index.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import { InitializeForm } from './index.ts';
2
-
3
2
  export declare const initializeForm: InitializeForm;
4
3
  export * as constants from './client/constants.ts';
5
4
  export type * from './client/EngineConfig.ts';
6
5
  export type * from './client/FormLanguage.ts';
7
6
  export type * from './client/GroupNode.ts';
8
- export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
7
+ export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, AnyUnsupportedControlNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
9
8
  export type * from './client/index.ts';
10
9
  export type * from './client/ModelValueNode.ts';
11
10
  export type * from './client/NoteNode.ts';
@@ -18,5 +17,9 @@ export type * from './client/SelectNode.ts';
18
17
  export type * from './client/StringNode.ts';
19
18
  export type * from './client/SubtreeNode.ts';
20
19
  export type * from './client/TextRange.ts';
20
+ export type * from './client/TriggerNode.ts';
21
+ export type * from './client/unsupported/RangeNode.ts';
22
+ export type * from './client/unsupported/RankNode.ts';
23
+ export type * from './client/unsupported/UploadNode.ts';
21
24
  export type * from './client/validation.ts';
22
- export type { AnySelectDefinition, SelectDefinition, } from './body/control/select/SelectDefinition.ts';
25
+ export type { AnySelectDefinition, SelectDefinition, } from './parse/body/control/select/SelectDefinition.ts';