@aehrc/smart-forms-renderer 0.8.0 → 0.9.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 (477) hide show
  1. package/lib/components/Alert.styles.d.ts +2 -7
  2. package/lib/components/Box.styles.d.ts +6 -21
  3. package/lib/components/FormComponents/BooleanItem/BooleanItem.d.ts +3 -3
  4. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +5 -4
  5. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  6. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +3 -3
  7. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +6 -5
  8. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  9. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  10. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +15 -14
  11. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  12. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +3 -3
  13. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +15 -14
  14. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  15. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +3 -3
  16. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +8 -8
  17. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  18. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +3 -3
  19. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +6 -6
  20. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  21. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +3 -3
  22. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +6 -5
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +1 -0
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +2 -2
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +3 -3
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +8 -7
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +1 -0
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +2 -2
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +3 -3
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +8 -7
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  36. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.d.ts +18 -0
  37. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.js +31 -0
  38. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.js.map +1 -0
  39. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.d.ts +9 -0
  40. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js +68 -0
  41. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js.map +1 -0
  42. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.d.ts +9 -0
  43. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.js +75 -0
  44. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.js.map +1 -0
  45. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.d.ts +9 -0
  46. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.js +75 -0
  47. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.js.map +1 -0
  48. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.d.ts +18 -0
  49. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.js +33 -0
  50. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.js.map +1 -0
  51. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.d.ts +11 -0
  52. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.js +55 -0
  53. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.js.map +1 -0
  54. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.d.ts +9 -0
  55. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js +13 -0
  56. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js.map +1 -0
  57. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.d.ts +5 -0
  58. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.js +20 -0
  59. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.js.map +1 -0
  60. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.d.ts +5 -0
  61. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.js +27 -0
  62. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.js.map +1 -0
  63. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.d.ts +1 -0
  64. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.js +18 -0
  65. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.js.map +1 -0
  66. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.d.ts +1 -0
  67. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js +18 -0
  68. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js.map +1 -0
  69. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.d.ts +9 -0
  70. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.js +121 -0
  71. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.js.map +1 -0
  72. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.d.ts +9 -0
  73. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.js +71 -0
  74. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.js.map +1 -0
  75. package/lib/components/FormComponents/CustomDateItem/index.d.ts +1 -0
  76. package/lib/components/FormComponents/CustomDateItem/index.js +18 -0
  77. package/lib/components/FormComponents/CustomDateItem/index.js.map +1 -0
  78. package/lib/components/FormComponents/DateItem/DateItem.d.ts +3 -3
  79. package/lib/components/FormComponents/DateItem/DateItem.js +5 -4
  80. package/lib/components/FormComponents/DateItem/DateItem.js.map +1 -1
  81. package/lib/components/FormComponents/DateItem/DatePicker.d.ts +2 -0
  82. package/lib/components/FormComponents/DateItem/DatePicker.js +42 -0
  83. package/lib/components/FormComponents/DateItem/DatePicker.js.map +1 -0
  84. package/lib/components/FormComponents/DateItem/DatePickerField.d.ts +8 -0
  85. package/lib/components/FormComponents/DateItem/DatePickerField.js +24 -0
  86. package/lib/components/FormComponents/DateItem/DatePickerField.js.map +1 -0
  87. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +3 -3
  88. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +5 -4
  89. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -1
  90. package/lib/components/FormComponents/DecimalItem/DecimalItem.d.ts +3 -3
  91. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +7 -7
  92. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  93. package/lib/components/FormComponents/DisplayItem/DisplayBox.d.ts +0 -0
  94. package/lib/components/FormComponents/DisplayItem/DisplayBox.js +2 -0
  95. package/lib/components/FormComponents/DisplayItem/DisplayBox.js.map +1 -0
  96. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.d.ts +4 -0
  97. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.js +35 -0
  98. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.js.map +1 -0
  99. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.d.ts +3 -1
  100. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +2 -2
  101. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -1
  102. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.d.ts +2 -7
  103. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +0 -1
  104. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -1
  105. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +2 -2
  106. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
  107. package/lib/components/FormComponents/GridGroup/GridGroup.d.ts +3 -3
  108. package/lib/components/FormComponents/GridGroup/GridGroup.js +16 -9
  109. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  110. package/lib/components/FormComponents/GridGroup/GridRow.d.ts +3 -3
  111. package/lib/components/FormComponents/GridGroup/GridRow.js +4 -4
  112. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  113. package/lib/components/FormComponents/GridGroup/GridTable.d.ts +3 -2
  114. package/lib/components/FormComponents/GridGroup/GridTable.js +9 -4
  115. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
  116. package/lib/components/FormComponents/GridGroup/index.d.ts +1 -0
  117. package/lib/components/FormComponents/GridGroup/index.js +18 -0
  118. package/lib/components/FormComponents/GridGroup/index.js.map +1 -0
  119. package/lib/components/FormComponents/GroupItem/GroupHeading.d.ts +1 -0
  120. package/lib/components/FormComponents/GroupItem/GroupHeading.js +6 -5
  121. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  122. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +3 -4
  123. package/lib/components/FormComponents/GroupItem/GroupItem.js +7 -5
  124. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  125. package/lib/components/FormComponents/GroupItem/GroupItem.styles.d.ts +2 -6
  126. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +3 -3
  127. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +11 -12
  128. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  129. package/lib/components/FormComponents/IntegerItem/IntegerItem.d.ts +3 -3
  130. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +7 -7
  131. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  132. package/lib/components/FormComponents/IntegerItem/SliderItem.d.ts +9 -0
  133. package/lib/components/FormComponents/IntegerItem/SliderItem.js +75 -0
  134. package/lib/components/FormComponents/IntegerItem/SliderItem.js.map +1 -0
  135. package/lib/components/FormComponents/Item.styles.d.ts +0 -4
  136. package/lib/components/FormComponents/Item.styles.js +0 -4
  137. package/lib/components/FormComponents/Item.styles.js.map +1 -1
  138. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +2 -2
  139. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -1
  140. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +3 -2
  141. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +3 -3
  142. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  143. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +1 -0
  144. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +4 -6
  145. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
  146. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +1 -0
  147. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +2 -2
  148. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
  149. package/lib/components/FormComponents/Lists.styles.d.ts +2 -9
  150. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +3 -2
  151. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +2 -3
  152. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  153. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +3 -3
  154. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +8 -7
  155. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  156. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  157. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +16 -15
  158. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  159. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +3 -3
  160. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +6 -6
  161. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  162. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +3 -3
  163. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +7 -6
  164. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  165. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +3 -2
  166. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +2 -2
  167. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
  168. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +3 -3
  169. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +7 -6
  170. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  171. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +3 -2
  172. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +2 -2
  173. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
  174. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +3 -3
  175. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +8 -7
  176. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  177. package/lib/components/FormComponents/RepeatGroup/AddItemButton.d.ts +1 -0
  178. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +2 -2
  179. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  180. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +1 -0
  181. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +2 -2
  182. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -1
  183. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
  184. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +20 -7
  185. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  186. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +2 -2
  187. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +5 -3
  188. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  189. package/lib/components/FormComponents/RepeatItem/AddItemButton.d.ts +1 -0
  190. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +2 -2
  191. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  192. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.d.ts +1 -0
  193. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js +2 -2
  194. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -1
  195. package/lib/components/FormComponents/RepeatItem/RepeatField.d.ts +3 -3
  196. package/lib/components/FormComponents/RepeatItem/RepeatField.js +5 -3
  197. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
  198. package/lib/components/FormComponents/RepeatItem/RepeatItem.d.ts +4 -3
  199. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +15 -5
  200. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  201. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +4 -18
  202. package/lib/components/FormComponents/RepeatItem/index.d.ts +1 -0
  203. package/lib/components/FormComponents/RepeatItem/index.js +18 -0
  204. package/lib/components/FormComponents/RepeatItem/index.js.map +1 -0
  205. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +3 -3
  206. package/lib/components/FormComponents/SingleItem/SingleItem.js +4 -2
  207. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  208. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +3 -3
  209. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +20 -15
  210. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  211. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.d.ts +4 -0
  212. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.js +35 -0
  213. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.js.map +1 -0
  214. package/lib/components/FormComponents/SliderItem/Slider.styles.d.ts +6 -0
  215. package/lib/components/FormComponents/SliderItem/Slider.styles.js +33 -0
  216. package/lib/components/FormComponents/SliderItem/Slider.styles.js.map +1 -0
  217. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.d.ts +8 -0
  218. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.js +28 -0
  219. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.js.map +1 -0
  220. package/lib/components/FormComponents/SliderItem/SliderField.d.ts +16 -0
  221. package/lib/components/FormComponents/SliderItem/SliderField.js +41 -0
  222. package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -0
  223. package/lib/components/FormComponents/SliderItem/SliderItem.d.ts +9 -0
  224. package/lib/components/FormComponents/SliderItem/SliderItem.js +56 -0
  225. package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -0
  226. package/lib/components/FormComponents/SliderItem/SliderLabels.d.ts +7 -0
  227. package/lib/components/FormComponents/SliderItem/SliderLabels.js +32 -0
  228. package/lib/components/FormComponents/SliderItem/SliderLabels.js.map +1 -0
  229. package/lib/components/FormComponents/StringItem/StringItem.d.ts +3 -3
  230. package/lib/components/FormComponents/StringItem/StringItem.js +5 -4
  231. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  232. package/lib/components/FormComponents/Tables/AddRowButton.d.ts +1 -0
  233. package/lib/components/FormComponents/Tables/AddRowButton.js +2 -2
  234. package/lib/components/FormComponents/Tables/AddRowButton.js.map +1 -1
  235. package/lib/components/FormComponents/Tables/DeleteRowButton.d.ts +1 -0
  236. package/lib/components/FormComponents/Tables/DeleteRowButton.js +2 -2
  237. package/lib/components/FormComponents/Tables/DeleteRowButton.js.map +1 -1
  238. package/lib/components/FormComponents/Tables/GroupTable.d.ts +4 -3
  239. package/lib/components/FormComponents/Tables/GroupTable.js +25 -6
  240. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  241. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +3 -3
  242. package/lib/components/FormComponents/Tables/GroupTableRow.js +4 -4
  243. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  244. package/lib/components/FormComponents/Tables/QItemGroupTable.js +5 -7
  245. package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -1
  246. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js +2 -2
  247. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -1
  248. package/lib/components/FormComponents/TextItem/TextItem.d.ts +3 -3
  249. package/lib/components/FormComponents/TextItem/TextItem.js +5 -4
  250. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  251. package/lib/components/FormComponents/TimeItem/TimeItem.d.ts +3 -3
  252. package/lib/components/FormComponents/TimeItem/TimeItem.js +5 -4
  253. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
  254. package/lib/components/FormComponents/UrlItem/UrlItem.d.ts +3 -3
  255. package/lib/components/FormComponents/UrlItem/UrlItem.js +5 -4
  256. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
  257. package/lib/components/FormComponents/index.d.ts +3 -0
  258. package/lib/components/FormComponents/index.js +3 -0
  259. package/lib/components/FormComponents/index.js.map +1 -1
  260. package/lib/components/Lists.styles.d.ts +2 -9
  261. package/lib/components/Renderer/BaseRenderer.js +3 -5
  262. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  263. package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
  264. package/lib/components/Renderer/FormBodyCollapsible.js +6 -5
  265. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  266. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
  267. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
  268. package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
  269. package/lib/components/Renderer/FormBodyTabbed.js +6 -5
  270. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  271. package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
  272. package/lib/components/Renderer/FormTopLevelItem.js +9 -5
  273. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  274. package/lib/components/Tabs/FormBodySingleTab.js +1 -1
  275. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  276. package/lib/components/Tabs/ShowCompletedTabsSection.js +1 -1
  277. package/lib/components/Tabs/ShowCompletedTabsSection.js.map +1 -1
  278. package/lib/hooks/useDateSeparatorValidation.d.ts +2 -0
  279. package/lib/hooks/useDateSeparatorValidation.js +25 -0
  280. package/lib/hooks/useDateSeparatorValidation.js.map +1 -0
  281. package/lib/hooks/useDateValidation.d.ts +2 -0
  282. package/lib/hooks/useDateValidation.js +61 -0
  283. package/lib/hooks/useDateValidation.js.map +1 -0
  284. package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -1
  285. package/lib/hooks/useDecimalCalculatedExpression.js +3 -3
  286. package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -1
  287. package/lib/hooks/useInitialiseRepeatAnswers.d.ts +1 -1
  288. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
  289. package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -1
  290. package/lib/hooks/useIntegerCalculatedExpression.js +3 -3
  291. package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -1
  292. package/lib/hooks/useMinimalStringCalculatedExpression.d.ts +11 -0
  293. package/lib/hooks/useMinimalStringCalculatedExpression.js +37 -0
  294. package/lib/hooks/useMinimalStringCalculatedExpression.js.map +1 -0
  295. package/lib/hooks/useReadOnly.d.ts +3 -0
  296. package/lib/hooks/useReadOnly.js +26 -0
  297. package/lib/hooks/useReadOnly.js.map +1 -0
  298. package/lib/hooks/useSliderExtensions.d.ts +10 -0
  299. package/lib/hooks/useSliderExtensions.js +37 -0
  300. package/lib/hooks/useSliderExtensions.js.map +1 -0
  301. package/lib/hooks/useTerminologyServerQuery.js +0 -1
  302. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  303. package/lib/index.d.ts +3 -3
  304. package/lib/index.js +15 -6
  305. package/lib/index.js.map +1 -1
  306. package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
  307. package/lib/interfaces/index.d.ts +2 -0
  308. package/lib/interfaces/index.js +18 -0
  309. package/lib/interfaces/index.js.map +1 -0
  310. package/lib/interfaces/questionnaireStore.interface.d.ts +1 -0
  311. package/lib/interfaces/renderProps.interface.d.ts +7 -3
  312. package/lib/stores/useQuestionnaireStore.d.ts +1 -0
  313. package/lib/stores/useQuestionnaireStore.js +28 -12
  314. package/lib/stores/useQuestionnaireStore.js.map +1 -1
  315. package/lib/test.d.ts +4 -0
  316. package/lib/test.js +18 -0
  317. package/lib/test.js.map +1 -0
  318. package/lib/theme/customGlobalStyles.js +0 -4
  319. package/lib/theme/customGlobalStyles.js.map +1 -1
  320. package/lib/theme/overrides/Typography.d.ts +13 -0
  321. package/lib/theme/overrides/Typography.js +31 -0
  322. package/lib/theme/overrides/Typography.js.map +1 -0
  323. package/lib/theme/typography.d.ts +0 -2
  324. package/lib/theme/typography.js +3 -5
  325. package/lib/theme/typography.js.map +1 -1
  326. package/lib/utils/calculatedExpression.d.ts +17 -1
  327. package/lib/utils/calculatedExpression.js +71 -20
  328. package/lib/utils/calculatedExpression.js.map +1 -1
  329. package/lib/utils/dayjsExtend.d.ts +1 -0
  330. package/lib/utils/dayjsExtend.js +22 -0
  331. package/lib/utils/dayjsExtend.js.map +1 -0
  332. package/lib/utils/enableWhenExpression.d.ts +5 -1
  333. package/lib/utils/enableWhenExpression.js +26 -21
  334. package/lib/utils/enableWhenExpression.js.map +1 -1
  335. package/lib/utils/fhirpath.d.ts +3 -1
  336. package/lib/utils/fhirpath.js +25 -15
  337. package/lib/utils/fhirpath.js.map +1 -1
  338. package/lib/utils/index.d.ts +1 -0
  339. package/lib/utils/index.js +1 -0
  340. package/lib/utils/index.js.map +1 -1
  341. package/lib/utils/initialiseForm.d.ts +2 -0
  342. package/lib/utils/initialiseForm.js +13 -5
  343. package/lib/utils/initialiseForm.js.map +1 -1
  344. package/lib/utils/itemControl.d.ts +12 -0
  345. package/lib/utils/itemControl.js +30 -0
  346. package/lib/utils/itemControl.js.map +1 -1
  347. package/lib/utils/launchContext.d.ts +0 -0
  348. package/lib/utils/launchContext.js +2 -0
  349. package/lib/utils/launchContext.js.map +1 -0
  350. package/lib/utils/mapItem.d.ts +1 -1
  351. package/lib/utils/qrItem.d.ts +1 -7
  352. package/lib/utils/qrItem.js +1 -12
  353. package/lib/utils/qrItem.js.map +1 -1
  354. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -2
  355. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  356. package/lib/utils/removeHidden.js +2 -1
  357. package/lib/utils/removeHidden.js.map +1 -1
  358. package/lib/utils/repopulateIntoResponse.js +90 -29
  359. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  360. package/lib/utils/repopulateItems.d.ts +14 -1
  361. package/lib/utils/repopulateItems.js +251 -70
  362. package/lib/utils/repopulateItems.js.map +1 -1
  363. package/lib/utils/repopulateRepeatGroup.js +9 -1
  364. package/lib/utils/repopulateRepeatGroup.js.map +1 -1
  365. package/lib/utils/slider.d.ts +28 -0
  366. package/lib/utils/slider.js +89 -0
  367. package/lib/utils/slider.js.map +1 -0
  368. package/package.json +20 -18
  369. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +10 -7
  370. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +11 -8
  371. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +46 -35
  372. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +48 -37
  373. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +21 -11
  374. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +11 -10
  375. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +12 -9
  376. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +3 -2
  377. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +16 -11
  378. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +3 -2
  379. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +14 -9
  380. package/src/components/FormComponents/CustomDateItem/CustomDateItem.tsx +140 -0
  381. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.tsx +96 -0
  382. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.tsx +81 -0
  383. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.tsx +33 -0
  384. package/src/components/FormComponents/{Typography.styles.ts → CustomDateItem/customDateTimePicker/MuiDatePicker.ts} +4 -7
  385. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/index.ts +18 -0
  386. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.ts +18 -0
  387. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.ts +154 -0
  388. package/src/components/FormComponents/CustomDateItem/index.ts +18 -0
  389. package/src/components/FormComponents/DateItem/DateItem.tsx +10 -8
  390. package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +10 -8
  391. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +11 -10
  392. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +0 -1
  393. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +8 -3
  394. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +2 -2
  395. package/src/components/FormComponents/GridGroup/GridGroup.tsx +49 -15
  396. package/src/components/FormComponents/GridGroup/GridRow.tsx +12 -7
  397. package/src/components/FormComponents/GridGroup/GridTable.tsx +32 -8
  398. package/src/components/FormComponents/GridGroup/index.ts +18 -0
  399. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +12 -6
  400. package/src/components/FormComponents/GroupItem/GroupItem.tsx +13 -8
  401. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +33 -11
  402. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +11 -10
  403. package/src/components/FormComponents/Item.styles.ts +0 -5
  404. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +2 -2
  405. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +6 -5
  406. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +10 -5
  407. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +3 -2
  408. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +10 -4
  409. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +15 -9
  410. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +58 -47
  411. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +15 -6
  412. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +13 -10
  413. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +10 -4
  414. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +12 -7
  415. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +10 -4
  416. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +14 -9
  417. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +3 -2
  418. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +3 -2
  419. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +61 -10
  420. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +23 -7
  421. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +3 -2
  422. package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +3 -2
  423. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +33 -9
  424. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +44 -7
  425. package/src/components/FormComponents/RepeatItem/index.ts +18 -0
  426. package/src/components/FormComponents/SingleItem/SingleItem.tsx +12 -6
  427. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +41 -11
  428. package/src/components/FormComponents/SliderItem/Slider.styles.ts +34 -0
  429. package/src/components/FormComponents/SliderItem/SliderDisplayValue.tsx +43 -0
  430. package/src/components/FormComponents/SliderItem/SliderField.tsx +88 -0
  431. package/src/components/FormComponents/SliderItem/SliderItem.tsx +115 -0
  432. package/src/components/FormComponents/SliderItem/SliderLabels.tsx +53 -0
  433. package/src/components/FormComponents/StringItem/StringItem.tsx +9 -7
  434. package/src/components/FormComponents/Tables/AddRowButton.tsx +3 -2
  435. package/src/components/FormComponents/Tables/DeleteRowButton.tsx +3 -2
  436. package/src/components/FormComponents/Tables/GroupTable.tsx +70 -7
  437. package/src/components/FormComponents/Tables/GroupTableRow.tsx +12 -7
  438. package/src/components/FormComponents/TextItem/TextItem.tsx +9 -7
  439. package/src/components/FormComponents/TimeItem/TimeItem.tsx +10 -8
  440. package/src/components/FormComponents/UrlItem/UrlItem.tsx +9 -7
  441. package/src/components/FormComponents/index.ts +3 -0
  442. package/src/components/Renderer/BaseRenderer.tsx +5 -12
  443. package/src/components/Renderer/FormBodyCollapsible.tsx +9 -7
  444. package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +2 -3
  445. package/src/components/Renderer/FormBodyTabbed.tsx +9 -7
  446. package/src/components/Renderer/FormTopLevelItem.tsx +21 -13
  447. package/src/components/Tabs/FormBodySingleTab.tsx +1 -1
  448. package/src/components/Tabs/ShowCompletedTabsSection.tsx +1 -1
  449. package/src/hooks/useDateValidation.tsx +79 -0
  450. package/src/hooks/useDecimalCalculatedExpression.ts +3 -4
  451. package/src/hooks/useInitialiseRepeatAnswers.ts +1 -1
  452. package/src/hooks/useIntegerCalculatedExpression.ts +3 -4
  453. package/src/hooks/useReadOnly.ts +30 -0
  454. package/src/hooks/useSliderExtensions.ts +50 -0
  455. package/src/hooks/useTerminologyServerQuery.ts +0 -2
  456. package/src/index.ts +12 -9
  457. package/src/interfaces/calculatedExpression.interface.ts +1 -1
  458. package/src/interfaces/questionnaireStore.interface.ts +1 -0
  459. package/src/interfaces/renderProps.interface.ts +8 -3
  460. package/src/stores/useQuestionnaireStore.ts +39 -16
  461. package/src/theme/customGlobalStyles.tsx +0 -4
  462. package/src/theme/typography.ts +3 -5
  463. package/src/utils/calculatedExpression.ts +104 -35
  464. package/src/utils/dayjsExtend.ts +23 -0
  465. package/src/utils/enableWhenExpression.ts +49 -34
  466. package/src/utils/fhirpath.ts +50 -31
  467. package/src/utils/index.ts +1 -0
  468. package/src/utils/initialiseForm.ts +15 -5
  469. package/src/utils/itemControl.ts +32 -0
  470. package/src/utils/mapItem.ts +1 -1
  471. package/src/utils/qrItem.ts +1 -16
  472. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +4 -2
  473. package/src/utils/removeHidden.ts +2 -1
  474. package/src/utils/repopulateIntoResponse.ts +134 -43
  475. package/src/utils/repopulateItems.ts +379 -101
  476. package/src/utils/slider.ts +112 -0
  477. package/src/utils/repopulateRepeatGroup.ts +0 -68
