@aehrc/smart-forms-renderer 0.44.3 → 1.0.0-alpha.10

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 (490) hide show
  1. package/.storybook/main.ts +6 -1
  2. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +3 -1
  3. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
  4. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +2 -5
  5. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
  6. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +3 -1
  7. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js.map +1 -1
  8. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.d.ts +1 -0
  9. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.js +3 -4
  10. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.js.map +1 -1
  11. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.d.ts +2 -2
  12. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
  13. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +3 -1
  14. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js.map +1 -1
  15. package/lib/components/FormComponents/BooleanItem/BooleanField.js +27 -17
  16. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  17. package/lib/components/FormComponents/BooleanItem/BooleanItem.d.ts +2 -2
  18. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +2 -2
  19. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  20. package/lib/components/FormComponents/BooleanItem/index.d.ts +1 -0
  21. package/lib/components/FormComponents/BooleanItem/index.js +18 -0
  22. package/lib/components/FormComponents/BooleanItem/index.js.map +1 -0
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +2 -2
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +8 -6
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +2 -2
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +4 -4
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -2
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +4 -5
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +2 -2
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +4 -5
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -2
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +8 -8
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +7 -13
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +2 -2
  41. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +2 -2
  42. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  43. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +2 -2
  44. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
  45. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +7 -13
  46. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
  47. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +2 -2
  48. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +2 -2
  49. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  50. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.d.ts +1 -0
  51. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +3 -3
  52. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
  53. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -2
  54. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +8 -6
  55. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  56. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +2 -2
  57. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +2 -2
  58. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  59. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -2
  60. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +4 -4
  61. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
  62. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +2 -2
  63. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +7 -6
  64. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  65. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +2 -2
  66. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +4 -4
  67. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  68. package/lib/components/FormComponents/ChoiceItems/index.d.ts +1 -0
  69. package/lib/components/FormComponents/ChoiceItems/index.js +18 -0
  70. package/lib/components/FormComponents/ChoiceItems/index.js.map +1 -0
  71. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +3 -1
  72. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
  73. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.d.ts +2 -2
  74. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +4 -5
  75. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
  76. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.d.ts +2 -2
  77. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +4 -5
  78. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
  79. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +3 -2
  80. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
  81. package/lib/components/FormComponents/DecimalItem/DecimalField.js +5 -2
  82. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
  83. package/lib/components/FormComponents/DecimalItem/DecimalItem.d.ts +2 -2
  84. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +4 -5
  85. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  86. package/lib/components/FormComponents/DisplayItem/DisplayItem.d.ts +2 -1
  87. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +13 -2
  88. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
  89. package/lib/components/FormComponents/GroupItem/GroupAccordion.styles.d.ts +1 -1
  90. package/lib/components/FormComponents/GroupItem/GroupHeading.js +10 -2
  91. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  92. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +1 -0
  93. package/lib/components/FormComponents/GroupItem/GroupItem.js +2 -2
  94. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  95. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +10 -0
  96. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  97. package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +1 -0
  98. package/lib/components/FormComponents/GroupItem/GroupItemView.js +12 -2
  99. package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
  100. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +7 -0
  101. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -1
  102. package/lib/components/FormComponents/GroupItem/index.d.ts +1 -0
  103. package/lib/components/FormComponents/GroupItem/index.js +18 -0
  104. package/lib/components/FormComponents/GroupItem/index.js.map +1 -0
  105. package/lib/components/FormComponents/IntegerItem/IntegerField.js +5 -2
  106. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
  107. package/lib/components/FormComponents/IntegerItem/IntegerItem.d.ts +2 -2
  108. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +4 -5
  109. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  110. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +2 -2
  111. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
  112. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +4 -2
  113. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
  114. package/lib/components/FormComponents/ItemParts/ClearInputButton.d.ts +8 -0
  115. package/lib/components/FormComponents/ItemParts/ClearInputButton.js +33 -0
  116. package/lib/components/FormComponents/ItemParts/ClearInputButton.js.map +1 -0
  117. package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js +1 -1
  118. package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -1
  119. package/lib/components/FormComponents/ItemParts/FlyoverItem.d.ts +2 -1
  120. package/lib/components/FormComponents/ItemParts/FlyoverItem.js +2 -2
  121. package/lib/components/FormComponents/ItemParts/FlyoverItem.js.map +1 -1
  122. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +2 -1
  123. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +9 -8
  124. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  125. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +1 -1
  126. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +31 -13
  127. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
  128. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +7 -21
  129. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
  130. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +4 -2
  131. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -1
  132. package/lib/components/FormComponents/ItemParts/RadioOptionList.d.ts +1 -0
  133. package/lib/components/FormComponents/ItemParts/RadioOptionList.js +4 -4
  134. package/lib/components/FormComponents/ItemParts/RadioOptionList.js.map +1 -1
  135. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.d.ts +7 -0
  136. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js +35 -0
  137. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js.map +1 -0
  138. package/lib/components/FormComponents/ItemParts/index.d.ts +1 -0
  139. package/lib/components/FormComponents/ItemParts/index.js +1 -0
  140. package/lib/components/FormComponents/ItemParts/index.js.map +1 -1
  141. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +2 -2
  142. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +8 -6
  143. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  144. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +2 -2
  145. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +4 -4
  146. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  147. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +2 -2
  148. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +4 -5
  149. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  150. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.d.ts +2 -2
  151. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +4 -5
  152. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  153. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -2
  154. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +8 -8
  155. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  156. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +4 -2
  157. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
  158. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +2 -2
  159. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +2 -2
  160. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  161. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +4 -2
  162. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
  163. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.d.ts +2 -2
  164. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +2 -2
  165. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js.map +1 -1
  166. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +2 -2
  167. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +8 -6
  168. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
  169. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +2 -2
  170. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +4 -4
  171. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  172. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +2 -2
  173. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +7 -6
  174. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
  175. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +2 -2
  176. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +4 -4
  177. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  178. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +1 -1
  179. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +5 -0
  180. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
  181. package/lib/components/FormComponents/QuantityItem/QuantityField.js +5 -2
  182. package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
  183. package/lib/components/FormComponents/QuantityItem/QuantityItem.d.ts +2 -2
  184. package/lib/components/FormComponents/QuantityItem/QuantityItem.js +15 -11
  185. package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
  186. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +4 -2
  187. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
  188. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +1 -1
  189. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  190. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +3 -3
  191. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  192. package/lib/components/FormComponents/SingleItem/NestedSingleItemAccordion.styles.d.ts +1 -1
  193. package/lib/components/FormComponents/SingleItem/SingleItem.js +1 -1
  194. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  195. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +2 -2
  196. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +26 -18
  197. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  198. package/lib/components/FormComponents/SingleItem/SingleItemView.js +5 -4
  199. package/lib/components/FormComponents/SingleItem/SingleItemView.js.map +1 -1
  200. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +1 -0
  201. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
  202. package/lib/components/FormComponents/SliderItem/SliderField.js +3 -2
  203. package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -1
  204. package/lib/components/FormComponents/SliderItem/SliderItem.d.ts +2 -2
  205. package/lib/components/FormComponents/SliderItem/SliderItem.js +3 -3
  206. package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
  207. package/lib/components/FormComponents/StringItem/StringField.js +5 -2
  208. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
  209. package/lib/components/FormComponents/StringItem/StringItem.d.ts +2 -2
  210. package/lib/components/FormComponents/StringItem/StringItem.js +4 -5
  211. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  212. package/lib/components/FormComponents/TextItem/TextField.js +3 -2
  213. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  214. package/lib/components/FormComponents/TextItem/TextItem.d.ts +2 -2
  215. package/lib/components/FormComponents/TextItem/TextItem.js +4 -5
  216. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  217. package/lib/components/FormComponents/Textfield.styles.d.ts +1 -1
  218. package/lib/components/FormComponents/Textfield.styles.js +5 -6
  219. package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
  220. package/lib/components/FormComponents/TimeItem/TimeField.js +3 -2
  221. package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -1
  222. package/lib/components/FormComponents/TimeItem/TimeItem.d.ts +2 -2
  223. package/lib/components/FormComponents/TimeItem/TimeItem.js +4 -5
  224. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
  225. package/lib/components/FormComponents/UrlItem/UrlField.js +7 -1
  226. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
  227. package/lib/components/FormComponents/UrlItem/UrlItem.d.ts +2 -2
  228. package/lib/components/FormComponents/UrlItem/UrlItem.js +4 -5
  229. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
  230. package/lib/components/FormComponents/index.d.ts +6 -0
  231. package/lib/components/FormComponents/index.js +7 -0
  232. package/lib/components/FormComponents/index.js.map +1 -1
  233. package/lib/components/Renderer/BaseRenderer.js +5 -5
  234. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  235. package/lib/components/Renderer/FormTopLevelItem.js +0 -7
  236. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  237. package/lib/components/index.d.ts +2 -1
  238. package/lib/components/index.js +3 -1
  239. package/lib/components/index.js.map +1 -1
  240. package/lib/hooks/index.d.ts +7 -0
  241. package/lib/hooks/index.js +8 -0
  242. package/lib/hooks/index.js.map +1 -1
  243. package/lib/hooks/useBuildForm.d.ts +8 -1
  244. package/lib/hooks/useBuildForm.js +23 -3
  245. package/lib/hooks/useBuildForm.js.map +1 -1
  246. package/lib/hooks/useCodingCalculatedExpression.d.ts +2 -1
  247. package/lib/hooks/useCodingCalculatedExpression.js +1 -1
  248. package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
  249. package/lib/hooks/useHidden.js +8 -0
  250. package/lib/hooks/useHidden.js.map +1 -1
  251. package/lib/hooks/useParseXhtml.d.ts +3 -0
  252. package/lib/hooks/useParseXhtml.js +60 -0
  253. package/lib/hooks/useParseXhtml.js.map +1 -0
  254. package/lib/hooks/useReadOnly.d.ts +1 -1
  255. package/lib/hooks/useReadOnly.js +22 -1
  256. package/lib/hooks/useReadOnly.js.map +1 -1
  257. package/lib/hooks/useRenderingExtensions.d.ts +3 -2
  258. package/lib/hooks/useValidationFeedback.js +5 -3
  259. package/lib/hooks/useValidationFeedback.js.map +1 -1
  260. package/lib/hooks/useValueSetCodings.js +7 -1
  261. package/lib/hooks/useValueSetCodings.js.map +1 -1
  262. package/lib/hooks/useXhtmlParse.d.ts +4 -0
  263. package/lib/hooks/useXhtmlParse.js +63 -0
  264. package/lib/hooks/useXhtmlParse.js.map +1 -0
  265. package/lib/index.d.ts +6 -6
  266. package/lib/index.js +4 -4
  267. package/lib/index.js.map +1 -1
  268. package/lib/interfaces/index.d.ts +2 -0
  269. package/lib/interfaces/overrideComponent.interface.d.ts +12 -3
  270. package/lib/interfaces/qItemOverrideComponent.interface.d.ts +7 -6
  271. package/lib/interfaces/renderProps.interface.d.ts +4 -0
  272. package/lib/stores/index.d.ts +2 -0
  273. package/lib/stores/index.js +1 -0
  274. package/lib/stores/index.js.map +1 -1
  275. package/lib/stores/questionnaireStore.d.ts +17 -9
  276. package/lib/stores/questionnaireStore.js +47 -22
  277. package/lib/stores/questionnaireStore.js.map +1 -1
  278. package/lib/stores/rendererStylingStore.d.ts +35 -3
  279. package/lib/stores/rendererStylingStore.js +20 -4
  280. package/lib/stores/rendererStylingStore.js.map +1 -1
  281. package/lib/utils/calculatedExpression.d.ts +5 -4
  282. package/lib/utils/calculatedExpression.js +76 -55
  283. package/lib/utils/calculatedExpression.js.map +1 -1
  284. package/lib/utils/enableWhenExpression.d.ts +10 -8
  285. package/lib/utils/enableWhenExpression.js +153 -118
  286. package/lib/utils/enableWhenExpression.js.map +1 -1
  287. package/lib/utils/fhirpath.d.ts +7 -5
  288. package/lib/utils/fhirpath.js +105 -72
  289. package/lib/utils/fhirpath.js.map +1 -1
  290. package/lib/utils/getExpressionsFromItem.d.ts +2 -1
  291. package/lib/utils/getExpressionsFromItem.js +1 -1
  292. package/lib/utils/getExpressionsFromItem.js.map +1 -1
  293. package/lib/utils/index.d.ts +6 -2
  294. package/lib/utils/index.js +6 -2
  295. package/lib/utils/index.js.map +1 -1
  296. package/lib/utils/initialise.d.ts +3 -2
  297. package/lib/utils/initialise.js +49 -36
  298. package/lib/utils/initialise.js.map +1 -1
  299. package/lib/utils/itemControl.d.ts +4 -1
  300. package/lib/utils/itemControl.js +27 -0
  301. package/lib/utils/itemControl.js.map +1 -1
  302. package/lib/utils/manageForm.d.ts +5 -1
  303. package/lib/utils/manageForm.js +4 -2
  304. package/lib/utils/manageForm.js.map +1 -1
  305. package/lib/utils/misc.d.ts +0 -1
  306. package/lib/utils/misc.js +1 -1
  307. package/lib/utils/misc.js.map +1 -1
  308. package/lib/utils/openChoice.js +2 -10
  309. package/lib/utils/openChoice.js.map +1 -1
  310. package/lib/utils/page.d.ts +3 -3
  311. package/lib/utils/page.js +2 -5
  312. package/lib/utils/page.js.map +1 -1
  313. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +1 -1
  314. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  315. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
  316. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +166 -150
  317. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  318. package/lib/utils/questionnaireStoreUtils/extractPages.js +5 -11
  319. package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -1
  320. package/lib/utils/repopulateItems.js +0 -8
  321. package/lib/utils/repopulateItems.js.map +1 -1
  322. package/lib/utils/validateQuestionnaire.js +8 -4
  323. package/lib/utils/validateQuestionnaire.js.map +1 -1
  324. package/package.json +3 -3
  325. package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +4 -0
  326. package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +17 -15
  327. package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.ts +12 -10
  328. package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +4 -0
  329. package/src/components/FormComponents/AttachmentItem/AttachmentItem.tsx +3 -1
  330. package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +4 -0
  331. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +87 -30
  332. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +20 -11
  333. package/src/components/FormComponents/BooleanItem/index.ts +18 -0
  334. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +16 -7
  335. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +34 -16
  336. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +19 -11
  337. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +20 -12
  338. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +19 -2
  339. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +10 -20
  340. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +13 -2
  341. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +17 -11
  342. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +11 -20
  343. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +21 -13
  344. package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +5 -4
  345. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +28 -8
  346. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +13 -2
  347. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +24 -13
  348. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +18 -7
  349. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +32 -14
  350. package/src/components/FormComponents/ChoiceItems/index.ts +18 -0
  351. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +4 -0
  352. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +36 -21
  353. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +40 -25
  354. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +4 -19
  355. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +8 -1
  356. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +33 -18
  357. package/src/components/FormComponents/DecimalItem/index.ts +18 -0
  358. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +18 -3
  359. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +27 -6
  360. package/src/components/FormComponents/GroupItem/GroupItem.tsx +3 -0
  361. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +26 -0
  362. package/src/components/FormComponents/GroupItem/GroupItemView.tsx +34 -1
  363. package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +8 -0
  364. package/src/components/FormComponents/GroupItem/index.ts +18 -0
  365. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +8 -1
  366. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +33 -18
  367. package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -3
  368. package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +4 -1
  369. package/src/components/FormComponents/ItemParts/ClearInputButton.tsx +52 -0
  370. package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +1 -1
  371. package/src/components/FormComponents/ItemParts/FlyoverItem.tsx +62 -0
  372. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +23 -9
  373. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +64 -13
  374. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +15 -36
  375. package/src/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.tsx +11 -1
  376. package/src/components/FormComponents/ItemParts/RadioOptionList.tsx +5 -1
  377. package/src/components/FormComponents/ItemParts/RequiredAsterisk.tsx +36 -0
  378. package/src/components/FormComponents/ItemParts/index.ts +19 -0
  379. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +16 -7
  380. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +35 -17
  381. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +25 -17
  382. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +26 -18
  383. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +19 -2
  384. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +5 -1
  385. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +22 -14
  386. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +5 -1
  387. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +23 -15
  388. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +16 -8
  389. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +30 -12
  390. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +24 -9
  391. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +31 -13
  392. package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +6 -0
  393. package/src/components/FormComponents/QuantityItem/QuantityField.tsx +8 -1
  394. package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +56 -35
  395. package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +8 -3
  396. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +1 -1
  397. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +34 -28
  398. package/src/components/FormComponents/SingleItem/SingleItem.tsx +1 -1
  399. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +50 -4
  400. package/src/components/FormComponents/SingleItem/SingleItemView.tsx +14 -11
  401. package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +1 -0
  402. package/src/components/FormComponents/SliderItem/SliderField.tsx +4 -2
  403. package/src/components/FormComponents/SliderItem/SliderItem.tsx +26 -18
  404. package/src/components/FormComponents/StringItem/StringField.tsx +8 -1
  405. package/src/components/FormComponents/StringItem/StringItem.tsx +33 -18
  406. package/src/components/FormComponents/StringItem/index.ts +18 -0
  407. package/src/components/FormComponents/TextItem/TextField.tsx +5 -2
  408. package/src/components/FormComponents/TextItem/TextItem.tsx +25 -17
  409. package/src/components/FormComponents/Textfield.styles.ts +5 -7
  410. package/src/components/FormComponents/TimeItem/TimeField.tsx +4 -2
  411. package/src/components/FormComponents/TimeItem/TimeItem.tsx +29 -14
  412. package/src/components/FormComponents/UrlItem/UrlField.tsx +14 -1
  413. package/src/components/FormComponents/UrlItem/UrlItem.tsx +32 -17
  414. package/src/components/FormComponents/index.ts +8 -0
  415. package/src/components/Renderer/BaseRenderer.tsx +5 -5
  416. package/src/components/Renderer/FormBodyPaginated.tsx +127 -0
  417. package/src/components/Renderer/FormTopLevelItem.tsx +0 -17
  418. package/src/components/index.ts +11 -1
  419. package/src/hooks/index.ts +12 -0
  420. package/src/hooks/useBuildForm.ts +33 -3
  421. package/src/hooks/useCodingCalculatedExpression.ts +1 -1
  422. package/src/hooks/useHidden.ts +12 -0
  423. package/src/hooks/useParseXhtml.tsx +73 -0
  424. package/src/hooks/useReadOnly.ts +32 -1
  425. package/src/hooks/useRenderingExtensions.ts +2 -2
  426. package/src/hooks/useValidationFeedback.ts +11 -3
  427. package/src/hooks/useValueSetCodings.ts +10 -6
  428. package/src/index.ts +49 -6
  429. package/src/interfaces/index.ts +5 -0
  430. package/src/interfaces/overrideComponent.interface.ts +39 -0
  431. package/src/interfaces/renderProps.interface.ts +5 -0
  432. package/src/stores/index.ts +3 -0
  433. package/src/stores/questionnaireStore.ts +73 -31
  434. package/src/stores/rendererStylingStore.ts +120 -0
  435. package/src/stories/assets/questionnaires/QQuantity.ts +45 -6
  436. package/src/stories/itemTypes/Attachment.stories.tsx +1 -1
  437. package/src/stories/itemTypes/Boolean.stories.tsx +1 -1
  438. package/src/stories/itemTypes/Choice.stories.tsx +1 -1
  439. package/src/stories/itemTypes/Date.stories.tsx +1 -1
  440. package/src/stories/itemTypes/DateTime.stories.tsx +1 -1
  441. package/src/stories/itemTypes/Decimal.stories.tsx +1 -1
  442. package/src/stories/itemTypes/Display.stories.tsx +1 -1
  443. package/src/stories/itemTypes/Group.stories.tsx +1 -1
  444. package/src/stories/itemTypes/Integer.stories.tsx +1 -1
  445. package/src/stories/itemTypes/OpenChoice.stories.tsx +1 -1
  446. package/src/stories/itemTypes/Quantity.stories.tsx +1 -1
  447. package/src/stories/itemTypes/Reference.stories.tsx +1 -1
  448. package/src/stories/itemTypes/String.stories.tsx +1 -1
  449. package/src/stories/itemTypes/Text.stories.tsx +1 -1
  450. package/src/stories/itemTypes/Time.stories.tsx +1 -1
  451. package/src/stories/itemTypes/Url.stories.tsx +1 -1
  452. package/src/stories/sdc/AdvancedAdditionalDisplayContent.stories.tsx +1 -1
  453. package/src/stories/sdc/AdvancedControlAppearance.stories.tsx +1 -1
  454. package/src/stories/sdc/AdvancedOther.stories.tsx +1 -1
  455. package/src/stories/sdc/AdvancedTextAppearance.stories.tsx +1 -1
  456. package/src/stories/sdc/BehaviorCalculations.stories.tsx +1 -1
  457. package/src/stories/sdc/BehaviorChoiceRestriction.stories.tsx +1 -1
  458. package/src/stories/sdc/BehaviorOther.stories.tsx +1 -1
  459. package/src/stories/sdc/BehaviorValueConstraints.stories.tsx +1 -1
  460. package/src/stories/sdc/FormPopulation.stories.tsx +1 -1
  461. package/src/stories/sdc/ItemControlDisplay.stories.tsx +1 -1
  462. package/src/stories/sdc/ItemControlGroup.stories.tsx +1 -1
  463. package/src/stories/sdc/ItemControlQuestion.stories.tsx +1 -1
  464. package/src/stories/sdc/OtherExtensions.stories.tsx +1 -1
  465. package/src/stories/testing/AuCoreTester.stories.tsx +1 -1
  466. package/src/stories/testing/BuildFormButtonTesterWrapper.stories.tsx +1 -1
  467. package/src/stories/testing/GroupTableTester.stories.tsx +1 -1
  468. package/src/stories/testing/IdRemoverDebuggerWrapper.stories.tsx +1 -1
  469. package/src/stories/testing/Mbs715Tester.stories.tsx +1 -1
  470. package/src/stories/testing/PrePopButtonTesterWrapper.stories.tsx +1 -1
  471. package/src/stories/testing/ValidateFormTesterWrapper.stories.tsx +1 -1
  472. package/src/utils/calculatedExpression.ts +29 -15
  473. package/src/utils/enableWhenExpression.ts +91 -48
  474. package/src/utils/fhirpath.ts +64 -27
  475. package/src/utils/getExpressionsFromItem.ts +1 -1
  476. package/src/utils/index.ts +8 -2
  477. package/src/utils/initialise.ts +11 -7
  478. package/src/utils/itemControl.ts +38 -1
  479. package/src/utils/manageForm.ts +16 -2
  480. package/src/utils/misc.ts +1 -1
  481. package/src/utils/openChoice.ts +2 -13
  482. package/src/utils/page.ts +4 -11
  483. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +1 -1
  484. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +20 -18
  485. package/src/utils/questionnaireStoreUtils/extractPages.ts +5 -12
  486. package/src/utils/repopulateItems.ts +0 -11
  487. package/src/utils/validateQuestionnaire.ts +6 -1
  488. package/vite.config.ts +2 -2
  489. package/src/components/Renderer/FormBodyPage.tsx +0 -93
  490. package/src/components/Renderer/FormTopLevelPage.tsx +0 -70
