@aehrc/smart-forms-renderer 0.7.1 → 0.8.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 (347) hide show
  1. package/README.md +1 -1
  2. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +1 -2
  3. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  4. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.d.ts +12 -0
  5. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js +39 -0
  6. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -0
  7. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  8. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +14 -27
  9. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  10. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.d.ts +13 -0
  11. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +42 -0
  12. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -0
  13. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +4 -3
  14. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +14 -22
  15. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  16. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -2
  17. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +3 -3
  18. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  19. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +12 -0
  20. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +27 -0
  21. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -0
  22. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +1 -1
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +9 -24
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.d.ts +14 -0
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +42 -0
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -0
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +1 -1
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +8 -21
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +10 -0
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +41 -0
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -0
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +7 -23
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +12 -0
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +42 -0
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -0
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +8 -18
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  41. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +3 -2
  42. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  43. package/lib/components/FormComponents/GridGroup/GridGroup.js +2 -2
  44. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  45. package/lib/components/FormComponents/GridGroup/GridRow.js +2 -2
  46. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  47. package/lib/components/FormComponents/GroupItem/GroupChildItemSwitcher.d.ts +10 -0
  48. package/lib/components/FormComponents/GroupItem/GroupChildItemSwitcher.js +73 -0
  49. package/lib/components/FormComponents/GroupItem/GroupChildItemSwitcher.js.map +1 -0
  50. package/lib/components/FormComponents/GroupItem/GroupItem.js +3 -3
  51. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  52. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +4 -4
  53. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  54. package/lib/components/FormComponents/GroupItem/ItemSwitcher.d.ts +10 -0
  55. package/lib/components/FormComponents/GroupItem/ItemSwitcher.js +81 -0
  56. package/lib/components/FormComponents/GroupItem/ItemSwitcher.js.map +1 -0
  57. package/lib/components/FormComponents/GroupItem/TopLevelGroupItemSwitcher.d.ts +10 -0
  58. package/lib/components/FormComponents/GroupItem/TopLevelGroupItemSwitcher.js +45 -0
  59. package/lib/components/FormComponents/GroupItem/TopLevelGroupItemSwitcher.js.map +1 -0
  60. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +3 -2
  61. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  62. package/lib/components/FormComponents/Item.styles.d.ts +2 -2
  63. package/lib/components/FormComponents/Item.styles.js +2 -2
  64. package/lib/components/FormComponents/Item.styles.js.map +1 -1
  65. package/lib/components/FormComponents/ItemParts/RadioAnswerOptionButtons.d.ts +8 -0
  66. package/lib/components/FormComponents/ItemParts/RadioAnswerOptionButtons.js +37 -0
  67. package/lib/components/FormComponents/ItemParts/RadioAnswerOptionButtons.js.map +1 -0
  68. package/lib/components/FormComponents/ItemParts/RadioButtons.d.ts +8 -0
  69. package/lib/components/FormComponents/ItemParts/RadioButtons.js +37 -0
  70. package/lib/components/FormComponents/ItemParts/RadioButtons.js.map +1 -0
  71. package/lib/components/FormComponents/ItemParts/RadioButtonsAnswerOption.d.ts +8 -0
  72. package/lib/components/FormComponents/ItemParts/RadioButtonsAnswerOption.js +37 -0
  73. package/lib/components/FormComponents/ItemParts/RadioButtonsAnswerOption.js.map +1 -0
  74. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +20 -0
  75. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +49 -0
  76. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -0
  77. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteFieldEndAdornment.d.ts +0 -0
  78. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteFieldEndAdornment.js +2 -0
  79. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteFieldEndAdornment.js.map +1 -0
  80. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +11 -35
  81. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  82. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.d.ts +17 -0
  83. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +42 -0
  84. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -0
  85. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  86. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +23 -36
  87. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  88. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -2
  89. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +3 -3
  90. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  91. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.d.ts +15 -0
  92. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +29 -0
  93. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -0
  94. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +1 -1
  95. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +3 -23
  96. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  97. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +11 -0
  98. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +14 -0
  99. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -0
  100. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionFields.d.ts +0 -0
  101. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionFields.js +2 -0
  102. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionFields.js.map +1 -0
  103. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +18 -23
  104. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  105. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +12 -0
  106. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +16 -0
  107. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -0
  108. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +8 -14
  109. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  110. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +4 -3
  111. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  112. package/lib/components/FormComponents/RepeatGroup/index.d.ts +1 -0
  113. package/lib/components/FormComponents/RepeatGroup/index.js +18 -0
  114. package/lib/components/FormComponents/RepeatGroup/index.js.map +1 -0
  115. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +1 -1
  116. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  117. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +2 -2
  118. package/lib/components/FormComponents/SingleItem/SingleItem.js +2 -2
  119. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  120. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +2 -2
  121. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +3 -3
  122. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  123. package/lib/components/FormComponents/SingleItem/index.d.ts +1 -0
  124. package/lib/components/FormComponents/SingleItem/index.js +18 -0
  125. package/lib/components/FormComponents/SingleItem/index.js.map +1 -0
  126. package/lib/components/FormComponents/StringItem/StringItem.js +3 -2
  127. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  128. package/lib/components/FormComponents/Tables/AddItemButton.d.ts +8 -0
  129. package/lib/components/FormComponents/Tables/AddItemButton.js +28 -0
  130. package/lib/components/FormComponents/Tables/AddItemButton.js.map +1 -0
  131. package/lib/components/FormComponents/Tables/AddRowButton.d.ts +8 -0
  132. package/lib/components/FormComponents/Tables/AddRowButton.js +28 -0
  133. package/lib/components/FormComponents/Tables/AddRowButton.js.map +1 -0
  134. package/lib/components/FormComponents/Tables/GroupTable.d.ts +10 -0
  135. package/lib/components/FormComponents/Tables/GroupTable.js +108 -0
  136. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -0
  137. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +10 -0
  138. package/lib/components/FormComponents/Tables/GroupTableRow.js +46 -0
  139. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -0
  140. package/lib/components/FormComponents/Tables/QItemGroupTable.js +7 -5
  141. package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -1
  142. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js +2 -2
  143. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -1
  144. package/lib/components/FormComponents/Tables/index.d.ts +1 -0
  145. package/lib/components/FormComponents/Tables/index.js +18 -0
  146. package/lib/components/FormComponents/Tables/index.js.map +1 -0
  147. package/lib/components/FormComponents/TextItem/TextItem.js +3 -2
  148. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  149. package/lib/components/FormComponents/index.d.ts +3 -0
  150. package/lib/components/FormComponents/index.js +20 -0
  151. package/lib/components/FormComponents/index.js.map +1 -0
  152. package/lib/components/Renderer/BaseRenderer.js +26 -14
  153. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  154. package/lib/components/Renderer/FormBodyCollapsible.js +2 -2
  155. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  156. package/lib/components/Renderer/FormBodyTabbed.js +3 -3
  157. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  158. package/lib/components/Renderer/FormTopLevelItem.d.ts +4 -4
  159. package/lib/components/Renderer/FormTopLevelItem.js +14 -1
  160. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  161. package/lib/components/Tabs/FormBodySingleTab.js +1 -1
  162. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  163. package/lib/components/Tabs/FormBodyTabList.d.ts +1 -0
  164. package/lib/components/Tabs/FormBodyTabList.js +3 -4
  165. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  166. package/lib/components/Tabs/FormBodyTabListWrapper.d.ts +1 -1
  167. package/lib/components/Tabs/FormBodyTabListWrapper.js +6 -13
  168. package/lib/components/Tabs/FormBodyTabListWrapper.js.map +1 -1
  169. package/lib/components/Tabs/ShowCompletedTabsSection.d.ts +7 -0
  170. package/lib/components/Tabs/ShowCompletedTabsSection.js +34 -0
  171. package/lib/components/Tabs/ShowCompletedTabsSection.js.map +1 -0
  172. package/lib/components/index.d.ts +1 -0
  173. package/lib/components/index.js +1 -0
  174. package/lib/components/index.js.map +1 -1
  175. package/lib/hooks/index.d.ts +1 -0
  176. package/lib/hooks/index.js +2 -0
  177. package/lib/hooks/index.js.map +1 -0
  178. package/lib/hooks/useContextDisplayItems.d.ts +6 -0
  179. package/lib/hooks/useContextDisplayItems.js +30 -0
  180. package/lib/hooks/useContextDisplayItems.js.map +1 -0
  181. package/lib/hooks/useDecimalUpdateFromProp.d.ts +2 -0
  182. package/lib/hooks/useDecimalUpdateFromProp.js +29 -0
  183. package/lib/hooks/useDecimalUpdateFromProp.js.map +1 -0
  184. package/lib/hooks/useInitialiseRenderer.js +2 -2
  185. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  186. package/lib/hooks/useInitialiseRepeatAnswers.d.ts +2 -2
  187. package/lib/hooks/useInitialiseRepeatAnswers.js +21 -15
  188. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
  189. package/lib/hooks/useInitialiseRepeatGroups.d.ts +2 -1
  190. package/lib/hooks/useInitialiseRepeatGroups.js +21 -15
  191. package/lib/hooks/useInitialiseRepeatGroups.js.map +1 -1
  192. package/lib/hooks/useIntegerUpdateFromProp.d.ts +2 -0
  193. package/lib/hooks/useIntegerUpdateFromProp.js +29 -0
  194. package/lib/hooks/useIntegerUpdateFromProp.js.map +1 -0
  195. package/lib/hooks/useNumberInput.d.ts +3 -0
  196. package/lib/hooks/useNumberInput.js +31 -0
  197. package/lib/hooks/useNumberInput.js.map +1 -0
  198. package/lib/hooks/useNumberUpdateFromProp.d.ts +2 -0
  199. package/lib/hooks/useNumberUpdateFromProp.js +29 -0
  200. package/lib/hooks/useNumberUpdateFromProp.js.map +1 -0
  201. package/lib/hooks/useRepeatItemState.d.ts +5 -0
  202. package/lib/hooks/useRepeatItemState.js +35 -0
  203. package/lib/hooks/useRepeatItemState.js.map +1 -0
  204. package/lib/hooks/useRepeatItemUpdateFromProp.d.ts +2 -0
  205. package/lib/hooks/useRepeatItemUpdateFromProp.js +29 -0
  206. package/lib/hooks/useRepeatItemUpdateFromProp.js.map +1 -0
  207. package/lib/hooks/useStringField.d.ts +2 -0
  208. package/lib/hooks/useStringField.js +29 -0
  209. package/lib/hooks/useStringField.js.map +1 -0
  210. package/lib/hooks/useStringInput.d.ts +3 -0
  211. package/lib/hooks/useStringInput.js +31 -0
  212. package/lib/hooks/useStringInput.js.map +1 -0
  213. package/lib/hooks/useStringUpdateFromProp.d.ts +2 -0
  214. package/lib/hooks/useStringUpdateFromProp.js +29 -0
  215. package/lib/hooks/useStringUpdateFromProp.js.map +1 -0
  216. package/lib/hooks/useTerminologyServerQuery.js +3 -6
  217. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  218. package/lib/index.d.ts +16 -0
  219. package/lib/index.js +29 -2
  220. package/lib/index.js.map +1 -1
  221. package/lib/interfaces/questionnaireStore.interface.d.ts +1 -0
  222. package/lib/interfaces/renderProps.interface.d.ts +3 -0
  223. package/lib/stores/useQuestionnaireResponseStore.d.ts +2 -1
  224. package/lib/stores/useQuestionnaireResponseStore.js +17 -10
  225. package/lib/stores/useQuestionnaireResponseStore.js.map +1 -1
  226. package/lib/stores/useQuestionnaireStore.d.ts +2 -1
  227. package/lib/stores/useQuestionnaireStore.js +5 -2
  228. package/lib/stores/useQuestionnaireStore.js.map +1 -1
  229. package/lib/theme/overrides/Overrides.js +1 -2
  230. package/lib/theme/overrides/Overrides.js.map +1 -1
  231. package/lib/utils/calculatedExpression.js +2 -2
  232. package/lib/utils/calculatedExpression.js.map +1 -1
  233. package/lib/utils/formChanges.d.ts +18 -0
  234. package/lib/utils/formChanges.js +91 -0
  235. package/lib/utils/formChanges.js.map +1 -0
  236. package/lib/utils/formChangesOld.d.ts +18 -0
  237. package/lib/utils/formChangesOld.js +91 -0
  238. package/lib/utils/formChangesOld.js.map +1 -0
  239. package/lib/utils/index.d.ts +1 -0
  240. package/lib/utils/index.js +18 -0
  241. package/lib/utils/index.js.map +1 -0
  242. package/lib/utils/mapItem.d.ts +2 -2
  243. package/lib/utils/mapItem.js +3 -3
  244. package/lib/utils/mapItem.js.map +1 -1
  245. package/lib/utils/qItem.d.ts +2 -0
  246. package/lib/utils/qItem.js +22 -0
  247. package/lib/utils/qItem.js.map +1 -1
  248. package/lib/utils/qrItem.d.ts +3 -4
  249. package/lib/utils/qrItem.js +94 -96
  250. package/lib/utils/qrItem.js.map +1 -1
  251. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -0
  252. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  253. package/lib/utils/repopulate.d.ts +9 -0
  254. package/lib/utils/repopulate.js +133 -0
  255. package/lib/utils/repopulate.js.map +1 -0
  256. package/lib/utils/repopulateGenerateItems.d.ts +9 -0
  257. package/lib/utils/repopulateGenerateItems.js +133 -0
  258. package/lib/utils/repopulateGenerateItems.js.map +1 -0
  259. package/lib/utils/repopulateIntoResponse.d.ts +3 -0
  260. package/lib/utils/repopulateIntoResponse.js +92 -0
  261. package/lib/utils/repopulateIntoResponse.js.map +1 -0
  262. package/lib/utils/repopulateItems.d.ts +9 -0
  263. package/lib/utils/repopulateItems.js +130 -0
  264. package/lib/utils/repopulateItems.js.map +1 -0
  265. package/lib/utils/repopulateRepeatGroup.d.ts +4 -0
  266. package/lib/utils/repopulateRepeatGroup.js +54 -0
  267. package/lib/utils/repopulateRepeatGroup.js.map +1 -0
  268. package/package.json +7 -5
  269. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +1 -2
  270. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +85 -0
  271. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +35 -58
  272. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +79 -0
  273. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +37 -50
  274. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +10 -5
  275. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +48 -0
  276. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +25 -53
  277. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +83 -0
  278. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +27 -49
  279. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +81 -0
  280. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +19 -54
  281. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +97 -0
  282. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +22 -60
  283. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +3 -2
  284. package/src/components/FormComponents/GridGroup/GridGroup.tsx +2 -2
  285. package/src/components/FormComponents/GridGroup/GridRow.tsx +2 -2
  286. package/src/components/FormComponents/GroupItem/GroupItem.tsx +3 -3
  287. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +4 -4
  288. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +3 -2
  289. package/src/components/FormComponents/Item.styles.ts +2 -2
  290. package/src/components/FormComponents/ItemParts/RadioAnswerOptionButtons.tsx +72 -0
  291. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +131 -0
  292. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +38 -93
  293. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +112 -0
  294. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +57 -76
  295. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +8 -5
  296. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +72 -0
  297. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +12 -59
  298. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +54 -0
  299. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +40 -64
  300. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +63 -0
  301. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +22 -50
  302. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +4 -3
  303. package/src/{theme/overrides/Backdrop.ts → components/FormComponents/RepeatGroup/index.ts} +1 -17
  304. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +1 -1
  305. package/src/components/FormComponents/SingleItem/SingleItem.tsx +6 -3
  306. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +7 -3
  307. package/src/components/FormComponents/SingleItem/index.ts +18 -0
  308. package/src/components/FormComponents/StringItem/StringItem.tsx +3 -2
  309. package/src/components/FormComponents/Tables/AddRowButton.tsx +49 -0
  310. package/src/components/FormComponents/Tables/{QItemGroupTable.tsx → GroupTable.tsx} +21 -23
  311. package/src/components/FormComponents/Tables/{QItemGroupTableRow.tsx → GroupTableRow.tsx} +4 -4
  312. package/src/components/FormComponents/Tables/index.ts +18 -0
  313. package/src/components/FormComponents/TextItem/TextItem.tsx +3 -2
  314. package/src/components/FormComponents/index.ts +20 -0
  315. package/src/components/Renderer/BaseRenderer.tsx +39 -18
  316. package/src/components/Renderer/FormBodyCollapsible.tsx +2 -2
  317. package/src/components/Renderer/FormBodyTabbed.tsx +3 -3
  318. package/src/components/Renderer/FormTopLevelItem.tsx +33 -4
  319. package/src/components/Tabs/FormBodySingleTab.tsx +1 -1
  320. package/src/components/Tabs/FormBodyTabList.tsx +5 -8
  321. package/src/components/Tabs/FormBodyTabListWrapper.tsx +15 -26
  322. package/src/components/Tabs/ShowCompletedTabsSection.tsx +52 -0
  323. package/src/components/index.ts +1 -0
  324. package/src/hooks/index.ts +1 -0
  325. package/src/hooks/useContextDisplayItems.ts +40 -0
  326. package/src/hooks/useInitialiseRenderer.ts +2 -2
  327. package/src/hooks/useInitialiseRepeatAnswers.ts +28 -17
  328. package/src/hooks/useInitialiseRepeatGroups.ts +28 -17
  329. package/src/hooks/useNumberInput.ts +38 -0
  330. package/src/hooks/useStringInput.ts +38 -0
  331. package/src/hooks/useTerminologyServerQuery.ts +3 -6
  332. package/src/index.ts +45 -2
  333. package/src/interfaces/questionnaireStore.interface.ts +1 -0
  334. package/src/interfaces/renderProps.interface.ts +4 -0
  335. package/src/stores/useQuestionnaireResponseStore.ts +15 -10
  336. package/src/stores/useQuestionnaireStore.ts +10 -3
  337. package/src/theme/overrides/Overrides.ts +0 -2
  338. package/src/utils/calculatedExpression.ts +2 -2
  339. package/src/utils/formChanges.ts +141 -0
  340. package/src/utils/index.ts +18 -0
  341. package/src/utils/mapItem.ts +6 -4
  342. package/src/utils/qItem.ts +29 -0
  343. package/src/utils/qrItem.ts +108 -97
  344. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +4 -0
  345. package/src/utils/repopulateIntoResponse.ts +153 -0
  346. package/src/utils/repopulateItems.ts +206 -0
  347. package/src/utils/repopulateRepeatGroup.ts +68 -0
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install @aehrc/smart-forms-renderer
12
12
 