@@ -17,14 +17,14 @@
17
17
 
18
18
  import React from 'react';
19
19
  import type {
20
+ PropsWithParentIsReadOnlyAttribute,
20
21
  PropsWithQrItemChangeHandler,
21
22
  PropsWithQrRepeatGroupChangeHandler
22
23
  } from '../../../interfaces/renderProps.interface';
23
24
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
24
- import { isSpecificItemControl } from '../../../utils';
25
+ import { isRepeatItemAndNotCheckbox, isSpecificItemControl } from '../../../utils';
25
26
  import GroupTable from '../Tables/GroupTable';
26
27
  import RepeatGroup from '../RepeatGroup/RepeatGroup';
27
- import { isRepeatItemAndNotCheckbox } from '../../../utils/qItem';
28
28
  import RepeatItem from '../RepeatItem/RepeatItem';
29
29
  import SingleItem from '../SingleItem/SingleItem';
30
30
  import useHidden from '../../../hooks/useHidden';
@@ -32,15 +32,23 @@ import GroupItem from './GroupItem';
32
32
  import GridGroup from '../GridGroup/GridGroup';
33
33
 
34
34
  interface GroupItemSwitcherProps
35
- extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
36
- PropsWithQrRepeatGroupChangeHandler {
35
+ extends PropsWithQrItemChangeHandler,
36
+ PropsWithQrRepeatGroupChangeHandler,
37
+ PropsWithParentIsReadOnlyAttribute {
37
38
  qItem: QuestionnaireItem;
38
- qrItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[];
39
+ qrItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | undefined;
39
40
  groupCardElevation: number;
40
41
  }
41
42
 
42
43
  function GroupItemSwitcher(props: GroupItemSwitcherProps) {
43
- const { qItem, qrItemOrItems, groupCardElevation, onQrItemChange, onQrRepeatGroupChange } = props;
44
+ const {
45
+ qItem,
46
+ qrItemOrItems,
47
+ groupCardElevation,
48
+ parentIsReadOnly,
49
+ onQrItemChange,
50
+ onQrRepeatGroupChange
51
+ } = props;
44
52
 
45
53
  const itemIsHidden = useHidden(qItem);
46
54
  if (itemIsHidden) {
@@ -64,6 +72,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
64
72
  qItem={qItem}
65
73
  qrItems={qrItems}
66
74
  groupCardElevation={groupCardElevation + 1}
75
+ parentIsReadOnly={parentIsReadOnly}
67
76
  onQrRepeatGroupChange={onQrRepeatGroupChange}
68
77
  />
69
78
  );
@@ -74,6 +83,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
74
83
  qItem={qItem}
75
84
  qrItems={qrItems}
76
85
  groupCardElevation={groupCardElevation + 1}
86
+ parentIsReadOnly={parentIsReadOnly}
77
87
  onQrRepeatGroupChange={onQrRepeatGroupChange}
78
88
  />
79
89
  );
@@ -86,8 +96,9 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
86
96
  return (
87
97
  <GridGroup
88
98
  qItem={qItem}
89
- qrItem={qrItem}
99
+ qrItem={qrItem ?? null}
90
100
  groupCardElevation={groupCardElevation}
101
+ parentIsReadOnly={parentIsReadOnly}
91
102
  onQrItemChange={onQrItemChange}
92
103
  />
93
104
  );
@@ -104,6 +115,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
104
115
  qItem={qItem}
105
116
  qrItems={[]}
106
117
  groupCardElevation={groupCardElevation + 1}
118
+ parentIsReadOnly={parentIsReadOnly}
107
119
  onQrRepeatGroupChange={onQrRepeatGroupChange}
108
120
  />
109
121
  );
