@aehrc/smart-forms-renderer 0.5.0 → 0.6.1

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 (459) hide show
  1. package/lib/api/smartClient.d.ts +5 -0
  2. package/lib/api/smartClient.js +41 -0
  3. package/lib/api/smartClient.js.map +1 -0
  4. package/lib/components/Alert.styles.d.ts +4 -4
  5. package/lib/components/Alert.styles.js +2 -1
  6. package/lib/components/Alert.styles.js.map +1 -1
  7. package/lib/components/BackToTopButton/BackToTopButton.js +3 -1
  8. package/lib/components/BackToTopButton/BackToTopButton.js.map +1 -1
  9. package/lib/components/Box.styles.d.ts +9 -9
  10. package/lib/components/Box.styles.js +2 -1
  11. package/lib/components/Box.styles.js.map +1 -1
  12. package/lib/components/FormComponents/BooleanItem/BooleanField.js +2 -1
  13. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  14. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +1 -1
  15. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  16. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +9 -0
  17. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +91 -0
  18. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -0
  19. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +11 -0
  20. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +70 -0
  21. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -0
  22. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +11 -0
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +67 -0
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -0
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +9 -0
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +61 -0
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -0
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.d.ts +8 -0
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js +25 -0
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js.map +1 -0
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +11 -0
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +70 -0
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -0
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +11 -0
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +73 -0
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -0
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.d.ts +8 -0
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js +25 -0
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js.map +1 -0
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.d.ts +8 -0
  41. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +25 -0
  42. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -0
  43. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.d.ts +8 -0
  44. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js +25 -0
  45. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js.map +1 -0
  46. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +9 -0
  47. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +75 -0
  48. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -0
  49. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +9 -0
  50. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +84 -0
  51. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -0
  52. package/lib/components/FormComponents/ChoiceItems/QItemChoice.d.ts +9 -0
  53. package/lib/components/FormComponents/ChoiceItems/QItemChoice.js +61 -0
  54. package/lib/components/FormComponents/ChoiceItems/QItemChoice.js.map +1 -0
  55. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.d.ts +9 -0
  56. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js +89 -0
  57. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js.map +1 -0
  58. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.d.ts +11 -0
  59. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js +70 -0
  60. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js.map +1 -0
  61. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.d.ts +11 -0
  62. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js +67 -0
  63. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js.map +1 -0
  64. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.d.ts +11 -0
  65. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js +70 -0
  66. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js.map +1 -0
  67. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.d.ts +11 -0
  68. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js +72 -0
  69. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js.map +1 -0
  70. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.d.ts +8 -0
  71. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js +25 -0
  72. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js.map +1 -0
  73. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.d.ts +9 -0
  74. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js +73 -0
  75. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js.map +1 -0
  76. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.d.ts +9 -0
  77. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js +82 -0
  78. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js.map +1 -0
  79. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +1 -1
  80. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +1 -1
  81. package/lib/components/FormComponents/DecimalItem/DecimalField.js +1 -1
  82. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
  83. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +1 -1
  84. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -1
  85. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.d.ts +3 -3
  86. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +2 -1
  87. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -1
  88. package/lib/components/FormComponents/GridGroup/GridGroup.js +4 -1
  89. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  90. package/lib/components/FormComponents/GridGroup/GridRow.js +1 -1
  91. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  92. package/lib/components/FormComponents/GridGroup/GridTable.js +5 -1
  93. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
  94. package/lib/components/FormComponents/GroupItem/GroupHeading.js +2 -1
  95. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  96. package/lib/components/FormComponents/GroupItem/GroupItem.styles.d.ts +3 -3
  97. package/lib/components/FormComponents/GroupItem/GroupItem.styles.js +2 -1
  98. package/lib/components/FormComponents/GroupItem/GroupItem.styles.js.map +1 -1
  99. package/lib/components/FormComponents/GroupItem/NextTabButton.js +1 -1
  100. package/lib/components/FormComponents/GroupItem/NextTabButton.js.map +1 -1
  101. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +1 -1
  102. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -1
  103. package/lib/components/FormComponents/IntegerItem/IntegerField.js +1 -1
  104. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
  105. package/lib/components/FormComponents/Item.styles.d.ts +4 -4
  106. package/lib/components/FormComponents/Item.styles.js +4 -1
  107. package/lib/components/FormComponents/Item.styles.js.map +1 -1
  108. package/lib/components/FormComponents/ItemParts/CheckboxSingle.d.ts +10 -0
  109. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +25 -0
  110. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -0
  111. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.d.ts +10 -0
  112. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +35 -0
  113. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -0
  114. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.d.ts +10 -0
  115. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js +35 -0
  116. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js.map +1 -0
  117. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +1 -1
  118. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -1
  119. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +1 -1
  120. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  121. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +1 -1
  122. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
  123. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +1 -1
  124. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
  125. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js +2 -1
  126. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +1 -1
  127. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +3 -1
  128. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +1 -1
  129. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +3 -3
  130. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +1 -1
  131. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.d.ts +10 -0
  132. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js +31 -0
  133. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js.map +1 -0
  134. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.d.ts +10 -0
  135. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +31 -0
  136. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -0
  137. package/lib/components/FormComponents/Lists.styles.d.ts +3 -3
  138. package/lib/components/FormComponents/Lists.styles.js +2 -2
  139. package/lib/components/FormComponents/Lists.styles.js.map +1 -1
  140. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +9 -0
  141. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +111 -0
  142. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -0
  143. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +11 -0
  144. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +105 -0
  145. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -0
  146. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +9 -0
  147. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +49 -0
  148. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -0
  149. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +11 -0
  150. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +116 -0
  151. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -0
  152. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +9 -0
  153. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +77 -0
  154. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -0
  155. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +9 -0
  156. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +70 -0
  157. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -0
  158. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.d.ts +9 -0
  159. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js +49 -0
  160. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js.map +1 -0
  161. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.d.ts +9 -0
  162. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js +109 -0
  163. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js.map +1 -0
  164. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.d.ts +11 -0
  165. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js +105 -0
  166. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -0
  167. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.d.ts +11 -0
  168. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js +116 -0
  169. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js.map +1 -0
  170. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.d.ts +9 -0
  171. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js +75 -0
  172. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js.map +1 -0
  173. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.d.ts +9 -0
  174. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js +68 -0
  175. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -0
  176. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +5 -1
  177. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +1 -1
  178. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +1 -1
  179. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +1 -1
  180. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +2 -1
  181. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +1 -1
  182. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +1 -1
  183. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +1 -1
  184. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +3 -1
  185. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +1 -1
  186. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +2 -1
  187. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +1 -1
  188. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +4 -1
  189. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +1 -1
  190. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +3 -1
  191. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +1 -1
  192. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +6 -1
  193. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +1 -1
  194. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +1 -1
  195. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -1
  196. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +1 -1
  197. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +1 -1
  198. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +2 -1
  199. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +1 -1
  200. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +3 -1
  201. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -1
  202. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +2 -1
  203. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  204. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +1 -1
  205. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -1
  206. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +3 -1
  207. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  208. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +1 -1
  209. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  210. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +2 -1
  211. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  212. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js +1 -1
  213. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -1
  214. package/lib/components/FormComponents/RepeatItem/RepeatField.js +1 -1
  215. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
  216. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +1 -1
  217. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  218. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +7 -7
  219. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js +3 -1
  220. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +1 -1
  221. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +5 -5
  222. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  223. package/lib/components/FormComponents/StringItem/StringField.js +1 -1
  224. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
  225. package/lib/components/FormComponents/Tables/DeleteRowButton.js +2 -1
  226. package/lib/components/FormComponents/Tables/DeleteRowButton.js.map +1 -1
  227. package/lib/components/FormComponents/Tables/QItemGroupTable.js +11 -1
  228. package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -1
  229. package/lib/components/FormComponents/Tables/Table.styles.d.ts +5 -5
  230. package/lib/components/FormComponents/Tables/Table.styles.js +2 -1
  231. package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -1
  232. package/lib/components/FormComponents/TextItem/MuiTextField.d.ts +3 -0
  233. package/lib/components/FormComponents/TextItem/MuiTextField.js +20 -0
  234. package/lib/components/FormComponents/TextItem/MuiTextField.js.map +1 -0
  235. package/lib/components/FormComponents/TextItem/TextField.js +2 -1
  236. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  237. package/lib/components/FormComponents/Textfield.styles.d.ts +2 -2
  238. package/lib/components/FormComponents/Textfield.styles.js +2 -1
  239. package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
  240. package/lib/components/FormComponents/Typography.styles.d.ts +2 -2
  241. package/lib/components/FormComponents/Typography.styles.js +2 -1
  242. package/lib/components/FormComponents/Typography.styles.js.map +1 -1
  243. package/lib/components/FormComponents/UrlItem/UrlField.js +1 -1
  244. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
  245. package/lib/components/Iconify/Iconify.d.ts +1 -1
  246. package/lib/components/Iconify/Iconify.js +1 -1
  247. package/lib/components/Iconify/Iconify.js.map +1 -1
  248. package/lib/components/Lists.styles.d.ts +3 -3
  249. package/lib/components/Lists.styles.js +2 -2
  250. package/lib/components/Lists.styles.js.map +1 -1
  251. package/lib/components/Renderer/BaseRenderer.d.ts +3 -0
  252. package/lib/components/Renderer/BaseRenderer.js +55 -0
  253. package/lib/components/Renderer/BaseRenderer.js.map +1 -0
  254. package/lib/components/Renderer/FormBodyCollapsible.d.ts +9 -0
  255. package/lib/components/Renderer/FormBodyCollapsible.js +57 -0
  256. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -0
  257. package/lib/components/Renderer/FormBodySingleCollapsible.d.ts +12 -0
  258. package/lib/components/Renderer/FormBodySingleCollapsible.js +44 -0
  259. package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -0
  260. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +12 -0
  261. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +31 -0
  262. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
  263. package/lib/components/Renderer/FormBodyTabbed.d.ts +9 -0
  264. package/lib/components/Renderer/FormBodyTabbed.js +61 -0
  265. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -0
  266. package/lib/components/Renderer/FormTitle.d.ts +7 -0
  267. package/lib/components/Renderer/FormTitle.js +30 -0
  268. package/lib/components/Renderer/FormTitle.js.map +1 -0
  269. package/lib/components/Renderer/FormTopLevelItem.d.ts +9 -0
  270. package/lib/components/Renderer/FormTopLevelItem.js +45 -0
  271. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -0
  272. package/lib/components/Renderer/SmartFormsRenderer.d.ts +11 -0
  273. package/lib/components/Renderer/SmartFormsRenderer.js +41 -0
  274. package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -0
  275. package/lib/components/Renderer/index.d.ts +2 -0
  276. package/lib/components/Renderer/index.js +19 -0
  277. package/lib/components/Renderer/index.js.map +1 -0
  278. package/lib/components/Tabs/CompleteTabButton.js +2 -1
  279. package/lib/components/Tabs/CompleteTabButton.js.map +1 -1
  280. package/lib/components/Tabs/FormBodySingleTab.js +4 -1
  281. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  282. package/lib/components/Tabs/FormBodyTabList.js +3 -1
  283. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  284. package/lib/components/index.d.ts +1 -1
  285. package/lib/components/index.js +1 -1
  286. package/lib/components/index.js.map +1 -1
  287. package/lib/contexts/TestContext.d.ts +11 -0
  288. package/lib/contexts/TestContext.js +32 -0
  289. package/lib/contexts/TestContext.js.map +1 -0
  290. package/lib/contexts/index.d.ts +1 -0
  291. package/lib/contexts/index.js +2 -0
  292. package/lib/contexts/index.js.map +1 -0
  293. package/lib/hooks/useInitialiseRenderer.d.ts +2 -1
  294. package/lib/hooks/useInitialiseRenderer.js +28 -5
  295. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  296. package/lib/hooks/useTerminologyServerQuery.d.ts +1 -1
  297. package/lib/hooks/useTestContext.d.ts +5 -0
  298. package/lib/hooks/useTestContext.js +27 -0
  299. package/lib/hooks/useTestContext.js.map +1 -0
  300. package/lib/hooks/useValueSetCodings.js +4 -4
  301. package/lib/hooks/useValueSetCodings.js.map +1 -1
  302. package/lib/index.d.ts +5 -63
  303. package/lib/index.js +6 -87
  304. package/lib/index.js.map +1 -1
  305. package/lib/interfaces/choice.enum.d.ts +4 -4
  306. package/lib/interfaces/choice.enum.js +24 -24
  307. package/lib/interfaces/choice.enum.js.map +1 -1
  308. package/lib/stores/index.d.ts +3 -0
  309. package/lib/stores/index.js +4 -0
  310. package/lib/stores/index.js.map +1 -0
  311. package/lib/stores/useQuestionnaireResponseStore.d.ts +3 -3
  312. package/lib/stores/useQuestionnaireResponseStore.js +5 -4
  313. package/lib/stores/useQuestionnaireResponseStore.js.map +1 -1
  314. package/lib/stores/useSmartClientStore.d.ts +7 -0
  315. package/lib/stores/useSmartClientStore.js +7 -0
  316. package/lib/stores/useSmartClientStore.js.map +1 -0
  317. package/lib/stores/useSmartConfigStore.d.ts +14 -0
  318. package/lib/stores/useSmartConfigStore.js +13 -0
  319. package/lib/stores/useSmartConfigStore.js.map +1 -0
  320. package/lib/theme/Theme.d.ts +1 -1
  321. package/lib/theme/Theme.js +3 -3
  322. package/lib/theme/Theme.js.map +1 -1
  323. package/lib/theme/customGlobalStyles.d.ts +2 -0
  324. package/lib/theme/customGlobalStyles.js +64 -0
  325. package/lib/theme/customGlobalStyles.js.map +1 -0
  326. package/lib/theme/overrides/Accordion.d.ts +1 -1
  327. package/lib/theme/overrides/Autocomplete.d.ts +1 -1
  328. package/lib/theme/overrides/Backdrop.d.ts +1 -1
  329. package/lib/theme/overrides/Backdrop.js.map +1 -1
  330. package/lib/theme/overrides/Button.d.ts +1 -1
  331. package/lib/theme/overrides/Button.js.map +1 -1
  332. package/lib/theme/overrides/Card.d.ts +1 -1
  333. package/lib/theme/overrides/Input.d.ts +1 -1
  334. package/lib/theme/overrides/Input.js.map +1 -1
  335. package/lib/theme/overrides/Overrides.d.ts +1 -1
  336. package/lib/theme/overrides/SpeedDial.d.ts +1 -1
  337. package/lib/theme/overrides/Typography.d.ts +1 -1
  338. package/lib/theme/palette.d.ts +1 -2
  339. package/lib/theme/palette.js.map +1 -1
  340. package/lib/utils/choice.d.ts +3 -3
  341. package/lib/utils/choice.js +11 -11
  342. package/lib/utils/choice.js.map +1 -1
  343. package/lib/utils/openChoice.d.ts +3 -3
  344. package/lib/utils/openChoice.js +7 -7
  345. package/lib/utils/openChoice.js.map +1 -1
  346. package/lib/utils/qItem.js +3 -3
  347. package/lib/utils/qItem.js.map +1 -1
  348. package/lib/utils/removeHidden.d.ts +2 -2
  349. package/lib/utils/valueSet.js +13 -1
  350. package/lib/utils/valueSet.js.map +1 -1
  351. package/package.json +12 -11
  352. package/src/api/smartClient.ts +31 -0
  353. package/src/components/Alert.styles.ts +2 -1
  354. package/src/components/BackToTopButton/BackToTopButton.tsx +3 -1
  355. package/src/components/Box.styles.ts +2 -1
  356. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +2 -1
  357. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +1 -1
  358. package/src/components/FormComponents/{QItemChoice/QItemChoiceAutocomplete.tsx → ChoiceItems/ChoiceAutocompleteItem.tsx} +13 -8
  359. package/src/components/FormComponents/{QItemChoice/QItemChoiceCheckboxAnswerOption.tsx → ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx} +8 -8
  360. package/src/components/FormComponents/{QItemChoice/QItemChoiceCheckboxAnswerValueSet.tsx → ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx} +10 -9
  361. package/src/components/FormComponents/{QItemChoice/QItemChoice.tsx → ChoiceItems/ChoiceItemSwitcher.tsx} +22 -22
  362. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioAnswerOption.tsx → ChoiceItems/ChoiceRadioAnswerOptionItem.tsx} +11 -11
  363. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioAnswerValueSet.tsx → ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx} +15 -13
  364. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioSingle.tsx → ChoiceItems/ChoiceRadioSingle.tsx} +5 -4
  365. package/src/components/FormComponents/{QItemChoice/QItemChoiceSelectAnswerOption.tsx → ChoiceItems/ChoiceSelectAnswerOptionItem.tsx} +13 -9
  366. package/src/components/FormComponents/{QItemChoice/QItemChoiceSelectAnswerValueSet.tsx → ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx} +11 -8
  367. package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +1 -1
  368. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +1 -1
  369. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +2 -1
  370. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +1 -1
  371. package/src/components/FormComponents/GridGroup/GridGroup.tsx +4 -1
  372. package/src/components/FormComponents/GridGroup/GridRow.tsx +1 -1
  373. package/src/components/FormComponents/GridGroup/GridTable.tsx +5 -1
  374. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +2 -1
  375. package/src/components/FormComponents/GroupItem/GroupItem.styles.ts +2 -1
  376. package/src/components/FormComponents/GroupItem/NextTabButton.tsx +1 -1
  377. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +1 -1
  378. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +1 -1
  379. package/src/components/FormComponents/Item.styles.ts +4 -1
  380. package/src/components/FormComponents/ItemParts/{QItemCheckboxSingle.tsx → CheckboxSingle.tsx} +4 -3
  381. package/src/components/FormComponents/ItemParts/{QItemCheckboxSingleWithOpenLabel.tsx → CheckboxSingleWithOpenLabel.tsx} +5 -3
  382. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +1 -1
  383. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +1 -1
  384. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +1 -1
  385. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +1 -1
  386. package/src/components/FormComponents/ItemParts/{QItemRadioButtonWithOpenLabel.tsx → RadioButtonWithOpenLabel.tsx} +6 -6
  387. package/src/components/FormComponents/Lists.styles.ts +2 -2
  388. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceAutocomplete.tsx → OpenChoiceItems/OpenChoiceAutocompleteItem.tsx} +15 -8
  389. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.tsx → OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx} +15 -15
  390. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoice.tsx → OpenChoiceItems/OpenChoiceItemSwitcher.tsx} +18 -18
  391. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.tsx → OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx} +13 -13
  392. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.tsx → OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx} +11 -9
  393. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.tsx → OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx} +11 -9
  394. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +2 -1
  395. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +1 -1
  396. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +4 -1
  397. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +1 -1
  398. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +2 -1
  399. package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +1 -1
  400. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +1 -1
  401. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.tsx +3 -1
  402. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +1 -1
  403. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +5 -5
  404. package/src/components/FormComponents/StringItem/StringField.tsx +1 -1
  405. package/src/components/FormComponents/Tables/DeleteRowButton.tsx +3 -1
  406. package/src/components/FormComponents/Tables/QItemGroupTable.tsx +12 -13
  407. package/src/components/FormComponents/Tables/Table.styles.tsx +2 -1
  408. package/src/components/FormComponents/TextItem/MuiTextField.ts +22 -0
  409. package/src/components/FormComponents/TextItem/TextField.tsx +2 -1
  410. package/src/components/FormComponents/Textfield.styles.ts +2 -1
  411. package/src/components/FormComponents/Typography.styles.ts +2 -1
  412. package/src/components/FormComponents/UrlItem/UrlField.tsx +1 -1
  413. package/src/components/Iconify/Iconify.tsx +2 -2
  414. package/src/components/Lists.styles.ts +2 -2
  415. package/src/components/{FormRenderer → Renderer}/BaseRenderer.tsx +3 -2
  416. package/src/components/{FormRenderer → Renderer}/FormBodyCollapsible.tsx +1 -1
  417. package/src/components/{FormRenderer → Renderer}/FormBodySingleCollapsible.tsx +6 -8
  418. package/src/components/{FormRenderer → Renderer}/FormBodyTabbed.tsx +3 -2
  419. package/src/components/{FormRenderer → Renderer}/FormTitle.tsx +1 -1
  420. package/src/components/{FormRenderer → Renderer}/SmartFormsRenderer.tsx +9 -3
  421. package/src/components/Tabs/CompleteTabButton.tsx +2 -1
  422. package/src/components/Tabs/FormBodySingleTab.tsx +5 -1
  423. package/src/components/Tabs/FormBodyTabList.tsx +3 -1
  424. package/src/components/index.ts +1 -1
  425. package/src/hooks/useInitialiseRenderer.ts +34 -5
  426. package/src/hooks/useTerminologyServerQuery.ts +1 -1
  427. package/src/hooks/useValueSetCodings.ts +4 -4
  428. package/src/index.ts +6 -94
  429. package/src/interfaces/choice.enum.ts +4 -4
  430. package/src/stores/index.ts +3 -0
  431. package/src/stores/useQuestionnaireResponseStore.ts +8 -8
  432. package/src/stores/useSmartConfigStore.ts +27 -0
  433. package/src/stories/SmartFormsRenderer.stories.ts +25 -16
  434. package/src/stories/assets/QTestGrid.json +245 -0
  435. package/src/theme/Theme.tsx +4 -4
  436. package/src/theme/{globalStyles.tsx → customGlobalStyles.tsx} +3 -3
  437. package/src/theme/overrides/Accordion.ts +1 -1
  438. package/src/theme/overrides/Autocomplete.ts +1 -1
  439. package/src/theme/overrides/Backdrop.ts +1 -1
  440. package/src/theme/overrides/Button.ts +1 -1
  441. package/src/theme/overrides/Card.ts +1 -1
  442. package/src/theme/overrides/Input.ts +1 -1
  443. package/src/theme/overrides/Overrides.ts +1 -1
  444. package/src/theme/overrides/SpeedDial.ts +1 -1
  445. package/src/theme/overrides/Typography.ts +1 -1
  446. package/src/theme/palette.ts +1 -2
  447. package/src/utils/choice.ts +12 -12
  448. package/src/utils/openChoice.ts +8 -8
  449. package/src/utils/qItem.ts +3 -3
  450. package/src/utils/removeHidden.ts +2 -2
  451. package/src/utils/valueSet.ts +16 -1
  452. package/tsconfig.json +3 -2
  453. package/src/api/populate.ts +0 -70
  454. package/src/stores/useConfigStore.ts +0 -36
  455. package/src/utils/populate.ts +0 -117
  456. package/src/utils/populateCallback.ts +0 -53
  457. /package/src/components/{FormRenderer → Renderer}/FormBodySingleCollapsibleWrapper.tsx +0 -0
  458. /package/src/components/{FormRenderer → Renderer}/FormTopLevelItem.tsx +0 -0
  459. /package/src/components/{FormRenderer → Renderer}/index.ts +0 -0