@@ -21,11 +21,11 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
21
21
  import useValueSetCodings from '../../../hooks/useValueSetCodings';
22
22
  import { convertCodingsToAnswerOptions, updateChoiceCheckboxAnswers } from '../../../utils/choice';
23
23
  import { FullWidthFormComponentBox } from '../../Box.styles';
24
- import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
25
24
  import type {
26
25
  PropsWithIsRepeatedAttribute,
27
26
  PropsWithParentIsReadOnlyAttribute,
28
27
  PropsWithQrItemChangeHandler,
28
+ PropsWithRenderingExtensionsAttribute,
29
29
  PropsWithShowMinimalViewAttribute
30
30
  } from '../../../interfaces/renderProps.interface';
31
31
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
@@ -33,10 +33,12 @@ import ChoiceCheckboxAnswerValueSetFields from './ChoiceCheckboxAnswerValueSetFi
33
33
  import useReadOnly from '../../../hooks/useReadOnly';
34
34
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
35
35
  import { useQuestionnaireStore } from '../../../stores';
36
+ import { ItemLabelWrapper } from '../ItemParts';
36
37
 
37
38
  interface ChoiceCheckboxAnswerValueSetItemProps
38
39
  extends PropsWithQrItemChangeHandler,
39
40
  PropsWithIsRepeatedAttribute,