13
13
  ```typescript jsx
14
14
  import React from 'react';
15
- import { SmartFormsRenderer, getResponse } from 'aehrc/smart-forms-renderer';
15
+ import { SmartFormsRenderer, getResponse } from '@aehrc/smart-forms-renderer';
16
16
 
17
17
  export default function App () {
18
18
  const questionnaire = {...} // FHIR R4.Questionnaire
@@ -44,7 +44,6 @@ function ChoiceAutocompleteItem(props) {
44
44
  }
45
45
  // Get additional rendering extensions
46
46
  const { displayUnit, displayPrompt, displayInstructions, readOnly, entryFormat } = useRenderingExtensions(qItem);
47
- // Query ontoserver for options
48
47
  const maxList = 10;
49
48
  const [input, setInput] = useState('');
50
49
  const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
@@ -62,7 +61,7 @@ function ChoiceAutocompleteItem(props) {
62
61
  onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueCoding: newValue }] }));
63
62
  }
64
63
  const choiceAutocomplete = (React.createElement(React.Fragment, null,
65
- React.createElement(Autocomplete, { id: qItem.id, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, placeholder: entryFormat, options: options, getOptionLabel: (option) => `${option.display}`, isOptionEqualToValue: (option, value) => option.id === value.id, loading: loading, loadingText: 'Fetching results...', clearOnEscape: true, autoHighlight: true, onChange: handleValueChange, sx: { maxWidth: !isTabled ? 280 : 3000, minWidth: 160, flexGrow: 1 }, filterOptions: (x) => x, renderInput: (params) => (React.createElement(StandardTextField, Object.assign({}, params, { onChange: (e) => setInput(e.target.value), isTabled: isTabled, disabled: readOnly, label: displayPrompt, size: "small", InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React.createElement(React.Fragment, null,
64
+ React.createElement(Autocomplete, { id: qItem.id, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, placeholder: entryFormat, options: options, getOptionLabel: (option) => `${option.display}`, isOptionEqualToValue: (option, value) => option.id === value.id, disabled: readOnly, loading: loading, loadingText: 'Fetching results...', clearOnEscape: true, autoHighlight: true, onChange: handleValueChange, sx: { maxWidth: !isTabled ? 280 : 3000, minWidth: 160, flexGrow: 1 }, filterOptions: (x) => x, renderInput: (params) => (React.createElement(StandardTextField, Object.assign({}, params, { onChange: (e) => setInput(e.target.value), isTabled: isTabled, label: displayPrompt, size: "small", InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React.createElement(React.Fragment, null,
66
65
  !valueCoding ? React.createElement(SearchIcon, { fontSize: "small", sx: { ml: 0.5 } }) : null,
67
66
  params.InputProps.startAdornment)), endAdornment: (React.createElement(React.Fragment, null,
68
67
  loading ? (React.createElement(CircularProgress, { color: "inherit", size: 16 })) : feedback ? (React.createElement(Fade, { in: !!feedback, timeout: 300 },
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
+ import type { QuestionnaireItem, QuestionnaireResponseItemAnswer } from 'fhir/r4';
4
+ interface ChoiceCheckboxAnswerOptionFieldsProps {
5
+ qItem: QuestionnaireItem;
6
+ answers: QuestionnaireResponseItemAnswer[];
7
+ orientation: ChoiceItemOrientation;
8
+ readOnly: boolean;
9
+ onCheckedChange: (newValue: string) => void;
10
+ }
11
+ declare function ChoiceCheckboxAnswerOptionFields(props: ChoiceCheckboxAnswerOptionFieldsProps): React.JSX.Element;
12
+ export default ChoiceCheckboxAnswerOptionFields;
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React from 'react';
18
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
19
+ import QItemChoiceCheckboxSingle from '../ItemParts/CheckboxSingle';
20
+ import { StyledFormGroup } from '../Item.styles';
21
+ function ChoiceCheckboxAnswerOptionFields(props) {
22
+ var _a;
23
+ const { qItem, answers, orientation, readOnly, onCheckedChange } = props;
24
+ return (React.createElement(StyledFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal }, (_a = qItem.answerOption) === null || _a === void 0 ? void 0 : _a.map((option) => {
25
+ var _a, _b, _c;
26
+ if (option['valueCoding']) {
27
+ return (React.createElement(QItemChoiceCheckboxSingle, { key: (_a = option.valueCoding.code) !== null && _a !== void 0 ? _a : '', value: (_b = option.valueCoding.code) !== null && _b !== void 0 ? _b : '', label: (_c = option.valueCoding.display) !== null && _c !== void 0 ? _c : `${option.valueCoding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer) === JSON.stringify(option)), onCheckedChange: onCheckedChange }));
28
+ }
29
+ if (option['valueString']) {
30
+ return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly, isChecked: answers.some((answer) => answer.valueString === option.valueString), onCheckedChange: onCheckedChange }));
31
+ }
32
+ if (option['valueInteger']) {
33
+ return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly, isChecked: answers.some((answer) => answer.valueInteger === option.valueInteger), onCheckedChange: onCheckedChange }));
34
+ }
35
+ return null;
36
+ })));
37
+ }
38
+ export default ChoiceCheckboxAnswerOptionFields;
39
+ //# sourceMappingURL=ChoiceCheckboxAnswerOptionFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceCheckboxAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUjD,SAAS,gCAAgC,CAAC,KAA4C;;IACpF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAEzE,OAAO,CACL,oBAAC,eAAe,IAAC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,IACnE,MAAA,KAAK,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QAClC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CACL,oBAAC,yBAAyB,IACxB,GAAG,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAI,EAAE,EAClC,KAAK,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAI,EAAE,EACpC,KAAK,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EACjE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9D,EACD,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;SACH;QAED,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CACL,oBAAC,yBAAyB,IACxB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,EAC9E,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;SACH;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;YAC1B,OAAO,CACL,oBAAC,yBAAyB,IACxB,GAAG,EAAE,MAAM,CAAC,YAAY,EACxB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EACrC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EACrC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,EAChF,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACc,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
2
+ import type { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
3
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
4
- import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
5
- interface ChoiceCheckboxAnswerOptionItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute {
4
+ import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler, PropsWithTextShownAttribute } from '../../../interfaces/renderProps.interface';
5
+ interface ChoiceCheckboxAnswerOptionItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithTextShownAttribute {
6
6
  qItem: QuestionnaireItem;
7
7
  qrItem: QuestionnaireResponseItem;
8
8
  orientation: ChoiceItemOrientation;
@@ -16,18 +16,15 @@
16
16
  */
17
17
  import React from 'react';
18
18
  import Grid from '@mui/material/Grid';
19
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
20
- import QItemChoiceCheckboxSingle from '../ItemParts/CheckboxSingle';
21
19
  import { createEmptyQrItem } from '../../../utils/qrItem';
22
- import { QFormGroup } from '../Item.styles';
23
20
  import { updateQrCheckboxAnswers } from '../../../utils/choice';
24
21
  import { FullWidthFormComponentBox } from '../../Box.styles';
25
22
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
26
23
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
27
24
  import LabelWrapper from '../ItemParts/ItemLabelWrapper';
25
+ import ChoiceCheckboxAnswerValueSetFields from './ChoiceCheckboxAnswerOptionFields';
28
26
  function ChoiceCheckboxAnswerOptionItem(props) {
29
- var _a;
30
- const { qItem, qrItem, isRepeated, onQrItemChange, orientation } = props;
27
+ const { qItem, qrItem, isRepeated, onQrItemChange, orientation, textShown = true } = props;
31
28
  // Init input value
32
29
  const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
33
30
  const answers = qrChoiceCheckbox.answer ? qrChoiceCheckbox.answer : [];
@@ -43,28 +40,18 @@ function ChoiceCheckboxAnswerOptionItem(props) {
43
40
  onQrItemChange(updatedQrChoiceCheckbox);
44
41
  }
45
42
  }
46
- const choiceCheckbox = (React.createElement(QFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal }, (_a = qItem.answerOption) === null || _a === void 0 ? void 0 : _a.map((option) => {
47
- var _a, _b, _c;
48
- if (option['valueCoding']) {
49
- return (React.createElement(QItemChoiceCheckboxSingle, { key: (_a = option.valueCoding.code) !== null && _a !== void 0 ? _a : '', value: (_b = option.valueCoding.code) !== null && _b !== void 0 ? _b : '', label: (_c = option.valueCoding.display) !== null && _c !== void 0 ? _c : `${option.valueCoding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer) === JSON.stringify(option)), onCheckedChange: handleCheckedChange }));
50
- }
51
- else if (option['valueString']) {
52
- return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly, isChecked: answers.some((answer) => answer.valueString === option.valueString), onCheckedChange: handleCheckedChange }));
53
- }
54
- else if (option['valueInteger']) {
55
- return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly, isChecked: answers.some((answer) => answer.valueInteger === option.valueInteger), onCheckedChange: handleCheckedChange }));
56
- }
57
- else {
58
- return null;
59
- }
60
- })));
61
- return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-option-box" },
62
- React.createElement(Grid, { container: true, columnSpacing: 6 },
63
- React.createElement(Grid, { item: true, xs: 5 },
64
- React.createElement(LabelWrapper, { qItem: qItem })),
65
- React.createElement(Grid, { item: true, xs: 7 },
66
- choiceCheckbox,
67
- React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
43
+ if (textShown) {
44
+ return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-option-box" },
45
+ React.createElement(Grid, { container: true, columnSpacing: 6 },
46
+ React.createElement(Grid, { item: true, xs: 5 },
47
+ React.createElement(LabelWrapper, { qItem: qItem })),
48
+ React.createElement(Grid, { item: true, xs: 7 },
49
+ React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem, answers: answers, orientation: orientation, readOnly: readOnly, onCheckedChange: handleCheckedChange }),
50
+ React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
51
+ }
52
+ return (React.createElement(React.Fragment, null,
53
+ React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem, answers: answers, orientation: orientation, readOnly: readOnly, onCheckedChange: handleCheckedChange }),
54
+ React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })));
68
55
  }
69
56
  export default ChoiceCheckboxAnswerOptionItem;
70
57
  //# sourceMappingURL=ChoiceCheckboxAnswerOptionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAM3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,kCAAkC,MAAM,oCAAoC,CAAC;AAWpF,SAAS,8BAA8B,CAAC,KAA0C;IAChF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAE3F,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAExE,iBAAiB;IACjB,SAAS,mBAAmB,CAAC,YAAoB;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,uBAAuB,GAAG,uBAAuB,CACrD,YAAY,EACZ,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,yBAAyB,iBAAW,0CAA0C;YAC7E,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;gBAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB;gBACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACd,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,mBAAmB,GACpC;oBACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAC5D,CACF,CACmB,CAC7B,CAAC;KACH;IAED,OAAO,CACL;QACE,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,mBAAmB,GACpC;QACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAChE,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
+ import type { Coding, QuestionnaireResponseItemAnswer } from 'fhir/r4';
4
+ interface ChoiceCheckboxAnswerValueSetFieldsProps {
5
+ codings: Coding[];
6
+ answers: QuestionnaireResponseItemAnswer[];
7
+ orientation: ChoiceItemOrientation;
8
+ readOnly: boolean;
9
+ serverError: Error | null;
10
+ onCheckedChange: (newValue: string) => void;
11
+ }
12
+ declare function ChoiceCheckboxAnswerValueSetFields(props: ChoiceCheckboxAnswerValueSetFieldsProps): React.JSX.Element;
13
+ export default ChoiceCheckboxAnswerValueSetFields;
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React from 'react';
18
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
19
+ import CheckboxSingle from '../ItemParts/CheckboxSingle';
20
+ import { StyledFormGroup } from '../Item.styles';
21
+ import { StyledAlert } from '../../Alert.styles';
22
+ import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
23
+ import Typography from '@mui/material/Typography';
24
+ function ChoiceCheckboxAnswerValueSetFields(props) {
25
+ const { codings, answers, orientation, readOnly, serverError, onCheckedChange } = props;
26
+ if (codings.length > 0) {
27
+ return (React.createElement(StyledFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal }, codings.map((coding) => {
28
+ var _a, _b, _c;
29
+ return (React.createElement(CheckboxSingle, { key: (_a = coding.code) !== null && _a !== void 0 ? _a : '', value: (_b = coding.code) !== null && _b !== void 0 ? _b : '', label: (_c = coding.display) !== null && _c !== void 0 ? _c : `${coding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer.valueCoding) === JSON.stringify(coding)), onCheckedChange: onCheckedChange }));
30
+ })));
31
+ }
32
+ if (serverError) {
33
+ return (React.createElement(StyledAlert, { color: "error" },
34
+ React.createElement(ErrorOutlineIcon, { color: "error", sx: { pr: 0.75 } }),
35
+ React.createElement(Typography, { variant: "subtitle2" }, "There was an error fetching options from the terminology server")));
36
+ }
37
+ return (React.createElement(StyledAlert, { color: "error" },
38
+ React.createElement(ErrorOutlineIcon, { color: "error", sx: { pr: 0.75 } }),
39
+ React.createElement(Typography, { variant: "subtitle2" }, "Unable to fetch options from the questionnaire or launch context")));
40
+ }
41
+ export default ChoiceCheckboxAnswerValueSetFields;
42
+ //# sourceMappingURL=ChoiceCheckboxAnswerValueSetFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceCheckboxAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAWlD,SAAS,kCAAkC,CAAC,KAA8C;IACxF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAExF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CACL,oBAAC,eAAe,IAAC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,IACnE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAAC,OAAA,CACvB,oBAAC,cAAc,IACb,GAAG,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,EACtB,KAAK,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,EACxB,KAAK,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAC1E,EACD,eAAe,EAAE,eAAe,GAChC,CACH,CAAA;SAAA,CAAC,CACc,CACnB,CAAC;KACH;IAED,IAAI,WAAW,EAAE;QACf,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;YACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;YACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,sEAElB,CACD,CACf,CAAC;KACH;IAED,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;QACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;QACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,uEAElB,CACD,CACf,CAAC;AACJ,CAAC;AAED,eAAe,kCAAkC,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
4
- import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
5
- interface ChoiceCheckboxAnswerValueSetItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute {
3
+ import type { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
4
+ import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler, PropsWithTextShownAttribute } from '../../../interfaces/renderProps.interface';
5
+ interface ChoiceCheckboxAnswerValueSetItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithTextShownAttribute {
6
6
  qItem: QuestionnaireItem;
7
7
  qrItem: QuestionnaireResponseItem;
8
8
  orientation: ChoiceItemOrientation;
9
+ showText?: boolean;
9
10
  }
10
11
  declare function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetItemProps): React.JSX.Element;
