@aehrc/smart-forms-renderer 1.0.0-alpha.99 → 1.1.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 (930) hide show
  1. package/README.md +4 -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 -31
  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 -17
  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 -16
  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 -21
  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 -21
  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 -21
  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 -20
  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 -16
  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 -15
  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 +52 -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 -16
  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 +3 -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 -146
  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 +48 -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 +21 -21
  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 +6 -6
  531. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +15 -35
  532. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +0 -1
  533. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +12 -36
  534. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +3 -4
  535. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +14 -38
  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 +19 -75
  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 +1 -14
  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 -44
  582. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +1 -2
  583. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +19 -41
  584. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +4 -5
  585. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +24 -42
  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 -37
  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 -37
  593. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +5 -5
  594. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +11 -34
  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 +57 -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 -12
  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 +3 -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 -206
  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/misc.ts +0 -2
  674. package/src/utils/parameterisedValueSets.ts +20 -9
  675. package/src/utils/questionnaireStoreUtils/createQuestionnaireModel.ts +0 -6
  676. package/src/utils/targetConstraint.ts +12 -9
  677. package/src/utils/ucumQuantityConversion.ts +195 -0
  678. package/src/utils/validate.ts +8 -3
  679. package/src/utils/valueSet.ts +44 -1
  680. package/src/vite-env.d.ts +2 -1
  681. package/tsconfig.json +2 -2
  682. package/vite.config.ts +5 -1
  683. package/lib/api/callbacks.d.ts +0 -8
  684. package/lib/api/callbacks.js +0 -52
  685. package/lib/api/callbacks.js.map +0 -1
  686. package/lib/api/xFhirQuerySync.d.ts +0 -1
  687. package/lib/api/xFhirQuerySync.js +0 -61
  688. package/lib/api/xFhirQuerySync.js.map +0 -1
  689. package/lib/components/ExpressionUpdateFadingGlow.d.ts +0 -0
  690. package/lib/components/ExpressionUpdateFadingGlow.js +0 -2
  691. package/lib/components/ExpressionUpdateFadingGlow.js.map +0 -1
  692. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.d.ts +0 -0
  693. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js +0 -2
  694. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js.map +0 -1
  695. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -7
  696. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +0 -26
  697. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
  698. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.d.ts +0 -0
  699. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js +0 -2
  700. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js.map +0 -1
  701. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.d.ts +0 -8
  702. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js +0 -130
  703. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js.map +0 -1
  704. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.d.ts +0 -8
  705. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js +0 -126
  706. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js.map +0 -1
  707. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.d.ts +0 -8
  708. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js +0 -118
  709. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js.map +0 -1
  710. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -8
  711. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +0 -63
  712. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
  713. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -8
  714. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -53
  715. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
  716. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.d.ts +0 -0
  717. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js +0 -2
  718. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js.map +0 -1
  719. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.d.ts +0 -7
  720. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js +0 -95
  721. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js.map +0 -1
  722. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -10
  723. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
  724. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
  725. package/lib/components/FormComponents/Tables/GroupTableRowCell.d.ts +0 -9
  726. package/lib/components/FormComponents/Tables/GroupTableRowCell.js +0 -15
  727. package/lib/components/FormComponents/Tables/GroupTableRowCell.js.map +0 -1
  728. package/lib/components/Iconify/Iconify.d.ts +0 -10
  729. package/lib/components/Iconify/Iconify.js +0 -26
  730. package/lib/components/Iconify/Iconify.js.map +0 -1
  731. package/lib/components/Renderer/FormBodyPage.d.ts +0 -9
  732. package/lib/components/Renderer/FormBodyPage.js +0 -43
  733. package/lib/components/Renderer/FormBodyPage.js.map +0 -1
  734. package/lib/components/Renderer/FormTitle.d.ts +0 -7
  735. package/lib/components/Renderer/FormTitle.js +0 -30
  736. package/lib/components/Renderer/FormTitle.js.map +0 -1
  737. package/lib/components/Renderer/FormTopLevelPage.d.ts +0 -9
  738. package/lib/components/Renderer/FormTopLevelPage.js +0 -29
  739. package/lib/components/Renderer/FormTopLevelPage.js.map +0 -1
  740. package/lib/hooks/useBooleanCalculatedExpression.d.ts +0 -12
  741. package/lib/hooks/useBooleanCalculatedExpression.js +0 -53
  742. package/lib/hooks/useBooleanCalculatedExpression.js.map +0 -1
  743. package/lib/hooks/useCalculatedExpressionAnimating.d.ts +0 -1
  744. package/lib/hooks/useCalculatedExpressionAnimating.js +0 -18
  745. package/lib/hooks/useCalculatedExpressionAnimating.js.map +0 -1
  746. package/lib/hooks/useCalculatedExpressionAnimation.d.ts +0 -1
  747. package/lib/hooks/useCalculatedExpressionAnimation.js +0 -18
  748. package/lib/hooks/useCalculatedExpressionAnimation.js.map +0 -1
  749. package/lib/hooks/useCqfAnswerValueSet.d.ts +0 -4
  750. package/lib/hooks/useCqfAnswerValueSet.js +0 -86
  751. package/lib/hooks/useCqfAnswerValueSet.js.map +0 -1
  752. package/lib/hooks/useCqfAnswerValueSetEffect.d.ts +0 -3
  753. package/lib/hooks/useCqfAnswerValueSetEffect.js +0 -111
  754. package/lib/hooks/useCqfAnswerValueSetEffect.js.map +0 -1
  755. package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -13
  756. package/lib/hooks/useDecimalCalculatedExpression.js +0 -64
  757. package/lib/hooks/useDecimalCalculatedExpression.js.map +0 -1
  758. package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -12
  759. package/lib/hooks/useIntegerCalculatedExpression.js +0 -61
  760. package/lib/hooks/useIntegerCalculatedExpression.js.map +0 -1
  761. package/lib/hooks/useQuantityCalculatedExpression.d.ts +0 -14
  762. package/lib/hooks/useQuantityCalculatedExpression.js +0 -115
  763. package/lib/hooks/useQuantityCalculatedExpression.js.map +0 -1
  764. package/lib/hooks/useShowDateTimeFeedback.d.ts +0 -13
  765. package/lib/hooks/useShowDateTimeFeedback.js +0 -40
  766. package/lib/hooks/useShowDateTimeFeedback.js.map +0 -1
  767. package/lib/hooks/useShowFeedback.d.ts +0 -11
  768. package/lib/hooks/useShowFeedback.js +0 -33
  769. package/lib/hooks/useShowFeedback.js.map +0 -1
  770. package/lib/hooks/useStringCalculatedExpression.d.ts +0 -12
  771. package/lib/hooks/useStringCalculatedExpression.js +0 -63
  772. package/lib/hooks/useStringCalculatedExpression.js.map +0 -1
  773. package/lib/hooks/useTempCalculatedExpressionsSyncButton.d.ts +0 -1
  774. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js +0 -24
  775. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js.map +0 -1
  776. package/lib/interfaces/fhirPathContext.interface.d.ts +0 -0
  777. package/lib/interfaces/fhirPathContext.interface.js +0 -2
  778. package/lib/interfaces/fhirPathContext.interface.js.map +0 -1
  779. package/lib/interfaces/itemDetails.interface.d.ts +0 -2
  780. package/lib/interfaces/itemDetails.interface.js +0 -2
  781. package/lib/interfaces/itemDetails.interface.js.map +0 -1
  782. package/lib/interfaces/itemMetadata.d.ts +0 -0
  783. package/lib/interfaces/itemMetadata.interface.d.ts +0 -6
  784. package/lib/interfaces/itemMetadata.interface.js +0 -2
  785. package/lib/interfaces/itemMetadata.interface.js.map +0 -1
  786. package/lib/interfaces/itemMetadata.js +0 -2
  787. package/lib/interfaces/itemMetadata.js.map +0 -1
  788. package/lib/interfaces/itemPath.d.ts +0 -31
  789. package/lib/interfaces/itemPath.js +0 -2
  790. package/lib/interfaces/itemPath.js.map +0 -1
  791. package/lib/stores/callbackStore.d.ts +0 -0
  792. package/lib/stores/callbackStore.js +0 -2
  793. package/lib/stores/callbackStore.js.map +0 -1
  794. package/lib/stores/extractOperationStore.d.ts +0 -26
  795. package/lib/stores/extractOperationStore.js +0 -20
  796. package/lib/stores/extractOperationStore.js.map +0 -1
  797. package/lib/stores/rendererStylingStore.js +0 -68
  798. package/lib/stores/rendererStylingStore.js.map +0 -1
  799. package/lib/stories/storybookWrappers/populateCallbackForStorybook.d.ts +0 -8
  800. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js +0 -52
  801. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js.map +0 -1
  802. package/lib/templates/bloodPressureTemplate.d.ts +0 -23
  803. package/lib/templates/bloodPressureTemplate.js +0 -80
  804. package/lib/templates/bloodPressureTemplate.js.map +0 -1
  805. package/lib/theme/RendererDynamicThemeProvider.d.ts +0 -24
  806. package/lib/theme/RendererDynamicThemeProvider.js +0 -65
  807. package/lib/theme/RendererDynamicThemeProvider.js.map +0 -1
  808. package/lib/theme/RendererThemeToggle.d.ts +0 -6
  809. package/lib/theme/RendererThemeToggle.js +0 -45
  810. package/lib/theme/RendererThemeToggle.js.map +0 -1
  811. package/lib/theme/Theme.d.ts +0 -44
  812. package/lib/theme/Theme.js +0 -43
  813. package/lib/theme/Theme.js.map +0 -1
  814. package/lib/theme/customGlobalStyles.d.ts +0 -1
  815. package/lib/theme/customGlobalStyles.js +0 -45
  816. package/lib/theme/customGlobalStyles.js.map +0 -1
  817. package/lib/theme/overrides/Accordion.d.ts +0 -14
  818. package/lib/theme/overrides/Accordion.js +0 -32
  819. package/lib/theme/overrides/Accordion.js.map +0 -1
  820. package/lib/theme/overrides/Autocomplete.d.ts +0 -10
  821. package/lib/theme/overrides/Autocomplete.js +0 -28
  822. package/lib/theme/overrides/Autocomplete.js.map +0 -1
  823. package/lib/theme/overrides/Button.d.ts +0 -33
  824. package/lib/theme/overrides/Button.js +0 -52
  825. package/lib/theme/overrides/Button.js.map +0 -1
  826. package/lib/theme/overrides/Card.d.ts +0 -35
  827. package/lib/theme/overrides/Card.js +0 -49
  828. package/lib/theme/overrides/Card.js.map +0 -1
  829. package/lib/theme/overrides/Input.d.ts +0 -64
  830. package/lib/theme/overrides/Input.js +0 -81
  831. package/lib/theme/overrides/Input.js.map +0 -1
  832. package/lib/theme/overrides/Overrides.d.ts +0 -3
  833. package/lib/theme/overrides/Overrides.js +0 -29
  834. package/lib/theme/overrides/Overrides.js.map +0 -1
  835. package/lib/theme/overrides/Paper.d.ts +0 -12
  836. package/lib/theme/overrides/Paper.js +0 -31
  837. package/lib/theme/overrides/Paper.js.map +0 -1
  838. package/lib/theme/overrides/SpeedDial.d.ts +0 -16
  839. package/lib/theme/overrides/SpeedDial.js +0 -34
  840. package/lib/theme/overrides/SpeedDial.js.map +0 -1
  841. package/lib/theme/overrides/Table.d.ts +0 -12
  842. package/lib/theme/overrides/Table.js +0 -30
  843. package/lib/theme/overrides/Table.js.map +0 -1
  844. package/lib/theme/overrides/rendererThemeComponentOverride.d.ts +0 -2
  845. package/lib/theme/overrides/rendererThemeComponentOverride.js +0 -28
  846. package/lib/theme/overrides/rendererThemeComponentOverride.js.map +0 -1
  847. package/lib/theme/overrides/rendererThemeComponentsOverride.d.ts +0 -2
  848. package/lib/theme/overrides/rendererThemeComponentsOverride.js +0 -28
  849. package/lib/theme/overrides/rendererThemeComponentsOverride.js.map +0 -1
  850. package/lib/theme/overrides/rendererThemeComponentsOverrides.d.ts +0 -2
  851. package/lib/theme/overrides/rendererThemeComponentsOverrides.js +0 -28
  852. package/lib/theme/overrides/rendererThemeComponentsOverrides.js.map +0 -1
  853. package/lib/theme/palette.d.ts +0 -27
  854. package/lib/theme/palette.js +0 -63
  855. package/lib/theme/palette.js.map +0 -1
  856. package/lib/theme/shadows.d.ts +0 -2
  857. package/lib/theme/shadows.js +0 -52
  858. package/lib/theme/shadows.js.map +0 -1
  859. package/lib/theme/themeOptions.d.ts +0 -2
  860. package/lib/theme/themeOptions.js +0 -85
  861. package/lib/theme/themeOptions.js.map +0 -1
  862. package/lib/theme/useRendererTheme.d.ts +0 -5
  863. package/lib/theme/useRendererTheme.js +0 -30
  864. package/lib/theme/useRendererTheme.js.map +0 -1
  865. package/lib/utils/FhirPathEvaluateParams.d.ts +0 -20
  866. package/lib/utils/FhirPathEvaluateParams.js +0 -35
  867. package/lib/utils/FhirPathEvaluateParams.js.map +0 -1
  868. package/lib/utils/dayjsExtend.d.ts +0 -1
  869. package/lib/utils/dayjsExtend.js +0 -22
  870. package/lib/utils/dayjsExtend.js.map +0 -1
  871. package/lib/utils/dayjsSetup.d.ts +0 -2
  872. package/lib/utils/dayjsSetup.js +0 -23
  873. package/lib/utils/dayjsSetup.js.map +0 -1
  874. package/lib/utils/extractTemplate.d.ts +0 -0
  875. package/lib/utils/extractTemplate.js +0 -1107
  876. package/lib/utils/extractTemplate.js.map +0 -1
  877. package/lib/utils/fhirathEvaluate.d.ts +0 -20
  878. package/lib/utils/fhirathEvaluate.js +0 -35
  879. package/lib/utils/fhirathEvaluate.js.map +0 -1
  880. package/lib/utils/fhirpathEvaluate.d.ts +0 -30
  881. package/lib/utils/fhirpathEvaluate.js +0 -68
  882. package/lib/utils/fhirpathEvaluate.js.map +0 -1
  883. package/lib/utils/find_item_no_text.d.ts +0 -1
  884. package/lib/utils/find_item_no_text.js +0 -65
  885. package/lib/utils/find_item_no_text.js.map +0 -1
  886. package/lib/utils/generateId.d.ts +0 -3
  887. package/lib/utils/generateId.js +0 -28
  888. package/lib/utils/generateId.js.map +0 -1
  889. package/lib/utils/granularRepopulateSync.d.ts +0 -1
  890. package/lib/utils/granularRepopulateSync.js +0 -70
  891. package/lib/utils/granularRepopulateSync.js.map +0 -1
  892. package/lib/utils/itemControl.d.ts +0 -103
  893. package/lib/utils/itemControl.js +0 -350
  894. package/lib/utils/itemControl.js.map +0 -1
  895. package/lib/utils/itemText.d.ts +0 -2
  896. package/lib/utils/itemText.js +0 -12
  897. package/lib/utils/itemText.js.map +0 -1
  898. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -2
  899. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -43
  900. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
  901. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -3
  902. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -114
  903. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
  904. package/lib/utils/questionnaireStoreUtils/itemDetails.d.ts +0 -5
  905. package/lib/utils/questionnaireStoreUtils/itemDetails.js +0 -2
  906. package/lib/utils/questionnaireStoreUtils/itemDetails.js.map +0 -1
  907. package/lib/utils/readItem.d.ts +0 -28
  908. package/lib/utils/readItem.js +0 -67
  909. package/lib/utils/readItem.js.map +0 -1
  910. package/lib/utils/syncInitialExpression.d.ts +0 -23
  911. package/lib/utils/syncInitialExpression.js +0 -407
  912. package/lib/utils/syncInitialExpression.js.map +0 -1
  913. package/lib/utils/templateMatching.d.ts +0 -15
  914. package/lib/utils/templateMatching.js +0 -56
  915. package/lib/utils/templateMatching.js.map +0 -1
  916. package/lib/utils/updateCodingsDynamic.d.ts +0 -1
  917. package/lib/utils/updateCodingsDynamic.js +0 -54
  918. package/lib/utils/updateCodingsDynamic.js.map +0 -1
  919. package/lib/utils/validateQuestionnaire.d.ts +0 -66
  920. package/lib/utils/validateQuestionnaire.js +0 -559
  921. package/lib/utils/validateQuestionnaire.js.map +0 -1
  922. package/src/hooks/useBooleanCalculatedExpression.ts +0 -83
  923. package/src/hooks/useDecimalCalculatedExpression.ts +0 -103
  924. package/src/hooks/useIntegerCalculatedExpression.ts +0 -93
  925. package/src/hooks/useQuantityCalculatedExpression.ts +0 -196
  926. package/src/hooks/useShowFeedback.ts +0 -36
  927. package/src/hooks/useStringCalculatedExpression.ts +0 -95
  928. package/src/interfaces/itemPath.interface.ts +0 -33
  929. package/src/utils/itemPath.ts +0 -79
  930. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +0 -52