41
+ PropsWithRenderingExtensionsAttribute,
40
42
  PropsWithShowMinimalViewAttribute,
41
43
  PropsWithParentIsReadOnlyAttribute {
42
44
  qItem: QuestionnaireItem;
@@ -49,6 +51,7 @@ function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetIte
49
51
  qItem,
50
52
  qrItem,
51
53
  isRepeated,
54
+ renderingExtensions,
52
55
  showMinimalView = false,
53
56
  parentIsReadOnly,
54
57
  onQrItemChange
@@ -62,7 +65,7 @@ function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetIte
62
65
  const answers = qrChoiceCheckbox.answer ?? [];
63
66
 
64
67
  const readOnly = useReadOnly(qItem, parentIsReadOnly);
65
- const { displayInstructions } = useRenderingExtensions(qItem);
68
+ const { displayInstructions } = renderingExtensions;
66
69
 
67
70
  // Get codings/options from valueSet
68
71
  const { codings, terminologyError } = useValueSetCodings(qItem);
@@ -115,16 +118,21 @@ function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetIte
115
118
  data-test="q-item-choice-checkbox-answer-value-set-box"
116
119
  data-linkid={qItem.linkId}
117
120
  onClick={() => onFocusLinkId(qItem.linkId)}>
118
- <ItemFieldGrid qItem={qItem} readOnly={readOnly}>
119
- <ChoiceCheckboxAnswerValueSetFields
120
- qItem={qItem}
121
- options={options}
122
- answers={answers}
123
- readOnly={readOnly}
124
- terminologyError={terminologyError}
125
- onCheckedChange={handleCheckedChange}
126
- />
127
- </ItemFieldGrid>
121
+ <ItemFieldGrid
122
+ qItem={qItem}
123
+ readOnly={readOnly}
124
+ labelChildren={<ItemLabelWrapper qItem={qItem} readOnly={readOnly} />}
125
+ fieldChildren={
126
+ <ChoiceCheckboxAnswerValueSetFields
127
+ qItem={qItem}
128
+ options={options}
129
+ answers={answers}
130
+ readOnly={readOnly}
131
+ terminologyError={terminologyError}
132
+ onCheckedChange={handleCheckedChange}
133
+ />
134
+ }
135
+ />
128
136
  </FullWidthFormComponentBox>
129
137
  );