11
12
  export default ChoiceCheckboxAnswerValueSetItem;
@@ -16,21 +16,16 @@
16
16
  */
17
17
  import React from 'react';
18
18
  import Grid from '@mui/material/Grid';
19
- import Typography from '@mui/material/Typography';
20
19
  import { createEmptyQrItem } from '../../../utils/qrItem';
21
20
  import useValueSetCodings from '../../../hooks/useValueSetCodings';
22
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
23
21
  import { mapCodingsToOptions, updateQrCheckboxAnswers } from '../../../utils/choice';
24
- import CheckboxSingle from '../ItemParts/CheckboxSingle';
25
- import { QFormGroup } from '../Item.styles';
26
22
  import { FullWidthFormComponentBox } from '../../Box.styles';
27
23
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
28
- import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
29
- import { StyledAlert } from '../../Alert.styles';
30
24
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
31
25
  import LabelWrapper from '../ItemParts/ItemLabelWrapper';
26
+ import ChoiceCheckboxAnswerValueSetFields from './ChoiceCheckboxAnswerValueSetFields';
32
27
  function ChoiceCheckboxAnswerValueSetItem(props) {
33
- const { qItem, qrItem, isRepeated, onQrItemChange, orientation } = props;
28
+ const { qItem, qrItem, orientation, isRepeated, textShown = true, onQrItemChange } = props;
34
29
  // Init input value
35
30
  const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
36
31
  const answers = qrChoiceCheckbox.answer ? qrChoiceCheckbox.answer : [];
@@ -47,21 +42,18 @@ function ChoiceCheckboxAnswerValueSetItem(props) {
47
42
  onQrItemChange(updatedQrChoiceCheckbox);
48
43
  }
49
44
  }