@@ -15,7 +15,9 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import { Stack, styled, Tooltip } from '@mui/material';
18
+ import Stack from '@mui/material/Stack';
19
+ import { styled } from '@mui/material/styles';
20
+ import Tooltip from '@mui/material/Tooltip';
19
21
 
20
22
  export const RepeatDeleteTooltip = styled(Tooltip)(() => ({
21
23
  marginLeft: 8
@@ -25,7 +25,7 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
25
25
  import AddItemButton from './AddItemButton';
26
26
  import { TransitionGroup } from 'react-transition-group';
27
27
  import RepeatField from './RepeatField';
28
- import { Collapse } from '@mui/material';
28
+ import Collapse from '@mui/material/Collapse';
29
29
  import useInitialiseRepeatAnswers from '../../../hooks/useInitialiseRepeatAnswers';
30
30
  import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
31
31
 
@@ -16,10 +16,10 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import QItemChoice from '../QItemChoice/QItemChoice';
19
+ import ChoiceItemSwitcher from '../ChoiceItems/ChoiceItemSwitcher';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
- import QItemOpenChoice from '../QItemOpenChoice/QItemOpenChoice';
22
- import { Typography } from '@mui/material';
21
+ import OpenChoiceItemSwitcher from '../OpenChoiceItems/OpenChoiceItemSwitcher';
22
+ import Typography from '@mui/material/Typography';
23
23
  import type {
24
24
  PropsWithIsRepeatedAttribute,
25
25
  PropsWithIsTabledAttribute,
@@ -131,7 +131,7 @@ function SingleItemSwitcher(props: SingleItemSwitcherProps) {
131
131
  );
132
132
  case 'choice':
133
133
  return (
134
- <QItemChoice
134
+ <ChoiceItemSwitcher
135
135
  qItem={qItem}
136
136
  qrItem={qrItem}
137
137
  isRepeated={isRepeated}
@@ -141,7 +141,7 @@ function SingleItemSwitcher(props: SingleItemSwitcherProps) {
141
141
  );
142
142
  case 'open-choice':
143
143
  return (
144
- <QItemOpenChoice
144
+ <OpenChoiceItemSwitcher
145
145
  qItem={qItem}
146
146
  qrItem={qrItem}
147
147
  isRepeated={isRepeated}
@@ -17,7 +17,7 @@
17
17
 
18
18
  import React from 'react';
19
19
  import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
20
- import { InputAdornment } from '@mui/material';
20
+ import InputAdornment from '@mui/material/InputAdornment';
21
21
  import { StandardTextField } from '../Textfield.styles';
22
22
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
23
23
 
@@ -17,7 +17,9 @@
17
17
 
18
18
  import React from 'react';
19
19
  import { DeleteButtonTableCell } from './Table.styles';
20
- import { IconButton, Tooltip } from '@mui/material';
20
+ import IconButton from '@mui/material/IconButton';
21
+ import Tooltip from '@mui/material/Tooltip';
22
+
21
23
  import RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline';
22
24
  import type { QuestionnaireResponseItem } from 'fhir/r4';
23
25
 
@@ -18,19 +18,18 @@
18
18
  import React, { useMemo, useState } from 'react';
19
19
 
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
- import {
22
- Button,
23
- Divider,
24
- Paper,
25
- Stack,
26
- Table,
27
- TableBody,
28
- TableCell,
29
- TableContainer,
30
- TableHead,
31
- TableRow,
32
- Typography
33
- } from '@mui/material';
21
+ import Button from '@mui/material/Button';
22
+ import Divider from '@mui/material/Divider';
23
+ import Paper from '@mui/material/Paper';
24
+ import Stack from '@mui/material/Stack';
25
+ import Table from '@mui/material/Table';
26
+ import TableBody from '@mui/material/TableBody';
27
+ import TableCell from '@mui/material/TableCell';
28
+ import TableContainer from '@mui/material/TableContainer';
29
+ import TableHead from '@mui/material/TableHead';
30
+ import TableRow from '@mui/material/TableRow';
31
+ import Typography from '@mui/material/Typography';
32
+
34
33
  import AddIcon from '@mui/icons-material/Add';
35
34
  import QItemGroupTableRow from './QItemGroupTableRow';
36
35
  import { HeaderTableCell } from './Table.styles';
@@ -15,7 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import { styled, TableCell } from '@mui/material';
18
+ import { styled } from '@mui/material/styles';
19
+ import TableCell from '@mui/material/TableCell';
19
20
 
20
21
  export const HeaderTableCell = styled(TableCell)(() => ({
21
22
  fontSize: 13,
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ import TextField from '@mui/material/TextField';
19
+
20
+ const MuiTextField = TextField;
21
+
22
+ export default MuiTextField;
@@ -16,7 +16,8 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import { InputAdornment, TextField as MuiTextField } from '@mui/material';
19
+ import InputAdornment from '@mui/material/InputAdornment';
20
+ import MuiTextField from './MuiTextField';
20
21
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
21
22
 
22
23
  interface TextFieldProps {
@@ -15,7 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import { styled, TextField } from '@mui/material';
18
+ import { styled } from '@mui/material/styles';
19
+ import TextField from '@mui/material/TextField';
19
20
 
20
21
  // Always use this accompanied by the TextField prop fullWidth
21
22
  export const StandardTextField = styled(TextField, {
@@ -15,7 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import { styled, Typography } from '@mui/material';
18
+ import { styled } from '@mui/material/styles';
19
+ import Typography from '@mui/material/Typography';
19
20
 
20
21
  export const QGroupHeadingTypography = styled(Typography, {
21
22
  shouldForwardProp: (prop) => prop !== 'isTabHeading'
@@ -17,7 +17,7 @@
17
17
 
18
18
  import React from 'react';
19
19
  import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
20
- import { InputAdornment } from '@mui/material';
20
+ import InputAdornment from '@mui/material/InputAdornment';
21
21
  import { StandardTextField } from '../Textfield.styles';
22
22
 
23
23
  interface UrlFieldProps extends PropsWithIsTabledAttribute {
@@ -17,8 +17,8 @@
17
17
 
18
18
  import React, { forwardRef, memo } from 'react';
19
19
  import { Icon } from '@iconify/react';
20
- import type { SxProps, Theme } from '@mui/material';
21
- import { Box } from '@mui/material';
20
+ import type { SxProps, Theme } from '@mui/material/styles';
21
+ import Box from '@mui/material/Box';
22
22
 
23
23
  interface IconifyProps {
24
24
  icon: string;
@@ -15,8 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import { List, styled } from '@mui/material';
19
- import { alpha } from '@mui/material/styles';
18
+ import List from '@mui/material/List';
19
+ import { alpha, styled } from '@mui/material/styles';
20
20
 
21
21
  export const PrimarySelectableList = styled(List)(({ theme }) => ({
22
22
  '&& .Mui-selected': {
@@ -16,8 +16,9 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import { Container, Fade } from '@mui/material';
20
- import FormTopLevelItem from '../FormRenderer/FormTopLevelItem';
19
+ import Container from '@mui/material/Container';
20
+ import Fade from '@mui/material/Fade';
21
+ import FormTopLevelItem from './FormTopLevelItem';
21
22
  import type { QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
22
23
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
23
24
  import useQuestionnaireResponseStore from '../../stores/useQuestionnaireResponseStore';
@@ -16,7 +16,7 @@
16
16
  */
17
17
 
18
18
  import React, { useMemo } from 'react';
19
- import { Stack } from '@mui/material';
19
+ import Stack from '@mui/material/Stack';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
22
22
  import { updateQrGroup } from '../../utils/qrItem';
@@ -17,14 +17,12 @@
17
17
 
18
18
  import type { ReactNode } from 'react';
19
19
  import React, { memo } from 'react';
20
- import {
21
- Accordion,
22
- AccordionDetails,
23
- AccordionSummary,
24
- Box,
25
- Tooltip,
26
- Typography
27
- } from '@mui/material';
20
+ import Accordion from '@mui/material/Accordion';
21
+ import AccordionDetails from '@mui/material/AccordionDetails';
22
+ import AccordionSummary from '@mui/material/AccordionSummary';
23
+ import Box from '@mui/material/Box';
24
+ import Tooltip from '@mui/material/Tooltip';
25
+ import Typography from '@mui/material/Typography';
28
26
  import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
29
27
  import { getContextDisplays } from '../../utils/tabs';
30
28
  import type { QuestionnaireItem } from 'fhir/r4';
@@ -16,9 +16,10 @@
16
16
  */
17
17
 
18
18
  import React, { useMemo } from 'react';
19
- import { Grid } from '@mui/material';
19
+ import Grid from '@mui/material/Grid';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
- import { TabContext, TabPanel } from '@mui/lab';
21
+ import TabContext from '@mui/lab/TabContext';
22
+ import TabPanel from '@mui/lab/TabPanel';
22
23
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
23
24
  import GroupItem from '../FormComponents/GroupItem/GroupItem';
24
25
  import { updateQrGroup } from '../../utils/qrItem';
@@ -20,7 +20,7 @@ import type { Questionnaire } from 'fhir/r4';
20
20
  import parse from 'html-react-parser';
21
21
  import { getXHtmlStringFromQuestionnaire } from '../../utils/qItem';
22
22
  import { FormTitleWrapper } from '../Box.styles';
23
- import { Typography } from '@mui/material';
23
+ import Typography from '@mui/material/Typography';
24
24
 
25
25
  interface FormTitleProps {
26
26
  questionnaire: Questionnaire;
@@ -18,26 +18,32 @@
18
18
  import React from 'react';
19
19
  import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
20
20
  import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
21
- import { Box, CircularProgress, Typography } from '@mui/material';
21
+ import Box from '@mui/material/Box';
22
+ import CircularProgress from '@mui/material/CircularProgress';
23
+ import Typography from '@mui/material/Typography';
24
+
22
25
  import { QueryClientProvider } from '@tanstack/react-query';
23
26
  import useQueryClient from '../../hooks/useQueryClient';
24
27
  import BaseRenderer from './BaseRenderer';
25
28
  import ThemeProvider from '../../theme/Theme';
29
+ import type Client from 'fhirclient/lib/Client';
26
30
 
27
31
  interface SmartFormsRendererProps {
28
32
  questionnaire: Questionnaire;
29
33
  questionnaireResponse?: QuestionnaireResponse;
30
34
  additionalVariables?: Record<string, object>;
35
+ fhirClient?: Client;
31
36
  }
32
37
 
33
38
  // TODO add terminiology server
34
39
  function SmartFormsRenderer(props: SmartFormsRendererProps) {
35
- const { questionnaire, questionnaireResponse, additionalVariables } = props;
40
+ const { questionnaire, questionnaireResponse, additionalVariables, fhirClient } = props;
36
41
 
37
42
  const isLoading = useInitialiseRenderer(
38
43
  questionnaire,
39
44
  questionnaireResponse,
40
- additionalVariables
45
+ additionalVariables,
46
+ fhirClient
41
47
  );
42
48
  const queryClient = useQueryClient();
43
49
 
@@ -16,7 +16,8 @@
16
16
  */
17
17
 
18
18
  import React, { memo } from 'react';
19
- import { IconButton, Tooltip } from '@mui/material';
19
+ import IconButton from '@mui/material/IconButton';
20
+ import Tooltip from '@mui/material/Tooltip';
20
21
  import CheckCircleIcon from '@mui/icons-material/CheckCircle';
21
22
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
22
23
 
@@ -16,7 +16,11 @@
16
16
  */
17
17
 
18
18
  import React, { memo } from 'react';
19
- import { Box, ListItemButton, ListItemText, Typography } from '@mui/material';
19
+ import Box from '@mui/material/Box';
20
+ import ListItemButton from '@mui/material/ListItemButton';
21
+ import ListItemText from '@mui/material/ListItemText';
22
+ import Typography from '@mui/material/Typography';
23
+
20
24
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
21
25
  import type { QuestionnaireItem } from 'fhir/r4';
22
26
  import { getContextDisplays } from '../../utils/tabs';
@@ -16,7 +16,9 @@
16
16
  */
17
17
 
18
18
  import React, { memo } from 'react';
19
- import { Box, Card, Collapse } from '@mui/material';
19
+ import Box from '@mui/material/Box';
20
+ import Card from '@mui/material/Card';
21
+ import Collapse from '@mui/material/Collapse';
20
22
  import { PrimarySelectableList } from '../Lists.styles';
21
23
  import { TransitionGroup } from 'react-transition-group';
22
24
  import { isHidden } from '../../utils/qItem';
@@ -15,4 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- export * from './FormRenderer';
18
+ export * from './Renderer';
@@ -20,29 +20,53 @@ import { useLayoutEffect, useState } from 'react';
20
20
  import { createQuestionnaireResponse } from '../utils/qrItem';
21
21
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
22
22
  import useQuestionnaireResponseStore from '../stores/useQuestionnaireResponseStore';
23
+ import type Client from 'fhirclient/lib/Client';
24
+ import useSmartConfigStore from '../stores/useSmartConfigStore';
25
+ import { readEncounter, readPatient, readUser } from '../api/smartClient';
23
26
 
24
27
  function useInitialiseRenderer(
25
28
  questionnaire: Questionnaire,
26
29
  questionnaireResponse?: QuestionnaireResponse,
27
- additionalVariables?: Record<string, object>
30
+ additionalVariables?: Record<string, object>,
31
+ fhirClient?: Client
28
32
  ): boolean {
29
33
  const buildSourceQuestionnaire = useQuestionnaireStore((state) => state.buildSourceQuestionnaire);
30
34
  const updatePopulatedProperties = useQuestionnaireStore(
31
35
  (state) => state.updatePopulatedProperties
32
36
  );
33
37
  const buildSourceResponse = useQuestionnaireResponseStore((state) => state.buildSourceResponse);
34
- const populateResponse = useQuestionnaireResponseStore((state) => state.populateResponse);
38
+ const setUpdatableResponseAsPopulated = useQuestionnaireResponseStore(
39
+ (state) => state.setUpdatableResponseAsPopulated
40
+ );
41
+
42
+ const setSmartClient = useSmartConfigStore((state) => state.setClient);
43
+ const setPatient = useSmartConfigStore((state) => state.setPatient);
44
+ const setUser = useSmartConfigStore((state) => state.setUser);
45
+ const setEncounter = useSmartConfigStore((state) => state.setEncounter);
35
46
 
36
47
  const [loading, setLoading] = useState(true);
37
48
 
38
49
  useLayoutEffect(() => {
39
50
  setLoading(true);
51
+ if (fhirClient) {
52
+ setSmartClient(fhirClient);
53
+ readPatient(fhirClient).then((patient) => {
54
+ setPatient(patient);
55
+ });
56
+ readUser(fhirClient).then((user) => {
57
+ setUser(user);
58
+ });
59
+ readEncounter(fhirClient).then((encounter) => {
60
+ setEncounter(encounter);
61
+ });
62
+ }
63
+
40
64
  buildSourceQuestionnaire(questionnaire, questionnaireResponse, additionalVariables).then(() => {
41
65
  buildSourceResponse(createQuestionnaireResponse(questionnaire));
42
66
 
43
67
  if (questionnaireResponse) {
44
68
  const updatedResponse = updatePopulatedProperties(questionnaireResponse);
45
- populateResponse(updatedResponse);
69
+ setUpdatableResponseAsPopulated(updatedResponse);
46
70
  }
47
71
  setLoading(false);
48
72
  });
@@ -51,9 +75,14 @@ function useInitialiseRenderer(
51
75
  questionnaireResponse,
52
76
  buildSourceQuestionnaire,
53
77
  buildSourceResponse,
54
- populateResponse,
78
+ setUpdatableResponseAsPopulated,
55
79
  updatePopulatedProperties,
56
- additionalVariables
80
+ additionalVariables,
81
+ fhirClient,
82
+ setSmartClient,
83
+ setPatient,
84
+ setUser,
85
+ setEncounter
57
86
  ]);
58
87
 
59
88
  return loading;
@@ -19,7 +19,7 @@ import { useQuery } from '@tanstack/react-query';
19
19
  import type { Coding, ValueSet } from 'fhir/r4';
20
20
  import { getValueSetCodings, getValueSetPromise } from '../utils/valueSet';
21
21
 
22
- import type { AlertColor } from '@mui/material';
22
+ import type { AlertColor } from '@mui/material/Alert';
23
23
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
24
24
 
25
25
  function useTerminologyServerQuery(
@@ -26,13 +26,13 @@ import {
26
26
  import { getAnswerExpression } from '../utils/itemControl';
27
27
  import fhirpath from 'fhirpath';
28
28
  import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
29
- import useConfigStore from '../stores/useConfigStore';
29
+ import useSmartConfigStore from '../stores/useSmartConfigStore';
30
30
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
31
31
 
32
32
  function useValueSetCodings(qItem: QuestionnaireItem) {
33
- const patient = useConfigStore((state) => state.patient);
34
- const user = useConfigStore((state) => state.user);
35
- const encounter = useConfigStore((state) => state.encounter);
33
+ const patient = useSmartConfigStore((state) => state.patient);
34
+ const user = useSmartConfigStore((state) => state.user);
35
+ const encounter = useSmartConfigStore((state) => state.encounter);
36
36
 
37
37
  const launchContexts = useQuestionnaireStore((state) => state.launchContexts);
38
38
  const processedValueSetCodings = useQuestionnaireStore((state) => state.processedValueSetCodings);
package/src/index.ts CHANGED
@@ -6,68 +6,11 @@ import { removeHiddenAnswers } from './utils/removeHidden';
6
6
 
7
7
  export * from './components';
8
8
  export * from './hooks';
9
-
10
- /**
11
- * Get the initial Questionnaire.
12
- *
13
- * @author Sean Fong
14
- */
15
- export function useSourceQuestionnaire(): Questionnaire {
16
- return useQuestionnaireStore.getState().sourceQuestionnaire;
17
- }
18
-
19
- /**
20
- * Get the initial QuestionnaireResponse.
21
- * An empty QuestionnaireResponse is returned if no initial QuestionnaireResponse is provided when building the form.
22
- *
23
- * @author Sean Fong
24
- */
25
- export function useSourceResponse(): QuestionnaireResponse {
26
- return useQuestionnaireResponseStore.getState().sourceResponse;
27
- }
28
-
29
- /**
30
- * Get the filled QuestionnaireResponse.
31
- * If no changes have been made to the form, the initial QuestionnaireResponse is returned.
32
- *
33
- * @author Sean Fong
34
- */
35
- export function useUpdatableResponse(): QuestionnaireResponse {
36
- return useQuestionnaireResponseStore.getState().updatableResponse;
37
- }
38
-
39
- /**
40
- * Get the boolean value of whether any changes have been made to the form.
41
- *
42
- * @author Sean Fong
43
- */
44
- export function useFormHasChanges(): boolean {
45
- return useQuestionnaireResponseStore.getState().hasChanges;
46
- }
47
-
48
- /**
49
- * Get the boolean value of whether enableWhen (and enableWhenExpression) is activated.
50
- *
51
- * @author Sean Fong
52
- */
53
- export function useEnableWhenActivated(): boolean {
54
- return useQuestionnaireStore.getState().enableWhenIsActivated;
55
- }
56
-
57
- /**
58
- * Set the initial Questionnaire.
59
- * In most cases, <pre>buildForm()</pre> should be used instead.
60
- *
61
- * @author Sean Fong
62
- */
63
- export async function setSourceQuestionnaire(questionnaire: Questionnaire): Promise<void> {
64
- await useQuestionnaireStore.getState().buildSourceQuestionnaire(questionnaire);
65
- }
9
+ export * from './stores';
66
10
 
67
11
  /**
68
12
  * Build the form with an initial Questionnaire and an optional filled QuestionnaireResponse.
69
13
  * If a QuestionnaireResponse is not provided, an empty QuestionnaireResponse is set as the initial QuestionnaireResponse.
70
- * In most cases, <pre>buildForm()</pre> is sufficient. Other fine-grained functions are provided for more control.
71
14
  *
72
15
  * @author Sean Fong
73
16
  */
@@ -89,7 +32,7 @@ export async function buildForm(
89
32
  }
90
33
 
91
34
  /**
92
- * Destroy the form to clean up the store.
35
+ * Destroy the form to clean up the questionnaire and questionnaireResponse stores.
93
36
  *
94
37
  * @author Sean Fong
95
38
  */
@@ -99,44 +42,13 @@ export function destroyForm(): void {
99
42
  }
100
43
 
101
44
  /**
102
- * Toggle activation of enableWhen (and enableWhenExpression).
103
- *
104
- * @author Sean Fong
105
- */
106
- export function setEnableWhenActivation(isActivated: boolean): void {
107
- useQuestionnaireStore.getState().toggleEnableWhenActivation(isActivated);
108
- }
109
-
110
- /**
111
- * Set the filled QuestionnaireResponse.
112
- * In most cases, <pre>buildForm()</pre> should be used instead.
113
- *
114
- * @author Sean Fong
115
- */
116
- export function setUpdatableResponse(populatedResponse: QuestionnaireResponse): void {
117
- const updatedResponse = useQuestionnaireStore
118
- .getState()
119
- .updatePopulatedProperties(populatedResponse);
120
- useQuestionnaireResponseStore.getState().populateResponse(updatedResponse);
121
- }
122
-
123
- /**
124
- * Set the filled QuestionnaireResponse to be empty.
125
- * This is used to quickly clear the form.
126
- *
127
- * @author Sean Fong
128
- */
129
- export function setUpdatableResponseAsEmpty(emptyResponse: QuestionnaireResponse): void {
130
- return useQuestionnaireResponseStore.getState().clearResponse(emptyResponse);
131
- }
132
-
133
- /**
134
- * Save the filled QuestionnaireResponse to be the initial QuestionnaireResponse and reset the <pre>hasChanges</pre> flag.
45
+ * Get the filled QuestionnaireResponse at its current state.
46
+ * If no changes have been made to the form, the initial QuestionnaireResponse is returned.
135
47
  *
136
48
  * @author Sean Fong
137
49
  */
138
- export function setUpdatableResponseAsSaved(savedResponse: QuestionnaireResponse): void {
139
- return useQuestionnaireResponseStore.getState().saveResponse(savedResponse);
50
+ export function getUpdatableResponse(): QuestionnaireResponse {
51
+ return useQuestionnaireResponseStore.getState().updatableResponse;
140
52
  }
141
53
 
142
54
  /**
@@ -15,26 +15,26 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- export enum QItemChoiceControl {
18
+ export enum ChoiceItemControl {
19
19
  Radio = 'radio',
20
20
  Select = 'select',
21
21
  Autocomplete = 'autocomplete',
22
22
  Checkbox = 'check-box'
23
23
  }
24
24
 
25
- export enum QItemOpenChoiceControl {
25
+ export enum OpenChoiceItemControl {
26
26
  Select = 'select',
27
27
  Autocomplete = 'autocomplete',
28
28
  Checkbox = 'check-box',
29
29
  Radio = 'radio'
30
30
  }
31
31
 
32
- export enum QItemChoiceOrientation {
32
+ export enum ChoiceItemOrientation {
33
33
  Horizontal = 'horizontal',
34
34
  Vertical = 'vertical'
35
35
  }
36
36
 
37
- export enum CheckBoxOptionType {
37
+ export enum CheckBoxOption {
38
38
  AnswerOption = 'answerOption',
39
39
  AnswerValueSet = 'answerValueSet'
40
40
  }
@@ -0,0 +1,3 @@
1
+ export { default as useQuestionnaireStore } from './useQuestionnaireStore';
2
+ export { default as useQuestionnaireResponseStore } from './useQuestionnaireResponseStore';
3
+ export { default as useSmartConfigStore } from './useSmartConfigStore';