130
138
  }
@@ -31,6 +31,7 @@ import type {
31
31
  PropsWithIsTabledAttribute,
32
32
  PropsWithParentIsReadOnlyAttribute,
33
33
  PropsWithQrItemChangeHandler,
34
+ PropsWithRenderingExtensionsAttribute,
34
35
  PropsWithShowMinimalViewAttribute
35
36
  } from '../../../interfaces/renderProps.interface';
36
37
  import Typography from '@mui/material/Typography';
@@ -39,6 +40,7 @@ interface ChoiceItemSwitcherProps
39
40
  extends PropsWithQrItemChangeHandler,
40
41
  PropsWithIsRepeatedAttribute,
41
42
  PropsWithIsTabledAttribute,
43
+ PropsWithRenderingExtensionsAttribute,
42
44
  PropsWithShowMinimalViewAttribute,
43
45
  PropsWithParentIsReadOnlyAttribute {
44
46
  qItem: QuestionnaireItem;
@@ -46,8 +48,16 @@ interface ChoiceItemSwitcherProps
46
48
  }
47
49
 
48
50
  function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
49
- const { qItem, qrItem, isRepeated, isTabled, showMinimalView, parentIsReadOnly, onQrItemChange } =
50
- props;
51
+ const {
52
+ qItem,
53
+ qrItem,
54
+ isRepeated,
55
+ isTabled,
56
+ renderingExtensions,
57
+ showMinimalView,
58
+ parentIsReadOnly,
59
+ onQrItemChange
60
+ } = props;
51
61
 