@@ -18,7 +18,7 @@
18
18
  import React from 'react';
19
19
  import TableCell from '@mui/material/TableCell';
20
20
  import { StandardCheckbox } from '../../Checkbox.styles';
21
- import { useRendererStylingStore } from '../../../stores';
21
+ import { useRendererConfigStore } from '../../../stores';
22
22
  import type { QuestionnaireItem } from 'fhir/r4';
23
23
 
24
24
  interface SelectRowButtonProps {
@@ -31,7 +31,7 @@ interface SelectRowButtonProps {
31
31
  function SelectRowButton(props: SelectRowButtonProps) {
32
32
  const { qItem, isChecked, readOnly, onSelectItem } = props;
33
33
 
34
- const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
34
+ const readOnlyVisualStyle = useRendererConfigStore.use.readOnlyVisualStyle();
35
35
 
36
36
  return (
37
37
  <TableCell padding="none">
@@ -20,6 +20,7 @@ import TableCell from '@mui/material/TableCell';
20
20
  import TableRow from '@mui/material/TableRow';
21
21
  import { grey } from '@mui/material/colors';
22
22
 
23
+ // No need to pass calculatedWidth to HeaderCells, it auto adjusts to content
23
24
  export const HeaderTableCell = styled(TableCell)(({ theme }) => ({
24
25
  fontSize: 13,
25
26
  color: theme.palette.text.primary,
@@ -29,9 +30,11 @@ export const HeaderTableCell = styled(TableCell)(({ theme }) => ({
29
30
  }));
30
31
 
31
32
  export const StandardTableCell = styled(TableCell, {
32
- shouldForwardProp: (prop) => prop !== 'numOfColumns'
33
- })<{ numOfColumns: number }>(({ numOfColumns }) => ({
34
- width: `${100 / numOfColumns}%`,
33
+ shouldForwardProp: (prop) => prop !== 'calculatedWidth'
34
+ })<{
35
+ calculatedWidth?: string;
36
+ }>(({ calculatedWidth }) => ({
37
+ width: calculatedWidth,
35
38
  paddingLeft: 4,
36
39
  paddingRight: 4
37
40
  }));
@@ -49,11 +52,13 @@ export const GridTextTableCell = styled(TableCell)(({ theme }) => ({
49
52
  }));
50
53
 
51
54
  export const GridAnswerTableCell = styled(TableCell, {
52
- shouldForwardProp: (prop) => prop !== 'numOfColumns'
53
- })<{ numOfColumns: number }>(({ numOfColumns }) => ({
54
- width: `${80 / numOfColumns}%`,
55
- paddingLeft: 5,
56
- paddingRight: 5
55
+ shouldForwardProp: (prop) => prop !== 'calculatedWidth'
56
+ })<{
57
+ calculatedWidth?: string;
58
+ }>(({ calculatedWidth }) => ({
59
+ width: calculatedWidth,
60
+ paddingLeft: 4,
61
+ paddingRight: 4
57
62
  }));
58
63
 
59
64
  export const StyledGroupTableRow = styled(TableRow, {
@@ -18,7 +18,7 @@
18
18
  import InputAdornment from '@mui/material/InputAdornment';
19
19
  import MuiTextField from './MuiTextField';
20
20
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
21
- import { useRendererStylingStore } from '../../../stores';
21
+ import { useRendererConfigStore } from '../../../stores';
22
22
  import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
23
23
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
24
24
  import type { RenderingExtensions } from '../../../hooks/useRenderingExtensions';
@@ -33,7 +33,6 @@ interface TextFieldProps {
33
33
  calcExpUpdated: boolean;
34
34
  onInputChange: (value: string) => void;
35
35
  onRepopulateSync: (newQrItem: QuestionnaireResponseItem | null) => unknown;
36
- onBlur: () => void;
37
36
  }
38
37
 
39
38
  function TextField(props: TextFieldProps) {
@@ -45,13 +44,12 @@ function TextField(props: TextFieldProps) {
45
44
  readOnly,
46
45
  calcExpUpdated,
47
46
  onInputChange,
48
- onRepopulateSync,
49
- onBlur
47
+ onRepopulateSync
50
48
  } = props;
51
49
 
52
50
  const { displayPrompt, displayUnit, entryFormat, isRepopulatable } = renderingExtensions;
53
51
 
54
- const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
52
+ const readOnlyVisualStyle = useRendererConfigStore.use.readOnlyVisualStyle();
55
53
 
56
54
  return (
57
55
  <MuiTextField
@@ -59,7 +57,6 @@ function TextField(props: TextFieldProps) {
59
57
  value={input}
60
58
  error={!!feedback}
61
59
  onChange={(event) => onInputChange(event.target.value)}
62
- onBlur={onBlur}
63
60
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
64
61
  placeholder={entryFormat || displayPrompt}
65
62
  fullWidth
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React, { useCallback, useState } from 'react';
18
+ import { useCallback, useState } from 'react';
19
19
  import type { BaseItemProps } from '../../../interfaces/renderProps.interface';
20
20
  import useValidationFeedback from '../../../hooks/useValidationFeedback';
21
21
  import debounce from 'lodash.debounce';
@@ -23,12 +23,10 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
23
23
  import { DEBOUNCE_DURATION } from '../../../utils/debounce';
24
24
  import { FullWidthFormComponentBox } from '../../Box.styles';
25
25
  import TextField from './TextField';
26
- import useStringCalculatedExpression from '../../../hooks/useStringCalculatedExpression';
27
26
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
28
27
  import useReadOnly from '../../../hooks/useReadOnly';
29
28
  import { useQuestionnaireStore } from '../../../stores';
30
29
  import ItemLabel from '../ItemParts/ItemLabel';
31
- import useShowFeedback from '../../../hooks/useShowFeedback';
32
30
  import { readStringValue } from '../../../utils/readValues';
33
31
  import type { QuestionnaireResponseItem } from 'fhir/r4';
34
32
  import { sanitizeInput } from '../../../utils/inputSanitization';
@@ -37,11 +35,11 @@ function TextItem(props: BaseItemProps) {
37
35
  const {
38
36
  qItem,
39
37
  qrItem,
40
- itemPath,
41
38
  isRepeated,
42
39
  renderingExtensions,
43
40
  parentIsReadOnly,
44
41
  feedbackFromParent,
42
+ calcExpUpdated,
45
43
  onQrItemChange
46
44
  } = props;
47
45
 
@@ -58,64 +56,28 @@ function TextItem(props: BaseItemProps) {
58
56
  // Perform validation checks
59
57
  const feedback = useValidationFeedback(qItem, feedbackFromParent);
60
58
 
61
- // Provides a way to hide the feedback when the user is typing
62
- const { showFeedback, setShowFeedback, hasBlurred, setHasBlurred } = useShowFeedback();
63
-
64
- // Process calculated expressions
65
- const { calcExpUpdated } = useStringCalculatedExpression({
66
- qItem: qItem,
67
- inputValue: input,
68
- onChangeByCalcExpressionString: (newValueString: string) => {
69
- setInput(newValueString);
70
- onQrItemChange(
71
- {
72
- ...createEmptyQrItem(qItem, answerKey),
73
- answer: [{ id: answerKey, valueString: sanitizeInput(newValueString) }]
74
- },
75
- itemPath
76
- );
77
- },
78
- onChangeByCalcExpressionNull: () => {
79
- setInput('');
80
- onQrItemChange(createEmptyQrItem(qItem, answerKey), itemPath);
81
- }
82
- });
83
-
84
59
  // Event handlers
85
60
  function handleInputChange(newInput: string) {
86
61
  setInput(newInput);
87
62
 
88
- // Only suppress feedback once (before first blur)
89
- if (!hasBlurred) {
90
- setShowFeedback(false);
91
- }
92
-
93
63
  updateQrItemWithDebounce(newInput);
94
64
  }
95
65
 
96
- function handleBlur() {
97
- setShowFeedback(true);
98
- setHasBlurred(true); // From now on, feedback should stay visible
99
- }
100
-
101
66
  function handleRepopulateSync(newQrItem: QuestionnaireResponseItem | null) {
102
67
  if (newQrItem && newQrItem?.answer) {
103
68
  const { valueString: newValueString, initialInput: newInput } = readStringValue(newQrItem);
104
69
 
105
70
  setInput(newInput);
106
- onQrItemChange(
107
- {
108
- ...createEmptyQrItem(qItem, answerKey),
109
- answer: [{ id: answerKey, valueString: sanitizeInput(newValueString) }]
110
- },
111
- itemPath
112
- );
71
+ onQrItemChange({
72
+ ...createEmptyQrItem(qItem, answerKey),
73
+ answer: [{ id: answerKey, valueString: sanitizeInput(newValueString) }]
74
+ });
113
75
  return;
114
76
  }
115
77
 
116
78
  // At this point newQrItem is null, so create an QRItem to replace it
117
79
  setInput('');
118
- onQrItemChange(createEmptyQrItem(qItem, answerKey), itemPath);
80
+ onQrItemChange(createEmptyQrItem(qItem, answerKey));
119
81
  }
120
82
 
121
83
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -139,13 +101,12 @@ function TextItem(props: BaseItemProps) {
139
101
  <TextField
140
102
  qItem={qItem}
141
103
  input={input}
142
- feedback={showFeedback ? feedback : ''}
104
+ feedback={feedback ?? ''}
143
105
  renderingExtensions={renderingExtensions}
144
106
  readOnly={readOnly}
145
107
  calcExpUpdated={calcExpUpdated}
146
108
  onInputChange={handleInputChange}
147
109
  onRepopulateSync={handleRepopulateSync}
148
- onBlur={handleBlur}
149
110
  />
150
111
  );
151
112
  }
@@ -154,6 +115,7 @@ function TextItem(props: BaseItemProps) {
154
115
  <FullWidthFormComponentBox
155
116
  data-test="q-item-text-box"
156
117
  data-linkid={qItem.linkId}
118
+ data-label={qItem.text}
157
119
  onClick={() => onFocusLinkId(qItem.linkId)}>
158
120
  <ItemFieldGrid
159
121
  qItem={qItem}
@@ -163,16 +125,15 @@ function TextItem(props: BaseItemProps) {
163
125
  <TextField
164
126
  qItem={qItem}
165
127
  input={input}
166
- feedback={showFeedback ? feedback : ''}
128
+ feedback={feedback ?? ''}
167
129
  renderingExtensions={renderingExtensions}
168
130
  readOnly={readOnly}
169
131
  calcExpUpdated={calcExpUpdated}
170
132
  onInputChange={handleInputChange}
171
133
  onRepopulateSync={handleRepopulateSync}
172
- onBlur={handleBlur}
173
134
  />
174
135
  }
175
- feedback={showFeedback ? feedback : undefined}
136
+ feedback={feedback ?? undefined}
176
137
  />
177
138
  </FullWidthFormComponentBox>
178
139
  );
@@ -24,7 +24,7 @@ import TextField from '@mui/material/TextField';
24
24
  export const StandardTextField = styled(TextField, {
25
25
  shouldForwardProp: (prop) => prop !== 'isTabled' && prop !== 'textFieldWidth'
26
26
  })<{ isTabled: boolean; textFieldWidth: number }>(({ isTabled, textFieldWidth }) => ({
27
- // Set textFieldWidth (defaults to 320 in rendererStylingStore) as the standard width for a field
27
+ // Set textFieldWidth (defaults to 320 in rendererConfigStore) as the standard width for a field
28
28
  // Set a theoretical infinite maxWidth (3000) if field is within a table to fill the table row
29
29
  maxWidth: !isTabled ? textFieldWidth : 3000,
30
30
  minWidth: 160,
@@ -16,13 +16,13 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/renderProps.interface';
19
+ import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
20
20
  import type { Dayjs } from 'dayjs';
21
21
  import { LocalizationProvider, TimePicker as MuiTimePicker } from '@mui/x-date-pickers';
22
22
  import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
23
- import { useRendererStylingStore } from '../../../stores';
23
+ import { useRendererConfigStore } from '../../../stores';
24
24
 
25
- interface TimeFieldProps extends PropsWithIsTabledRequiredAttribute {
25
+ interface TimeFieldProps extends PropsWithIsTabledAttribute {
26
26
  linkId: string;
27
27
  itemType: string;
28
28
  value: Dayjs | null;
@@ -36,7 +36,7 @@ function TimeField(props: TimeFieldProps) {
36
36
  const { linkId, itemType, value, displayPrompt, entryFormat, readOnly, isTabled, onTimeChange } =
37
37
  props;
38
38
 
39
- const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
39
+ const textFieldWidth = useRendererConfigStore.use.textFieldWidth();
40
40
 
41
41
  return (
42
42
  <LocalizationProvider dateAdapter={AdapterDayjs}>
@@ -53,6 +53,7 @@ function TimeField(props: TimeFieldProps) {
53
53
  textField: {
54
54
  fullWidth: true
55
55
  }
56
+ // EndAdornment not available here
56
57
  }}
57
58
  onChange={onTimeChange}
58
59
  />
@@ -49,13 +49,16 @@ function TimeItem(props: BaseItemProps) {
49
49
  if (qrItem?.answer && qrItem?.answer[0].valueTime) {
50
50
  timeString = qrItem.answer[0].valueTime;
51
51
  }
52
- const timeDayJs = timeString ? dayjs(timeString) : null;
52
+ const timeDayJs = timeString ? dayjs(timeString, 'HH:mm:ss') : null;
53
53
 
54
54
  // Event handlers
55
55
  function handleTimeChange(newValue: Dayjs | null) {
56
56
  const emptyQrItem = createEmptyQrItem(qItem, answerKey);
57
57
  if (newValue) {
58
- onQrItemChange({ ...emptyQrItem, answer: [{ id: answerKey, valueTime: newValue.format() }] });
58
+ onQrItemChange({
59
+ ...emptyQrItem,
60
+ answer: [{ id: answerKey, valueTime: newValue.format('HH:mm:ss') }]
61
+ });
59
62
  } else {
60
63
  onQrItemChange(emptyQrItem);
61
64
  }
@@ -80,6 +83,7 @@ function TimeItem(props: BaseItemProps) {
80
83
  <FullWidthFormComponentBox
81
84
  data-test="q-item-time-box"
82
85
  data-linkid={qItem.linkId}
86
+ data-label={qItem.text}
83
87
  onClick={() => onFocusLinkId(qItem.linkId)}>
84
88
  <ItemFieldGrid
85
89
  qItem={qItem}
@@ -16,14 +16,14 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/renderProps.interface';
19
+ import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
20
20
  import InputAdornment from '@mui/material/InputAdornment';
21
21
  import { StandardTextField } from '../Textfield.styles';
22
- import { useRendererStylingStore } from '../../../stores';
22
+ import { useRendererConfigStore } from '../../../stores';
23
23
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
24
24
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
25
25
 
26
- interface UrlFieldProps extends PropsWithIsTabledRequiredAttribute {
26
+ interface UrlFieldProps extends PropsWithIsTabledAttribute {
27
27
  linkId: string;
28
28
  itemType: string;
29
29
  input: string;
@@ -33,7 +33,6 @@ interface UrlFieldProps extends PropsWithIsTabledRequiredAttribute {
33
33
  entryFormat: string;
34
34
  readOnly: boolean;
35
35
  onInputChange: (value: string) => void;
36
- onBlur: () => void;
37
36
  }
38
37
 
39
38
  function UrlField(props: UrlFieldProps) {
@@ -47,12 +46,11 @@ function UrlField(props: UrlFieldProps) {
47
46
  entryFormat,
48
47
  readOnly,
49
48
  isTabled,
50
- onInputChange,
51
- onBlur
49
+ onInputChange
52
50
  } = props;
53
51
 
54
- const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
55
- const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
52
+ const readOnlyVisualStyle = useRendererConfigStore.use.readOnlyVisualStyle();
53
+ const textFieldWidth = useRendererConfigStore.use.textFieldWidth();
56
54
 
57
55
  return (
58
56
  <StandardTextField
@@ -64,7 +62,6 @@ function UrlField(props: UrlFieldProps) {
64
62
  value={input}
65
63
  error={!!feedback}
66
64
  onChange={(event) => onInputChange(event.target.value)}
67
- onBlur={onBlur}
68
65
  placeholder={entryFormat || displayPrompt}
69
66
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
70
67
  size="small"
@@ -27,7 +27,6 @@ import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
27
27
  import useReadOnly from '../../../hooks/useReadOnly';
28
28
  import { useQuestionnaireStore } from '../../../stores';
29
29
  import ItemLabel from '../ItemParts/ItemLabel';
30
- import useShowFeedback from '../../../hooks/useShowFeedback';
31
30
  import { sanitizeInput } from '../../../utils/inputSanitization';
32
31
 
33
32
  function UrlItem(props: BaseItemProps) {
@@ -60,26 +59,13 @@ function UrlItem(props: BaseItemProps) {
60
59
  // Perform validation checks
61
60
  const feedback = useValidationFeedback(qItem, feedbackFromParent);
62
61
 
63
- // Provides a way to hide the feedback when the user is typing
64
- const { showFeedback, setShowFeedback, hasBlurred, setHasBlurred } = useShowFeedback();
65
-
66
62
  // Event handlers
67
63
  function handleChange(newInput: string) {
68
64
  setInput(newInput);
69
65
 
70
- // Only suppress feedback once (before first blur)
71
- if (!hasBlurred) {
72
- setShowFeedback(false);
73
- }
74
-
75
66
  updateQrItemWithDebounce(newInput);
76
67
  }
77
68
 
78
- function handleBlur() {
79
- setShowFeedback(true);
80
- setHasBlurred(true); // From now on, feedback should stay visible
81
- }
82
-
83
69
  // eslint-disable-next-line react-hooks/exhaustive-deps
84
70
  const updateQrItemWithDebounce = useCallback(
85
71
  debounce((input: string) => {
@@ -102,13 +88,12 @@ function UrlItem(props: BaseItemProps) {
102
88
  linkId={qItem.linkId}
103
89
  itemType={qItem.type}
104
90
  input={input}
105
- feedback={showFeedback ? feedback : ''}
91
+ feedback={feedback ?? ''}
106
92
  displayPrompt={displayPrompt}
107
93
  displayUnit={displayUnit}
108
94
  entryFormat={entryFormat}
109
95
  readOnly={readOnly}
110
96
  onInputChange={handleChange}
111
- onBlur={handleBlur}
112
97
  isTabled={isTabled}
113
98
  />
114
99
  );
@@ -117,6 +102,7 @@ function UrlItem(props: BaseItemProps) {
117
102
  <FullWidthFormComponentBox
118
103
  data-test="q-item-url-box"
119
104
  data-linkid={qItem.linkId}
105
+ data-label={qItem.text}
120
106
  onClick={() => onFocusLinkId(qItem.linkId)}>
121
107
  <ItemFieldGrid
122
108
  qItem={qItem}
@@ -127,17 +113,16 @@ function UrlItem(props: BaseItemProps) {
127
113
  linkId={qItem.linkId}
128
114
  itemType={qItem.type}
129
115
  input={input}
130
- feedback={showFeedback ? feedback : ''}
116
+ feedback={feedback ?? ''}
131
117
  displayPrompt={displayPrompt}
132
118
  displayUnit={displayUnit}
133
119
  entryFormat={entryFormat}
134
120
  readOnly={readOnly}
135
121
  onInputChange={handleChange}
136
- onBlur={handleBlur}
137
122
  isTabled={isTabled}
138
123
  />
139
124
  }
140
- feedback={showFeedback ? feedback : undefined}
125
+ feedback={feedback ?? undefined}
141
126
  />
142
127
  </FullWidthFormComponentBox>
143
128
  );
@@ -27,8 +27,6 @@ import type { QrRepeatGroup } from '../../interfaces/repeatGroup.interface';
27
27
  import FormBodyPaginated from './FormBodyPaginated';
28
28
  import { Container } from '@mui/material';
29
29
  import { useFormUpdateQueueStore } from '../../stores/formUpdateQueueStore';
30
- import type { ItemPath } from '../../interfaces/itemPath.interface';
31
- import { createSingleItemPath } from '../../utils/itemPath';
32
30
  import dayjs from 'dayjs';
33
31
  import localizedFormat from 'dayjs/plugin/localizedFormat';
34
32
  import customParseFormat from 'dayjs/plugin/customParseFormat';
@@ -58,35 +56,27 @@ function BaseRenderer() {
58
56
 
59
57
  const responseKey = useQuestionnaireResponseStore.use.key();
60
58
  const updatableResponse = useQuestionnaireResponseStore.use.updatableResponse();
61
- const replaceLatestFormUpdate = useFormUpdateQueueStore.use.replaceLatestFormUpdate();
59
+ const enqueueFormUpdate = useFormUpdateQueueStore.use.enqueueFormUpdate();
62
60
 
63
61
  const qItemsIndexMap = useMemo(() => mapQItemsIndex(sourceQuestionnaire), [sourceQuestionnaire]);
64
62
 
65
- function handleTopLevelQRItemSingleChange(
66
- newTopLevelQRItem: QuestionnaireResponseItem,
67
- targetItemPath?: ItemPath
68
- ) {
63
+ function handleTopLevelQRItemSingleChange(newTopLevelQRItem: QuestionnaireResponseItem) {
69
64
  const updatedResponse: QuestionnaireResponse = structuredClone(updatableResponse);
70
65
 
71
66
  updateQrItemsInGroup(newTopLevelQRItem, null, updatedResponse, qItemsIndexMap);
72
67
 
73
- replaceLatestFormUpdate({
74
- questionnaireResponse: updatedResponse,
75
- targetItemPath: targetItemPath
68
+ enqueueFormUpdate({
69
+ questionnaireResponse: updatedResponse
76
70
  });
77
71
  }
78
72
 
79
- function handleTopLevelQRItemMultipleChange(
80
- newTopLevelQRItems: QrRepeatGroup,
81
- targetItemPath?: ItemPath
82
- ) {
73
+ function handleTopLevelQRItemMultipleChange(newTopLevelQRItems: QrRepeatGroup) {
83
74
  const updatedResponse: QuestionnaireResponse = structuredClone(updatableResponse);
84
75
 
85
76
  updateQrItemsInGroup(null, newTopLevelQRItems, updatedResponse, qItemsIndexMap);
86
77
 
87
- replaceLatestFormUpdate({
88
- questionnaireResponse: updatedResponse,
89
- targetItemPath: targetItemPath
78
+ enqueueFormUpdate({
79
+ questionnaireResponse: updatedResponse
90
80
  });
91
81
  }
92
82
 
@@ -94,7 +84,11 @@ function BaseRenderer() {
94
84
  const topLevelQRItems = structuredClone(updatableResponse.item) ?? [];
95
85
 
96
86
  if (!topLevelQItems) {
97
- return <>Questionnaire does not have any items</>;
87
+ return (
88
+ <>
89
+ Questionnaire does not have any items or something has gone wrong. Try rebuilding the form.
90
+ </>
91
+ );
98
92
  }
99
93
 
100
94
  // If an item has multiple answers, it is a repeat group
@@ -108,10 +102,9 @@ function BaseRenderer() {
108
102
  <FormBodyPaginated
109
103
  topLevelQItems={topLevelQItems}
110
104
  topLevelQRItems={topLevelQRItemsByIndex}
111
- itemPath={[]}
112
105
  parentIsReadOnly={readOnly}
113
- onQrItemChange={(newTopLevelQRItem, targetItemPath) =>
114
- handleTopLevelQRItemSingleChange(newTopLevelQRItem, targetItemPath)
106
+ onQrItemChange={(newTopLevelQRItem) =>
107
+ handleTopLevelQRItemSingleChange(newTopLevelQRItem)
115
108
  }
116
109
  />
117
110
  </Container>
@@ -132,12 +125,11 @@ function BaseRenderer() {
132
125
  topLevelQRItemOrItems={qrItemOrItems ?? null}
133
126
  parentIsReadOnly={readOnly}
134
127
  wholeFormIsPaginated={wholeFormIsPaginated}
135
- itemPath={createSingleItemPath(qItem.linkId)}
136
- onQrItemChange={(newTopLevelQRItem, targetItemPath) =>
137
- handleTopLevelQRItemSingleChange(newTopLevelQRItem, targetItemPath)
128
+ onQrItemChange={(newTopLevelQRItem) =>
129
+ handleTopLevelQRItemSingleChange(newTopLevelQRItem)
138
130
  }
139
- onQrRepeatGroupChange={(newTopLevelQRItems, targetItemPath) =>
140
- handleTopLevelQRItemMultipleChange(newTopLevelQRItems, targetItemPath)
131
+ onQrRepeatGroupChange={(newTopLevelQRItems) =>
132
+ handleTopLevelQRItemMultipleChange(newTopLevelQRItems)
141
133
  }
142
134
  />
143
135
  );
@@ -21,25 +21,21 @@ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
22
22
  import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
23
23
  import type {
24
- PropsWithItemPathAttribute,
25
24
  PropsWithParentIsReadOnlyAttribute,
26
25
  PropsWithQrItemChangeHandler
27
26
  } from '../../interfaces/renderProps.interface';
28
27
  import { useQuestionnaireStore } from '../../stores';
29
28
  import FormBodySingleCollapsibleWrapper from './FormBodySingleCollapsibleWrapper';
30
- import { extendItemPath } from '../../utils/itemPath';
31
- import type { ItemPath } from '../../interfaces/itemPath.interface';
32
29
 
33
30
  interface FormBodyCollapsibleProps
34
31
  extends PropsWithQrItemChangeHandler,
35
- PropsWithItemPathAttribute,
36
32
  PropsWithParentIsReadOnlyAttribute {
37
33
  topLevelQItem: QuestionnaireItem;
38
34
  topLevelQRItem: QuestionnaireResponseItem | null;
39
35
  }
40
36
 
41
37
  function FormBodyCollapsibleWrapper(props: FormBodyCollapsibleProps) {
42
- const { topLevelQItem, topLevelQRItem, itemPath, parentIsReadOnly, onQrItemChange } = props;
38
+ const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
43
39
 
44
40
  const tabs = useQuestionnaireStore.use.tabs();
45
41
  const currentTab = useQuestionnaireStore.use.currentTabIndex();
@@ -55,9 +51,9 @@ function FormBodyCollapsibleWrapper(props: FormBodyCollapsibleProps) {
55
51
  const qItems = topLevelQItem.item;
56
52
  const qrItems = nonNullTopLevelQRItem.item;
57
53
 
58
- function handleQrGroupChange(qrItem: QuestionnaireResponseItem, targetItemPath?: ItemPath) {
54
+ function handleQrGroupChange(qrItem: QuestionnaireResponseItem) {
59
55
  updateQrItemsInGroup(qrItem, null, nonNullTopLevelQRItem, indexMap);
60
- onQrItemChange(nonNullTopLevelQRItem, targetItemPath);
56
+ onQrItemChange(nonNullTopLevelQRItem);
61
57
  }
62
58
 
63
59
  if (!qItems || !qrItems) {
@@ -94,7 +90,6 @@ function FormBodyCollapsibleWrapper(props: FormBodyCollapsibleProps) {
94
90
  qrItem={qrItem ?? null}
95
91
  index={i}
96
92
  selectedIndex={currentTab}
97
- itemPath={extendItemPath(itemPath, qItem.linkId)}
98
93
  parentIsReadOnly={parentIsReadOnly}
99
94
  onToggleExpand={handleToggleExpand}
100
95
  onQrItemChange={handleQrGroupChange}
@@ -5,19 +5,15 @@ import TabContext from '@mui/lab/TabContext';
5
5
  import TabPanel from '@mui/lab/TabPanel';
6
6
  import GroupItem from '../FormComponents/GroupItem/GroupItem';
7
7
  import type {
8
- PropsWithItemPathAttribute,
9
8
  PropsWithParentIsReadOnlyAttribute,
10
9
  PropsWithQrItemChangeHandler
11
10
  } from '../../interfaces/renderProps.interface';
12
11
  import { useQuestionnaireStore } from '../../stores';
13
12
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
14
13
  import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
15
- import { extendItemPath } from '../../utils/itemPath';
16
- import type { ItemPath } from '../../interfaces/itemPath.interface';
17
14
 
18
15
  interface FormBodyPageContainerProps
19
16
  extends PropsWithQrItemChangeHandler,
20
- PropsWithItemPathAttribute,
21
17
  PropsWithParentIsReadOnlyAttribute {
22
18
  topLevelQItem: QuestionnaireItem;
23
19
  topLevelQRItem: QuestionnaireResponseItem | null;
@@ -31,7 +27,7 @@ interface FormBodyPageContainerProps
31
27
  * Note: This will only be used if wholeFormIsPaginated=false
32
28
  */
33
29
  function FormBodyPageContainer(props: FormBodyPageContainerProps) {
34
- const { topLevelQItem, topLevelQRItem, itemPath, parentIsReadOnly, onQrItemChange } = props;
30
+ const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
35
31
 
36
32
  const pages = useQuestionnaireStore.use.pages();
37
33
  const currentPage = useQuestionnaireStore.use.currentPageIndex();
@@ -46,9 +42,9 @@ function FormBodyPageContainer(props: FormBodyPageContainerProps) {
46
42
  const qItems = topLevelQItem.item;
47
43
  const qrItems = nonNullTopLevelQRItem.item;
48
44
 
49
- function handleQrGroupChange(qrItem: QuestionnaireResponseItem, targetItemPath?: ItemPath) {
45
+ function handleQrGroupChange(qrItem: QuestionnaireResponseItem) {
50
46
  updateQrItemsInGroup(qrItem, null, nonNullTopLevelQRItem, indexMap);
51
- onQrItemChange(nonNullTopLevelQRItem, targetItemPath);
47
+ onQrItemChange(nonNullTopLevelQRItem);
52
48
  }
53
49
 
54
50
  if (!qItems || !qrItems) {
@@ -85,7 +81,6 @@ function FormBodyPageContainer(props: FormBodyPageContainerProps) {
85
81
  <GroupItem
86
82
  qItem={qItem}
87
83
  qrItem={qrItem ?? null}
88
- itemPath={extendItemPath(itemPath, qItem.linkId)}
89
84
  isRepeated={isRepeated}
90
85
  groupCardElevation={1}
91
86
  pageIsMarkedAsComplete={pageIsMarkedAsComplete}