@@ -114,12 +126,20 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
114
126
  qItem={qItem}
115
127
  qrItems={[]}
116
128
  groupCardElevation={groupCardElevation + 1}
129
+ parentIsReadOnly={parentIsReadOnly}
117
130
  onQrRepeatGroupChange={onQrRepeatGroupChange}
118
131
  />
119
132
  );
120
133
  }
121
134
 
122
- return <RepeatItem qItem={qItem} qrItem={qrItem} onQrItemChange={onQrItemChange} />;
135
+ return (
136
+ <RepeatItem
137
+ qItem={qItem}
138
+ qrItem={qrItem ?? null}
139
+ parentIsReadOnly={parentIsReadOnly}
140
+ onQrItemChange={onQrItemChange}
141
+ />
142
+ );
123
143
  }
124
144
 
125
145
  // if qItem is not a repeating question or is a checkbox
@@ -127,21 +147,23 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
127
147
  return (
128
148
  <GroupItem
129
149
  qItem={qItem}
130
- qrItem={qrItem}
150
+ qrItem={qrItem ?? null}
131
151
  isRepeated={false}
132
152
  groupCardElevation={groupCardElevation + 1}
153
+ parentIsReadOnly={parentIsReadOnly}
133
154
  onQrItemChange={onQrItemChange}
134
155
  />
135
156
  );