52
62
  const choiceControlType = getChoiceControlType(qItem);
53
63
 
@@ -60,6 +70,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
60
70
  qrItem={qrItem}
61
71
  isRepeated={isRepeated}
62
72
  isTabled={isTabled}
73
+ renderingExtensions={renderingExtensions}
63
74
  parentIsReadOnly={parentIsReadOnly}
64
75
  onQrItemChange={onQrItemChange}
65
76
  />
@@ -70,6 +81,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
70
81
  qItem={qItem}
71
82
  qrItem={qrItem}
72
83
  isRepeated={isRepeated}
84
+ renderingExtensions={renderingExtensions}
73
85
  parentIsReadOnly={parentIsReadOnly}
74
86
  onQrItemChange={onQrItemChange}
75
87
  />
@@ -82,6 +94,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
82
94
  qItem={qItem}
83
95
  qrItem={qrItem}
84
96
  isRepeated={qItem.repeats ?? false}
97
+ renderingExtensions={renderingExtensions}
85
98
  showMinimalView={showMinimalView}
86
99
  parentIsReadOnly={parentIsReadOnly}
87
100
  onQrItemChange={onQrItemChange}
@@ -93,6 +106,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
93
106
  qItem={qItem}
94
107
  qrItem={qrItem}
95
108
  isRepeated={qItem.repeats ?? false}
109
+ renderingExtensions={renderingExtensions}
96
110
  showMinimalView={showMinimalView}
97
111
  parentIsReadOnly={parentIsReadOnly}
98
112
  onQrItemChange={onQrItemChange}
@@ -106,6 +120,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
106
120
  qrItem={qrItem}
107
121
  isRepeated={isRepeated}
108
122
  isTabled={isTabled}
123
+ renderingExtensions={renderingExtensions}
109
124
  parentIsReadOnly={parentIsReadOnly}
110
125
  onQrItemChange={onQrItemChange}
111
126
  />
@@ -118,6 +133,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
118
133
  qrItem={qrItem}
119
134
  isRepeated={isRepeated}
120
135
  isTabled={isTabled}
136
+ renderingExtensions={renderingExtensions}
121
137
  parentIsReadOnly={parentIsReadOnly}
122
138
  onQrItemChange={onQrItemChange}
123
139
  />
@@ -129,6 +145,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
129
145
  qrItem={qrItem}
130
146
  isRepeated={isRepeated}
131
147
  isTabled={isTabled}
148
+ renderingExtensions={renderingExtensions}
132
149
  parentIsReadOnly={parentIsReadOnly}
133
150
  onQrItemChange={onQrItemChange}
134
151
  />
@@ -23,10 +23,8 @@ import { StyledRadioGroup } from '../Item.styles';
23
23
  import { getChoiceOrientation } from '../../../utils/choice';
24
24
  import Box from '@mui/material/Box';
25
25
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
26
- import Fade from '@mui/material/Fade';
27
- import Tooltip from '@mui/material/Tooltip';
28
- import Button from '@mui/material/Button';
29
- import { grey } from '@mui/material/colors';
26
+ import ClearInputButton from '../ItemParts/ClearInputButton';
27
+ import { useRendererStylingStore } from '../../../stores';
30
28
 
