@aehrc/smart-forms-renderer 1.0.0-alpha.98 → 1.0.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 (928) hide show
  1. package/README.md +5 -1
  2. package/lib/api/callback.js +6 -15
  3. package/lib/api/callback.js.map +1 -1
  4. package/lib/api/smartClient.js +6 -21
  5. package/lib/api/smartClient.js.map +1 -1
  6. package/lib/components/Checkbox.styles.js +21 -19
  7. package/lib/components/Checkbox.styles.js.map +1 -1
  8. package/lib/components/ExpressionUpdateFadingGlow.styles.d.ts +2 -2
  9. package/lib/components/ExpressionUpdateFadingGlow.styles.js +12 -9
  10. package/lib/components/ExpressionUpdateFadingGlow.styles.js.map +1 -1
  11. package/lib/components/FormComponents/AttachmentItem/AttachmentField.d.ts +2 -2
  12. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +3 -3
  13. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
  14. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.d.ts +2 -2
  15. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +1 -1
  16. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
  17. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.d.ts +2 -2
  18. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js +1 -2
  19. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js.map +1 -1
  20. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.d.ts +2 -2
  21. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +4 -5
  22. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js.map +1 -1
  23. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +27 -37
  24. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
  25. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.d.ts +2 -2
  26. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +3 -3
  27. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js.map +1 -1
  28. package/lib/components/FormComponents/BooleanItem/BooleanField.js +6 -7
  29. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  30. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +33 -24
  31. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  32. package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js +1 -2
  33. package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js.map +1 -1
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +2 -2
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +12 -7
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +2 -7
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +17 -28
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
  41. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -7
  42. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +29 -14
  43. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  44. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +17 -1
  45. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
  46. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +2 -8
  47. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +12 -13
  48. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  49. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -7
  50. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +30 -15
  51. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  52. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
  53. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +2 -7
  54. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +32 -29
  55. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  56. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +1 -1
  57. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +2 -2
  58. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
  59. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +17 -1
  60. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
  61. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +2 -7
  62. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +15 -27
  63. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  64. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +9 -6
  65. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
  66. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -2
  67. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +28 -8
  68. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  69. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +2 -7
  70. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +14 -28
  71. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  72. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -2
  73. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +4 -20
  74. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
  75. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +2 -2
  76. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +19 -14
  77. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  78. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +2 -7
  79. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +16 -32
  80. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  81. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.d.ts +2 -3
  82. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +9 -10
  83. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
  84. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +17 -38
  85. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
  86. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js +1 -1
  87. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js.map +1 -1
  88. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js +3 -3
  89. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js.map +1 -1
  90. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +19 -56
  91. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
  92. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.d.ts +2 -3
  93. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +25 -9
  94. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
  95. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.d.ts +2 -5
  96. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js +19 -3
  97. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js.map +1 -1
  98. package/lib/components/FormComponents/DecimalItem/DecimalField.d.ts +2 -3
  99. package/lib/components/FormComponents/DecimalItem/DecimalField.js +6 -6
  100. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
  101. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +22 -45
  102. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  103. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +1 -1
  104. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
  105. package/lib/components/FormComponents/GridGroup/GridGroup.d.ts +2 -2
  106. package/lib/components/FormComponents/GridGroup/GridGroup.js +29 -20
  107. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  108. package/lib/components/FormComponents/GridGroup/GridRow.d.ts +6 -2
  109. package/lib/components/FormComponents/GridGroup/GridRow.js +7 -9
  110. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  111. package/lib/components/FormComponents/GridGroup/GridTable.d.ts +6 -2
  112. package/lib/components/FormComponents/GridGroup/GridTable.js +7 -4
  113. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
  114. package/lib/components/FormComponents/GroupItem/GroupHeading.js +4 -4
  115. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  116. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +2 -2
  117. package/lib/components/FormComponents/GroupItem/GroupItem.js +8 -8
  118. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  119. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +2 -2
  120. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +11 -11
  121. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  122. package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +2 -2
  123. package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -10
  124. package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
  125. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +2 -2
  126. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -1
  127. package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +2 -2
  128. package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -1
  129. package/lib/components/FormComponents/IntegerItem/IntegerField.d.ts +2 -3
  130. package/lib/components/FormComponents/IntegerItem/IntegerField.js +6 -6
  131. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
  132. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +20 -40
  133. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  134. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.d.ts +1 -1
  135. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js +10 -11
  136. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js.map +1 -1
  137. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +10 -7
  138. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
  139. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +9 -7
  140. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
  141. package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js +1 -2
  142. package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js.map +1 -1
  143. package/lib/components/FormComponents/ItemParts/ClearInputButton.d.ts +1 -1
  144. package/lib/components/FormComponents/ItemParts/ClearInputButton.js +9 -7
  145. package/lib/components/FormComponents/ItemParts/ClearInputButton.js.map +1 -1
  146. package/lib/components/FormComponents/ItemParts/DisplayUnitText.js +2 -2
  147. package/lib/components/FormComponents/ItemParts/DisplayUnitText.js.map +1 -1
  148. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js +6 -2
  149. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js.map +1 -1
  150. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +3 -3
  151. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  152. package/lib/components/FormComponents/ItemParts/ItemLabel.js +10 -9
  153. package/lib/components/FormComponents/ItemParts/ItemLabel.js.map +1 -1
  154. package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js +30 -48
  155. package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js.map +1 -1
  156. package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js +6 -5
  157. package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js.map +1 -1
  158. package/lib/components/FormComponents/ItemParts/OpenLabelField.js +4 -4
  159. package/lib/components/FormComponents/ItemParts/OpenLabelField.js.map +1 -1
  160. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +1 -1
  161. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -1
  162. package/lib/components/FormComponents/ItemParts/RadioFormGroup.d.ts +1 -1
  163. package/lib/components/FormComponents/ItemParts/RadioFormGroup.js +12 -13
  164. package/lib/components/FormComponents/ItemParts/RadioFormGroup.js.map +1 -1
  165. package/lib/components/FormComponents/ItemParts/RadioOptionList.js +1 -2
  166. package/lib/components/FormComponents/ItemParts/RadioOptionList.js.map +1 -1
  167. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js +4 -15
  168. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js.map +1 -1
  169. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +2 -2
  170. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +21 -16
  171. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  172. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +2 -7
  173. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +41 -18
  174. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  175. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +1 -1
  176. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
  177. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +2 -7
  178. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +18 -18
  179. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  180. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js +18 -2
  181. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js.map +1 -1
  182. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.d.ts +2 -7
  183. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +18 -18
  184. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  185. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -7
  186. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +28 -13
  187. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  188. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
  189. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +2 -7
  190. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +26 -17
  191. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  192. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +18 -2
  193. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
  194. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.d.ts +2 -7
  195. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +26 -17
  196. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js.map +1 -1
  197. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +2 -2
  198. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +10 -6
  199. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
  200. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +2 -7
  201. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +25 -13
  202. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  203. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +2 -2
  204. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +10 -6
  205. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
  206. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +2 -7
  207. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +21 -12
  208. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  209. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +2 -2
  210. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +5 -5
  211. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
  212. package/lib/components/FormComponents/QuantityItem/QuantityField.d.ts +2 -3
  213. package/lib/components/FormComponents/QuantityItem/QuantityField.js +6 -6
  214. package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
  215. package/lib/components/FormComponents/QuantityItem/QuantityItem.js +31 -89
  216. package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
  217. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.d.ts +2 -2
  218. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +4 -4
  219. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
  220. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -2
  221. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  222. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
  223. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +4 -6
  224. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  225. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +2 -2
  226. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +2 -2
  227. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  228. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.d.ts +3 -4
  229. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js +3 -4
  230. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js.map +1 -1
  231. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
  232. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  233. package/lib/components/FormComponents/RepeatItem/RepeatField.d.ts +2 -2
  234. package/lib/components/FormComponents/RepeatItem/RepeatField.js +2 -3
  235. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
  236. package/lib/components/FormComponents/RepeatItem/RepeatItem.d.ts +2 -2
  237. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +17 -13
  238. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  239. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +2 -2
  240. package/lib/components/FormComponents/SingleItem/SingleItem.js +9 -9
  241. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  242. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +2 -2
  243. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +54 -31
  244. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  245. package/lib/components/FormComponents/SingleItem/SingleItemView.d.ts +3 -4
  246. package/lib/components/FormComponents/SingleItem/SingleItemView.js +4 -5
  247. package/lib/components/FormComponents/SingleItem/SingleItemView.js.map +1 -1
  248. package/lib/components/FormComponents/SingleItem/SingleNestedItems.d.ts +2 -2
  249. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +8 -9
  250. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
  251. package/lib/components/FormComponents/SliderItem/Slider.styles.js +23 -21
  252. package/lib/components/FormComponents/SliderItem/Slider.styles.js.map +1 -1
  253. package/lib/components/FormComponents/SliderItem/SliderField.d.ts +2 -2
  254. package/lib/components/FormComponents/SliderItem/SliderField.js +4 -4
  255. package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -1
  256. package/lib/components/FormComponents/SliderItem/SliderItem.js +10 -8
  257. package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
  258. package/lib/components/FormComponents/StringItem/StringField.d.ts +2 -3
  259. package/lib/components/FormComponents/StringItem/StringField.js +22 -6
  260. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
  261. package/lib/components/FormComponents/StringItem/StringItem.d.ts +2 -7
  262. package/lib/components/FormComponents/StringItem/StringItem.js +19 -55
  263. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  264. package/lib/components/FormComponents/Tables/GroupTable.d.ts +2 -2
  265. package/lib/components/FormComponents/Tables/GroupTable.js +33 -37
  266. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  267. package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +7 -4
  268. package/lib/components/FormComponents/Tables/GroupTableBody.js +4 -5
  269. package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
  270. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +7 -4
  271. package/lib/components/FormComponents/Tables/GroupTableRow.js +3 -3
  272. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  273. package/lib/components/FormComponents/Tables/GroupTableRowCells.d.ts +6 -2
  274. package/lib/components/FormComponents/Tables/GroupTableRowCells.js +5 -6
  275. package/lib/components/FormComponents/Tables/GroupTableRowCells.js.map +1 -1
  276. package/lib/components/FormComponents/Tables/GroupTableView.d.ts +7 -4
  277. package/lib/components/FormComponents/Tables/GroupTableView.js +8 -9
  278. package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
  279. package/lib/components/FormComponents/Tables/SelectRowButton.js +3 -4
  280. package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -1
  281. package/lib/components/FormComponents/Tables/Table.styles.d.ts +2 -2
  282. package/lib/components/FormComponents/Tables/Table.styles.js +25 -20
  283. package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -1
  284. package/lib/components/FormComponents/TextItem/TextField.d.ts +0 -1
  285. package/lib/components/FormComponents/TextItem/TextField.js +4 -4
  286. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  287. package/lib/components/FormComponents/TextItem/TextItem.js +14 -34
  288. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  289. package/lib/components/FormComponents/Textfield.styles.js +1 -1
  290. package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
  291. package/lib/components/FormComponents/TimeItem/TimeField.d.ts +2 -2
  292. package/lib/components/FormComponents/TimeItem/TimeField.js +3 -2
  293. package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -1
  294. package/lib/components/FormComponents/TimeItem/TimeItem.js +8 -6
  295. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
  296. package/lib/components/FormComponents/UrlItem/UrlField.d.ts +2 -3
  297. package/lib/components/FormComponents/UrlItem/UrlField.js +5 -5
  298. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
  299. package/lib/components/FormComponents/UrlItem/UrlItem.js +8 -17
  300. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
  301. package/lib/components/Radio.styles.js +21 -19
  302. package/lib/components/Radio.styles.js.map +1 -1
  303. package/lib/components/Renderer/BaseRenderer.js +11 -15
  304. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  305. package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
  306. package/lib/components/Renderer/FormBodyCollapsible.js +5 -6
  307. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  308. package/lib/components/Renderer/FormBodyPageContainer.d.ts +2 -2
  309. package/lib/components/Renderer/FormBodyPageContainer.js +7 -9
  310. package/lib/components/Renderer/FormBodyPageContainer.js.map +1 -1
  311. package/lib/components/Renderer/FormBodyPaginated.d.ts +2 -2
  312. package/lib/components/Renderer/FormBodyPaginated.js +11 -15
  313. package/lib/components/Renderer/FormBodyPaginated.js.map +1 -1
  314. package/lib/components/Renderer/FormBodySingleCollapsible.js +1 -2
  315. package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -1
  316. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
  317. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +2 -2
  318. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
  319. package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
  320. package/lib/components/Renderer/FormBodyTabbed.js +13 -15
  321. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  322. package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
  323. package/lib/components/Renderer/FormTopLevelItem.js +12 -12
  324. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  325. package/lib/components/Renderer/SmartFormsRenderer.d.ts +4 -2
  326. package/lib/components/Renderer/SmartFormsRenderer.js +4 -2
  327. package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
  328. package/lib/components/Tabs/FormBodySingleTab.d.ts +1 -0
  329. package/lib/components/Tabs/FormBodySingleTab.js +5 -2
  330. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  331. package/lib/components/Tabs/FormBodyTabList.js +2 -3
  332. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  333. package/lib/hooks/index.d.ts +0 -2
  334. package/lib/hooks/index.js +1 -3
  335. package/lib/hooks/index.js.map +1 -1
  336. package/lib/hooks/useAnswerOptionsToggleExpressions.js +6 -8
  337. package/lib/hooks/useAnswerOptionsToggleExpressions.js.map +1 -1
  338. package/lib/hooks/useAttachmentUrlValidation.js +1 -1
  339. package/lib/hooks/useAttachmentUrlValidation.js.map +1 -1
  340. package/lib/hooks/useBuildForm.d.ts +13 -15
  341. package/lib/hooks/useBuildForm.js +26 -22
  342. package/lib/hooks/useBuildForm.js.map +1 -1
  343. package/lib/hooks/useCalculatedExpressionUpdated.d.ts +7 -0
  344. package/lib/hooks/useCalculatedExpressionUpdated.js +31 -0
  345. package/lib/hooks/useCalculatedExpressionUpdated.js.map +1 -0
  346. package/lib/hooks/useCodingCalculatedExpression.d.ts +0 -13
  347. package/lib/hooks/useCodingCalculatedExpression.js +1 -74
  348. package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
  349. package/lib/hooks/useDateCalculatedExpression.d.ts +0 -12
  350. package/lib/hooks/useDateCalculatedExpression.js +1 -58
  351. package/lib/hooks/useDateCalculatedExpression.js.map +1 -1
  352. package/lib/hooks/useDateTimeCalculatedExpression.d.ts +0 -12
  353. package/lib/hooks/useDateTimeCalculatedExpression.js +1 -58
  354. package/lib/hooks/useDateTimeCalculatedExpression.js.map +1 -1
  355. package/lib/hooks/useDisplayCqfAndCalculatedExpression.d.ts +13 -1
  356. package/lib/hooks/useDisplayCqfAndCalculatedExpression.js +14 -4
  357. package/lib/hooks/useDisplayCqfAndCalculatedExpression.js.map +1 -1
  358. package/lib/hooks/useDynamicValueSetEffect.js +6 -16
  359. package/lib/hooks/useDynamicValueSetEffect.js.map +1 -1
  360. package/lib/hooks/useHidden.js +2 -2
  361. package/lib/hooks/useHidden.js.map +1 -1
  362. package/lib/hooks/useInitialiseForm.d.ts +3 -2
  363. package/lib/hooks/useInitialiseForm.js +10 -3
  364. package/lib/hooks/useInitialiseForm.js.map +1 -1
  365. package/lib/hooks/useInitialiseRepeatAnswers.js +5 -5
  366. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
  367. package/lib/hooks/useParseXhtml.js +2 -2
  368. package/lib/hooks/useParseXhtml.js.map +1 -1
  369. package/lib/hooks/useReadOnly.js +2 -2
  370. package/lib/hooks/useReadOnly.js.map +1 -1
  371. package/lib/hooks/useRenderingExtensions.js +11 -14
  372. package/lib/hooks/useRenderingExtensions.js.map +1 -1
  373. package/lib/hooks/useResizeColumns.d.ts +8 -0
  374. package/lib/hooks/useResizeColumns.js +46 -0
  375. package/lib/hooks/useResizeColumns.js.map +1 -0
  376. package/lib/hooks/useSliderExtensions.js +5 -6
  377. package/lib/hooks/useSliderExtensions.js.map +1 -1
  378. package/lib/hooks/useTerminologyServerQuery.js +2 -3
  379. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  380. package/lib/hooks/useValidationFeedback.js +2 -3
  381. package/lib/hooks/useValidationFeedback.js.map +1 -1
  382. package/lib/hooks/useValueSetCodings.js +6 -39
  383. package/lib/hooks/useValueSetCodings.js.map +1 -1
  384. package/lib/index.d.ts +5 -7
  385. package/lib/index.js +3 -4
  386. package/lib/index.js.map +1 -1
  387. package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
  388. package/lib/interfaces/overrideComponent.interface.d.ts +2 -4
  389. package/lib/interfaces/renderProps.interface.d.ts +6 -31
  390. package/lib/interfaces/valueSet.interface.d.ts +2 -2
  391. package/lib/stores/formUpdateQueueStore.d.ts +6 -13
  392. package/lib/stores/formUpdateQueueStore.js +9 -24
  393. package/lib/stores/formUpdateQueueStore.js.map +1 -1
  394. package/lib/stores/index.d.ts +3 -3
  395. package/lib/stores/index.js +2 -2
  396. package/lib/stores/index.js.map +1 -1
  397. package/lib/stores/questionnaireResponseStore.d.ts +6 -9
  398. package/lib/stores/questionnaireResponseStore.js +22 -28
  399. package/lib/stores/questionnaireResponseStore.js.map +1 -1
  400. package/lib/stores/questionnaireStore.d.ts +39 -35
  401. package/lib/stores/questionnaireStore.js +136 -141
  402. package/lib/stores/questionnaireStore.js.map +1 -1
  403. package/lib/stores/{rendererStylingStore.d.ts → rendererConfigStore.d.ts} +8 -8
  404. package/lib/stores/rendererConfigStore.js +65 -0
  405. package/lib/stores/rendererConfigStore.js.map +1 -0
  406. package/lib/stores/smartConfigStore.d.ts +3 -3
  407. package/lib/stores/smartConfigStore.js +3 -3
  408. package/lib/stores/terminologyServerStore.d.ts +2 -2
  409. package/lib/stores/terminologyServerStore.js +2 -2
  410. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.d.ts +1 -1
  411. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js +2 -2
  412. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js.map +1 -1
  413. package/lib/stories/testUtils.d.ts +23 -0
  414. package/lib/stories/testUtils.js +249 -0
  415. package/lib/stories/testUtils.js.map +1 -0
  416. package/lib/theme/rendererThemeOptions.js +1 -1
  417. package/lib/theme/rendererThemeOptions.js.map +1 -1
  418. package/lib/utils/answerOptionsToggleExpressions.d.ts +1 -1
  419. package/lib/utils/answerOptionsToggleExpressions.js +94 -111
  420. package/lib/utils/answerOptionsToggleExpressions.js.map +1 -1
  421. package/lib/utils/calculatedExpression.d.ts +39 -3
  422. package/lib/utils/calculatedExpression.js +426 -191
  423. package/lib/utils/calculatedExpression.js.map +1 -1
  424. package/lib/utils/choice.js +14 -11
  425. package/lib/utils/choice.js.map +1 -1
  426. package/lib/utils/columnWidth.d.ts +28 -0
  427. package/lib/utils/columnWidth.js +103 -0
  428. package/lib/utils/columnWidth.js.map +1 -0
  429. package/lib/utils/computedUpdates.js +14 -12
  430. package/lib/utils/computedUpdates.js.map +1 -1
  431. package/lib/utils/enableWhen.js +6 -8
  432. package/lib/utils/enableWhen.js.map +1 -1
  433. package/lib/utils/enableWhenExpression.d.ts +1 -1
  434. package/lib/utils/enableWhenExpression.js +143 -163
  435. package/lib/utils/enableWhenExpression.js.map +1 -1
  436. package/lib/utils/extensions.d.ts +9 -0
  437. package/lib/utils/extensions.js +77 -74
  438. package/lib/utils/extensions.js.map +1 -1
  439. package/lib/utils/extractObservation.js +37 -28
  440. package/lib/utils/extractObservation.js.map +1 -1
  441. package/lib/utils/fhirpath.d.ts +27 -21
  442. package/lib/utils/fhirpath.js +191 -171
  443. package/lib/utils/fhirpath.js.map +1 -1
  444. package/lib/utils/fileUtils.js +21 -32
  445. package/lib/utils/fileUtils.js.map +1 -1
  446. package/lib/utils/genericRecursive.js +4 -6
  447. package/lib/utils/genericRecursive.js.map +1 -1
  448. package/lib/utils/getExpressionsFromItem.js +59 -66
  449. package/lib/utils/getExpressionsFromItem.js.map +1 -1
  450. package/lib/utils/index.d.ts +2 -1
  451. package/lib/utils/index.js +1 -1
  452. package/lib/utils/index.js.map +1 -1
  453. package/lib/utils/initialise.js +88 -101
  454. package/lib/utils/initialise.js.map +1 -1
  455. package/lib/utils/inputSanitization.js +6 -6
  456. package/lib/utils/inputSanitization.js.map +1 -1
  457. package/lib/utils/itemPath.d.ts +2 -2
  458. package/lib/utils/manageForm.d.ts +87 -9
  459. package/lib/utils/manageForm.js +79 -54
  460. package/lib/utils/manageForm.js.map +1 -1
  461. package/lib/utils/misc.js +9 -9
  462. package/lib/utils/misc.js.map +1 -1
  463. package/lib/utils/openChoice.js +25 -23
  464. package/lib/utils/openChoice.js.map +1 -1
  465. package/lib/utils/page.js +3 -4
  466. package/lib/utils/page.js.map +1 -1
  467. package/lib/utils/parameterisedValueSets.d.ts +1 -1
  468. package/lib/utils/parameterisedValueSets.js +110 -124
  469. package/lib/utils/parameterisedValueSets.js.map +1 -1
  470. package/lib/utils/populateContexts.js +4 -5
  471. package/lib/utils/populateContexts.js.map +1 -1
  472. package/lib/utils/qItem.js +9 -21
  473. package/lib/utils/qItem.js.map +1 -1
  474. package/lib/utils/qrItem.js +2 -3
  475. package/lib/utils/qrItem.js.map +1 -1
  476. package/lib/utils/quantity.js +8 -9
  477. package/lib/utils/quantity.js.map +1 -1
  478. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js +93 -111
  479. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js.map +1 -1
  480. package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js +53 -64
  481. package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js.map +1 -1
  482. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +3 -5
  483. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -1
  484. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js +1 -2
  485. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -1
  486. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +200 -212
  487. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  488. package/lib/utils/questionnaireStoreUtils/extractTabs.js +1 -1
  489. package/lib/utils/questionnaireStoreUtils/extractTabs.js.map +1 -1
  490. package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js +8 -9
  491. package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js.map +1 -1
  492. package/lib/utils/questionnaireStoreUtils/extractVariables.js +4 -10
  493. package/lib/utils/questionnaireStoreUtils/extractVariables.js.map +1 -1
  494. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +28 -37
  495. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
  496. package/lib/utils/readValues.js +7 -7
  497. package/lib/utils/readValues.js.map +1 -1
  498. package/lib/utils/removeEmptyAnswers.js +11 -9
  499. package/lib/utils/removeEmptyAnswers.js.map +1 -1
  500. package/lib/utils/removeRepeatId.js +17 -22
  501. package/lib/utils/removeRepeatId.js.map +1 -1
  502. package/lib/utils/repopulateIntoResponse.js +7 -5
  503. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  504. package/lib/utils/repopulateItems.js +6 -11
  505. package/lib/utils/repopulateItems.js.map +1 -1
  506. package/lib/utils/slider.js +3 -6
  507. package/lib/utils/slider.js.map +1 -1
  508. package/lib/utils/tabs.js +3 -5
  509. package/lib/utils/tabs.js.map +1 -1
  510. package/lib/utils/targetConstraint.d.ts +1 -1
  511. package/lib/utils/targetConstraint.js +85 -102
  512. package/lib/utils/targetConstraint.js.map +1 -1
  513. package/lib/utils/ucumQuantityConversion.d.ts +44 -0
  514. package/lib/utils/ucumQuantityConversion.js +132 -0
  515. package/lib/utils/ucumQuantityConversion.js.map +1 -0
  516. package/lib/utils/validate.js +35 -35
  517. package/lib/utils/validate.js.map +1 -1
  518. package/lib/utils/valueSet.d.ts +10 -1
  519. package/lib/utils/valueSet.js +67 -55
  520. package/lib/utils/valueSet.js.map +1 -1
  521. package/package.json +19 -19
  522. package/src/components/ExpressionUpdateFadingGlow.styles.ts +3 -3
  523. package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +5 -5
  524. package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +3 -2
  525. package/src/components/FormComponents/AttachmentItem/AttachmentFileCollector.tsx +2 -2
  526. package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +5 -5
  527. package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +5 -5
  528. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +4 -4
  529. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +7 -26
  530. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +5 -5
  531. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +15 -31
  532. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +0 -1
  533. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +12 -32
  534. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +3 -4
  535. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +14 -34
  536. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +19 -43
  537. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +0 -1
  538. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +14 -59
  539. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +4 -4
  540. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +2 -3
  541. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +14 -52
  542. package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -2
  543. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +8 -8
  544. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +12 -59
  545. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +8 -7
  546. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +12 -11
  547. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +11 -55
  548. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +6 -11
  549. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +11 -44
  550. package/src/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.tsx +2 -2
  551. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +21 -76
  552. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +11 -15
  553. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.tsx +6 -14
  554. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +7 -10
  555. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +20 -65
  556. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +1 -0
  557. package/src/components/FormComponents/GridGroup/GridGroup.tsx +45 -29
  558. package/src/components/FormComponents/GridGroup/GridRow.tsx +13 -15
  559. package/src/components/FormComponents/GridGroup/GridTable.tsx +6 -7
  560. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +2 -2
  561. package/src/components/FormComponents/GroupItem/GroupItem.tsx +4 -9
  562. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +0 -13
  563. package/src/components/FormComponents/GroupItem/GroupItemView.tsx +1 -7
  564. package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +2 -2
  565. package/src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx +2 -2
  566. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +7 -10
  567. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +18 -57
  568. package/src/components/FormComponents/ItemParts/CheckboxFormGroup.tsx +8 -8
  569. package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -2
  570. package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +2 -2
  571. package/src/components/FormComponents/ItemParts/ClearInputButton.tsx +17 -16
  572. package/src/components/FormComponents/ItemParts/DisplayUnitText.tsx +2 -2
  573. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +2 -2
  574. package/src/components/FormComponents/ItemParts/ItemLabel.tsx +3 -6
  575. package/src/components/FormComponents/ItemParts/ItemRepopulateButton.tsx +1 -8
  576. package/src/components/FormComponents/ItemParts/ItemTextSwitcher.tsx +9 -4
  577. package/src/components/FormComponents/ItemParts/OpenLabelField.tsx +3 -3
  578. package/src/components/FormComponents/ItemParts/RadioFormGroup.tsx +9 -9
  579. package/src/components/FormComponents/ItemParts/RequiredAsterisk.tsx +3 -3
  580. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +5 -5
  581. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +40 -40
  582. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +1 -2
  583. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +19 -37
  584. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +4 -5
  585. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +24 -38
  586. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +22 -46
  587. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +0 -1
  588. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +22 -33
  589. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +3 -4
  590. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +27 -36
  591. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +5 -5
  592. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +10 -33
  593. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +5 -5
  594. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +11 -30
  595. package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +6 -6
  596. package/src/components/FormComponents/QuantityItem/QuantityField.tsx +7 -10
  597. package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +15 -105
  598. package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +11 -6
  599. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +8 -21
  600. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +0 -4
  601. package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +5 -19
  602. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +0 -4
  603. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +9 -27
  604. package/src/components/FormComponents/SingleItem/SingleItem.tsx +7 -12
  605. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +56 -36
  606. package/src/components/FormComponents/SingleItem/SingleItemView.tsx +3 -15
  607. package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +5 -10
  608. package/src/components/FormComponents/SliderItem/SliderField.tsx +5 -5
  609. package/src/components/FormComponents/SliderItem/SliderItem.tsx +1 -0
  610. package/src/components/FormComponents/StringItem/StringField.tsx +7 -10
  611. package/src/components/FormComponents/StringItem/StringItem.tsx +19 -79
  612. package/src/components/FormComponents/Tables/GroupTable.tsx +69 -45
  613. package/src/components/FormComponents/Tables/GroupTableBody.tsx +7 -16
  614. package/src/components/FormComponents/Tables/GroupTableRow.tsx +7 -17
  615. package/src/components/FormComponents/Tables/GroupTableRowCells.tsx +5 -12
  616. package/src/components/FormComponents/Tables/GroupTableView.tsx +9 -13
  617. package/src/components/FormComponents/Tables/SelectRowButton.tsx +2 -2
  618. package/src/components/FormComponents/Tables/Table.styles.tsx +13 -8
  619. package/src/components/FormComponents/TextItem/TextField.tsx +3 -6
  620. package/src/components/FormComponents/TextItem/TextItem.tsx +11 -50
  621. package/src/components/FormComponents/Textfield.styles.ts +1 -1
  622. package/src/components/FormComponents/TimeItem/TimeField.tsx +5 -4
  623. package/src/components/FormComponents/TimeItem/TimeItem.tsx +6 -2
  624. package/src/components/FormComponents/UrlItem/UrlField.tsx +6 -9
  625. package/src/components/FormComponents/UrlItem/UrlItem.tsx +4 -19
  626. package/src/components/Renderer/BaseRenderer.tsx +18 -26
  627. package/src/components/Renderer/FormBodyCollapsible.tsx +3 -8
  628. package/src/components/Renderer/FormBodyPageContainer.tsx +3 -8
  629. package/src/components/Renderer/FormBodyPaginated.tsx +3 -11
  630. package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +2 -13
  631. package/src/components/Renderer/FormBodyTabbed.tsx +5 -10
  632. package/src/components/Renderer/FormTopLevelItem.tsx +3 -14
  633. package/src/components/Renderer/SmartFormsRenderer.tsx +4 -2
  634. package/src/components/Tabs/FormBodySingleTab.tsx +9 -2
  635. package/src/components/Tabs/FormBodyTabList.tsx +1 -0
  636. package/src/hooks/index.ts +1 -6
  637. package/src/hooks/useBuildForm.ts +31 -39
  638. package/src/hooks/useCalculatedExpressionUpdated.ts +39 -0
  639. package/src/hooks/useCodingCalculatedExpression.ts +0 -110
  640. package/src/hooks/useDateCalculatedExpression.ts +0 -90
  641. package/src/hooks/useDateTimeCalculatedExpression.ts +0 -90
  642. package/src/hooks/useDisplayCqfAndCalculatedExpression.ts +18 -2
  643. package/src/hooks/useHidden.ts +2 -2
  644. package/src/hooks/useInitialiseForm.ts +6 -5
  645. package/src/hooks/useReadOnly.ts +2 -2
  646. package/src/hooks/useResizeColumns.ts +53 -0
  647. package/src/hooks/useValueSetCodings.ts +5 -27
  648. package/src/index.ts +6 -12
  649. package/src/interfaces/calculatedExpression.interface.ts +1 -1
  650. package/src/interfaces/overrideComponent.interface.ts +2 -4
  651. package/src/interfaces/renderProps.interface.ts +8 -34
  652. package/src/interfaces/valueSet.interface.ts +2 -2
  653. package/src/stores/formUpdateQueueStore.ts +13 -29
  654. package/src/stores/index.ts +3 -3
  655. package/src/stores/questionnaireResponseStore.ts +28 -37
  656. package/src/stores/questionnaireStore.ts +230 -199
  657. package/src/stores/{rendererStylingStore.ts → rendererConfigStore.ts} +8 -8
  658. package/src/stores/smartConfigStore.ts +3 -3
  659. package/src/stores/terminologyServerStore.ts +2 -2
  660. package/src/theme/rendererThemeOptions.ts +1 -1
  661. package/src/utils/answerOptionsToggleExpressions.ts +12 -9
  662. package/src/utils/calculatedExpression.ts +466 -97
  663. package/src/utils/columnWidth.test.ts +75 -0
  664. package/src/utils/columnWidth.ts +110 -0
  665. package/src/utils/enableWhenExpression.ts +10 -6
  666. package/src/utils/extensions.ts +30 -0
  667. package/src/utils/extractObservation.ts +2 -1
  668. package/src/utils/fhirpath.ts +140 -115
  669. package/src/utils/getExpressionsFromItem.ts +33 -2
  670. package/src/utils/index.ts +2 -0
  671. package/src/utils/inputSanitization.ts +6 -6
  672. package/src/utils/manageForm.ts +148 -24
  673. package/src/utils/parameterisedValueSets.ts +20 -9
  674. package/src/utils/targetConstraint.ts +12 -9
  675. package/src/utils/ucumQuantityConversion.ts +195 -0
  676. package/src/utils/validate.ts +8 -3
  677. package/src/utils/valueSet.ts +44 -1
  678. package/src/vite-env.d.ts +2 -1
  679. package/tsconfig.json +2 -2
  680. package/vite.config.ts +5 -1
  681. package/lib/api/callbacks.d.ts +0 -8
  682. package/lib/api/callbacks.js +0 -52
  683. package/lib/api/callbacks.js.map +0 -1
  684. package/lib/api/xFhirQuerySync.d.ts +0 -1
  685. package/lib/api/xFhirQuerySync.js +0 -61
  686. package/lib/api/xFhirQuerySync.js.map +0 -1
  687. package/lib/components/ExpressionUpdateFadingGlow.d.ts +0 -0
  688. package/lib/components/ExpressionUpdateFadingGlow.js +0 -2
  689. package/lib/components/ExpressionUpdateFadingGlow.js.map +0 -1
  690. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.d.ts +0 -0
  691. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js +0 -2
  692. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js.map +0 -1
  693. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -7
  694. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +0 -26
  695. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
  696. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.d.ts +0 -0
  697. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js +0 -2
  698. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js.map +0 -1
  699. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.d.ts +0 -8
  700. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js +0 -130
  701. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js.map +0 -1
  702. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.d.ts +0 -8
  703. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js +0 -126
  704. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js.map +0 -1
  705. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.d.ts +0 -8
  706. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js +0 -118
  707. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js.map +0 -1
  708. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -8
  709. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +0 -63
  710. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
  711. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -8
  712. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -53
  713. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
  714. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.d.ts +0 -0
  715. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js +0 -2
  716. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js.map +0 -1
  717. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.d.ts +0 -7
  718. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js +0 -95
  719. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js.map +0 -1
  720. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -10
  721. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
  722. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
  723. package/lib/components/FormComponents/Tables/GroupTableRowCell.d.ts +0 -9
  724. package/lib/components/FormComponents/Tables/GroupTableRowCell.js +0 -15
  725. package/lib/components/FormComponents/Tables/GroupTableRowCell.js.map +0 -1
  726. package/lib/components/Iconify/Iconify.d.ts +0 -10
  727. package/lib/components/Iconify/Iconify.js +0 -26
  728. package/lib/components/Iconify/Iconify.js.map +0 -1
  729. package/lib/components/Renderer/FormBodyPage.d.ts +0 -9
  730. package/lib/components/Renderer/FormBodyPage.js +0 -43
  731. package/lib/components/Renderer/FormBodyPage.js.map +0 -1
  732. package/lib/components/Renderer/FormTitle.d.ts +0 -7
  733. package/lib/components/Renderer/FormTitle.js +0 -30
  734. package/lib/components/Renderer/FormTitle.js.map +0 -1
  735. package/lib/components/Renderer/FormTopLevelPage.d.ts +0 -9
  736. package/lib/components/Renderer/FormTopLevelPage.js +0 -29
  737. package/lib/components/Renderer/FormTopLevelPage.js.map +0 -1
  738. package/lib/hooks/useBooleanCalculatedExpression.d.ts +0 -12
  739. package/lib/hooks/useBooleanCalculatedExpression.js +0 -53
  740. package/lib/hooks/useBooleanCalculatedExpression.js.map +0 -1
  741. package/lib/hooks/useCalculatedExpressionAnimating.d.ts +0 -1
  742. package/lib/hooks/useCalculatedExpressionAnimating.js +0 -18
  743. package/lib/hooks/useCalculatedExpressionAnimating.js.map +0 -1
  744. package/lib/hooks/useCalculatedExpressionAnimation.d.ts +0 -1
  745. package/lib/hooks/useCalculatedExpressionAnimation.js +0 -18
  746. package/lib/hooks/useCalculatedExpressionAnimation.js.map +0 -1
  747. package/lib/hooks/useCqfAnswerValueSet.d.ts +0 -4
  748. package/lib/hooks/useCqfAnswerValueSet.js +0 -86
  749. package/lib/hooks/useCqfAnswerValueSet.js.map +0 -1
  750. package/lib/hooks/useCqfAnswerValueSetEffect.d.ts +0 -3
  751. package/lib/hooks/useCqfAnswerValueSetEffect.js +0 -111
  752. package/lib/hooks/useCqfAnswerValueSetEffect.js.map +0 -1
  753. package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -13
  754. package/lib/hooks/useDecimalCalculatedExpression.js +0 -64
  755. package/lib/hooks/useDecimalCalculatedExpression.js.map +0 -1
  756. package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -12
  757. package/lib/hooks/useIntegerCalculatedExpression.js +0 -61
  758. package/lib/hooks/useIntegerCalculatedExpression.js.map +0 -1
  759. package/lib/hooks/useQuantityCalculatedExpression.d.ts +0 -14
  760. package/lib/hooks/useQuantityCalculatedExpression.js +0 -115
  761. package/lib/hooks/useQuantityCalculatedExpression.js.map +0 -1
  762. package/lib/hooks/useShowDateTimeFeedback.d.ts +0 -13
  763. package/lib/hooks/useShowDateTimeFeedback.js +0 -40
  764. package/lib/hooks/useShowDateTimeFeedback.js.map +0 -1
  765. package/lib/hooks/useShowFeedback.d.ts +0 -11
  766. package/lib/hooks/useShowFeedback.js +0 -33
  767. package/lib/hooks/useShowFeedback.js.map +0 -1
  768. package/lib/hooks/useStringCalculatedExpression.d.ts +0 -12
  769. package/lib/hooks/useStringCalculatedExpression.js +0 -63
  770. package/lib/hooks/useStringCalculatedExpression.js.map +0 -1
  771. package/lib/hooks/useTempCalculatedExpressionsSyncButton.d.ts +0 -1
  772. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js +0 -24
  773. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js.map +0 -1
  774. package/lib/interfaces/fhirPathContext.interface.d.ts +0 -0
  775. package/lib/interfaces/fhirPathContext.interface.js +0 -2
  776. package/lib/interfaces/fhirPathContext.interface.js.map +0 -1
  777. package/lib/interfaces/itemDetails.interface.d.ts +0 -2
  778. package/lib/interfaces/itemDetails.interface.js +0 -2
  779. package/lib/interfaces/itemDetails.interface.js.map +0 -1
  780. package/lib/interfaces/itemMetadata.d.ts +0 -0
  781. package/lib/interfaces/itemMetadata.interface.d.ts +0 -6
  782. package/lib/interfaces/itemMetadata.interface.js +0 -2
  783. package/lib/interfaces/itemMetadata.interface.js.map +0 -1
  784. package/lib/interfaces/itemMetadata.js +0 -2
  785. package/lib/interfaces/itemMetadata.js.map +0 -1
  786. package/lib/interfaces/itemPath.d.ts +0 -31
  787. package/lib/interfaces/itemPath.js +0 -2
  788. package/lib/interfaces/itemPath.js.map +0 -1
  789. package/lib/stores/callbackStore.d.ts +0 -0
  790. package/lib/stores/callbackStore.js +0 -2
  791. package/lib/stores/callbackStore.js.map +0 -1
  792. package/lib/stores/extractOperationStore.d.ts +0 -26
  793. package/lib/stores/extractOperationStore.js +0 -20
  794. package/lib/stores/extractOperationStore.js.map +0 -1
  795. package/lib/stores/rendererStylingStore.js +0 -68
  796. package/lib/stores/rendererStylingStore.js.map +0 -1
  797. package/lib/stories/storybookWrappers/populateCallbackForStorybook.d.ts +0 -8
  798. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js +0 -52
  799. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js.map +0 -1
  800. package/lib/templates/bloodPressureTemplate.d.ts +0 -23
  801. package/lib/templates/bloodPressureTemplate.js +0 -80
  802. package/lib/templates/bloodPressureTemplate.js.map +0 -1
  803. package/lib/theme/RendererDynamicThemeProvider.d.ts +0 -24
  804. package/lib/theme/RendererDynamicThemeProvider.js +0 -65
  805. package/lib/theme/RendererDynamicThemeProvider.js.map +0 -1
  806. package/lib/theme/RendererThemeToggle.d.ts +0 -6
  807. package/lib/theme/RendererThemeToggle.js +0 -45
  808. package/lib/theme/RendererThemeToggle.js.map +0 -1
  809. package/lib/theme/Theme.d.ts +0 -44
  810. package/lib/theme/Theme.js +0 -43
  811. package/lib/theme/Theme.js.map +0 -1
  812. package/lib/theme/customGlobalStyles.d.ts +0 -1
  813. package/lib/theme/customGlobalStyles.js +0 -45
  814. package/lib/theme/customGlobalStyles.js.map +0 -1
  815. package/lib/theme/overrides/Accordion.d.ts +0 -14
  816. package/lib/theme/overrides/Accordion.js +0 -32
  817. package/lib/theme/overrides/Accordion.js.map +0 -1
  818. package/lib/theme/overrides/Autocomplete.d.ts +0 -10
  819. package/lib/theme/overrides/Autocomplete.js +0 -28
  820. package/lib/theme/overrides/Autocomplete.js.map +0 -1
  821. package/lib/theme/overrides/Button.d.ts +0 -33
  822. package/lib/theme/overrides/Button.js +0 -52
  823. package/lib/theme/overrides/Button.js.map +0 -1
  824. package/lib/theme/overrides/Card.d.ts +0 -35
  825. package/lib/theme/overrides/Card.js +0 -49
  826. package/lib/theme/overrides/Card.js.map +0 -1
  827. package/lib/theme/overrides/Input.d.ts +0 -64
  828. package/lib/theme/overrides/Input.js +0 -81
  829. package/lib/theme/overrides/Input.js.map +0 -1
  830. package/lib/theme/overrides/Overrides.d.ts +0 -3
  831. package/lib/theme/overrides/Overrides.js +0 -29
  832. package/lib/theme/overrides/Overrides.js.map +0 -1
  833. package/lib/theme/overrides/Paper.d.ts +0 -12
  834. package/lib/theme/overrides/Paper.js +0 -31
  835. package/lib/theme/overrides/Paper.js.map +0 -1
  836. package/lib/theme/overrides/SpeedDial.d.ts +0 -16
  837. package/lib/theme/overrides/SpeedDial.js +0 -34
  838. package/lib/theme/overrides/SpeedDial.js.map +0 -1
  839. package/lib/theme/overrides/Table.d.ts +0 -12
  840. package/lib/theme/overrides/Table.js +0 -30
  841. package/lib/theme/overrides/Table.js.map +0 -1
  842. package/lib/theme/overrides/rendererThemeComponentOverride.d.ts +0 -2
  843. package/lib/theme/overrides/rendererThemeComponentOverride.js +0 -28
  844. package/lib/theme/overrides/rendererThemeComponentOverride.js.map +0 -1
  845. package/lib/theme/overrides/rendererThemeComponentsOverride.d.ts +0 -2
  846. package/lib/theme/overrides/rendererThemeComponentsOverride.js +0 -28
  847. package/lib/theme/overrides/rendererThemeComponentsOverride.js.map +0 -1
  848. package/lib/theme/overrides/rendererThemeComponentsOverrides.d.ts +0 -2
  849. package/lib/theme/overrides/rendererThemeComponentsOverrides.js +0 -28
  850. package/lib/theme/overrides/rendererThemeComponentsOverrides.js.map +0 -1
  851. package/lib/theme/palette.d.ts +0 -27
  852. package/lib/theme/palette.js +0 -63
  853. package/lib/theme/palette.js.map +0 -1
  854. package/lib/theme/shadows.d.ts +0 -2
  855. package/lib/theme/shadows.js +0 -52
  856. package/lib/theme/shadows.js.map +0 -1
  857. package/lib/theme/themeOptions.d.ts +0 -2
  858. package/lib/theme/themeOptions.js +0 -85
  859. package/lib/theme/themeOptions.js.map +0 -1
  860. package/lib/theme/useRendererTheme.d.ts +0 -5
  861. package/lib/theme/useRendererTheme.js +0 -30
  862. package/lib/theme/useRendererTheme.js.map +0 -1
  863. package/lib/utils/FhirPathEvaluateParams.d.ts +0 -20
  864. package/lib/utils/FhirPathEvaluateParams.js +0 -35
  865. package/lib/utils/FhirPathEvaluateParams.js.map +0 -1
  866. package/lib/utils/dayjsExtend.d.ts +0 -1
  867. package/lib/utils/dayjsExtend.js +0 -22
  868. package/lib/utils/dayjsExtend.js.map +0 -1
  869. package/lib/utils/dayjsSetup.d.ts +0 -2
  870. package/lib/utils/dayjsSetup.js +0 -23
  871. package/lib/utils/dayjsSetup.js.map +0 -1
  872. package/lib/utils/extractTemplate.d.ts +0 -0
  873. package/lib/utils/extractTemplate.js +0 -1107
  874. package/lib/utils/extractTemplate.js.map +0 -1
  875. package/lib/utils/fhirathEvaluate.d.ts +0 -20
  876. package/lib/utils/fhirathEvaluate.js +0 -35
  877. package/lib/utils/fhirathEvaluate.js.map +0 -1
  878. package/lib/utils/fhirpathEvaluate.d.ts +0 -30
  879. package/lib/utils/fhirpathEvaluate.js +0 -68
  880. package/lib/utils/fhirpathEvaluate.js.map +0 -1
  881. package/lib/utils/find_item_no_text.d.ts +0 -1
  882. package/lib/utils/find_item_no_text.js +0 -65
  883. package/lib/utils/find_item_no_text.js.map +0 -1
  884. package/lib/utils/generateId.d.ts +0 -3
  885. package/lib/utils/generateId.js +0 -28
  886. package/lib/utils/generateId.js.map +0 -1
  887. package/lib/utils/granularRepopulateSync.d.ts +0 -1
  888. package/lib/utils/granularRepopulateSync.js +0 -70
  889. package/lib/utils/granularRepopulateSync.js.map +0 -1
  890. package/lib/utils/itemControl.d.ts +0 -103
  891. package/lib/utils/itemControl.js +0 -350
  892. package/lib/utils/itemControl.js.map +0 -1
  893. package/lib/utils/itemText.d.ts +0 -2
  894. package/lib/utils/itemText.js +0 -12
  895. package/lib/utils/itemText.js.map +0 -1
  896. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -2
  897. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -43
  898. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
  899. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -3
  900. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -114
  901. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
  902. package/lib/utils/questionnaireStoreUtils/itemDetails.d.ts +0 -5
  903. package/lib/utils/questionnaireStoreUtils/itemDetails.js +0 -2
  904. package/lib/utils/questionnaireStoreUtils/itemDetails.js.map +0 -1
  905. package/lib/utils/readItem.d.ts +0 -28
  906. package/lib/utils/readItem.js +0 -67
  907. package/lib/utils/readItem.js.map +0 -1
  908. package/lib/utils/syncInitialExpression.d.ts +0 -23
  909. package/lib/utils/syncInitialExpression.js +0 -407
  910. package/lib/utils/syncInitialExpression.js.map +0 -1
  911. package/lib/utils/templateMatching.d.ts +0 -15
  912. package/lib/utils/templateMatching.js +0 -56
  913. package/lib/utils/templateMatching.js.map +0 -1
  914. package/lib/utils/updateCodingsDynamic.d.ts +0 -1
  915. package/lib/utils/updateCodingsDynamic.js +0 -54
  916. package/lib/utils/updateCodingsDynamic.js.map +0 -1
  917. package/lib/utils/validateQuestionnaire.d.ts +0 -66
  918. package/lib/utils/validateQuestionnaire.js +0 -559
  919. package/lib/utils/validateQuestionnaire.js.map +0 -1
  920. package/src/hooks/useBooleanCalculatedExpression.ts +0 -83
  921. package/src/hooks/useDecimalCalculatedExpression.ts +0 -103
  922. package/src/hooks/useIntegerCalculatedExpression.ts +0 -93
  923. package/src/hooks/useQuantityCalculatedExpression.ts +0 -196
  924. package/src/hooks/useShowFeedback.ts +0 -36
  925. package/src/hooks/useStringCalculatedExpression.ts +0 -95
  926. package/src/interfaces/itemPath.interface.ts +0 -33
  927. package/src/utils/itemPath.ts +0 -79
  928. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +0 -52
