@aehrc/smart-forms-renderer 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) 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/Textfield.styles.d.ts +2 -2
  233. package/lib/components/FormComponents/Textfield.styles.js +2 -1
  234. package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
  235. package/lib/components/FormComponents/Typography.styles.d.ts +2 -2
  236. package/lib/components/FormComponents/Typography.styles.js +2 -1
  237. package/lib/components/FormComponents/Typography.styles.js.map +1 -1
  238. package/lib/components/FormComponents/UrlItem/UrlField.js +1 -1
  239. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
  240. package/lib/components/Iconify/Iconify.d.ts +1 -1
  241. package/lib/components/Iconify/Iconify.js +1 -1
  242. package/lib/components/Iconify/Iconify.js.map +1 -1
  243. package/lib/components/Lists.styles.d.ts +3 -3
  244. package/lib/components/Lists.styles.js +2 -2
  245. package/lib/components/Lists.styles.js.map +1 -1
  246. package/lib/components/Renderer/BaseRenderer.d.ts +3 -0
  247. package/lib/components/Renderer/BaseRenderer.js +55 -0
  248. package/lib/components/Renderer/BaseRenderer.js.map +1 -0
  249. package/lib/components/Renderer/FormBodyCollapsible.d.ts +9 -0
  250. package/lib/components/Renderer/FormBodyCollapsible.js +57 -0
  251. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -0
  252. package/lib/components/Renderer/FormBodySingleCollapsible.d.ts +12 -0
  253. package/lib/components/Renderer/FormBodySingleCollapsible.js +44 -0
  254. package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -0
  255. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +12 -0
  256. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +31 -0
  257. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
  258. package/lib/components/Renderer/FormBodyTabbed.d.ts +9 -0
  259. package/lib/components/Renderer/FormBodyTabbed.js +60 -0
  260. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -0
  261. package/lib/components/Renderer/FormTitle.d.ts +7 -0
  262. package/lib/components/Renderer/FormTitle.js +30 -0
  263. package/lib/components/Renderer/FormTitle.js.map +1 -0
  264. package/lib/components/Renderer/FormTopLevelItem.d.ts +9 -0
  265. package/lib/components/Renderer/FormTopLevelItem.js +45 -0
  266. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -0
  267. package/lib/components/Renderer/SmartFormsRenderer.d.ts +11 -0
  268. package/lib/components/Renderer/SmartFormsRenderer.js +41 -0
  269. package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -0
  270. package/lib/components/Renderer/index.d.ts +2 -0
  271. package/lib/components/Renderer/index.js +19 -0
  272. package/lib/components/Renderer/index.js.map +1 -0
  273. package/lib/components/Tabs/CompleteTabButton.js +2 -1
  274. package/lib/components/Tabs/CompleteTabButton.js.map +1 -1
  275. package/lib/components/Tabs/FormBodySingleTab.js +4 -1
  276. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  277. package/lib/components/Tabs/FormBodyTabList.js +3 -1
  278. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  279. package/lib/components/index.d.ts +1 -1
  280. package/lib/components/index.js +1 -1
  281. package/lib/components/index.js.map +1 -1
  282. package/lib/contexts/TestContext.d.ts +11 -0
  283. package/lib/contexts/TestContext.js +32 -0
  284. package/lib/contexts/TestContext.js.map +1 -0
  285. package/lib/contexts/index.d.ts +1 -0
  286. package/lib/contexts/index.js +2 -0
  287. package/lib/contexts/index.js.map +1 -0
  288. package/lib/hooks/useInitialiseRenderer.d.ts +2 -1
  289. package/lib/hooks/useInitialiseRenderer.js +28 -5
  290. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  291. package/lib/hooks/useTerminologyServerQuery.d.ts +1 -1
  292. package/lib/hooks/useTestContext.d.ts +5 -0
  293. package/lib/hooks/useTestContext.js +27 -0
  294. package/lib/hooks/useTestContext.js.map +1 -0
  295. package/lib/hooks/useValueSetCodings.js +4 -4
  296. package/lib/hooks/useValueSetCodings.js.map +1 -1
  297. package/lib/index.d.ts +5 -63
  298. package/lib/index.js +6 -87
  299. package/lib/index.js.map +1 -1
  300. package/lib/interfaces/choice.enum.d.ts +4 -4
  301. package/lib/interfaces/choice.enum.js +24 -24
  302. package/lib/interfaces/choice.enum.js.map +1 -1
  303. package/lib/stores/index.d.ts +3 -0
  304. package/lib/stores/index.js +4 -0
  305. package/lib/stores/index.js.map +1 -0
  306. package/lib/stores/useQuestionnaireResponseStore.d.ts +3 -3
  307. package/lib/stores/useQuestionnaireResponseStore.js +5 -4
  308. package/lib/stores/useQuestionnaireResponseStore.js.map +1 -1
  309. package/lib/stores/useSmartClientStore.d.ts +7 -0
  310. package/lib/stores/useSmartClientStore.js +7 -0
  311. package/lib/stores/useSmartClientStore.js.map +1 -0
  312. package/lib/stores/useSmartConfigStore.d.ts +14 -0
  313. package/lib/stores/useSmartConfigStore.js +13 -0
  314. package/lib/stores/useSmartConfigStore.js.map +1 -0
  315. package/lib/theme/Theme.d.ts +1 -1
  316. package/lib/theme/Theme.js +1 -1
  317. package/lib/theme/Theme.js.map +1 -1
  318. package/lib/theme/overrides/Accordion.d.ts +1 -1
  319. package/lib/theme/overrides/Autocomplete.d.ts +1 -1
  320. package/lib/theme/overrides/Backdrop.d.ts +1 -1
  321. package/lib/theme/overrides/Backdrop.js.map +1 -1
  322. package/lib/theme/overrides/Button.d.ts +1 -1
  323. package/lib/theme/overrides/Button.js.map +1 -1
  324. package/lib/theme/overrides/Card.d.ts +1 -1
  325. package/lib/theme/overrides/Input.d.ts +1 -1
  326. package/lib/theme/overrides/Input.js.map +1 -1
  327. package/lib/theme/overrides/Overrides.d.ts +1 -1
  328. package/lib/theme/overrides/SpeedDial.d.ts +1 -1
  329. package/lib/theme/overrides/Typography.d.ts +1 -1
  330. package/lib/theme/palette.d.ts +1 -2
  331. package/lib/theme/palette.js.map +1 -1
  332. package/lib/utils/choice.d.ts +3 -3
  333. package/lib/utils/choice.js +11 -11
  334. package/lib/utils/choice.js.map +1 -1
  335. package/lib/utils/openChoice.d.ts +3 -3
  336. package/lib/utils/openChoice.js +7 -7
  337. package/lib/utils/openChoice.js.map +1 -1
  338. package/lib/utils/qItem.js +3 -3
  339. package/lib/utils/qItem.js.map +1 -1
  340. package/lib/utils/removeHidden.d.ts +2 -2
  341. package/lib/utils/valueSet.js +13 -1
  342. package/lib/utils/valueSet.js.map +1 -1
  343. package/package.json +12 -11
  344. package/src/api/smartClient.ts +31 -0
  345. package/src/components/Alert.styles.ts +2 -1
  346. package/src/components/BackToTopButton/BackToTopButton.tsx +3 -1
  347. package/src/components/Box.styles.ts +2 -1
  348. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +2 -1
  349. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +1 -1
  350. package/src/components/FormComponents/{QItemChoice/QItemChoiceAutocomplete.tsx → ChoiceItems/ChoiceAutocompleteItem.tsx} +13 -8
  351. package/src/components/FormComponents/{QItemChoice/QItemChoiceCheckboxAnswerOption.tsx → ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx} +8 -8
  352. package/src/components/FormComponents/{QItemChoice/QItemChoiceCheckboxAnswerValueSet.tsx → ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx} +10 -9
  353. package/src/components/FormComponents/{QItemChoice/QItemChoice.tsx → ChoiceItems/ChoiceItemSwitcher.tsx} +22 -22
  354. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioAnswerOption.tsx → ChoiceItems/ChoiceRadioAnswerOptionItem.tsx} +11 -11
  355. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioAnswerValueSet.tsx → ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx} +15 -13
  356. package/src/components/FormComponents/{QItemChoice/QItemChoiceRadioSingle.tsx → ChoiceItems/ChoiceRadioSingle.tsx} +5 -4
  357. package/src/components/FormComponents/{QItemChoice/QItemChoiceSelectAnswerOption.tsx → ChoiceItems/ChoiceSelectAnswerOptionItem.tsx} +13 -9
  358. package/src/components/FormComponents/{QItemChoice/QItemChoiceSelectAnswerValueSet.tsx → ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx} +11 -8
  359. package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +1 -1
  360. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +1 -1
  361. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +2 -1
  362. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +1 -1
  363. package/src/components/FormComponents/GridGroup/GridGroup.tsx +4 -1
  364. package/src/components/FormComponents/GridGroup/GridRow.tsx +1 -1
  365. package/src/components/FormComponents/GridGroup/GridTable.tsx +5 -1
  366. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +2 -1
  367. package/src/components/FormComponents/GroupItem/GroupItem.styles.ts +2 -1
  368. package/src/components/FormComponents/GroupItem/NextTabButton.tsx +1 -1
  369. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +1 -1
  370. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +1 -1
  371. package/src/components/FormComponents/Item.styles.ts +4 -1
  372. package/src/components/FormComponents/ItemParts/{QItemCheckboxSingle.tsx → CheckboxSingle.tsx} +4 -3
  373. package/src/components/FormComponents/ItemParts/{QItemCheckboxSingleWithOpenLabel.tsx → CheckboxSingleWithOpenLabel.tsx} +5 -3
  374. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +1 -1
  375. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +1 -1
  376. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +1 -1
  377. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +1 -1
  378. package/src/components/FormComponents/ItemParts/{QItemRadioButtonWithOpenLabel.tsx → RadioButtonWithOpenLabel.tsx} +6 -6
  379. package/src/components/FormComponents/Lists.styles.ts +2 -2
  380. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceAutocomplete.tsx → OpenChoiceItems/OpenChoiceAutocompleteItem.tsx} +15 -8
  381. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.tsx → OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx} +15 -15
  382. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoice.tsx → OpenChoiceItems/OpenChoiceItemSwitcher.tsx} +18 -18
  383. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.tsx → OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx} +13 -13
  384. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.tsx → OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx} +11 -9
  385. package/src/components/FormComponents/{QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.tsx → OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx} +11 -9
  386. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +2 -1
  387. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +1 -1
  388. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +4 -1
  389. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +1 -1
  390. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +2 -1
  391. package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +1 -1
  392. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +1 -1
  393. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.tsx +3 -1
  394. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +1 -1
  395. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +5 -5
  396. package/src/components/FormComponents/StringItem/StringField.tsx +1 -1
  397. package/src/components/FormComponents/Tables/DeleteRowButton.tsx +3 -1
  398. package/src/components/FormComponents/Tables/QItemGroupTable.tsx +12 -13
  399. package/src/components/FormComponents/Tables/Table.styles.tsx +2 -1
  400. package/src/components/FormComponents/Textfield.styles.ts +2 -1
  401. package/src/components/FormComponents/Typography.styles.ts +2 -1
  402. package/src/components/FormComponents/UrlItem/UrlField.tsx +1 -1
  403. package/src/components/Iconify/Iconify.tsx +2 -2
  404. package/src/components/Lists.styles.ts +2 -2
  405. package/src/components/{FormRenderer → Renderer}/BaseRenderer.tsx +3 -2
  406. package/src/components/{FormRenderer → Renderer}/FormBodyCollapsible.tsx +1 -1
  407. package/src/components/{FormRenderer → Renderer}/FormBodySingleCollapsible.tsx +6 -8
  408. package/src/components/{FormRenderer → Renderer}/FormBodyTabbed.tsx +1 -1
  409. package/src/components/{FormRenderer → Renderer}/FormTitle.tsx +1 -1
  410. package/src/components/{FormRenderer → Renderer}/SmartFormsRenderer.tsx +9 -3
  411. package/src/components/Tabs/CompleteTabButton.tsx +2 -1
  412. package/src/components/Tabs/FormBodySingleTab.tsx +5 -1
  413. package/src/components/Tabs/FormBodyTabList.tsx +3 -1
  414. package/src/components/index.ts +1 -1
  415. package/src/hooks/useInitialiseRenderer.ts +34 -5
  416. package/src/hooks/useTerminologyServerQuery.ts +1 -1
  417. package/src/hooks/useValueSetCodings.ts +4 -4
  418. package/src/index.ts +6 -94
  419. package/src/interfaces/choice.enum.ts +4 -4
  420. package/src/stores/index.ts +3 -0
  421. package/src/stores/useQuestionnaireResponseStore.ts +8 -8
  422. package/src/stores/useSmartConfigStore.ts +27 -0
  423. package/src/stories/SmartFormsRenderer.stories.ts +25 -16
  424. package/src/stories/assets/QTestGrid.json +245 -0
  425. package/src/theme/Theme.tsx +2 -2
  426. package/src/theme/overrides/Accordion.ts +1 -1
  427. package/src/theme/overrides/Autocomplete.ts +1 -1
  428. package/src/theme/overrides/Backdrop.ts +1 -1
  429. package/src/theme/overrides/Button.ts +1 -1
  430. package/src/theme/overrides/Card.ts +1 -1
  431. package/src/theme/overrides/Input.ts +1 -1
  432. package/src/theme/overrides/Overrides.ts +1 -1
  433. package/src/theme/overrides/SpeedDial.ts +1 -1
  434. package/src/theme/overrides/Typography.ts +1 -1
  435. package/src/theme/palette.ts +1 -2
  436. package/src/utils/choice.ts +12 -12
  437. package/src/utils/openChoice.ts +8 -8
  438. package/src/utils/qItem.ts +3 -3
  439. package/src/utils/removeHidden.ts +2 -2
  440. package/src/utils/valueSet.ts +16 -1
  441. package/tsconfig.json +3 -2
  442. package/src/api/populate.ts +0 -70
  443. package/src/stores/useConfigStore.ts +0 -36
  444. package/src/utils/populate.ts +0 -117
  445. package/src/utils/populateCallback.ts +0 -53
  446. /package/src/components/{FormRenderer → Renderer}/FormBodySingleCollapsibleWrapper.tsx +0 -0
  447. /package/src/components/{FormRenderer → Renderer}/FormTopLevelItem.tsx +0 -0
  448. /package/src/components/{FormRenderer → Renderer}/index.ts +0 -0