31
29
  interface ChoiceRadioAnswerOptionFieldsProps {
32
30
  qItem: QuestionnaireItem;
@@ -41,6 +39,9 @@ interface ChoiceRadioAnswerOptionFieldsProps {
41
39
  function ChoiceRadioAnswerOptionFields(props: ChoiceRadioAnswerOptionFieldsProps) {
42
40
  const { qItem, options, valueRadio, readOnly, calcExpUpdated, onCheckedChange, onClear } = props;
43
41
 
42
+ const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
43
+ const hideClearButton = useRendererStylingStore.use.hideClearButton();
44
+
44
45
  const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Vertical;
45
46
 
46
47
  return (
@@ -49,30 +50,19 @@ function ChoiceRadioAnswerOptionFields(props: ChoiceRadioAnswerOptionFieldsProps
49
50
  id={qItem.linkId}
50
51
  row={orientation === ChoiceItemOrientation.Horizontal}
51
52
  name={qItem.text}
53
+ sx={inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}}
52
54
  onChange={(e) => onCheckedChange(e.target.value)}
53
55
  value={valueRadio}
54
56
  data-test="q-item-radio-group">
55
- <RadioOptionList options={options} readOnly={readOnly} />
57
+ <RadioOptionList options={options} readOnly={readOnly} fullWidth={inputsFlexGrow} />
56
58
  </StyledRadioGroup>
57
59
 
58
60
  <Box flexGrow={1} />
59
61
 
60
62
  <FadingCheckIcon fadeIn={calcExpUpdated} disabled={readOnly} />
61
- <Fade in={!!valueRadio} timeout={100}>
62
- <Tooltip title="Set question as unanswered">
63
- <span>
64
- <Button
65
- sx={{
66
- color: grey['500'],
67
- '&:hover': { backgroundColor: grey['200'] }
68
- }}
69
- disabled={readOnly}
70
- onClick={onClear}>
71
- Clear
72
- </Button>
73
- </span>
74
- </Tooltip>
75
- </Fade>
63
+ {hideClearButton ? null : (
64
+ <ClearInputButton buttonShown={!!valueRadio} readOnly={readOnly} onClear={onClear} />
65
+ )}
76
66
  </Box>
77
67
  );
78
68
  }
@@ -27,7 +27,8 @@ import type {
27
27
  PropsWithIsRepeatedAttribute,
28
28
  PropsWithIsTabledAttribute,
29
29
  PropsWithParentIsReadOnlyAttribute,
30
- PropsWithQrItemChangeHandler
30
+ PropsWithQrItemChangeHandler,
31
+ PropsWithRenderingExtensionsAttribute
31
32
  } from '../../../interfaces/renderProps.interface';
32
33
  import useReadOnly from '../../../hooks/useReadOnly';
33
34
  import { useQuestionnaireStore } from '../../../stores';
@@ -41,13 +42,22 @@ interface ChoiceRadioAnswerOptionItemProps
41
42
  extends PropsWithQrItemChangeHandler,
42
43
  PropsWithIsRepeatedAttribute,
43
44
  PropsWithIsTabledAttribute,
45
+ PropsWithRenderingExtensionsAttribute,
44
46
  PropsWithParentIsReadOnlyAttribute {
45
47
  qItem: QuestionnaireItem;
46
48
  qrItem: QuestionnaireResponseItem | null;
47
49
  }
48
50
 
49
51
  function ChoiceRadioAnswerOptionItem(props: ChoiceRadioAnswerOptionItemProps) {
50
- const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
52
+ const {
53
+ qItem,
54
+ qrItem,
55
+ isRepeated,
56
+ isTabled,
57
+ renderingExtensions,
58
+ parentIsReadOnly,
59
+ onQrItemChange
60
+ } = props;
51
61
 
52
62
  const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
53
63
 
@@ -134,6 +144,7 @@ function ChoiceRadioAnswerOptionItem(props: ChoiceRadioAnswerOptionItemProps) {
134
144
  isTabled={isTabled}
135
145
  readOnly={readOnly}
136
146
  calcExpUpdated={calcExpUpdated}
147
+ renderingExtensions={renderingExtensions}
137
148
  onFocusLinkId={() => onFocusLinkId(qItem.linkId)}
138
149
  onSelectChange={handleChange}
139
150
  />
@@ -21,6 +21,7 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
21
21
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
22
22
  import type { PropsWithIsRepeatedAttribute } from '../../../interfaces/renderProps.interface';
23
23
  import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
24
+ import { ItemLabelWrapper } from '../ItemParts';
24
25
 
25
26
  interface ChoiceRadioAnswerOptionViewProps extends PropsWithIsRepeatedAttribute {
26
27
  qItem: QuestionnaireItem;
@@ -65,17 +66,22 @@ function ChoiceRadioAnswerOptionView(props: ChoiceRadioAnswerOptionViewProps) {
65
66
  data-test="q-item-choice-radio-answer-option-box"
66
67
  data-linkid={qItem.linkId}
67
68
  onClick={onFocusLinkId}>
68
- <ItemFieldGrid qItem={qItem} readOnly={readOnly}>
69
- <ChoiceRadioAnswerOptionFields
70
- qItem={qItem}
71
- options={options}
72
- valueRadio={valueChoice}
73
- readOnly={readOnly}
74
- calcExpUpdated={calcExpUpdated}
75
- onCheckedChange={onCheckedChange}
76
- onClear={onClear}
77
- />
78
- </ItemFieldGrid>
69
+ <ItemFieldGrid
70
+ qItem={qItem}
71
+ readOnly={readOnly}
72
+ labelChildren={<ItemLabelWrapper qItem={qItem} readOnly={readOnly} />}
73
+ fieldChildren={
74
+ <ChoiceRadioAnswerOptionFields
75
+ qItem={qItem}
76
+ options={options}
77
+ valueRadio={valueChoice}
78
+ readOnly={readOnly}
79
+ calcExpUpdated={calcExpUpdated}
80
+ onCheckedChange={onCheckedChange}
81
+ onClear={onClear}
82
+ />
83
+ }
84
+ />
79
85
  </FullWidthFormComponentBox>
80
86
  );
81
87
  }
@@ -27,10 +27,8 @@ import { getChoiceOrientation } from '../../../utils/choice';
27
27
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
28
28
  import Box from '@mui/material/Box';
29
29
  import RadioOptionList from '../ItemParts/RadioOptionList';
30
- import Tooltip from '@mui/material/Tooltip';
31
- import Button from '@mui/material/Button';
32
- import { grey } from '@mui/material/colors';
33
- import Fade from '@mui/material/Fade';
30
+ import ClearInputButton from '../ItemParts/ClearInputButton';
31
+ import { useRendererStylingStore } from '../../../stores';
34
32
 
35
33
  interface ChoiceRadioAnswerValueSetFieldsProps {
36
34
  qItem: QuestionnaireItem;
@@ -55,6 +53,9 @@ function ChoiceRadioAnswerValueSetFields(props: ChoiceRadioAnswerValueSetFieldsP
55
53
  onClear
56
54
  } = props;
57
55
 
56
+ const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
57
+ const hideClearButton = useRendererStylingStore.use.hideClearButton();
58
+
58
59
  const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Vertical;
59
60
 
60
61
  if (options.length > 0) {
@@ -64,30 +65,20 @@ function ChoiceRadioAnswerValueSetFields(props: ChoiceRadioAnswerValueSetFieldsP
64
65
  id={qItem.linkId}
65
66
  row={orientation === ChoiceItemOrientation.Horizontal}
66
67
  name={qItem.text}
68
+ sx={inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}}
67
69
  onChange={(e) => onCheckedChange(e.target.value)}
68
70
  value={valueRadio}
69
71
  data-test="q-item-radio-group">
70
- <RadioOptionList options={options} readOnly={readOnly} />
72
+ <RadioOptionList options={options} readOnly={readOnly} fullWidth={inputsFlexGrow} />
71
73
  </StyledRadioGroup>
72
74
 
73
75
  <Box flexGrow={1} />
74
76
 
75
77
  <FadingCheckIcon fadeIn={calcExpUpdated} disabled={readOnly} />
76
- <Fade in={!!valueRadio} timeout={100}>
77
- <Tooltip title="Set question as unanswered">
78
- <span>
79
- <Button
80
- sx={{
81
- color: grey['500'],
82
- '&:hover': { backgroundColor: grey['200'] }
83
- }}
84
- disabled={readOnly}
85
- onClick={onClear}>
86
- Clear
87
- </Button>
88
- </span>
89
- </Tooltip>
90
- </Fade>
78
+
79
+ {hideClearButton ? null : (
80
+ <ClearInputButton buttonShown={!!valueRadio} readOnly={readOnly} onClear={onClear} />
81
+ )}
91
82
  </Box>
92
83
  );
93
84
  }
@@ -24,17 +24,20 @@ import useValueSetCodings from '../../../hooks/useValueSetCodings';
24
24
  import type {
25
25
  PropsWithIsRepeatedAttribute,
26
26
  PropsWithParentIsReadOnlyAttribute,
27
- PropsWithQrItemChangeHandler
27
+ PropsWithQrItemChangeHandler,
28
+ PropsWithRenderingExtensionsAttribute
28
29
  } from '../../../interfaces/renderProps.interface';
29
30
  import ChoiceRadioAnswerValueSetFields from './ChoiceRadioAnswerValueSetFields';
30
31
  import useReadOnly from '../../../hooks/useReadOnly';
31
32
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
32
33
  import { useQuestionnaireStore } from '../../../stores';
33
34
  import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
35
+ import { ItemLabelWrapper } from '../ItemParts';
34
36
 
35
37
  interface ChoiceRadioAnswerValueSetItemProps
36
38
  extends PropsWithQrItemChangeHandler,
37
39
  PropsWithIsRepeatedAttribute,
40
+ PropsWithRenderingExtensionsAttribute,
38
41
  PropsWithParentIsReadOnlyAttribute {
39
42
  qItem: QuestionnaireItem;
40
43
  qrItem: QuestionnaireResponseItem | null;
@@ -106,18 +109,23 @@ function ChoiceRadioAnswerValueSetItem(props: ChoiceRadioAnswerValueSetItemProps
106
109
  data-test="q-item-choice-radio-answer-value-set-box"
107
110
  data-linkid={qItem.linkId}
108
111
  onClick={() => onFocusLinkId(qItem.linkId)}>
109
- <ItemFieldGrid qItem={qItem} readOnly={readOnly}>
110
- <ChoiceRadioAnswerValueSetFields
111
- qItem={qItem}
112
- options={options}
113
- valueRadio={valueRadio}
114
- readOnly={readOnly}
115
- calcExpUpdated={calcExpUpdated}
116
- terminologyError={terminologyError}
117
- onCheckedChange={handleChange}
118
- onClear={handleClear}
119
- />
120
- </ItemFieldGrid>
112
+ <ItemFieldGrid
113
+ qItem={qItem}
114
+ readOnly={readOnly}
115
+ labelChildren={<ItemLabelWrapper qItem={qItem} readOnly={readOnly} />}
116
+ fieldChildren={
117
+ <ChoiceRadioAnswerValueSetFields
118
+ qItem={qItem}
119
+ options={options}
120
+ valueRadio={valueRadio}
121
+ readOnly={readOnly}
122
+ calcExpUpdated={calcExpUpdated}
123
+ terminologyError={terminologyError}
124
+ onCheckedChange={handleChange}
125
+ onClear={handleClear}
126
+ />
127
+ }
128
+ />
121
129
  </FullWidthFormComponentBox>
122
130
  );
123
131
  }
@@ -17,24 +17,25 @@
17
17
 
18
18
  import React from 'react';
19
19
  import Radio from '@mui/material/Radio';
20
- import { StyledFormControlLabel } from '../../Box.styles';
20
+ import FormControlLabel from '@mui/material/FormControlLabel';
21
21
 
22
22
  interface ChoiceRadioSingleProps {
23
23
  value: string;
24
24
  label: string;
25
25
  readOnly: boolean;
26
+ fullWidth: boolean;
26
27
  }
27
28
 
28
29
  function ChoiceRadioSingle(props: ChoiceRadioSingleProps) {
29
- const { value, label, readOnly } = props;
30
+ const { value, label, readOnly, fullWidth } = props;
30
31
 
31
32
  return (
32
- <StyledFormControlLabel
33
+ <FormControlLabel
34
+ sx={{ width: fullWidth ? '100%' : 'unset' }}
33
35
  disabled={readOnly}
34
36
  value={value}
35
37
  control={<Radio size="small" />}
36
38
  label={label}
37
- sx={{ mr: 3 }}
38
39
  />
39
40
  );
40
41
  }
@@ -17,15 +17,21 @@
17
17
 
18
18
  import React, { Fragment } from 'react';
19
19
  import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
20
- import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
21
- import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
22
- import { StandardTextField, TEXT_FIELD_WIDTH } from '../Textfield.styles';
20
+ import type {
21
+ PropsWithIsTabledAttribute,
22
+ PropsWithRenderingExtensionsAttribute
23
+ } from '../../../interfaces/renderProps.interface';
24
+ import { StandardTextField } from '../Textfield.styles';
23
25
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
24
26
  import Autocomplete from '@mui/material/Autocomplete';
25
27
  import { getAnswerOptionLabel } from '../../../utils/openChoice';
26
28
  import { compareAnswerOptionValue } from '../../../utils/choice';
29
+ import { useRendererStylingStore } from '../../../stores';
30
+ import Typography from '@mui/material/Typography';
27
31
 
28
- interface ChoiceSelectAnswerOptionFieldsProps extends PropsWithIsTabledAttribute {
32
+ interface ChoiceSelectAnswerOptionFieldsProps
33
+ extends PropsWithIsTabledAttribute,
34
+ PropsWithRenderingExtensionsAttribute {
29
35
  qItem: QuestionnaireItem;
30
36
  options: QuestionnaireItemAnswerOption[];
31
37
  valueSelect: QuestionnaireItemAnswerOption | null;
@@ -35,9 +41,20 @@ interface ChoiceSelectAnswerOptionFieldsProps extends PropsWithIsTabledAttribute
35
41
  }
36
42
 
37
43
  function ChoiceSelectAnswerOptionFields(props: ChoiceSelectAnswerOptionFieldsProps) {
38
- const { qItem, options, valueSelect, readOnly, calcExpUpdated, isTabled, onSelectChange } = props;
44
+ const {
45
+ qItem,
46
+ options,
47
+ valueSelect,
48
+ readOnly,
49
+ calcExpUpdated,
50
+ isTabled,
51
+ renderingExtensions,
52
+ onSelectChange
53
+ } = props;
39
54
 
40
- const { displayUnit, displayPrompt, entryFormat } = useRenderingExtensions(qItem);
55
+ const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
56
+
57
+ const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
41
58
 
42
59
  return (
43
60
  <Autocomplete
@@ -49,11 +66,12 @@ function ChoiceSelectAnswerOptionFields(props: ChoiceSelectAnswerOptionFieldsPro
49
66
  onChange={(_, newValue) => onSelectChange(newValue)}
50
67
  openOnFocus
51
68
  autoHighlight
52
- sx={{ maxWidth: !isTabled ? TEXT_FIELD_WIDTH : 3000, minWidth: 160, flexGrow: 1 }}
69
+ sx={{ maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }}
53
70
  size="small"
54
71
  disabled={readOnly}
55
72
  renderInput={(params) => (
56
73
  <StandardTextField
74
+ textFieldWidth={textFieldWidth}
57
75
  isTabled={isTabled}
58
76
  label={displayPrompt}
59
77
  placeholder={entryFormat}
@@ -64,7 +82,9 @@ function ChoiceSelectAnswerOptionFields(props: ChoiceSelectAnswerOptionFieldsPro
64
82
  <>
65
83
  {params.InputProps.endAdornment}
66
84
  <FadingCheckIcon fadeIn={calcExpUpdated} disabled={readOnly} />
67
- {displayUnit}
85
+ <Typography color={readOnly ? 'text.disabled' : 'text.secondary'}>
86
+ {displayUnit}
87
+ </Typography>
68
88
  </>
69
89
  )
70
90
  }}
@@ -28,7 +28,8 @@ import type {
28
28
  PropsWithIsRepeatedAttribute,
29
29
  PropsWithIsTabledAttribute,
30
30
  PropsWithParentIsReadOnlyAttribute,
31
- PropsWithQrItemChangeHandler
31
+ PropsWithQrItemChangeHandler,
32
+ PropsWithRenderingExtensionsAttribute
32
33
  } from '../../../interfaces/renderProps.interface';
33
34
  import useReadOnly from '../../../hooks/useReadOnly';
34
35
  import { useQuestionnaireStore } from '../../../stores';
@@ -40,13 +41,22 @@ interface ChoiceSelectAnswerOptionItemProps
40
41
  extends PropsWithQrItemChangeHandler,
41
42
  PropsWithIsRepeatedAttribute,
42
43
  PropsWithIsTabledAttribute,
44
+ PropsWithRenderingExtensionsAttribute,
43
45
  PropsWithParentIsReadOnlyAttribute {
44
46
  qItem: QuestionnaireItem;
45
47
  qrItem: QuestionnaireResponseItem | null;
46
48
  }
47
49
 
48
50
  function ChoiceSelectAnswerOptionItem(props: ChoiceSelectAnswerOptionItemProps) {
49
- const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
51
+ const {
52
+ qItem,
53
+ qrItem,
54
+ isRepeated,
55
+ isTabled,
56
+ renderingExtensions,
57
+ parentIsReadOnly,
58
+ onQrItemChange
59
+ } = props;
50
60
 
51
61
  const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
52
62
 
@@ -106,6 +116,7 @@ function ChoiceSelectAnswerOptionItem(props: ChoiceSelectAnswerOptionItemProps)
106
116
  calcExpUpdated={calcExpUpdated}
107
117
  isRepeated={isRepeated}
108
118
  isTabled={isTabled}
119
+ renderingExtensions={renderingExtensions}
109
120
  onFocusLinkId={() => onFocusLinkId(qItem.linkId)}
110
121
  onSelectChange={handleChange}
111
122
  />
@@ -20,15 +20,18 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
20
20
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
21
21
  import type {
22
22
  PropsWithIsRepeatedAttribute,
23
- PropsWithIsTabledAttribute
23
+ PropsWithIsTabledAttribute,
24
+ PropsWithRenderingExtensionsAttribute
24
25
  } from '../../../interfaces/renderProps.interface';
25
26
  import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
26
27
  import { findInAnswerOptions } from '../../../utils/choice';
27
28
  import ChoiceSelectAnswerOptionFields from './ChoiceSelectAnswerOptionFields';
29
+ import { ItemLabelWrapper } from '../ItemParts';
28
30
 
29
31
  interface ChoiceSelectAnswerOptionViewProps
30
32
  extends PropsWithIsRepeatedAttribute,
31
- PropsWithIsTabledAttribute {
33
+ PropsWithIsTabledAttribute,
34
+ PropsWithRenderingExtensionsAttribute {
32
35
  qItem: QuestionnaireItem;
33
36
  options: QuestionnaireItemAnswerOption[];
34
37
  valueChoice: string | null;
@@ -45,6 +48,7 @@ function ChoiceSelectAnswerOptionView(props: ChoiceSelectAnswerOptionViewProps)
45
48
  valueChoice,
46
49
  isRepeated,
47
50
  isTabled,
51
+ renderingExtensions,
48
52
  readOnly,
49
53
  calcExpUpdated,
50
54
  onFocusLinkId,
@@ -65,6 +69,7 @@ function ChoiceSelectAnswerOptionView(props: ChoiceSelectAnswerOptionViewProps)
65
69
  readOnly={readOnly}
66
70
  calcExpUpdated={calcExpUpdated}
67
71
  isTabled={isTabled}
72
+ renderingExtensions={renderingExtensions}
68
73
  onSelectChange={onSelectChange}
69
74
  />
70
75
  );
@@ -75,17 +80,23 @@ function ChoiceSelectAnswerOptionView(props: ChoiceSelectAnswerOptionViewProps)
75
80
  data-test="q-item-choice-select-answer-option-box"
76
81
  data-linkid={qItem.linkId}
77
82
  onClick={onFocusLinkId}>
78
- <ItemFieldGrid qItem={qItem} readOnly={readOnly}>
79
- <ChoiceSelectAnswerOptionFields
80
- qItem={qItem}
81
- options={options}
82
- valueSelect={valueSelect}
83
- readOnly={readOnly}
84
- calcExpUpdated={calcExpUpdated}
85
- isTabled={isTabled}
86
- onSelectChange={onSelectChange}
87
- />
88
- </ItemFieldGrid>
83
+ <ItemFieldGrid
84
+ qItem={qItem}
85
+ readOnly={readOnly}
86
+ labelChildren={<ItemLabelWrapper qItem={qItem} readOnly={readOnly} />}
87
+ fieldChildren={
88
+ <ChoiceSelectAnswerOptionFields
89
+ qItem={qItem}
90
+ options={options}
91
+ valueSelect={valueSelect}
92
+ readOnly={readOnly}
93
+ calcExpUpdated={calcExpUpdated}
94
+ isTabled={isTabled}
95
+ renderingExtensions={renderingExtensions}
96
+ onSelectChange={onSelectChange}
97
+ />
98
+ }
99
+ />
89
100
  </FullWidthFormComponentBox>
90
101
  );
91
102
  }