@@ -1,103 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import { useEffect, useState } from 'react';
19
- import type { QuestionnaireItem } from 'fhir/r4';
20
- import { useQuestionnaireStore } from '../stores';
21
-
22
- interface UseDecimalCalculatedExpression {
23
- calcExpUpdated: boolean;
24
- }
25
-
26
- interface UseDecimalCalculatedExpressionProps {
27
- qItem: QuestionnaireItem;
28
- inputValue: string;
29
- precision: number | null;
30
- onChangeByCalcExpressionDecimal: (calcExpressionValue: number) => void;
31
- onChangeByCalcExpressionNull: () => void;
32
- }
33
-
34
- function useDecimalCalculatedExpression(
35
- props: UseDecimalCalculatedExpressionProps
36
- ): UseDecimalCalculatedExpression {
37
- const {
38
- qItem,
39
- inputValue,
40
- precision,
41
- onChangeByCalcExpressionDecimal,
42
- onChangeByCalcExpressionNull
43
- } = props;
44
-
45
- const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
46
-
47
- const [calcExpUpdated, setCalcExpUpdated] = useState(false);
48
-
49
- useEffect(
50
- () => {
51
- const calcExpression = calculatedExpressions[qItem.linkId]?.find(
52
- (exp) => exp.from === 'item'
53
- );
54
-
55
- if (!calcExpression) {
56
- return;
57
- }
58
-
59
- // If both input and calculated value are falsy, there is nothing to update
60
- const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
61
- if (inputAndCalcValueAreBothFalsy) {
62
- return;
63
- }
64
-
65
- // only update if calculated value is different from current value
66
- if (
67
- calcExpression.value !== inputValue &&
68
- (typeof calcExpression.value === 'number' || calcExpression.value === null)
69
- ) {
70
- const calcExpressionValue =
71
- typeof calcExpression.value === 'number' && typeof precision === 'number'
72
- ? parseFloat(calcExpression.value.toFixed(precision))
73
- : calcExpression.value;
74
-
75
- // only update if calculated value is different from current value
76
- if (calcExpressionValue !== parseFloat(inputValue)) {
77
- // update ui to show calculated value changes
78
- setCalcExpUpdated(true);
79
- const timeoutId = setTimeout(() => {
80
- setCalcExpUpdated(false);
81
- }, 500);
82
-
83
- // calculatedExpression value is null
84
- if (calcExpressionValue === null) {
85
- onChangeByCalcExpressionNull();
86
- return () => clearTimeout(timeoutId);
87
- }
88
-
89
- // calculatedExpression value is a number
90
- onChangeByCalcExpressionDecimal(calcExpressionValue);
91
- return () => clearTimeout(timeoutId);
92
- }
93
- }
94
- },
95
- // Only trigger this effect if calculatedExpression of item changes
96
- // eslint-disable-next-line react-hooks/exhaustive-deps
97
- [calculatedExpressions]
98
- );
99
-
100
- return { calcExpUpdated: calcExpUpdated };
101
- }
102
-
103
- export default useDecimalCalculatedExpression;
@@ -1,93 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import { useEffect, useState } from 'react';
19
- import type { QuestionnaireItem } from 'fhir/r4';
20
- import { useQuestionnaireStore } from '../stores';
21
-
22
- interface UseIntegerCalculatedExpression {
23
- calcExpUpdated: boolean;
24
- }
25
-
26
- interface useIntegerCalculatedExpressionProps {
27
- qItem: QuestionnaireItem;
28
- inputValue: string;
29
- onChangeByCalcExpressionInteger: (calcExpressionValue: number) => void;
30
- onChangeByCalcExpressionNull: () => void;
31
- }
32
-
33
- function useIntegerCalculatedExpression(
34
- props: useIntegerCalculatedExpressionProps
35
- ): UseIntegerCalculatedExpression {
36
- const { qItem, inputValue, onChangeByCalcExpressionInteger, onChangeByCalcExpressionNull } =
37
- props;
38
-
39
- const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
40
-
41
- const [calcExpUpdated, setCalcExpUpdated] = useState(false);
42
-
43
- useEffect(
44
- () => {
45
- const calcExpression = calculatedExpressions[qItem.linkId]?.find(
46
- (exp) => exp.from === 'item'
47
- );
48
-
49
- if (!calcExpression) {
50
- return;
51
- }
52
-
53
- // If both input and calculated value are falsy, there is nothing to update
54
- const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
55
- if (inputAndCalcValueAreBothFalsy) {
56
- return;
57
- }
58
-
59
- // only update if calculated value is different from current value
60
- if (
61
- calcExpression.value !== inputValue &&
62
- (typeof calcExpression.value === 'number' || calcExpression.value === null)
63
- ) {
64
- const calcExpressionValue = calcExpression.value;
65
-
66
- if (calcExpressionValue !== parseInt(inputValue)) {
67
- // update ui to show calculated value changes
68
- setCalcExpUpdated(true);
69
- const timeoutId = setTimeout(() => {
70
- setCalcExpUpdated(false);
71
- }, 500);
72
-
73
- // calculatedExpression value is null
74
- if (calcExpressionValue === null) {
75
- onChangeByCalcExpressionNull();
76
- return () => clearTimeout(timeoutId);
77
- }
78
-
79
- // calculatedExpression value is a number
80
- onChangeByCalcExpressionInteger(calcExpressionValue);
81
- return () => clearTimeout(timeoutId);
82
- }
83
- }
84
- },
85
- // Only trigger this effect if calculatedExpression of item changes
86
- // eslint-disable-next-line react-hooks/exhaustive-deps
87
- [calculatedExpressions]
88
- );
89
-
90
- return { calcExpUpdated: calcExpUpdated };
91
- }
92
-
93
- export default useIntegerCalculatedExpression;
@@ -1,196 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import { useEffect, useState } from 'react';
19
- import type { QuestionnaireItem } from 'fhir/r4';
20
- import { useQuestionnaireStore, useTerminologyServerStore } from '../stores';
21
- import { validateCodePromise } from '../utils/valueSet';
22
- import type {
23
- CodeParameter,
24
- DisplayParameter,
25
- SystemParameter
26
- } from '../interfaces/valueSet.interface';
27
- import { getItemTerminologyServerToUse } from '../utils/preferredTerminologyServer';
28
-
29
- interface UseQuantityCalculatedExpression {
30
- calcExpUpdated: boolean;
31
- }
32
-
33
- interface UseQuantityCalculatedExpressionProps {
34
- qItem: QuestionnaireItem;
35
- inputValue: string;
36
- precision: number | null;
37
- onChangeByCalcExpressionDecimal: (newValue: number) => void;
38
- onChangeByCalcExpressionQuantity: (
39
- newValue: number,
40
- newUnitSystem: string,
41
- newUnitCode: string,
42
- newUnitDisplay: string
43
- ) => void;
44
- onChangeByCalcExpressionNull: () => void;
45
- }
46
-
47
- function useQuantityCalculatedExpression(
48
- props: UseQuantityCalculatedExpressionProps
49
- ): UseQuantityCalculatedExpression {
50
- const {
51
- qItem,
52
- inputValue,
53
- precision,
54
- onChangeByCalcExpressionDecimal,
55
- onChangeByCalcExpressionQuantity,
56
- onChangeByCalcExpressionNull
57
- } = props;
58
-
59
- const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
60
-
61
- const itemPreferredTerminologyServers =
62
- useQuestionnaireStore.use.itemPreferredTerminologyServers();
63
- const defaultTerminologyServerUrl = useTerminologyServerStore.use.url();
64
-
65
- const [calcExpUpdated, setCalcExpUpdated] = useState(false);
66
-
67
- useEffect(
68
- () => {
69
- const calcExpression = calculatedExpressions[qItem.linkId]?.find(
70
- (exp) => exp.from === 'item'
71
- );
72
-
73
- if (!calcExpression) {
74
- return;
75
- }
76
-
77
- // If both input and calculated value are falsy, there is nothing to update
78
- const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
79
- if (inputAndCalcValueAreBothFalsy) {
80
- return;
81
- }
82
-
83
- // only update if calculated value is different from current value
84
- if (
85
- calcExpression.value !== inputValue &&
86
- (typeof calcExpression.value === 'number' ||
87
- typeof calcExpression.value === 'string' ||
88
- calcExpression.value === null)
89
- ) {
90
- // Null path
91
- if (calcExpression.value === null) {
92
- onChangeByCalcExpressionNull();
93
- return;
94
- }
95
-
96
- // Number path
97
- if (typeof calcExpression.value === 'number') {
98
- const calcExpressionValue =
99
- typeof precision === 'number'
100
- ? parseFloat(calcExpression.value.toFixed(precision))
101
- : calcExpression.value;
102
-
103
- // only update if calculated value is different from current value
104
- if (calcExpressionValue !== parseFloat(inputValue)) {
105
- // update ui to show calculated value changes
106
- setCalcExpUpdated(true);
107
- const timeoutId = setTimeout(() => {
108
- setCalcExpUpdated(false);
109
- }, 500);
110
-
111
- // calculatedExpression value is null
112
- if (calcExpressionValue === null) {
113
- onChangeByCalcExpressionNull();
114
- return () => clearTimeout(timeoutId);
115
- }
116
-
117
- // calculatedExpression value is a number
118
- onChangeByCalcExpressionDecimal(calcExpressionValue);
119
- return () => clearTimeout(timeoutId);
120
- }
121
- }
122
-
123
- // String path (quantity)
124
- if (typeof calcExpression.value === 'string') {
125
- try {
126
- const [value, unitCode] = calcExpression.value.split(' ');
127
- const unitCodeFormatted = unitCode.replace(/'/g, '');
128
-
129
- const ucumValueSet = 'http://hl7.org/fhir/ValueSet/ucum-units';
130
- const ucumSystem = 'http://unitsofmeasure.org';
131
-
132
- const terminologyServerUrl = getItemTerminologyServerToUse(
133
- qItem,
134
- itemPreferredTerminologyServers,
135
- defaultTerminologyServerUrl
136
- );
137
-
138
- validateCodePromise(
139
- ucumValueSet,
140
- ucumSystem,
141
- unitCodeFormatted,
142
- terminologyServerUrl
143
- ).then((validateCodeResponse) => {
144
- // Return early if validate-code request fails
145
- if (!validateCodeResponse) {
146
- onChangeByCalcExpressionNull();
147
- return;
148
- }
149
-
150
- if (validateCodeResponse.parameter) {
151
- const systemParameter = validateCodeResponse.parameter.find(
152
- (p) => p.name === 'system'
153
- ) as SystemParameter;
154
- const codeParameter = validateCodeResponse.parameter.find(
155
- (p) => p.name === 'code'
156
- ) as CodeParameter;
157
- const displayParameter = validateCodeResponse.parameter.find(
158
- (p) => p.name === 'display'
159
- ) as DisplayParameter;
160
- if (
161
- systemParameter.valueUri &&
162
- codeParameter.valueCode &&
163
- displayParameter.valueString
164
- ) {
165
- // update ui to show calculated value changes
166
- setCalcExpUpdated(true);
167
- const timeoutId = setTimeout(() => {
168
- setCalcExpUpdated(false);
169
- }, 500);
170
-
171
- onChangeByCalcExpressionQuantity(
172
- parseFloat(value),
173
- systemParameter.valueUri,
174
- codeParameter.valueCode,
175
- displayParameter.valueString
176
- );
177
- return () => clearTimeout(timeoutId);
178
- }
179
- }
180
- });
181
- } catch (e) {
182
- console.error(e);
183
- onChangeByCalcExpressionNull();
184
- }
185
- }
186
- }
187
- },
188
- // Only trigger this effect if calculatedExpression of item changes
189
- // eslint-disable-next-line react-hooks/exhaustive-deps
190
- [calculatedExpressions]
191
- );
192
-
193
- return { calcExpUpdated: calcExpUpdated };
194
- }
195
-
196
- export default useQuantityCalculatedExpression;
@@ -1,36 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import { useState } from 'react';
19
-
20
- /**
21
- * Custom React hook to manage validation feedback visibility based on user interaction with a form field (e.g., input or blur events).
22
- * Shows feedback after the field has been blurred at least once.
23
- */
24
- function useShowFeedback() {
25
- const [showFeedback, setShowFeedback] = useState(true);
26
- const [hasBlurred, setHasBlurred] = useState(false);
27
-
28
- return {
29
- showFeedback,
30
- setShowFeedback,
31
- hasBlurred,
32
- setHasBlurred
33
- };
34
- }
35
-
36
- export default useShowFeedback;
@@ -1,95 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import { useEffect, useState } from 'react';
19
- import type { QuestionnaireItem } from 'fhir/r4';
20
- import { useQuestionnaireStore } from '../stores';
21
-
22
- interface UseStringCalculatedExpression {
23
- calcExpUpdated: boolean;
24
- }
25
-
26
- interface useStringCalculatedExpressionProps {
27
- qItem: QuestionnaireItem;
28
- inputValue: string;
29
- onChangeByCalcExpressionString: (newValueString: string) => void;
30
- onChangeByCalcExpressionNull: () => void;
31
- }
32
-
33
- function useStringCalculatedExpression(
34
- props: useStringCalculatedExpressionProps
35
- ): UseStringCalculatedExpression {
36
- const { qItem, inputValue, onChangeByCalcExpressionString, onChangeByCalcExpressionNull } = props;
37
-
38
- const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
39
-
40
- const [calcExpUpdated, setCalcExpUpdated] = useState(false);
41
-
42
- useEffect(
43
- () => {
44
- const calcExpression = calculatedExpressions[qItem.linkId]?.find(
45
- (exp) => exp.from === 'item'
46
- );
47
-
48
- if (!calcExpression) {
49
- return;
50
- }
51
-
52
- // If both input and calculated value are falsy, there is nothing to update
53
- const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
54
- if (inputAndCalcValueAreBothFalsy) {
55
- return;
56
- }
57
-
58
- // only update if calculated value is different from current value
59
- if (
60
- calcExpression.value !== inputValue &&
61
- (typeof calcExpression.value === 'string' ||
62
- typeof calcExpression.value === 'number' ||
63
- calcExpression.value === null)
64
- ) {
65
- // update ui to show calculated value changes
66
- setCalcExpUpdated(true);
67
- const timeoutId = setTimeout(() => {
68
- setCalcExpUpdated(false);
69
- }, 500);
70
-
71
- // calculatedExpression value is null
72
- if (calcExpression.value === null) {
73
- onChangeByCalcExpressionNull();
74
- return () => clearTimeout(timeoutId);
75
- }
76
-
77
- // calculatedExpression value is a string or number
78
- const newInputValue =
79
- typeof calcExpression.value === 'string'
80
- ? calcExpression.value
81
- : calcExpression.value.toString();
82
-
83
- onChangeByCalcExpressionString(newInputValue);
84
- return () => clearTimeout(timeoutId);
85
- }
86
- },
87
- // Only trigger this effect if calculatedExpression of item changes
88
- // eslint-disable-next-line react-hooks/exhaustive-deps
89
- [calculatedExpressions]
90
- );
91
-
92
- return { calcExpUpdated: calcExpUpdated };
93
- }
94
-
95
- export default useStringCalculatedExpression;
@@ -1,33 +0,0 @@
1
- /**
2
- * Represents a single step in the path to an item within a nested QuestionnaireResponse.
3
- * Each step is identified by its `linkId`, and optionally a `repeatIndex` if the item
4
- * occurs within a repeating group.
5
- */
6
- export interface ItemPathSegment {
7
- /** The `linkId` of the QuestionnaireResponseItem at this path segment. */
8
- linkId: string;
9
-
10
- /**
11
- * The index of the repeated item if this segment occurs within a repeating group.
12
- * Omitted if the item is not part of a repeating group.
13
- */
14
- repeatIndex?: number;
15
- }
16
-
17
- /**
18
- * Represents a full path from the root of a QuestionnaireResponse to a deeply nested item.
19
- * Each segment corresponds to one level of the item hierarchy.
20
- *
21
- * Example:
22
- * [
23
- * { linkId: 'sectionA' },
24
- * { linkId: 'groupB', repeatIndex: 1 },
25
- * { linkId: 'questionC' }
26
- * ]
27
- *
28
- * This path navigates through `sectionA`, into the second instance of `groupB`,
29
- * and finally to `questionC`.
30
- *
31
- * @author Sean Fong
32
- */
33
- export type ItemPath = ItemPathSegment[];
@@ -1,79 +0,0 @@
1
- import type { ItemPath } from '../interfaces/itemPath.interface';
2
-
3
- /**
4
- * Creates an `ItemPath` containing a single segment for the given `linkId`.
5
- * This is useful when you want to construct a path to a specific item without referencing its ancestry,
6
- * such as when working with top-level items or when only the item's identity is relevant.
7
- *
8
- * @param linkId - The `linkId` of the item.
9
- * @param repeatIndex - (Optional) If the item is part of a repeating group, specify its index.
10
- * @returns An `ItemPath` containing one segment.
11
- *
12
- * @example
13
- * ```ts
14
- * const path = createSingleItemPath('question-1');
15
- * // Output: [{ linkId: 'question-1' }]
16
- *
17
- * const pathWithRepeat = createSingleItemPath('question-1', 2);
18
- * // Output: [{ linkId: 'question-1', repeatIndex: 2 }]
19
- * ```
20
- */
21
- export function createSingleItemPath(linkId: string, repeatIndex?: number): ItemPath {
22
- return repeatIndex !== undefined ? [{ linkId, repeatIndex }] : [{ linkId }];
23
- }
24
-
25
- /**
26
- * Creates a new `ItemPath` by extending the given path with a new segment for the provided `linkId`.
27
- * This version does NOT include a `repeatIndex`. If repeat handling is needed,
28
- * use `appendRepeatIndexToLastSegment` after extending.
29
- *
30
- * @param currentPath - The existing item path.
31
- * @param linkId - The `linkId` to use in the new path segment.
32
- * @returns A new `ItemPath` with the added segment.
33
- */
34
- export function extendItemPath(currentPath: ItemPath, linkId: string): ItemPath {
35
- return [...currentPath, { linkId }];
36
- }
37
-
38
- /**
39
- * Returns a new `ItemPath` with a `repeatIndex` applied to the last segment.
40
- * Useful for denoting which repetition of a group is being accessed.
41
- *
42
- * @param path - The item path to modify.
43
- * @param repeatIndex - The index to assign to the final segment.
44
- * @returns A new `ItemPath` with the last segment modified to include `repeatIndex`.
45
- *
46
- * @example
47
- * const basePath = [{ linkId: 'groupA' }, { linkId: 'groupB' }];
48
- * appendRepeatIndexToLastSegment(basePath, 2);
49
- * // → [{ linkId: 'groupA' }, { linkId: 'groupB', repeatIndex: 2 }]
50
- */
51
- export function appendRepeatIndexToLastSegment(path: ItemPath, repeatIndex: number): ItemPath {
52
- if (path.length === 0) return [];
53
-
54
- const newPath = [...path];
55
- newPath[path.length - 1] = { ...newPath[path.length - 1], repeatIndex };
56
- return newPath;
57
- }
58
-
59
- /**
60
- * Converts an `ItemPath` to a FHIRPath-compatible string.
61
- *
62
- * For example, the path:
63
- * [
64
- * { linkId: 'groupA' },
65
- * { linkId: 'repeatingGroup', repeatIndex: 1 },
66
- * { linkId: 'questionB' }
67
- * ]
68
- *
69
- * Returns: "item.where(linkId='groupA').item.where(linkId='repeatingGroup')[1].item.where(linkId='questionB')"
70
- */
71
- export function itemPathToFhirPathString(path: ItemPath): string {
72
- return path
73
- .map((segment, index) => {
74
- const base = `where(linkId='${segment.linkId}')`;
75
- const repeat = segment.repeatIndex !== undefined ? `[${segment.repeatIndex}]` : '';
76
- return (index === 0 ? 'item.' : '') + base + repeat;
77
- })
78
- .join('.item.');
79
- }
@@ -1,52 +0,0 @@
1
- /*
2
- * Copyright 2025 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- import type { Extension } from 'fhir/r4';
19
- import type { Variables } from '../../interfaces/variables.interface';
20
-
21
- export function addAdditionalVariables(
22
- existingVariables: Variables,
23
- additionalVariables: Record<string, object>
24
- ) {
25
- for (const key in additionalVariables) {
26
- const variable = additionalVariables[key];
27
-
28
- if (variable && isVariable(variable)) {
29
- const expression = variable.valueExpression;
30
- if (expression && expression.language && expression.name) {
31
- if (expression.language === 'text/fhirpath') {
32
- existingVariables.fhirPathVariables['QuestionnaireLevel'].push(expression);
33
- } else if (expression.language === 'application/x-fhir-query') {
34
- existingVariables.xFhirQueryVariables[expression.name] = {
35
- valueExpression: expression
36
- };
37
- }
38
- }
39
- }
40
- }
41
-
42
- return existingVariables;
43
- }
44
-
45
- function isVariable(variable: object): variable is Extension {
46
- const v = variable as Extension;
47
- return (
48
- (v.url === 'http://hl7.org/fhir/StructureDefinition/variable' &&
49
- v.valueExpression?.language === 'text/fhirpath') ||
50
- v.valueExpression?.language === 'application/x-fhir-query'
51
- );
52
- }