@@ -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,
@@ -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,7 +16,7 @@
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
21
  import { TabContext, TabPanel } from '@mui/lab';
22
22
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
@@ -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';
@@ -8,10 +8,10 @@ export interface UseQuestionnaireResponseStoreType {
8
8
  updatableResponse: QuestionnaireResponse;
9
9
  hasChanges: boolean;
10
10
  buildSourceResponse: (response: QuestionnaireResponse) => void;
11
- populateResponse: (response: QuestionnaireResponse) => void;
11
+ setUpdatableResponseAsPopulated: (populatedResponse: QuestionnaireResponse) => void;
12
12
  updateResponse: (updatedResponse: QuestionnaireResponse) => void;
13
- saveResponse: (savedResponse: QuestionnaireResponse) => void;
14
- clearResponse: (clearedResponse: QuestionnaireResponse) => void;
13
+ setUpdatableResponseAsSaved: (savedResponse: QuestionnaireResponse) => void;
14
+ setUpdatableResponseAsEmpty: (clearedResponse: QuestionnaireResponse) => void;
15
15
  destroySourceResponse: () => void;
16
16
  }
17
17
 
@@ -19,16 +19,16 @@ const useQuestionnaireResponseStore = create<UseQuestionnaireResponseStoreType>(
19
19
  sourceResponse: cloneDeep(emptyResponse),
20
20
  updatableResponse: cloneDeep(emptyResponse),
21
21
  hasChanges: false,
22
-
23
22
  buildSourceResponse: (questionnaireResponse: QuestionnaireResponse) => {
24
23
  set(() => ({
25
24
  sourceResponse: questionnaireResponse,
26
25
  updatableResponse: questionnaireResponse
27
26
  }));
28
27
  },
29
- populateResponse: (populatedResponse: QuestionnaireResponse) => {
28
+ setUpdatableResponseAsPopulated: (populatedResponse: QuestionnaireResponse) => {
30
29
  set(() => ({
31
- updatableResponse: populatedResponse
30
+ updatableResponse: populatedResponse,
31
+ hasChanges: false
32
32
  }));
33
33
  },
34
34
  updateResponse: (updatedResponse: QuestionnaireResponse) =>
@@ -36,13 +36,13 @@ const useQuestionnaireResponseStore = create<UseQuestionnaireResponseStoreType>(
36
36
  updatableResponse: updatedResponse,
37
37
  hasChanges: true
38
38
  })),
