@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,67 +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
- * Read the first decimal/integer answer from a QuestionnaireResponseItem.
19
- * Used in DecimalItem.tsx
20
- * Returns a numeric value and a string formatted to the given precision.
21
- */
22
- export function readDecimalValue(qrItem, precision) {
23
- let valueDecimal = 0.0;
24
- let initialInput = '';
25
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) {
26
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueDecimal) {
27
- valueDecimal = qrItem.answer[0].valueDecimal;
28
- }
29
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueInteger) {
30
- valueDecimal = qrItem.answer[0].valueInteger;
31
- }
32
- initialInput = precision ? valueDecimal.toFixed(precision) : valueDecimal.toString();
33
- }
34
- return { valueDecimal, initialInput };
35
- }
36
- /**
37
- * Read the first integer/decimal answer from a QuestionnaireResponseItem.
38
- * Used in IntegerItem.tsx
39
- * Returns a rounded integer value and its string form.
40
- */
41
- export function readIntegerValue(qrItem) {
42
- let valueInteger = 0;
43
- let initialInput = '';
44
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) {
45
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueInteger) {
46
- valueInteger = qrItem.answer[0].valueInteger;
47
- }
48
- if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueDecimal) {
49
- valueInteger = Math.round(qrItem.answer[0].valueDecimal);
50
- }
51
- initialInput = valueInteger.toString();
52
- }
53
- return { valueInteger, initialInput };
54
- }
55
- /**
56
- * Read the first string answer from a QuestionnaireResponseItem.
57
- * Used in StringItem.tsx
58
- * Returns the string value for both raw and initial input.
59
- */
60
- export function readStringValue(qrItem) {
61
- let valueString = '';
62
- if ((qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) && (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueString)) {
63
- valueString = qrItem.answer[0].valueString;
64
- }
65
- return { valueString, initialInput: valueString };
66
- }
67
- //# sourceMappingURL=readItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readItem.js","sourceRoot":"","sources":["../../src/utils/readItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwC,EACxC,SAAwB;IAExB,IAAI,YAAY,GAAG,GAAG,CAAC;IACvB,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;QACnB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACnC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACnC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACvF,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAwC;IAIvE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;QACnB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACnC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACnC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwC;IAItE,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAA,EAAE,CAAC;QACpD,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC"}
@@ -1,23 +0,0 @@
1
- export { isSpecificItemControl, getDecimalPrecision } from './extensions';
2
- import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
3
- import type { CalculatedExpression } from '../interfaces';
4
- import type { ComputedNewAnswers } from '../interfaces/computedUpdates.interface';
5
- import type { InitialExpression } from '../interfaces/initialExpression.interface';
6
- export declare function applyCalculatedExpressionValuesToResponse(questionnaire: Questionnaire, initialResponse: QuestionnaireResponse, previousCalculatedExpressions: Record<string, CalculatedExpression[]>, updatedCalculatedExpressions: Record<string, CalculatedExpression[]>): QuestionnaireResponse;
7
- /**
8
- * Check if an answer is a datetime in the format YYYY, YYYY-MM, YYYY-MM-DD, YYYY-MM-DDThh:mm:ss+zz:zz
9
- *
10
- * @author Sean Fong
11
- */
12
- export declare function checkIsDateTime(value: string): boolean;
13
- /**
14
- * Check if an answer is in a time format - Regex: ([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?
15
- *
16
- * @author Sean Fong
17
- */
18
- export declare function checkIsTime(value: string): boolean;
19
- export declare function evaluateSyncedInitialExpressions(fhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, syncedInitialExpressions: Record<string, InitialExpression>, terminologyServerUrl: string): Promise<{
20
- calculatedExpsIsUpdated: boolean;
21
- updatedCalculatedExpressions: Record<string, CalculatedExpression[]>;
22
- computedNewAnswers: ComputedNewAnswers;
23
- }>;
@@ -1,407 +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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- export { isSpecificItemControl, getDecimalPrecision } from './extensions';
27
- import fhirpath from 'fhirpath';
28
- import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
29
- import { handleFhirPathResult } from './fhirpath';
30
- import { deepEqual } from 'fast-equals';
31
- // FIXME this is very much a copy of utils/calculateExpression.ts from #1400, it will be good to refactor this out into a common place in #1400.
32
- export function applyCalculatedExpressionValuesToResponse(questionnaire, initialResponse, previousCalculatedExpressions, updatedCalculatedExpressions) {
33
- var _a;
34
- // Filter calculated expressions, only preserve key-value pairs with values
35
- const calculatedExpressionsWithValues = {};
36
- for (const linkId in updatedCalculatedExpressions) {
37
- const itemCalcExpressionsWithValues = updatedCalculatedExpressions[linkId].filter((calcExpression) => calcExpression.value !== undefined);
38
- if (itemCalcExpressionsWithValues.length > 0) {
39
- calculatedExpressionsWithValues[linkId] = itemCalcExpressionsWithValues;
40
- }
41
- }
42
- // Get the difference between previous and updated calculated expressions
43
- const diffCalculatedExpressions = {};
44
- for (const [linkId, calculatedExpressionWithValue] of Object.entries(calculatedExpressionsWithValues)) {
45
- const calcExpressionFromItem = calculatedExpressionWithValue.find((calcExpression) => calcExpression.from === 'item');
46
- const existingCalcExpressionFromItem = (_a = previousCalculatedExpressions[linkId]) === null || _a === void 0 ? void 0 : _a.find((calcExpression) => calcExpression.from === 'item');
47
- // No calculated expression from item, skip this linkId
48
- if (!calcExpressionFromItem) {
49
- continue;
50
- }
51
- // Calculated expression not present previously, so include it
52
- if (!existingCalcExpressionFromItem) {
53
- diffCalculatedExpressions[linkId] = calculatedExpressionWithValue;
54
- continue;
55
- }
56
- // If the calculated expression from item has changed, add it to the diff
57
- if (!deepEqual(calcExpressionFromItem.value, existingCalcExpressionFromItem.value)) {
58
- diffCalculatedExpressions[linkId] = calculatedExpressionWithValue;
59
- }
60
- }
61
- return updateQuestionnaireResponse(questionnaire, initialResponse, applyCalculatedExpressionValuesRecursive, diffCalculatedExpressions);
62
- }
63
- /**
64
- * Recursively applies calculated expression values to items within a QuestionnaireResponse structure.
65
- *
66
- * This function navigates both group and leaf nodes of Questionnaire/QuestionnaireResponse pairs,
67
- * and integrates evaluated calculated expression values (from calculatedExpressions) into the appropriate QuestionnaireResponseItem(s).
68
- *
69
- * @param qItem - The current QuestionnaireItem being processed.
70
- * @param qrItemOrItems - The corresponding QuestionnaireResponseItem, or array for repeating groups, or null if not present.
71
- * @param calculatedExpressions - A mapping from linkId to array of CalculatedExpression objects to be applied.
72
- * @returns The updated QuestionnaireResponseItem, array (for repeating groups), or null if none were updated.
73
- */
74
- function applyCalculatedExpressionValuesRecursive(qItem, qrItemOrItems, calculatedExpressions) {
75
- var _a;
76
- // For repeat groups
77
- const hasMultipleAnswers = Array.isArray(qrItemOrItems);
78
- if (hasMultipleAnswers) {
79
- const updatedQrItems = applyCalculatedExpressionValuesInRepeatGroup(qItem, qrItemOrItems, calculatedExpressions);
80
- return applyCalculatedExpressionValuesInNonLeafItem(qItem, updatedQrItems && updatedQrItems.length > 0
81
- ? {
82
- linkId: qItem.linkId,
83
- text: qItem.text,
84
- item: updatedQrItems
85
- }
86
- : null, calculatedExpressions);
87
- }
88
- let qrItem = qrItemOrItems;
89
- const childQItems = qItem.item;
90
- if (childQItems && childQItems.length > 0) {
91
- // If item.type is 'group', create empty group qrItem
92
- if (qItem.type === 'group') {
93
- qrItem = qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : structuredClone(createEmptyQrGroup(qItem));
94
- }
95
- const childQrItems = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.item) !== null && _a !== void 0 ? _a : [];
96
- const indexMap = mapQItemsIndex(qItem);
97
- const qrItemsByIndex = getQrItemsIndex(childQItems, childQrItems, indexMap);
98
- // Otherwise loop through qItem as usual
99
- for (const [index, childQItem] of childQItems.entries()) {
100
- const childQRItemOrItems = qrItemsByIndex[index];
101
- const updatedChildQRItemOrItems = applyCalculatedExpressionValuesRecursive(childQItem, childQRItemOrItems !== null && childQRItemOrItems !== void 0 ? childQRItemOrItems : null, calculatedExpressions);
102
- // Update QR items in repeating group
103
- if (Array.isArray(updatedChildQRItemOrItems)) {
104
- if (updatedChildQRItemOrItems.length > 0) {
105
- updateQrItemsInGroup(null, {
106
- linkId: childQItem.linkId,
107
- qrItems: updatedChildQRItemOrItems
108
- }, qrItem !== null && qrItem !== void 0 ? qrItem : structuredClone(createEmptyQrGroup(qItem)), indexMap);
109
- }
110
- continue;
111
- }
112
- // Update QR items in non-repeating group
113
- const updatedChildQRItem = updatedChildQRItemOrItems;
114
- if (updatedChildQRItem) {
115
- updateQrItemsInGroup(updatedChildQRItem, null, qrItem !== null && qrItem !== void 0 ? qrItem : structuredClone(createEmptyQrGroup(qItem)), indexMap);
116
- }
117
- }
118
- return applyCalculatedExpressionValuesInNonLeafItem(qItem, qrItem, calculatedExpressions);
119
- }
120
- return applyCalculatedExpressionValuesInLeafItem(qItem, qrItem, calculatedExpressions);
121
- }
122
- /**
123
- * Recursively applies calculated expression values to items within a repeating (array) QuestionnaireResponse group.
124
- *
125
- * Iterates through each child QuestionnaireItem of the provided group, updating the corresponding QuestionnaireResponseItems
126
- * with evaluated calculated expressions as needed. This enables proper support for repeated groups within questionnaire structures.
127
- *
128
- * @param qItem - The QuestionnaireItem representing the repeat group (must have child items).
129
- * @param qrItems - The array of QuestionnaireResponseItems corresponding to the repeated items in the response.
130
- * @param calculatedExpressions - A mapping from linkId to array of CalculatedExpression objects to be applied.
131
- * @returns An array of updated QuestionnaireResponseItems, or null if none were updated.
132
- */
133
- function applyCalculatedExpressionValuesInRepeatGroup(qItem, qrItems, calculatedExpressions) {
134
- var _a;
135
- if (!qItem.item) {
136
- return [];
137
- }
138
- const indexMap = mapQItemsIndex(qItem);
139
- const qrItemsByIndex = getQrItemsIndex(qItem.item, qrItems, indexMap);
140
- const updatedQrItems = [];
141
- for (const [index, childQItem] of qItem.item.entries()) {
142
- const childQRItemOrItems = (_a = qrItemsByIndex[index]) !== null && _a !== void 0 ? _a : null;
143
- const updatedChildQRItemOrItems = applyCalculatedExpressionValuesRecursive(childQItem, childQRItemOrItems, calculatedExpressions);
144
- if (Array.isArray(updatedChildQRItemOrItems)) {
145
- updatedQrItems.push(...updatedChildQRItemOrItems);
146
- }
147
- else if (updatedChildQRItemOrItems) {
148
- updatedQrItems.push(updatedChildQRItemOrItems);
149
- }
150
- }
151
- return updatedQrItems.length > 0 ? updatedQrItems : null;
152
- }
153
- /**
154
- * Constructs a `QuestionnaireResponseItem` for a given `QuestionnaireItem` based on a calculated expression.
155
- *
156
- * If a calculated expression (with `from: 'item'`) exists for the given item and has a defined value, it is parsed
157
- * into a `QuestionnaireResponseItemAnswer` and returned within a `QuestionnaireResponseItem`.
158
- *
159
- * - If no relevant expression exists or the value is `undefined`, the function returns `undefined` (leaves existing response unchanged).
160
- * - If the value is `null`, an empty `QuestionnaireResponseItem` is returned.
161
- * - If the value is defined and successfully parsed, a populated `QuestionnaireResponseItem` with an `answer` is returned.
162
- * - If parsing fails, the function returns `undefined`.
163
- *
164
- * @param qItem - The `QuestionnaireItem` for which to obtain the calculated answer.
165
- * @param calculatedExpressions - A mapping from `linkId` to array of `CalculatedExpression` objects to be applied.
166
- * @returns A constructed `QuestionnaireResponseItem`, or `undefined` if no valid expression or answer exists.
167
- */
168
- function constructItemFromCalculatedExpression(qItem, calculatedExpressions) {
169
- var _a;
170
- const calcExpressionFromItem = (_a = calculatedExpressions[qItem.linkId]) === null || _a === void 0 ? void 0 : _a.find((calcExpression) => calcExpression.from === 'item');
171
- // No calcExpressionFromItem or calcExpressionFromItem.value is undefined, return undefined (do not change existing QR item)
172
- if (!calcExpressionFromItem || calcExpressionFromItem.value === undefined) {
173
- return;
174
- }
175
- const generatedAnswerKey = generateCalculatedExpressionsAnswerKey(qItem.linkId);
176
- // calcExpressionFromItem.value is null, return empty item
177
- if (calcExpressionFromItem.value === null) {
178
- return createEmptyQrItem(qItem, generatedAnswerKey);
179
- }
180
- // At this point calcExpressionFromItem.value should have an evaluated value
181
- // Parse evaluated value to QuestionnaireResponseItemAnswer
182
- const parsedAnswer = parseValueToAnswer(qItem, calcExpressionFromItem.value);
183
- // Shouldn't really happen, but if it does, do not return anything
184
- if (!parsedAnswer) {
185
- return;
186
- }
187
- // Create a new QuestionnaireResponseItem with the parsed answer
188
- return Object.assign(Object.assign({}, createEmptyQrItem(qItem, generatedAnswerKey)), { answer: [Object.assign({ id: generatedAnswerKey }, parsedAnswer)] });
189
- }
190
- function applyCalculatedExpressionValuesInNonLeafItem(qItem, qrItem, calculatedExpressions) {
191
- var _a;
192
- const constructedItemFromCalculatedExpression = constructItemFromCalculatedExpression(qItem, calculatedExpressions);
193
- // If no constructed item, return previous item if it exists
194
- if (!constructedItemFromCalculatedExpression) {
195
- return qrItem !== null && qrItem !== void 0 ? qrItem : null;
196
- }
197
- // Existing qrItem has child items, merge them with the constructed item
198
- const existingChildItems = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.item) !== null && _a !== void 0 ? _a : [];
199
- return Object.assign(Object.assign({}, constructedItemFromCalculatedExpression), (existingChildItems.length > 0 && { item: existingChildItems }));
200
- }
201
- function applyCalculatedExpressionValuesInLeafItem(qItem, qrItem, calculatedExpressions) {
202
- const constructedItemFromCalculatedExpression = constructItemFromCalculatedExpression(qItem, calculatedExpressions);
203
- // If no constructed item, return previous item if it exists
204
- if (!constructedItemFromCalculatedExpression) {
205
- return qrItem !== null && qrItem !== void 0 ? qrItem : null;
206
- }
207
- // Return constructed item as the new qrItem
208
- return constructedItemFromCalculatedExpression;
209
- }
210
- function objMatchesCoding(coding, obj) {
211
- if (!coding || !obj || typeof obj !== 'object') {
212
- return false;
213
- }
214
- return (obj &&
215
- obj.code === coding.code &&
216
- obj.display === coding.display &&
217
- obj.system === coding.system);
218
- }
219
- function getMatchingAnswerFromAnswerOptions(answerOptions, value) {
220
- var _a, _b;
221
- for (const option of answerOptions) {
222
- // Handle answerOption.valueInteger
223
- if ('valueInteger' in option && option.valueInteger === value) {
224
- return { valueInteger: option.valueInteger };
225
- }
226
- // Handle answerOption.valueDate
227
- if ('valueDate' in option && option.valueDate === value) {
228
- return { valueDate: option.valueDate };
229
- }
230
- // Handle answerOption.valueTime
231
- if ('valueTime' in option && option.valueTime === value) {
232
- return { valueTime: option.valueTime };
233
- }
234
- // Handle answerOption.valueString
235
- if ('valueString' in option && option.valueString === value) {
236
- return { valueString: option.valueString };
237
- }
238
- // Handle answerOption.valueCoding
239
- if ('valueCoding' in option) {
240
- if (option.valueCoding &&
241
- // Handle case where value matches valueCoding.code
242
- (((_a = option.valueCoding) === null || _a === void 0 ? void 0 : _a.code) === (value === null || value === void 0 ? void 0 : value.code) ||
243
- // Handle case where value matches the whole valueCoding object
244
- objMatchesCoding(option.valueCoding, value) ||
245
- // Handle case where value matches valueCoding.code.display
246
- ((_b = option.valueCoding) === null || _b === void 0 ? void 0 : _b.display) === (value === null || value === void 0 ? void 0 : value.display))) {
247
- return { valueCoding: getRelevantCodingProperties(option.valueCoding) };
248
- }
249
- }
250
- }
251
- // FIXME No support for valueReference
252
- return null;
253
- }
254
- // duplicate functions in sdc-populate
255
- function parseValueToAnswer(qItem, value) {
256
- // Boolean support
257
- if (qItem.type === 'boolean' && typeof value === 'boolean') {
258
- return { valueBoolean: value };
259
- }
260
- // Decimal support
261
- if (qItem.type === 'decimal' && typeof value === 'number') {
262
- // Handle precision if available
263
- const precision = getDecimalPrecision(qItem);
264
- if (typeof precision === 'number') {
265
- value = parseFloat(value.toFixed(precision));
266
- }
267
- return { valueDecimal: value };
268
- }
269
- // Integer support
270
- if (qItem.type === 'integer' && typeof value === 'number') {
271
- return { valueInteger: value };
272
- }
273
- // Date support
274
- if (qItem.type === 'date' && typeof value === 'string' && checkIsDateTime(value)) {
275
- return { valueDate: value };
276
- }
277
- // DateTime support
278
- if (qItem.type === 'dateTime' && typeof value === 'string' && checkIsDateTime(value)) {
279
- return { valueDateTime: value };
280
- }
281
- // Time support
282
- if (qItem.type === 'time' && typeof value === 'string' && checkIsTime(value)) {
283
- return { valueTime: value };
284
- }
285
- // String and text support
286
- if (qItem.type === 'string' || (qItem.type === 'text' && typeof value === 'string')) {
287
- return { valueString: value };
288
- }
289
- // Url support
290
- if (qItem.type === 'url' && typeof value === 'string') {
291
- return { valueUri: value };
292
- }
293
- // Choice and open-choice support
294
- if (qItem.type === 'choice' || qItem.type === 'open-choice') {
295
- // Handle answerOption matching
296
- if (qItem.answerOption) {
297
- const matchingAnswer = getMatchingAnswerFromAnswerOptions(qItem.answerOption, value);
298
- if (matchingAnswer) {
299
- console.log(qItem.linkId, matchingAnswer);
300
- }
301
- if (matchingAnswer) {
302
- return matchingAnswer;
303
- }
304
- }
305
- // If it hasn't matched answerOption, it's values is coming from an answerValueSet. In this case, it will always take the form of a Coding
306
- // Handle valueCoding
307
- // TODO in this case we will need to know the codings beforehand...
308
- if (typeof value === 'object') {
309
- return { valueCoding: value };
310
- }
311
- // Handle valueString
312
- if (typeof value === 'string') {
313
- // if (option.valueCoding?.code === value || option.valueCoding?.display === value) {
314
- //
315
- // }
316
- return { valueString: value };
317
- }
318
- }
319
- // FIXME No support for Attachment and Reference
320
- // Quantity support
321
- if (qItem.type === 'quantity') {
322
- if (typeof value === 'number') {
323
- // Handle precision if available
324
- const precision = getDecimalPrecision(qItem);
325
- if (typeof precision === 'number') {
326
- value = parseFloat(value.toFixed(precision));
327
- }
328
- return { valueQuantity: { value: value } };
329
- }
330
- // TODO implement string for Quantity calcExpressions here
331
- // if (typeof value === 'string') {
332
- //
333
- // return { valueQuantity: value };
334
- // }
335
- }
336
- return null;
337
- }
338
- /**
339
- * Check if an answer is a datetime in the format YYYY, YYYY-MM, YYYY-MM-DD, YYYY-MM-DDThh:mm:ss+zz:zz
340
- *
341
- * @author Sean Fong
342
- */
343
- export function checkIsDateTime(value) {
344
- const acceptedFormats = ['YYYY', 'YYYY-MM', 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm:ssZ'];
345
- const formattedDate = dayjs(value).format();
346
- return dayjs(formattedDate, acceptedFormats, true).isValid();
347
- }
348
- /**
349
- * Check if an answer is in a time format - Regex: ([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?
350
- *
351
- * @author Sean Fong
352
- */
353
- export function checkIsTime(value) {
354
- const timeRegex = /^([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?$/;
355
- return timeRegex.test(value);
356
- }
357
- export function evaluateSyncedInitialExpressions(fhirPathContext, fhirPathTerminologyCache, syncedInitialExpressions, terminologyServerUrl) {
358
- return __awaiter(this, void 0, void 0, function* () {
359
- const updatedSyncedInitialExpressions = Object.assign({}, syncedInitialExpressions);
360
- let isUpdated = false;
361
- const computedNewAnswers = {};
362
- for (const linkId in syncedInitialExpressions) {
363
- const initialExpression = syncedInitialExpressions[linkId];
364
- const cacheKey = JSON.stringify(initialExpression.expression); // Use expression as cache key
365
- if (fhirPathTerminologyCache[cacheKey]) {
366
- continue;
367
- }
368
- try {
369
- const fhirPathResult = fhirpath.evaluate({}, initialExpression.expression, fhirPathContext, fhirpath_r4_model, {
370
- async: true,
371
- terminologyUrl: terminologyServerUrl
372
- });
373
- const result = yield handleFhirPathResult(fhirPathResult);
374
- // If fhirPathResult is an async terminology call, cache the result
375
- if (fhirPathResult instanceof Promise) {
376
- fhirPathTerminologyCache[cacheKey] = result;
377
- }
378
- // Update calculatedExpressions if length of result array > 0
379
- // Only update when current calcExpression value is different from the result, otherwise it will result in an infinite loop as per issue #733
380
- if (result.length > 0 && !deepEqual(initialExpression.syncedValue, result[0])) {
381
- // console.log(calcExpression.value, structuredClone(result));
382
- isUpdated = true;
383
- initialExpression.syncedValue = result[0];
384
- }
385
- // Update calculatedExpression value to null if no result is returned
386
- if (result.length === 0 && calcExpression.value !== null) {
387
- isUpdated = true;
388
- calcExpression.value = null;
389
- // Update computedNewAnswers if the expression is a cqf-expression for _answerValueSet - clear answers (similar to dynamic value sets)
390
- if (calcExpression.from === 'item._answerValueSet') {
391
- computedNewAnswers[linkId] = null;
392
- }
393
- }
394
- }
395
- catch (e) {
396
- console.warn(e.message, `LinkId: ${linkId}\nExpression: ${calcExpression.expression}`);
397
- }
398
- updatedCalculatedExpressions[linkId] = itemCalcExpressions;
399
- }
400
- return {
401
- calculatedExpsIsUpdated: isUpdated,
402
- updatedCalculatedExpressions: updatedCalculatedExpressions,
403
- computedNewAnswers: computedNewAnswers
404
- };
405
- });
406
- }
407
- //# sourceMappingURL=syncInitialExpression.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"syncInitialExpression.js","sourceRoot":"","sources":["../../src/utils/syncInitialExpression.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { QuestionnaireItem } from 'fhir/r4';
2
- /**
3
- * Constants for template extraction extensions
4
- */
5
- export declare const FHIR_TEMPLATE_EXTRACT_EXTENSION = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract";
6
- /**
7
- * Finds a matching questionnaire item for a given template, with enhanced support for BP templates
8
- *
9
- * @param items - Questionnaire items to search through
10
- * @param templateId - ID of the template to match
11
- * @param templateResourceType - Resource type of the template
12
- * @param templateCoding - Coding array from template.code
13
- * @returns Matched questionnaire item or null if no match found
14
- */
15
- export declare function findMatchingItem(items: QuestionnaireItem[] | undefined, templateId: string, templateResourceType: string, templateCoding: any[] | undefined): QuestionnaireItem | null;
@@ -1,56 +0,0 @@
1
- /**
2
- * Constants for template extraction extensions
3
- */
4
- export const FHIR_TEMPLATE_EXTRACT_EXTENSION = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract';
5
- /**
6
- * Finds a matching questionnaire item for a given template, with enhanced support for BP templates
7
- *
8
- * @param items - Questionnaire items to search through
9
- * @param templateId - ID of the template to match
10
- * @param templateResourceType - Resource type of the template
11
- * @param templateCoding - Coding array from template.code
12
- * @returns Matched questionnaire item or null if no match found
13
- */
14
- export function findMatchingItem(items, templateId, templateResourceType, templateCoding) {
15
- var _a;
16
- if (!items)
17
- return null;
18
- for (const item of items) {
19
- // Check for direct template reference first - this is the standard way
20
- const templateRef = (_a = item.extension) === null || _a === void 0 ? void 0 : _a.find((ext) => {
21
- var _a;
22
- return ext.url === FHIR_TEMPLATE_EXTRACT_EXTENSION &&
23
- ((_a = ext.extension) === null || _a === void 0 ? void 0 : _a.some((subExt) => { var _a; return subExt.url === 'template' && ((_a = subExt.valueReference) === null || _a === void 0 ? void 0 : _a.reference) === `#${templateId}`; }));
24
- });
25
- if (templateRef) {
26
- console.log(`Found direct template reference match for ${templateId}: ${item.linkId}`);
27
- return item;
28
- }
29
- // Special handling for blood pressure templates
30
- if (templateResourceType === 'Observation' && templateCoding && templateCoding.length > 0) {
31
- // Check if this is a BP template
32
- const isSystolic = templateCoding.some((c) => c.code === '8480-6' || (c.display && c.display.toLowerCase().includes('systolic')));
33
- const isDiastolic = templateCoding.some((c) => c.code === '8462-4' || (c.display && c.display.toLowerCase().includes('diastolic')));
34
- if (isSystolic || isDiastolic) {
35
- // Match BP templates to items by text or linkId
36
- const itemHasSystolicText = item.text && item.text.toLowerCase().includes('systolic');
37
- const itemHasSystolicLinkId = item.linkId.toLowerCase().includes('systolic');
38
- const itemHasDiastolicText = item.text && item.text.toLowerCase().includes('diastolic');
39
- const itemHasDiastolicLinkId = item.linkId.toLowerCase().includes('diastolic');
40
- if ((isSystolic && (itemHasSystolicText || itemHasSystolicLinkId)) ||
41
- (isDiastolic && (itemHasDiastolicText || itemHasDiastolicLinkId))) {
42
- console.log(`Found match for BP template ${templateId} with item ${item.linkId}`);
43
- return item;
44
- }
45
- }
46
- }
47
- // Recursively check child items
48
- if (item.item) {
49
- const found = findMatchingItem(item.item, templateId, templateResourceType, templateCoding);
50
- if (found)
51
- return found;
52
- }
53
- }
54
- return null;
55
- }
56
- //# sourceMappingURL=templateMatching.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templateMatching.js","sourceRoot":"","sources":["../../src/utils/templateMatching.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};