136
157
  }
137
158
 
138
- // Defaults to a normal QItemSwitcher
159
+ // Defaults to a single, non-group item
139
160
  return (
140
161
  <SingleItem
141
162
  qItem={qItem}
142
- qrItem={qrItem}
163
+ qrItem={qrItem ?? null}
143
164
  isRepeated={false}
144
165
  isTabled={false}
166
+ parentIsReadOnly={parentIsReadOnly}
145
167
  onQrItemChange={onQrItemChange}
146
168
  />
147
169
  );
@@ -19,13 +19,14 @@ import React, { useCallback } from 'react';
19
19
  import type {
20
20
  PropsWithIsRepeatedAttribute,
21
21
  PropsWithIsTabledAttribute,
22
+ PropsWithParentIsReadOnlyAttribute,
22
23
  PropsWithQrItemChangeHandler
23
24
  } from '../../../interfaces/renderProps.interface';
24
25
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
25
26
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
26
27
  import useValidationError from '../../../hooks/useValidationError';
27
28
  import debounce from 'lodash.debounce';
28
- import { createEmptyQrItemWithUnit } from '../../../utils/qrItem';
29
+ import { createEmptyQrItem } from '../../../utils/qrItem';
29
30
  import { DEBOUNCE_DURATION } from '../../../utils/debounce';