39
- saveResponse: (savedResponse: QuestionnaireResponse) =>
39
+ setUpdatableResponseAsSaved: (savedResponse: QuestionnaireResponse) =>
40
40
  set(() => ({
41
41
  sourceResponse: savedResponse,
42
42
  updatableResponse: savedResponse,
43
43
  hasChanges: false
44
44
  })),
45
- clearResponse: (clearedResponse: QuestionnaireResponse) =>
45
+ setUpdatableResponseAsEmpty: (clearedResponse: QuestionnaireResponse) =>
46
46
  set(() => ({
47
47
  updatableResponse: clearedResponse,
48
48
  hasChanges: false
@@ -0,0 +1,27 @@
1
+ import { create } from 'zustand';
2
+ import type { Encounter, Patient, Practitioner } from 'fhir/r4';
3
+ import type Client from 'fhirclient/lib/Client';
4
+
5
+ export interface UseSmartConfigStoreType {
6
+ client: Client | null;
7
+ patient: Patient | null;
8
+ user: Practitioner | null;
9
+ encounter: Encounter | null;
10
+ setClient: (client: Client) => void;
11
+ setPatient: (patient: Patient) => void;
12
+ setUser: (user: Practitioner) => void;
13
+ setEncounter: (encounter: Encounter) => void;
14
+ }
15
+
16
+ const useSmartConfigStore = create<UseSmartConfigStoreType>()((set) => ({
17
+ client: null,
18
+ patient: null,
19
+ user: null,
20
+ encounter: null,
21
+ setClient: (client: Client) => set(() => ({ client: client })),
22
+ setPatient: (patient: Patient) => set(() => ({ patient: patient })),
23
+ setUser: (user: Practitioner) => set(() => ({ user: user })),
24
+ setEncounter: (encounter: Encounter) => set(() => ({ encounter: encounter }))
25
+ }));
26
+
27
+ export default useSmartConfigStore;
@@ -86,19 +86,28 @@ export const QTestGridWithResponseAddFhirPath: Story = {
86
86
  }
87
87
  };
88
88
 
89
- // export const QTestGridWithResponseAddXFhirQuery: Story = {
90
- // args: {
91
- // questionnaire: QTestGrid,
92
- // questionnaireResponse: RTestGrid,
93
- // additionalVariables: {
94
- // addVar2: {
95
- // url: 'http://hl7.org/fhir/StructureDefinition/variable',
96
- // valueExpression: {
97
- // name: 'addVar2',
98
- // language: 'application/x-fhir-query',
99
- // expression: 'Condition?patient={{%patient.id}}'
100
- // }
101
- // }
102
- // }
103
- // }
104
- // };
89
+ export const QTestGridWithResponseAddXFhirQuery: Story = {
90
+ args: {
91
+ questionnaire: QTestGrid,
92
+ questionnaireResponse: RTestGrid,
93
+ additionalVariables: {
94
+ addVar1: {
95
+ url: 'http://hl7.org/fhir/StructureDefinition/variable',
96
+ valueExpression: {
97
+ name: 'addVar1',
98
+ language: 'text/fhirpath',
99
+ expression:
100
+ "%resource.item.where(linkId='grid').item.where(linkId='1').item.where(linkId='1.1').item.where(linkId='1.1.1').answer.value"
101
+ }
102
+ },
103
+ addVar2: {
104
+ url: 'http://hl7.org/fhir/StructureDefinition/variable',
105
+ valueExpression: {
106
+ name: 'addVar2',
107
+ language: 'application/x-fhir-query',
108
+ expression: 'Condition?patient={{%patient.id}}'
109
+ }
110
+ }
111
+ }
112
+ }
113
+ };