@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
@@ -15,47 +15,28 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React, { useState } from 'react';
18
+ import React, { useCallback, useState } from 'react';
19
19
 
20
- import type { Coding, QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
20
+ import type { Coding } from 'fhir/r4';
21
21
 
22
- import { createEmptyQrItem } from '../../../utils/qrItem';
23
- import { FullWidthFormComponentBox } from '../../Box.styles';
22
+ import type { AutocompleteChangeReason } from '@mui/material';
23
+ import type { AlertColor } from '@mui/material/Alert';
24
24
  import useDebounce from '../../../hooks/useDebounce';
25
+ import useReadOnly from '../../../hooks/useReadOnly';
25
26
  import useTerminologyServerQuery from '../../../hooks/useTerminologyServerQuery';
26
- import type {
27
- PropsWithFeedbackFromParentAttribute,
28
- PropsWithIsRepeatedAttribute,
29
- PropsWithIsTabledRequiredAttribute,
30
- PropsWithItemPathAttribute,
31
- PropsWithParentIsReadOnlyAttribute,
32
- PropsWithQrItemChangeHandler,
33
- PropsWithRenderingExtensionsAttribute
34
- } from '../../../interfaces/renderProps.interface';
35
- import { AUTOCOMPLETE_DEBOUNCE_DURATION } from '../../../utils/debounce';
27
+ import debounce from 'lodash.debounce';
28
+ import { AUTOCOMPLETE_DEBOUNCE_DURATION, DEBOUNCE_DURATION } from '../../../utils/debounce';
36
29
  import OpenChoiceAutocompleteField from './OpenChoiceAutocompleteField';
37
- import useReadOnly from '../../../hooks/useReadOnly';
38
30
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
39
- import { useQuestionnaireStore } from '../../../stores';
40
- import useValidationFeedback from '../../../hooks/useValidationFeedback';
41
- import type { AlertColor } from '@mui/material/Alert';
42
31
  import ItemLabel from '../ItemParts/ItemLabel';
43
- import type { AutocompleteChangeReason } from '@mui/material';
44
32
  import { sanitizeInput } from '../../../utils/inputSanitization';
33
+ import { useValidationFeedback } from '../../../hooks';
34
+ import { createEmptyQrItem } from '../../../utils';
35
+ import type { BaseItemProps } from '../../../interfaces/renderProps.interface';
36
+ import { useQuestionnaireStore } from '../../../stores';
37
+ import { FullWidthFormComponentBox } from '../../Box.styles';
45
38
 
46
- interface OpenChoiceAutocompleteItemProps
47
- extends PropsWithQrItemChangeHandler,
48
- PropsWithItemPathAttribute,
49
- PropsWithIsRepeatedAttribute,
50
- PropsWithIsTabledRequiredAttribute,
51
- PropsWithRenderingExtensionsAttribute,
52
- PropsWithParentIsReadOnlyAttribute,
53
- PropsWithFeedbackFromParentAttribute {
54
- qItem: QuestionnaireItem;
55
- qrItem: QuestionnaireResponseItem | null;
56
- }
57
-
58
- function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
39
+ function OpenChoiceAutocompleteItem(props: BaseItemProps) {
59
40
  const {
60
41
  qItem,
61
42
  qrItem,
@@ -66,6 +47,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
66
47
  parentIsReadOnly,
67
48
  onQrItemChange
68
49
  } = props;
50
+ // TODO no calcExpUpdated
69
51
 
70
52
  const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
71
53
 
@@ -90,10 +72,6 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
90
72
 
91
73
  const readOnly = useReadOnly(qItem, parentIsReadOnly);
92
74
 
93
- // TODO Process calculated expressions
94
- // This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
95
- // This will be done after the choice/open-choice refactoring
96
-
97
75
  // Perform validation checks
98
76
  const validationFeedback = useValidationFeedback(qItem, feedbackFromParent);
99
77
 
@@ -110,6 +88,22 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
110
88
  feedback = { message: validationFeedback, color: 'error' };
111
89
  }
112
90
 
91
+ // eslint-disable-next-line react-hooks/exhaustive-deps
92
+ const updateQrItemWithDebounce = useCallback(
93
+ debounce((input: string) => {
94
+ const emptyQrItem = createEmptyQrItem(qItem, answerKey);
95
+ if (input !== '') {
96
+ onQrItemChange({
97
+ ...emptyQrItem,
98
+ answer: [{ id: answerKey, valueString: sanitizeInput(input) }]
99
+ });
100
+ } else {
101
+ onQrItemChange(emptyQrItem);
102
+ }
103
+ }, DEBOUNCE_DURATION),
104
+ [onQrItemChange, qItem]
105
+ ); // Dependencies are tested, debounce is causing eslint to not recognise dependencies
106
+
113
107
  if (!qItem.answerValueSet) {
114
108
  return null;
115
109
  }
@@ -120,14 +114,14 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
120
114
  newValue: Coding | string | null,
121
115
  reason: AutocompleteChangeReason | string
122
116
  ) {
123
- //if the reason is reset, then we don't change the value, otherwise you will end up with looped setState calls
117
+ // If the reason is reset, then don't change value. Otherwise you will end up with looped setState calls
124
118
  if (reason === 'reset') {
125
119
  return;
126
120
  }
127
- //if the text input is changed, and only if hte input is a string the set the state.
121
+
122
+ // Set state if text input is changed and input is string
128
123
  if (newValue && typeof newValue === 'string' && reason === 'input') {
129
124
  setInput(newValue);
130
- // return;
131
125
  }
132
126
 
133
127
  if (newValue === null) {
@@ -137,7 +131,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
137
131
 
138
132
  if (typeof newValue === 'string') {
139
133
  if (newValue !== '') {
140
- // Check if the newValue in in the options, first check options.display, then check options.code
134
+ // Check if the newValue is in the options, first check options.display, then check options.code
141
135
  const foundOption = options.find((option) => {
142
136
  if (option.display) {
143
137
  return option.display === newValue;
@@ -146,6 +140,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
146
140
  });
147
141
  if (foundOption) {
148
142
  newValue = foundOption;
143
+ // For option selection, update immediately (no debounce)
149
144
  onQrItemChange({
150
145
  ...qrOpenChoice,
151
146
  answer: [{ id: answerKey, valueCoding: newValue }]
@@ -153,15 +148,15 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
153
148
  }
154
149
  // if newValue is not in the options list, treat it as a string
155
150
  else {
156
- onQrItemChange({
157
- ...createEmptyQrItem(qItem, answerKey),
158
- answer: [{ id: answerKey, valueString: sanitizeInput(newValue) }]
159
- });
151
+ // For string input, use debounced update
152
+ updateQrItemWithDebounce(newValue);
160
153
  }
161
154
  } else {
155
+ // For empty string, update immediately
162
156
  onQrItemChange(createEmptyQrItem(qItem, answerKey));
163
157
  }
164
158
  } else {
159
+ // For coding selection, update immediately (no debounce)
165
160
  onQrItemChange({
166
161
  ...createEmptyQrItem(qItem, answerKey),
167
162
  answer: [{ id: answerKey, valueCoding: newValue }]
@@ -190,6 +185,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
190
185
  <FullWidthFormComponentBox
191
186
  data-test="q-item-open-choice-autocomplete-box"
192
187
  data-linkid={qItem.linkId}
188
+ data-label={qItem.text}
193
189
  onClick={() => onFocusLinkId(qItem.linkId)}>
194
190
  <ItemFieldGrid
195
191
  qItem={qItem}
@@ -15,14 +15,13 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React from 'react';
19
- import CheckboxSingleWithOpenLabel from '../ItemParts/CheckboxSingleWithOpenLabel';
20
18
  import type {
21
19
  QuestionnaireItem,
22
20
  QuestionnaireItemAnswerOption,
23
21
  QuestionnaireResponseItemAnswer
24
22
  } from 'fhir/r4';
25
23
  import CheckboxFormGroup from '../ItemParts/CheckboxFormGroup';
24
+ import CheckboxSingleWithOpenLabel from '../ItemParts/CheckboxSingleWithOpenLabel';
26
25
 
27
26
  interface OpenChoiceCheckboxAnswerOptionFieldsProps {
28
27
  qItem: QuestionnaireItem;
@@ -15,55 +15,35 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React, { useCallback } from 'react';
19
- import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
20
- import { createEmptyQrItem } from '../../../utils/qrItem';
18
+ import debounce from 'lodash.debounce';
19
+ import { useCallback } from 'react';
20
+ import useAnswerOptionsToggleExpressions from '../../../hooks/useAnswerOptionsToggleExpressions';
21
+ import useOpenLabel from '../../../hooks/useOpenLabel';
22
+ import useReadOnly from '../../../hooks/useReadOnly';
23
+ import useValidationFeedback from '../../../hooks/useValidationFeedback';
24
+ import type { BaseItemProps } from '../../../interfaces/renderProps.interface';
25
+ import { useQuestionnaireStore } from '../../../stores';
26
+ import { updateChoiceCheckboxAnswers } from '../../../utils/choice';
27
+ import { DEBOUNCE_DURATION } from '../../../utils/debounce';
21
28
  import { getOpenLabelText } from '../../../utils/extensions';
22
29
  import { updateOpenLabelAnswer } from '../../../utils/openChoice';
30
+ import { createEmptyQrItem } from '../../../utils/qrItem';
23
31
  import { FullWidthFormComponentBox } from '../../Box.styles';
24
- import debounce from 'lodash.debounce';
25
- import type {
26
- PropsWithFeedbackFromParentAttribute,
27
- PropsWithIsRepeatedAttribute,
28
- PropsWithIsTabledAttribute,
29
- PropsWithItemPathAttribute,
30
- PropsWithParentIsReadOnlyAttribute,
31
- PropsWithQrItemChangeHandler,
32
- PropsWithRenderingExtensionsAttribute
33
- } from '../../../interfaces/renderProps.interface';
34
- import { DEBOUNCE_DURATION } from '../../../utils/debounce';
35
32
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
36
- import useReadOnly from '../../../hooks/useReadOnly';
37
33
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
38
- import { useQuestionnaireStore } from '../../../stores';
39
- import useOpenLabel from '../../../hooks/useOpenLabel';
40
- import { updateChoiceCheckboxAnswers } from '../../../utils/choice';
41
- import OpenChoiceCheckboxAnswerOptionFields from './OpenChoiceCheckboxAnswerOptionFields';
42
- import useValidationFeedback from '../../../hooks/useValidationFeedback';
43
34
  import ItemLabel from '../ItemParts/ItemLabel';
44
- import useAnswerOptionsToggleExpressions from '../../../hooks/useAnswerOptionsToggleExpressions';
45
-
46
- interface OpenChoiceCheckboxAnswerOptionItemProps
47
- extends PropsWithQrItemChangeHandler,
48
- PropsWithItemPathAttribute,
49
- PropsWithIsRepeatedAttribute,
50
- PropsWithParentIsReadOnlyAttribute,
51
- PropsWithRenderingExtensionsAttribute,
52
- PropsWithFeedbackFromParentAttribute,
53
- PropsWithIsTabledAttribute {
54
- qItem: QuestionnaireItem;
55
- qrItem: QuestionnaireResponseItem | null;
56
- }
35
+ import OpenChoiceCheckboxAnswerOptionFields from './OpenChoiceCheckboxAnswerOptionFields';
57
36
 
58
- function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptionItemProps) {
37
+ function OpenChoiceCheckboxAnswerOptionItem(props: BaseItemProps) {
59
38
  const {
60
39
  qItem,
61
40
  qrItem,
62
41
  isRepeated,
42
+ isTabled,
63
43
  renderingExtensions,
64
44
  parentIsReadOnly,
65
45
  feedbackFromParent,
66
- isTabled,
46
+ calcExpUpdated,
67
47
  onQrItemChange
68
48
  } = props;
69
49
 
@@ -89,10 +69,6 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
89
69
  answers
90
70
  );
91
71
 
92
- // TODO Process calculated expressions
93
- // This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
94
- // This will be done after the choice/open-choice refactoring
95
-
96
72
  // Process answerOptionsToggleExpressions
97
73
  const { answerOptionsToggleExpressionsMap, answerOptionsToggleExpUpdated } =
98
74
  useAnswerOptionsToggleExpressions(qItem.linkId);
@@ -170,6 +146,7 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
170
146
  function handleClear() {
171
147
  onQrItemChange(createEmptyQrItem(qItem, answerKey));
172
148
  setOpenLabelChecked(false);
149
+ setOpenLabelValue('');
173
150
  }
174
151
 
175
152
  if (isTabled) {
@@ -184,7 +161,7 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
184
161
  openLabelChecked={openLabelChecked}
185
162
  feedback={feedback}
186
163
  readOnly={readOnly}
187
- expressionUpdated={answerOptionsToggleExpUpdated}
164
+ expressionUpdated={calcExpUpdated || answerOptionsToggleExpUpdated}
188
165
  answerOptionsToggleExpressionsMap={answerOptionsToggleExpressionsMap}
189
166
  isTabled={isTabled}
190
167
  onOptionChange={handleOptionChange}
@@ -201,6 +178,7 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
201
178
  <FullWidthFormComponentBox
202
179
  data-test="q-item-open-choice-checkbox-answer-option-box"
203
180
  data-linkid={qItem.linkId}
181
+ data-label={qItem.text}
204
182
  onClick={() => onFocusLinkId(qItem.linkId)}>
205
183
  <ItemFieldGrid
206
184
  qItem={qItem}
@@ -216,7 +194,7 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
216
194
  openLabelChecked={openLabelChecked}
217
195
  feedback={feedback}
218
196
  readOnly={readOnly}
219
- expressionUpdated={answerOptionsToggleExpUpdated}
197
+ expressionUpdated={calcExpUpdated || answerOptionsToggleExpUpdated}
220
198
  answerOptionsToggleExpressionsMap={answerOptionsToggleExpressionsMap}
221
199
  isTabled={isTabled}
222
200
  onOptionChange={handleOptionChange}
@@ -15,18 +15,17 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React from 'react';
19
- import CheckboxSingleWithOpenLabel from '../ItemParts/CheckboxSingleWithOpenLabel';
18
+ import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
19
+ import Typography from '@mui/material/Typography';
20
20
  import type {
21
21
  QuestionnaireItem,
22
22
  QuestionnaireItemAnswerOption,
23
23
  QuestionnaireResponseItemAnswer
24
24
  } from 'fhir/r4';
25
- import { StyledAlert } from '../../Alert.styles';
26
- import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
27
- import Typography from '@mui/material/Typography';
28
25
  import type { TerminologyError } from '../../../hooks/useValueSetCodings';
26
+ import { StyledAlert } from '../../Alert.styles';
29
27
  import CheckboxFormGroup from '../ItemParts/CheckboxFormGroup';
28
+ import CheckboxSingleWithOpenLabel from '../ItemParts/CheckboxSingleWithOpenLabel';
30
29
 
31
30
  interface OpenChoiceCheckboxFieldsProps {
32
31
  qItem: QuestionnaireItem;
@@ -15,56 +15,36 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React, { useCallback, useMemo } from 'react';
19
- import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
20
- import { createEmptyQrItem } from '../../../utils/qrItem';
18
+ import debounce from 'lodash.debounce';
19
+ import { useCallback, useMemo } from 'react';
20
+ import useAnswerOptionsToggleExpressions from '../../../hooks/useAnswerOptionsToggleExpressions';
21
+ import useOpenLabel from '../../../hooks/useOpenLabel';
22
+ import useReadOnly from '../../../hooks/useReadOnly';
23
+ import useValidationFeedback from '../../../hooks/useValidationFeedback';
24
+ import useValueSetCodings from '../../../hooks/useValueSetCodings';
25
+ import type { BaseItemProps } from '../../../interfaces/renderProps.interface';
26
+ import { useQuestionnaireStore } from '../../../stores';
27
+ import { convertCodingsToAnswerOptions, updateChoiceCheckboxAnswers } from '../../../utils/choice';
28
+ import { DEBOUNCE_DURATION } from '../../../utils/debounce';
21
29
  import { getOpenLabelText } from '../../../utils/extensions';
22
30
  import { updateOpenLabelAnswer } from '../../../utils/openChoice';
31
+ import { createEmptyQrItem } from '../../../utils/qrItem';
23
32
  import { FullWidthFormComponentBox } from '../../Box.styles';
24
- import debounce from 'lodash.debounce';
25
- import type {
26
- PropsWithFeedbackFromParentAttribute,
27
- PropsWithIsRepeatedAttribute,
28
- PropsWithIsTabledAttribute,
29
- PropsWithItemPathAttribute,
30
- PropsWithParentIsReadOnlyAttribute,
31
- PropsWithQrItemChangeHandler,
32
- PropsWithRenderingExtensionsAttribute
33
- } from '../../../interfaces/renderProps.interface';
34
- import { DEBOUNCE_DURATION } from '../../../utils/debounce';
35
33
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
36
- import OpenChoiceCheckboxAnswerValueSetFields from './OpenChoiceCheckboxAnswerValueSetFields';
37
- import useReadOnly from '../../../hooks/useReadOnly';
38
34
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
39
- import { useQuestionnaireStore } from '../../../stores';
40
- import useOpenLabel from '../../../hooks/useOpenLabel';
41
- import { convertCodingsToAnswerOptions, updateChoiceCheckboxAnswers } from '../../../utils/choice';
42
- import useValueSetCodings from '../../../hooks/useValueSetCodings';
43
- import useValidationFeedback from '../../../hooks/useValidationFeedback';
44
35
  import ItemLabel from '../ItemParts/ItemLabel';
45
- import useAnswerOptionsToggleExpressions from '../../../hooks/useAnswerOptionsToggleExpressions';
46
-
47
- interface OpenChoiceCheckboxAnswerValueSetItemProps
48
- extends PropsWithQrItemChangeHandler,
49
- PropsWithItemPathAttribute,
50
- PropsWithIsRepeatedAttribute,
51
- PropsWithParentIsReadOnlyAttribute,
52
- PropsWithRenderingExtensionsAttribute,
53
- PropsWithFeedbackFromParentAttribute,
54
- PropsWithIsTabledAttribute {
55
- qItem: QuestionnaireItem;
56
- qrItem: QuestionnaireResponseItem | null;
57
- }
36
+ import OpenChoiceCheckboxAnswerValueSetFields from './OpenChoiceCheckboxAnswerValueSetFields';
58
37
 
59
- function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerValueSetItemProps) {
38
+ function OpenChoiceCheckboxAnswerValueSetItem(props: BaseItemProps) {
60
39
  const {
61
40
  qItem,
62
41
  qrItem,
63
42
  isRepeated,
43
+ isTabled,
64
44
  renderingExtensions,
65
45
  parentIsReadOnly,
66
46
  feedbackFromParent,
67
- isTabled,
47
+ calcExpUpdated,
68
48
  onQrItemChange
69
49
  } = props;
70
50
 
@@ -93,10 +73,6 @@ function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerVal
93
73
  answers
94
74
  );
95
75
 
96
- // TODO Process calculated expressions
97
- // This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
98
- // This will be done after the choice/open-choice refactoring
99
-
100
76
  // Process answerOptionsToggleExpressions
101
77
  const { answerOptionsToggleExpressionsMap, answerOptionsToggleExpUpdated } =
102
78
  useAnswerOptionsToggleExpressions(qItem.linkId);
@@ -174,6 +150,7 @@ function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerVal
174
150
  function handleClear() {
175
151
  onQrItemChange(createEmptyQrItem(qItem, answerKey));
176
152
  setOpenLabelChecked(false);
153
+ setOpenLabelValue('');
177
154
  }
178
155
 
179
156
  if (isTabled) {
@@ -188,7 +165,9 @@ function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerVal
188
165
  openLabelChecked={openLabelChecked}
189
166
  feedback={feedback}
190
167
  readOnly={readOnly}
191
- expressionUpdated={dynamicCodingsUpdated || answerOptionsToggleExpUpdated}
168
+ expressionUpdated={
169
+ calcExpUpdated || dynamicCodingsUpdated || answerOptionsToggleExpUpdated
170
+ }
192
171
  answerOptionsToggleExpressionsMap={answerOptionsToggleExpressionsMap}
193
172
  terminologyError={terminologyError}
194
173
  isTabled={isTabled}
@@ -206,6 +185,7 @@ function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerVal
206
185
  <FullWidthFormComponentBox
207
186
  data-test="q-item-open-choice-checkbox-answer-value-set-box"
208
187
  data-linkid={qItem.linkId}
188
+ data-label={qItem.text}
209
189
  onClick={() => onFocusLinkId(qItem.linkId)}>
210
190
  <ItemFieldGrid
211
191
  qItem={qItem}
@@ -221,7 +201,9 @@ function OpenChoiceCheckboxAnswerValueSetItem(props: OpenChoiceCheckboxAnswerVal
221
201
  openLabelChecked={openLabelChecked}
222
202
  feedback={feedback}
223
203
  readOnly={readOnly}
224
- expressionUpdated={dynamicCodingsUpdated || answerOptionsToggleExpUpdated}
204
+ expressionUpdated={
205
+ calcExpUpdated || dynamicCodingsUpdated || answerOptionsToggleExpUpdated
206
+ }
225
207
  answerOptionsToggleExpressionsMap={answerOptionsToggleExpressionsMap}
226
208
  terminologyError={terminologyError}
227
209
  isTabled={isTabled}
@@ -15,51 +15,27 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React from 'react';
19
18
  import { OpenChoiceItemControl } from '../../../interfaces/choice.enum';
20
- import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
- import OpenChoiceSelectAnswerOptionItem from './OpenChoiceSelectAnswerOptionItem';
22
- import OpenChoiceSelectAnswerValueSetItem from './OpenChoiceSelectAnswerValueSetItem';
23
- import OpenChoiceAutocompleteItem from './OpenChoiceAutocompleteItem';
19
+ import type { BaseItemProps } from '../../../interfaces/renderProps.interface';
24
20
  import { getOpenChoiceControlType } from '../../../utils/openChoice';
21
+ import OpenChoiceAutocompleteItem from './OpenChoiceAutocompleteItem';
25
22
  import OpenChoiceCheckboxAnswerOptionItem from './OpenChoiceCheckboxAnswerOptionItem';
26
- import OpenChoiceRadioAnswerOptionItem from './OpenChoiceRadioAnswerOptionItem';
27
- import type {
28
- PropsWithFeedbackFromParentAttribute,
29
- PropsWithIsRepeatedAttribute,
30
- PropsWithIsTabledRequiredAttribute,
31
- PropsWithItemPathAttribute,
32
- PropsWithParentIsReadOnlyAttribute,
33
- PropsWithParentStylesAttribute,
34
- PropsWithQrItemChangeHandler,
35
- PropsWithRenderingExtensionsAttribute
36
- } from '../../../interfaces/renderProps.interface';
37
23
  import OpenChoiceCheckboxAnswerValueSetItem from './OpenChoiceCheckboxAnswerValueSetItem';
24
+ import OpenChoiceRadioAnswerOptionItem from './OpenChoiceRadioAnswerOptionItem';
38
25
  import OpenChoiceRadioAnswerValueSetItem from './OpenChoiceRadioAnswerValueSetItem';
26
+ import OpenChoiceSelectAnswerOptionItem from './OpenChoiceSelectAnswerOptionItem';
27
+ import OpenChoiceSelectAnswerValueSetItem from './OpenChoiceSelectAnswerValueSetItem';
39
28
 
40
- interface OpenChoiceItemSwitcherProps
41
- extends PropsWithQrItemChangeHandler,
42
- PropsWithIsRepeatedAttribute,
43
- PropsWithIsTabledRequiredAttribute,
44
- PropsWithRenderingExtensionsAttribute,
45
- PropsWithParentIsReadOnlyAttribute,
46
- PropsWithFeedbackFromParentAttribute,
47
- PropsWithParentStylesAttribute,
48
- PropsWithItemPathAttribute {
49
- qItem: QuestionnaireItem;
50
- qrItem: QuestionnaireResponseItem | null;
51
- }
52
-
53
- function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
29
+ function OpenChoiceItemSwitcher(props: BaseItemProps) {
54
30
  const {
55
31
  qItem,
56
32
  qrItem,
57
- itemPath,
58
33
  isRepeated,
59
34
  isTabled,
60
35
  renderingExtensions,
61
36
  parentIsReadOnly,
62
37
  feedbackFromParent,
38
+ calcExpUpdated,
63
39
  onQrItemChange
64
40
  } = props;
65
41
 
@@ -70,12 +46,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
70
46
  <OpenChoiceCheckboxAnswerValueSetItem
71
47
  qItem={qItem}
72
48
  qrItem={qrItem}
73
- itemPath={itemPath}
74
- isRepeated={qItem['repeats'] ?? false}
49
+ isRepeated={qItem.repeats ?? false}
50
+ isTabled={isTabled}
75
51
  renderingExtensions={renderingExtensions}
76
52
  parentIsReadOnly={parentIsReadOnly}
77
53
  feedbackFromParent={feedbackFromParent}
78
- isTabled={isTabled}
54
+ calcExpUpdated={calcExpUpdated}
79
55
  onQrItemChange={onQrItemChange}
80
56
  />
81
57
  );
@@ -84,12 +60,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
84
60
  <OpenChoiceCheckboxAnswerOptionItem
85
61
  qItem={qItem}
86
62
  qrItem={qrItem}
87
- itemPath={itemPath}
88
- isRepeated={qItem['repeats'] ?? false}
63
+ isRepeated={qItem.repeats ?? false}
64
+ isTabled={isTabled}
89
65
  renderingExtensions={renderingExtensions}
90
66
  parentIsReadOnly={parentIsReadOnly}
91
67
  feedbackFromParent={feedbackFromParent}
92
- isTabled={isTabled}
68
+ calcExpUpdated={calcExpUpdated}
93
69
  onQrItemChange={onQrItemChange}
94
70
  />
95
71
  );
@@ -100,12 +76,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
100
76
  <OpenChoiceRadioAnswerValueSetItem
101
77
  qItem={qItem}
102
78
  qrItem={qrItem}
103
- itemPath={itemPath}
104
- isRepeated={qItem['repeats'] ?? false}
79
+ isRepeated={qItem.repeats ?? false}
80
+ isTabled={isTabled}
105
81
  renderingExtensions={renderingExtensions}
106
82
  parentIsReadOnly={parentIsReadOnly}
107
83
  feedbackFromParent={feedbackFromParent}
108
- isTabled={isTabled}
84
+ calcExpUpdated={calcExpUpdated}
109
85
  onQrItemChange={onQrItemChange}
110
86
  />
111
87
  );
@@ -114,12 +90,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
114
90
  <OpenChoiceRadioAnswerOptionItem
115
91
  qItem={qItem}
116
92
  qrItem={qrItem}
117
- itemPath={itemPath}
118
- isRepeated={qItem['repeats'] ?? false}
93
+ isRepeated={qItem.repeats ?? false}
94
+ isTabled={isTabled}
119
95
  renderingExtensions={renderingExtensions}
120
96
  parentIsReadOnly={parentIsReadOnly}
121
97
  feedbackFromParent={feedbackFromParent}
122
- isTabled={isTabled}
98
+ calcExpUpdated={calcExpUpdated}
123
99
  onQrItemChange={onQrItemChange}
124
100
  />
125
101
  );
@@ -129,12 +105,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
129
105
  <OpenChoiceAutocompleteItem
130
106
  qItem={qItem}
131
107
  qrItem={qrItem}
132
- itemPath={itemPath}
133
108
  isRepeated={isRepeated}
134
109
  isTabled={isTabled}
135
110
  renderingExtensions={renderingExtensions}
136
111
  parentIsReadOnly={parentIsReadOnly}
137
112
  feedbackFromParent={feedbackFromParent}
113
+ calcExpUpdated={calcExpUpdated}
138
114
  onQrItemChange={onQrItemChange}
139
115
  />
140
116
  );
@@ -144,12 +120,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
144
120
  <OpenChoiceSelectAnswerValueSetItem
145
121
  qItem={qItem}
146
122
  qrItem={qrItem}
147
- itemPath={itemPath}
148
123
  isRepeated={isRepeated}
149
124
  isTabled={isTabled}
150
125
  renderingExtensions={renderingExtensions}
151
126
  parentIsReadOnly={parentIsReadOnly}
152
127
  feedbackFromParent={feedbackFromParent}
128
+ calcExpUpdated={calcExpUpdated}
153
129
  onQrItemChange={onQrItemChange}
154
130
  />
155
131
  );
@@ -158,12 +134,12 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
158
134
  <OpenChoiceSelectAnswerOptionItem
159
135
  qItem={qItem}
160
136
  qrItem={qrItem}
161
- itemPath={itemPath}
162
137
  isRepeated={isRepeated}
163
138
  isTabled={isTabled}
164
139
  renderingExtensions={renderingExtensions}
165
140
  parentIsReadOnly={parentIsReadOnly}
166
141
  feedbackFromParent={feedbackFromParent}
142
+ calcExpUpdated={calcExpUpdated}
167
143
  onQrItemChange={onQrItemChange}
168
144
  />
169
145
  );
@@ -15,7 +15,6 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React from 'react';
19
18
  import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
20
19
  import RadioButtonWithOpenLabel from '../ItemParts/RadioButtonWithOpenLabel';
21
20
  import RadioFormGroup from '../ItemParts/RadioFormGroup';