50
- const choiceCheckbox = codings.length > 0 ? (React.createElement(QFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal }, codings.map((coding) => {
51
- var _a, _b, _c;
52
- return (React.createElement(CheckboxSingle, { key: (_a = coding.code) !== null && _a !== void 0 ? _a : '', value: (_b = coding.code) !== null && _b !== void 0 ? _b : '', label: (_c = coding.display) !== null && _c !== void 0 ? _c : `${coding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer.valueCoding) === JSON.stringify(coding)), onCheckedChange: handleCheckedChange }));
53
- }))) : serverError ? (React.createElement(StyledAlert, { color: "error" },
54
- React.createElement(ErrorOutlineIcon, { color: "error", sx: { pr: 0.75 } }),
55
- React.createElement(Typography, { variant: "subtitle2" }, "There was an error fetching options from the terminology server"))) : (React.createElement(StyledAlert, { color: "error" },
56
- React.createElement(ErrorOutlineIcon, { color: "error", sx: { pr: 0.75 } }),
57
- React.createElement(Typography, { variant: "subtitle2" }, "Unable to fetch options from the questionnaire or launch context")));
58
- return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-value-set-box" },
59
- React.createElement(Grid, { container: true, columnSpacing: 6 },
60
- React.createElement(Grid, { item: true, xs: 5 },
61
- React.createElement(LabelWrapper, { qItem: qItem })),
62
- React.createElement(Grid, { item: true, xs: 7 },
63
- choiceCheckbox,
64
- React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
45
+ if (textShown) {
46
+ return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-value-set-box" },
47
+ React.createElement(Grid, { container: true, columnSpacing: 6 },
48
+ React.createElement(Grid, { item: true, xs: 5 },
49
+ React.createElement(LabelWrapper, { qItem: qItem })),
50
+ React.createElement(Grid, { item: true, xs: 7 },
51
+ React.createElement(ChoiceCheckboxAnswerValueSetFields, { codings: codings, answers: answers, orientation: orientation, readOnly: readOnly, serverError: serverError, onCheckedChange: handleCheckedChange }),
52
+ React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
53
+ }
54
+ return (React.createElement(React.Fragment, null,
55
+ React.createElement(ChoiceCheckboxAnswerValueSetFields, { codings: codings, answers: answers, orientation: orientation, readOnly: readOnly, serverError: serverError, onCheckedChange: handleCheckedChange }),
56
+ React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })));
65
57
  }
66
58
  export default ChoiceCheckboxAnswerValueSetItem;
67
59
  //# sourceMappingURL=ChoiceCheckboxAnswerValueSetItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAM3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AAYtF,SAAS,gCAAgC,CAAC,KAA4C;IACpF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE3F,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAExE,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE3D,iBAAiB;IACjB,SAAS,mBAAmB,CAAC,YAAoB;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,uBAAuB,GAAG,uBAAuB,CACrD,YAAY,EACZ,OAAO,EACP,mBAAmB,CAAC,OAAO,CAAC,EAC5B,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,yBAAyB,iBAAW,6CAA6C;YAChF,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;gBAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB;gBACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACd,oBAAC,kCAAkC,IACjC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,mBAAmB,GACpC;oBACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAC5D,CACF,CACmB,CAC7B,CAAC;KACH;IAED,OAAO,CACL;QACE,oBAAC,kCAAkC,IACjC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,mBAAmB,GACpC;QACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAChE,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
- import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
4
- interface ChoiceItemSwitcherProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute {
3
+ import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithQrItemChangeHandler, PropsWithTextShownAttribute } from '../../../interfaces/renderProps.interface';
4
+ interface ChoiceItemSwitcherProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithTextShownAttribute {
5
5
  qItem: QuestionnaireItem;
6
6
  qrItem: QuestionnaireResponseItem;
7
7
  }
@@ -26,7 +26,7 @@ import ChoiceRadioAnswerValueSetItem from './ChoiceRadioAnswerValueSetItem';
26
26
  import ChoiceCheckboxAnswerValueSetItem from './ChoiceCheckboxAnswerValueSetItem';
27
27
  function ChoiceItemSwitcher(props) {
28
28
  var _a, _b;
29
- const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
29
+ const { qItem, qrItem, isRepeated, isTabled, textShown, onQrItemChange } = props;
30
30
  const orientation = getChoiceOrientation(qItem);
31
31
  const choiceControlType = getChoiceControlType(qItem);
32
32
  switch (choiceControlType) {
@@ -39,10 +39,10 @@ function ChoiceItemSwitcher(props) {
39
39
  }
40
40
  case ChoiceItemControl.Checkbox:
41
41
  if (qItem.answerOption) {
42
- return (React.createElement(ChoiceCheckboxAnswerOptionItem, { qItem: qItem, qrItem: qrItem, isRepeated: (_a = qItem['repeats']) !== null && _a !== void 0 ? _a : false, onQrItemChange: onQrItemChange, orientation: orientation }));
42
+ return (React.createElement(ChoiceCheckboxAnswerOptionItem, { qItem: qItem, qrItem: qrItem, isRepeated: (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false, onQrItemChange: onQrItemChange, orientation: orientation, textShown: textShown }));
43
43
  }
44
44
  else {
45
- return (React.createElement(ChoiceCheckboxAnswerValueSetItem, { qItem: qItem, qrItem: qrItem, isRepeated: (_b = qItem['repeats']) !== null && _b !== void 0 ? _b : false, onQrItemChange: onQrItemChange, orientation: orientation }));
45
+ return (React.createElement(ChoiceCheckboxAnswerValueSetItem, { qItem: qItem, qrItem: qrItem, isRepeated: (_b = qItem.repeats) !== null && _b !== void 0 ? _b : false, onQrItemChange: onQrItemChange, orientation: orientation, textShown: textShown }));
46
46
  }
47
47
  case ChoiceItemControl.Autocomplete:
48
48
  return (React.createElement(ChoiceAutocompleteItem, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, onQrItemChange: onQrItemChange }));
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
+ import type { QuestionnaireItem } from 'fhir/r4';
4
+ interface ChoiceRadioAnswerOptionFieldsProps {
5
+ qItem: QuestionnaireItem;
6
+ valueRadio: string | null;
7
+ orientation: ChoiceItemOrientation;
8
+ readOnly: boolean;
9
+ onCheckedChange: (newValue: string) => void;
10
+ }
11
+ declare function ChoiceRadioAnswerOptionFields(props: ChoiceRadioAnswerOptionFieldsProps): React.JSX.Element;
12
+ export default ChoiceRadioAnswerOptionFields;
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React from 'react';
18
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
19
+ import RadioAnswerOptionButtons from '../ItemParts/RadioAnswerOptionButtons';
20
+ import { StyledRadioGroup } from '../Item.styles';
21
+ function ChoiceRadioAnswerOptionFields(props) {
22
+ const { qItem, valueRadio, orientation, readOnly, onCheckedChange } = props;
23
+ return (React.createElement(StyledRadioGroup, { row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio, "data-test": "q-item-radio-group" },
24
+ React.createElement(RadioAnswerOptionButtons, { qItem: qItem, readOnly: readOnly })));
25
+ }
26
+ export default ChoiceRadioAnswerOptionFields;
27
+ //# sourceMappingURL=ChoiceRadioAnswerOptionFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceRadioAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,SAAS,6BAA6B,CAAC,KAAyC;IAC9E,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE5E,OAAO,CACL,oBAAC,gBAAgB,IACf,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,UAAU,eACP,oBAAoB;QAC9B,oBAAC,wBAAwB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C,CACpB,CAAC;AACJ,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
2
+ import type { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
3
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
4
4
  import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
5
5
  interface ChoiceRadioAnswerOptionItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute {
@@ -16,17 +16,14 @@
16
16
  */
17
17
  import React from 'react';
18
18
  import Grid from '@mui/material/Grid';
19
- import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
20
19
  import { findInAnswerOptions, getQrChoiceValue } from '../../../utils/choice';
21
- import ChoiceRadioSingle from './ChoiceRadioSingle';
22
20
  import { createEmptyQrItem } from '../../../utils/qrItem';
23
- import { QRadioGroup } from '../Item.styles';
24
21
  import { FullWidthFormComponentBox } from '../../Box.styles';
25
22
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
26
23
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
27
24
  import LabelWrapper from '../ItemParts/ItemLabelWrapper';
25
+ import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
28
26
  function ChoiceRadioAnswerOptionItem(props) {
29
- var _a;
30
27
  const { qItem, qrItem, isRepeated, onQrItemChange, orientation } = props;
31
28
  // Init input value
32
29
  const qrChoiceRadio = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
@@ -34,37 +31,25 @@ function ChoiceRadioAnswerOptionItem(props) {
34
31
  // Get additional rendering extensions
35
32
  const { displayInstructions, readOnly } = useRenderingExtensions(qItem);
36
33
  // Event handlers
37
- function handleChange(e) {
34
+ function handleChange(newValue) {
38
35
  if (qItem.answerOption) {
39
- const qrAnswer = findInAnswerOptions(qItem.answerOption, e.target.value);
36
+ const qrAnswer = findInAnswerOptions(qItem.answerOption, newValue);
40
37
  if (qrAnswer) {
41
38
  onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [qrAnswer] }));
42
39
  }
43
40
  }
44
41
  }
45
- const choiceRadio = (React.createElement(QRadioGroup, { row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: handleChange, value: valueRadio, "data-test": "q-item-radio-group" }, (_a = qItem.answerOption) === null || _a === void 0 ? void 0 : _a.map((option) => {
46
- var _a, _b, _c;
47
- if (option['valueCoding']) {
48
- return (React.createElement(ChoiceRadioSingle, { key: (_a = option.valueCoding.code) !== null && _a !== void 0 ? _a : '', value: (_b = option.valueCoding.code) !== null && _b !== void 0 ? _b : '', label: (_c = option.valueCoding.display) !== null && _c !== void 0 ? _c : `${option.valueCoding.code}`, readOnly: readOnly }));
49
- }
50
- else if (option['valueString']) {
51
- return (React.createElement(ChoiceRadioSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly }));
52
- }
53
- else if (option['valueInteger']) {
54
- return (React.createElement(ChoiceRadioSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly }));
55
- }
56
- else {
57
- return null;
58
- }
59
- })));
60
- const renderQItemChoiceRadio = isRepeated ? (React.createElement(React.Fragment, null, choiceRadio)) : (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-option-box" },
42
+ // TODO need to put in showText? in repopulate
43
+ if (isRepeated) {
44
+ return (React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, valueRadio: valueRadio, orientation: orientation, readOnly: readOnly, onCheckedChange: handleChange }));
45
+ }
46
+ return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-option-box" },
61
47
  React.createElement(Grid, { container: true, columnSpacing: 6 },
62
48
  React.createElement(Grid, { item: true, xs: 5 },
63
49
  React.createElement(LabelWrapper, { qItem: qItem })),
64
50
  React.createElement(Grid, { item: true, xs: 7 },
65
- choiceRadio,
51
+ React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, valueRadio: valueRadio, orientation: orientation, readOnly: readOnly, onCheckedChange: handleChange }),
66
52
  React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
67
- return React.createElement(React.Fragment, null, renderQItemChoiceRadio);
68
53
  }
69
54
  export default ChoiceRadioAnswerOptionItem;
70
55
  //# sourceMappingURL=ChoiceRadioAnswerOptionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAK3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAU5E,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEzE,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAEnD,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAExE,iBAAiB;IACjB,SAAS,YAAY,CAAC,QAAgB;QACpC,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,cAAc,iCAAM,iBAAiB,CAAC,KAAK,CAAC,KAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAG,CAAC;aACrE;SACF;IACH,CAAC;IAED,8CAA8C;IAE9C,IAAI,UAAU,EAAE;QACd,OAAO,CACL,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B,CACH,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBAAW,uCAAuC;QAC1E,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB;YACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B;gBACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAC5D,CACF,CACmB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
3
+ import type { Coding, QuestionnaireItem } from 'fhir/r4';
4
+ interface ChoiceRadioAnswerValueSetFieldsProps {
5
+ qItem: QuestionnaireItem;
6
+ codings: Coding[];
7
+ valueRadio: string | null;
8
+ orientation: ChoiceItemOrientation;
9
+ readOnly: boolean;
10
+ serverError: Error | null;
11
+ onCheckedChange: (newValue: string) => void;
12
+ }
13
+ declare function ChoiceRadioAnswerValueSetFields(props: ChoiceRadioAnswerValueSetFieldsProps): React.JSX.Element;
14
+ export default ChoiceRadioAnswerValueSetFields;