30
31
  import { FullWidthFormComponentBox } from '../../Box.styles';
31
32
  import IntegerField from './IntegerField';
@@ -33,24 +34,25 @@ import useIntegerCalculatedExpression from '../../../hooks/useIntegerCalculatedE
33
34
  import { parseValidInteger } from '../../../utils/parseInputs';
34
35
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
35
36
  import useNumberInput from '../../../hooks/useNumberInput';
37
+ import useReadOnly from '../../../hooks/useReadOnly';
36
38
 
37
39
  interface IntegerItemProps
38
- extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
40
+ extends PropsWithQrItemChangeHandler,
39
41
  PropsWithIsRepeatedAttribute,
40
- PropsWithIsTabledAttribute {
42
+ PropsWithIsTabledAttribute,
43
+ PropsWithParentIsReadOnlyAttribute {
41
44
  qItem: QuestionnaireItem;
42
- qrItem: QuestionnaireResponseItem;
45
+ qrItem: QuestionnaireResponseItem | null;
43
46
  }
44
47
 
45
48
  function IntegerItem(props: IntegerItemProps) {
46
- const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
49
+ const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
47
50
 
48
- // Get additional rendering extensions
51
+ const readOnly = useReadOnly(qItem, parentIsReadOnly);
49
52
  const {
50
53
  displayUnit,
51
54
  displayPrompt,
52
55
  displayInstructions,
53
- readOnly,
54
56
  entryFormat,
55
57
  regexValidation,
56
58
  maxLength
@@ -75,7 +77,6 @@ function IntegerItem(props: IntegerItemProps) {
75
77
  const { calcExpUpdated } = useIntegerCalculatedExpression({
76
78
  qItem: qItem,
77
79
  inputValue: value,
78
- displayUnit: displayUnit,
79
80
  setInputValue: (newValue) => {
80
81
  setValue(newValue);
81
82
  },
@@ -94,7 +95,7 @@ function IntegerItem(props: IntegerItemProps) {
94
95
  const updateQrItemWithDebounce = useCallback(
95
96
  debounce((newValue: number) => {
96
97
  onQrItemChange({
97
- ...createEmptyQrItemWithUnit(qItem, displayUnit),
98
+ ...createEmptyQrItem(qItem),
98
99
  answer: [{ valueInteger: newValue }]
99
100
  });
100
101
  }, DEBOUNCE_DURATION),
@@ -120,7 +121,7 @@ function IntegerItem(props: IntegerItemProps) {
120
121
 
121
122
  return (
122
123
  <FullWidthFormComponentBox data-test="q-item-integer-box">
123
- <ItemFieldGrid qItem={qItem} displayInstructions={displayInstructions}>
124
+ <ItemFieldGrid qItem={qItem} displayInstructions={displayInstructions} readOnly={readOnly}>
124
125
  <IntegerField
125
126
  linkId={qItem.linkId}
126
127
  value={value}
@@ -17,7 +17,6 @@
17
17
 
18
18
  import FormGroup from '@mui/material/FormGroup';
19
19
  import RadioGroup from '@mui/material/RadioGroup';
20
- import Typography from '@mui/material/Typography';
21
20
  import { styled } from '@mui/material/styles';
22
21
 
23
22
  export const StyledFormGroup = styled(FormGroup)(() => ({
@@ -27,7 +26,3 @@ export const StyledFormGroup = styled(FormGroup)(() => ({
27
26
  export const StyledRadioGroup = styled(RadioGroup)(() => ({
28
27
  marginBottom: 4
29
28
  }));
30
-
31
- export const QItemTypography = styled(Typography)(() => ({
32
- marginTop: 4
33
- }));
@@ -17,7 +17,7 @@
17
17
 
18
18
  import React from 'react';
19
19
  import Fade from '@mui/material/Fade';
20
- import CheckIcon from '@mui/icons-material/Check';
20
+ import SyncIcon from '@mui/icons-material/Sync';
21
21
 
22
22
  interface FadingCheckIconProps {
23
23
  fadeIn: boolean;
@@ -28,7 +28,7 @@ function FadingCheckIcon(props: FadingCheckIconProps) {
28
28
 
29
29
  return (
30
30
  <Fade in={fadeIn} timeout={{ enter: 100, exit: 300 }}>
31
- <CheckIcon color="success" fontSize="small" />
31
+ <SyncIcon color="success" fontSize="small" />
32
32
  </Fade>
33
33
  );
34
34
  }
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import type { ReactNode } from 'react';
18
+ import type { ReactElement, ReactNode } from 'react';
19
19
  import React from 'react';
20
20
  import Grid from '@mui/material/Grid';
21
21
  import type { QuestionnaireItem } from 'fhir/r4';
@@ -25,20 +25,21 @@ import LabelWrapper from './ItemLabelWrapper';
25
25
  interface ItemFieldGridProps {
26
26
  children: ReactNode;
27
27
  qItem: QuestionnaireItem;
28
- displayInstructions: string;
28
+ displayInstructions: string | ReactElement;
29
+ readOnly: boolean;
29
30
  }
30
31
 
31
32
  function ItemFieldGrid(props: ItemFieldGridProps) {
32
- const { children, qItem, displayInstructions } = props;
33
+ const { children, qItem, displayInstructions, readOnly } = props;
33
34
 
34
35
  return (
35
36
  <Grid container columnSpacing={6}>
36
37
  <Grid item xs={5}>
37
- <LabelWrapper qItem={qItem} />
38
+ <LabelWrapper qItem={qItem} readOnly={readOnly} />
38
39
  </Grid>
39
40
  <Grid item xs={7}>
40
41
  {children}
41
- <DisplayInstructions displayInstructions={displayInstructions} />
42
+ <DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
42
43
  </Grid>
43
44
  </Grid>
44
45
  );
@@ -18,17 +18,18 @@
18
18
  import React, { memo } from 'react';
19
19
  import type { QuestionnaireItem } from 'fhir/r4';
20
20
  import { getMarkdownString, getXHtmlString } from '../../../utils/itemControl';
21
- import { QItemTypography } from '../Item.styles';
22
21
  import parse from 'html-react-parser';
23
22
  import Box from '@mui/material/Box';
24
23
  import ReactMarkdown from 'react-markdown';
24
+ import Typography from '@mui/material/Typography';
25
25
 
26
26
  interface ItemLabelTextProps {
27
27
  qItem: QuestionnaireItem;
28
+ readOnly?: boolean;
28
29
  }
29
30
 
30
31
  const ItemLabelText = memo(function ItemLabelText(props: ItemLabelTextProps) {
31
- const { qItem } = props;
32
+ const { qItem, readOnly } = props;
32
33
 
33
34
  // parse xHTML if found
34
35
  const xHtmlString = getXHtmlString(qItem);
@@ -47,12 +48,16 @@ const ItemLabelText = memo(function ItemLabelText(props: ItemLabelTextProps) {
47
48
  );
48
49
  }
49
50
 
50
- // parse regular text
51
51
  if (qItem.type === 'group') {
52
52
  return <>{qItem.text}</>;
53
- } else {
54
- return <QItemTypography>{qItem.text}</QItemTypography>;
55
53
  }
54
+
55
+ // parse regular text
56
+ return (
57
+ <Typography color={readOnly ? 'text.secondary' : 'text.primary'} sx={{ mt: 0.5 }}>
58
+ {qItem.text}
59
+ </Typography>
60
+ );
56
61
  });
57
62
 
58
63
  export default ItemLabelText;
@@ -24,16 +24,17 @@ import ItemLabelText from './ItemLabelText';
24
24
 
25
25
  interface LabelWrapperProps {
26
26
  qItem: QuestionnaireItem;
27
+ readOnly: boolean;
27
28
  }
28
29
 
29
30
  function ItemLabelWrapper(props: LabelWrapperProps) {
30
- const { qItem } = props;
31
+ const { qItem, readOnly } = props;
31
32
 
32
33
  const contextDisplayItems = getContextDisplays(qItem);
33
34
 
34
35
  return (
35
36
  <Box display="flex" alignItems="center" justifyContent="space-between">
36
- <ItemLabelText qItem={qItem} />
37
+ <ItemLabelText qItem={qItem} readOnly={readOnly} />
37
38
 
38
39
  <Box display="flex" columnGap={0.5}>
39
40
  {contextDisplayItems.map((item) => {
@@ -28,17 +28,23 @@ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
28
28
  import DoneIcon from '@mui/icons-material/Done';
29
29
  import ErrorIcon from '@mui/icons-material/Error';
30
30
  import type { Coding, QuestionnaireItem } from 'fhir/r4';
31
- import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
31
+ import type {
32
+ PropsWithIsTabledAttribute,
33
+ PropsWithParentIsReadOnlyAttribute
34
+ } from '../../../interfaces/renderProps.interface';
32
35
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
33
36
  import type { AlertColor } from '@mui/material/Alert';
34
37
 
35
- interface OpenChoiceAutocompleteFieldProps extends PropsWithIsTabledAttribute {
38
+ interface OpenChoiceAutocompleteFieldProps
39
+ extends PropsWithIsTabledAttribute,
40
+ PropsWithParentIsReadOnlyAttribute {
36
41
  qItem: QuestionnaireItem;
37
42
  options: Coding[];
38
43
  valueAutocomplete: string | Coding;
39
44
  input: string;
40
45
  loading: boolean;
41
46
  feedback: { message: string; color: AlertColor } | null;
47
+ readOnly: boolean;
42
48
  onInputChange: (newInput: string) => void;
43
49
  onValueChange: (newValue: Coding | string | null) => void;
44
50
  onUnfocus: () => void;
@@ -52,14 +58,14 @@ function OpenChoiceAutocompleteField(props: OpenChoiceAutocompleteFieldProps) {
52
58
  input,
53
59
  loading,
54
60
  feedback,
61
+ readOnly,
55
62
  isTabled,
56
63
  onInputChange,
57
64
  onValueChange,
58
65
  onUnfocus
59
66
  } = props;
60
67
 
61
- // Get additional rendering extensions
62
- const { displayUnit, displayPrompt, readOnly, entryFormat } = useRenderingExtensions(qItem);
68
+ const { displayUnit, displayPrompt, entryFormat } = useRenderingExtensions(qItem);
63
69
 
64
70
  return (
65
71
  <Box display="flex">
@@ -28,23 +28,30 @@ import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
28
28
  import type {
29
29
  PropsWithIsRepeatedAttribute,
30
30
  PropsWithIsTabledAttribute,
31
+ PropsWithParentIsReadOnlyAttribute,
31
32
  PropsWithQrItemChangeHandler
32
33
  } from '../../../interfaces/renderProps.interface';
33
34
  import { AUTOCOMPLETE_DEBOUNCE_DURATION } from '../../../utils/debounce';
34
35
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
35
36
  import LabelWrapper from '../ItemParts/ItemLabelWrapper';
36
37
  import OpenChoiceAutocompleteField from './OpenChoiceAutocompleteField';
38
+ import useReadOnly from '../../../hooks/useReadOnly';
37
39
 
38
40
  interface OpenChoiceAutocompleteItemProps
39
- extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
41
+ extends PropsWithQrItemChangeHandler,
40
42
  PropsWithIsRepeatedAttribute,
41
- PropsWithIsTabledAttribute {
43
+ PropsWithIsTabledAttribute,
44
+ PropsWithParentIsReadOnlyAttribute {
42
45
  qItem: QuestionnaireItem;
43
- qrItem: QuestionnaireResponseItem;
46
+ qrItem: QuestionnaireResponseItem | null;
44
47
  }
45
48
 
46
49
  function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
47
- const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
50
+ const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
51
+
52
+ const readOnly = useReadOnly(qItem, parentIsReadOnly);
53
+ const { displayInstructions } = useRenderingExtensions(qItem);
54
+
48
55
  const qrOpenChoice = qrItem ?? createEmptyQrItem(qItem);
49
56
 
50
57
  // Init input value
@@ -58,9 +65,6 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
58
65
  valueAutocomplete = '';
59
66
  }
60
67
 
61
- // Get additional rendering extensions
62
- const { displayInstructions } = useRenderingExtensions(qItem);
63
-
64
68
  const maxList = 10;
65
69
 
66
70
  const [input, setInput] = useState('');
@@ -120,6 +124,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
120
124
  input={input}
121
125
  loading={loading}
122
126
  feedback={feedback ?? null}
127
+ readOnly={readOnly}
123
128
  isTabled={isTabled}
124
129
  onInputChange={(newValue) => setInput(newValue)}
125
130
  onValueChange={handleValueChange}
@@ -132,7 +137,7 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
132
137
  <FullWidthFormComponentBox>
133
138
  <Grid container columnSpacing={6}>
134
139
  <Grid item xs={5}>
135
- <LabelWrapper qItem={qItem} />
140
+ <LabelWrapper qItem={qItem} readOnly={readOnly} />
136
141
  </Grid>
137
142
  <Grid item xs={7}>
138
143
  <OpenChoiceAutocompleteField
@@ -142,12 +147,13 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
142
147
  input={input}
143
148
  loading={loading}
144
149
  feedback={feedback ?? null}
150
+ readOnly={readOnly}
145
151
  isTabled={isTabled}
146
152
  onInputChange={(newValue) => setInput(newValue)}
147
153
  onValueChange={handleValueChange}
148
154
  onUnfocus={handleUnfocus}
149
155
  />
150
- <DisplayInstructions displayInstructions={displayInstructions} />
156
+ <DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
151
157
  </Grid>
152
158
  </Grid>
153
159
  </FullWidthFormComponentBox>
@@ -31,25 +31,40 @@ import debounce from 'lodash.debounce';
31
31
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
32
32
  import type {
33
33
  PropsWithIsRepeatedAttribute,
34
+ PropsWithParentIsReadOnlyAttribute,
34
35
  PropsWithQrItemChangeHandler,
35
- PropsWithTextShownAttribute
36
+ PropsWithShowMinimalViewAttribute
36
37
  } from '../../../interfaces/renderProps.interface';
37
38
  import { DEBOUNCE_DURATION } from '../../../utils/debounce';
38
39
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
39
40
  import LabelWrapper from '../ItemParts/ItemLabelWrapper';
40
41
  import OpenChoiceCheckboxAnswerOptionFields from './OpenChoiceCheckboxAnswerOptionFields';
42
+ import useReadOnly from '../../../hooks/useReadOnly';
41
43
 
42
44
  interface OpenChoiceCheckboxAnswerOptionItemProps
43
- extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
45
+ extends PropsWithQrItemChangeHandler,
44
46
  PropsWithIsRepeatedAttribute,
45
- PropsWithTextShownAttribute {
47
+ PropsWithShowMinimalViewAttribute,
48
+ PropsWithParentIsReadOnlyAttribute {
46
49
  qItem: QuestionnaireItem;
47
- qrItem: QuestionnaireResponseItem;
50
+ qrItem: QuestionnaireResponseItem | null;
48
51
  orientation: ChoiceItemOrientation;
49
52
  }
50
53
 
51
54
  function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptionItemProps) {
52
- const { qItem, qrItem, orientation, isRepeated, textShown = true, onQrItemChange } = props;
55
+ const {
56
+ qItem,
57
+ qrItem,
58
+ orientation,
59
+ isRepeated,
60
+ showMinimalView = false,
61
+ parentIsReadOnly,
62
+ onQrItemChange
63
+ } = props;
64
+
65
+ const readOnly = useReadOnly(qItem, parentIsReadOnly);
66
+ const openLabelText = getOpenLabelText(qItem);
67
+ const { displayInstructions } = useRenderingExtensions(qItem);
53
68
 
54
69
  // Init answers
55
70
  const qrOpenChoiceCheckbox = qrItem ?? createEmptyQrItem(qItem);
@@ -69,10 +84,6 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
69
84
  const [openLabelValue, setOpenLabelValue] = useState(initialOpenLabelValue);
70
85
  const [openLabelChecked, setOpenLabelChecked] = useState(initialOpenLabelChecked);
71
86
 
72
- // Get additional rendering extensions
73
- const openLabelText = getOpenLabelText(qItem);
74
- const { displayInstructions, readOnly } = useRenderingExtensions(qItem);
75
-
76
87
  // Event handlers
77
88
  const handleValueChange = useCallback(
78
89
  (changedOptionValue: string | null, changedOpenLabelValue: string | null) => {
@@ -126,49 +137,49 @@ function OpenChoiceCheckboxAnswerOptionItem(props: OpenChoiceCheckboxAnswerOptio
126
137
  updateOpenLabelValueWithDebounce(newValue);
127
138
  }
128
139
 
129
- if (textShown) {
140
+ if (showMinimalView) {
130
141
  return (
131
- <FullWidthFormComponentBox data-test="q-item-open-choice-checkbox-answer-option-box">
132
- <Grid container columnSpacing={6}>
133
- <Grid item xs={5}>
134
- <LabelWrapper qItem={qItem} />
135
- </Grid>
136
- <Grid item xs={7}>
137
- <OpenChoiceCheckboxAnswerOptionFields
138
- qItem={qItem}
139
- answers={answers}
140
- openLabelText={openLabelText}
141
- openLabelValue={openLabelValue}
142
- openLabelChecked={openLabelChecked}
143
- readOnly={readOnly}
144
- orientation={orientation}
145
- onValueChange={handleValueChange}
146
- onOpenLabelCheckedChange={handleOpenLabelCheckedChange}
147
- onOpenLabelInputChange={handleOpenLabelInputChange}
148
- />
149
- <DisplayInstructions displayInstructions={displayInstructions} />
150
- </Grid>
151
- </Grid>
152
- </FullWidthFormComponentBox>
142
+ <>
143
+ <OpenChoiceCheckboxAnswerOptionFields
144
+ qItem={qItem}
145
+ answers={answers}
146
+ openLabelText={openLabelText}
147
+ openLabelValue={openLabelValue}
148
+ openLabelChecked={openLabelChecked}
149
+ readOnly={readOnly}
150
+ orientation={orientation}
151
+ onValueChange={handleValueChange}
152
+ onOpenLabelCheckedChange={handleOpenLabelCheckedChange}
153
+ onOpenLabelInputChange={handleOpenLabelInputChange}
154
+ />
155
+ <DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
156
+ </>
153
157
  );
154
158
  }
155
159
 
156
160
  return (
157
- <>
158
- <OpenChoiceCheckboxAnswerOptionFields
159
- qItem={qItem}
160
- answers={answers}
161
- openLabelText={openLabelText}
162
- openLabelValue={openLabelValue}
163
- openLabelChecked={openLabelChecked}
164
- readOnly={readOnly}
165
- orientation={orientation}
166
- onValueChange={handleValueChange}
167
- onOpenLabelCheckedChange={handleOpenLabelCheckedChange}
168
- onOpenLabelInputChange={handleOpenLabelInputChange}
169
- />
170
- <DisplayInstructions displayInstructions={displayInstructions} />
171
- </>
161
+ <FullWidthFormComponentBox data-test="q-item-open-choice-checkbox-answer-option-box">
162
+ <Grid container columnSpacing={6}>
163
+ <Grid item xs={5}>
164
+ <LabelWrapper qItem={qItem} readOnly={readOnly} />
165
+ </Grid>
166
+ <Grid item xs={7}>
167
+ <OpenChoiceCheckboxAnswerOptionFields
168
+ qItem={qItem}
169
+ answers={answers}
170
+ openLabelText={openLabelText}
171
+ openLabelValue={openLabelValue}
172
+ openLabelChecked={openLabelChecked}
173
+ readOnly={readOnly}
174
+ orientation={orientation}
175
+ onValueChange={handleValueChange}
176
+ onOpenLabelCheckedChange={handleOpenLabelCheckedChange}
177
+ onOpenLabelInputChange={handleOpenLabelInputChange}
178
+ />
179
+ <DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
180
+ </Grid>
181
+ </Grid>
182
+ </FullWidthFormComponentBox>
172
183
  );
173
184
  }
174
185
 
@@ -28,21 +28,25 @@ import OpenChoiceRadioAnswerOptionItem from './OpenChoiceRadioAnswerOptionItem';
28
28
  import type {
29
29
  PropsWithIsRepeatedAttribute,
30
30
  PropsWithIsTabledAttribute,
31
+ PropsWithParentIsReadOnlyAttribute,
31
32
  PropsWithQrItemChangeHandler,
32
- PropsWithTextShownAttribute
33
+ PropsWithShowMinimalViewAttribute
33
34
  } from '../../../interfaces/renderProps.interface';
34
35
 
35
36
  interface OpenChoiceItemSwitcherProps
36
- extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
37
+ extends PropsWithQrItemChangeHandler,
37
38
  PropsWithIsRepeatedAttribute,
38
39
  PropsWithIsTabledAttribute,
39
- PropsWithTextShownAttribute {
40
+ PropsWithShowMinimalViewAttribute,
41
+ PropsWithParentIsReadOnlyAttribute {
40
42
  qItem: QuestionnaireItem;
41
- qrItem: QuestionnaireResponseItem;
43
+ qrItem: QuestionnaireResponseItem | null;
42
44
  }
43
45
 
44
46
  function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
45
- const { qItem, qrItem, isRepeated, isTabled, textShown, onQrItemChange } = props;
47
+ const { qItem, qrItem, isRepeated, isTabled, showMinimalView, parentIsReadOnly, onQrItemChange } =
48
+ props;
49
+
46
50
  const orientation = getChoiceOrientation(qItem);
47
51
 
48
52
  switch (getOpenChoiceControlType(qItem)) {
@@ -53,7 +57,8 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
53
57
  qrItem={qrItem}
54
58
  orientation={orientation}
55
59
  isRepeated={qItem['repeats'] ?? false}
56
- textShown={textShown}
60
+ showMinimalView={showMinimalView}
61
+ parentIsReadOnly={parentIsReadOnly}
57
62
  onQrItemChange={onQrItemChange}
58
63
  />
59
64
  );
@@ -64,6 +69,7 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
64
69
  qrItem={qrItem}
65
70
  orientation={orientation}
66
71
  isRepeated={qItem['repeats'] ?? false}
72
+ parentIsReadOnly={parentIsReadOnly}
67
73
  onQrItemChange={onQrItemChange}
68
74
  />
69
75
  );
@@ -74,6 +80,7 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
74
80
  qrItem={qrItem}
75
81
  isRepeated={isRepeated}
76
82
  isTabled={isTabled}
83
+ parentIsReadOnly={parentIsReadOnly}
77
84
  onQrItemChange={onQrItemChange}
78
85
  />
79
86
  );
@@ -85,6 +92,7 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
85
92
  qrItem={qrItem}
86
93
  isRepeated={isRepeated}
87
94
  isTabled={isTabled}
95
+ parentIsReadOnly={parentIsReadOnly}
88
96
  onQrItemChange={onQrItemChange}
89
97
  />
90
98
  );
@@ -95,6 +103,7 @@ function OpenChoiceItemSwitcher(props: OpenChoiceItemSwitcherProps) {
95
103
  qrItem={qrItem}
96
104
  isRepeated={isRepeated}
97
105
  isTabled={isTabled}
106
+ parentIsReadOnly={parentIsReadOnly}
98
107
  onQrItemChange={onQrItemChange}
99
108
  />
100
109
  );