@aehrc/smart-forms-renderer 0.3.0 → 0.4.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 (954) hide show
  1. package/.storybook/main.ts +28 -0
  2. package/.storybook/preview.ts +34 -0
  3. package/__mocks__/zustand.ts +60 -0
  4. package/jest.config.ts +16 -0
  5. package/lib/api/populate.js +63 -0
  6. package/lib/api/populate.js.map +1 -0
  7. package/{dist → lib}/components/Alert.styles.d.ts +5 -5
  8. package/lib/components/Alert.styles.js +40 -0
  9. package/lib/components/Alert.styles.js.map +1 -0
  10. package/lib/components/BackToTopButton/BackToTopButton.js +32 -0
  11. package/lib/components/BackToTopButton/BackToTopButton.js.map +1 -0
  12. package/{dist → lib}/components/Box.styles.d.ts +15 -15
  13. package/lib/components/Box.styles.js +30 -0
  14. package/lib/components/Box.styles.js.map +1 -0
  15. package/lib/components/FormComponents/BooleanItem/BooleanField.js +24 -0
  16. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -0
  17. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +49 -0
  18. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -0
  19. package/lib/components/FormComponents/DateItem/DateField.js +31 -0
  20. package/lib/components/FormComponents/DateItem/DateField.js.map +1 -0
  21. package/lib/components/FormComponents/DateItem/DateItem.js +52 -0
  22. package/lib/components/FormComponents/DateItem/DateItem.js.map +1 -0
  23. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +33 -0
  24. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +1 -0
  25. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +52 -0
  26. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -0
  27. package/lib/components/FormComponents/DecimalItem/DecimalField.js +30 -0
  28. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -0
  29. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +80 -0
  30. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -0
  31. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +26 -0
  32. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -0
  33. package/{dist → lib}/components/FormComponents/DisplayItem/DisplayInstructions.styles.d.ts +5 -5
  34. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +23 -0
  35. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -0
  36. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +31 -0
  37. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -0
  38. package/{dist → lib}/components/FormComponents/GridGroup/GridGroup.d.ts +1 -1
  39. package/lib/components/FormComponents/GridGroup/GridGroup.js +58 -0
  40. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -0
  41. package/{dist → lib}/components/FormComponents/GridGroup/GridRow.d.ts +1 -1
  42. package/lib/components/FormComponents/GridGroup/GridRow.js +55 -0
  43. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -0
  44. package/lib/components/FormComponents/GridGroup/GridTable.js +42 -0
  45. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -0
  46. package/lib/components/FormComponents/GroupItem/GroupHeading.js +39 -0
  47. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -0
  48. package/{dist → lib}/components/FormComponents/GroupItem/GroupItem.d.ts +1 -1
  49. package/lib/components/FormComponents/GroupItem/GroupItem.js +62 -0
  50. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -0
  51. package/{dist → lib}/components/FormComponents/GroupItem/GroupItem.styles.d.ts +5 -5
  52. package/lib/components/FormComponents/GroupItem/GroupItem.styles.js +27 -0
  53. package/lib/components/FormComponents/GroupItem/GroupItem.styles.js.map +1 -0
  54. package/{dist → lib}/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +1 -1
  55. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +73 -0
  56. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -0
  57. package/lib/components/FormComponents/GroupItem/NextTabButton.js +25 -0
  58. package/lib/components/FormComponents/GroupItem/NextTabButton.js.map +1 -0
  59. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +55 -0
  60. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -0
  61. package/lib/components/FormComponents/IntegerItem/IntegerField.js +30 -0
  62. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -0
  63. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +73 -0
  64. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -0
  65. package/lib/components/FormComponents/Item.styles.d.ts +6 -0
  66. package/lib/components/FormComponents/Item.styles.js +27 -0
  67. package/lib/components/FormComponents/Item.styles.js.map +1 -0
  68. package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js +29 -0
  69. package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -0
  70. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +26 -0
  71. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -0
  72. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +31 -0
  73. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -0
  74. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +45 -0
  75. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -0
  76. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +32 -0
  77. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -0
  78. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js +24 -0
  79. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +1 -0
  80. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +33 -0
  81. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +1 -0
  82. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +31 -0
  83. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +1 -0
  84. package/{dist → lib}/components/FormComponents/Lists.styles.d.ts +5 -5
  85. package/lib/components/FormComponents/Lists.styles.js +38 -0
  86. package/lib/components/FormComponents/Lists.styles.js.map +1 -0
  87. package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoice.d.ts +1 -1
  88. package/lib/components/FormComponents/QItemChoice/QItemChoice.js +61 -0
  89. package/lib/components/FormComponents/QItemChoice/QItemChoice.js.map +1 -0
  90. package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.d.ts +1 -1
  91. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +85 -0
  92. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +1 -0
  93. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +70 -0
  94. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +1 -0
  95. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +66 -0
  96. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +1 -0
  97. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +70 -0
  98. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +1 -0
  99. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +70 -0
  100. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +1 -0
  101. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +24 -0
  102. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +1 -0
  103. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +70 -0
  104. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +1 -0
  105. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +80 -0
  106. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +1 -0
  107. package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoice.d.ts +1 -1
  108. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +49 -0
  109. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +1 -0
  110. package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.d.ts +1 -1
  111. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +104 -0
  112. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +1 -0
  113. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +105 -0
  114. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -0
  115. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +116 -0
  116. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +1 -0
  117. package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.d.ts +1 -1
  118. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +74 -0
  119. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +1 -0
  120. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +66 -0
  121. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -0
  122. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +27 -0
  123. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -0
  124. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +30 -0
  125. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -0
  126. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +81 -0
  127. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -0
  128. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +30 -0
  129. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -0
  130. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +27 -0
  131. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -0
  132. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js +30 -0
  133. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -0
  134. package/lib/components/FormComponents/RepeatItem/RepeatField.js +31 -0
  135. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -0
  136. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +69 -0
  137. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -0
  138. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +22 -0
  139. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js +29 -0
  140. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +1 -0
  141. package/lib/components/FormComponents/SingleItem/SingleItem.js +32 -0
  142. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -0
  143. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +63 -0
  144. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -0
  145. package/lib/components/FormComponents/StringItem/StringField.js +30 -0
  146. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -0
  147. package/lib/components/FormComponents/StringItem/StringItem.js +71 -0
  148. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -0
  149. package/lib/components/FormComponents/Tables/DeleteRowButton.js +31 -0
  150. package/lib/components/FormComponents/Tables/DeleteRowButton.js.map +1 -0
  151. package/{dist → lib}/components/FormComponents/Tables/QItemGroupTable.d.ts +1 -1
  152. package/lib/components/FormComponents/Tables/QItemGroupTable.js +99 -0
  153. package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -0
  154. package/{dist → lib}/components/FormComponents/Tables/QItemGroupTableRow.d.ts +1 -1
  155. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js +46 -0
  156. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -0
  157. package/lib/components/FormComponents/Tables/Table.styles.js +46 -0
  158. package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -0
  159. package/lib/components/FormComponents/TextItem/TextField.js +29 -0
  160. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -0
  161. package/lib/components/FormComponents/TextItem/TextItem.js +71 -0
  162. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -0
  163. package/{dist → lib}/components/FormComponents/Textfield.styles.d.ts +1 -1
  164. package/lib/components/FormComponents/Textfield.styles.js +27 -0
  165. package/lib/components/FormComponents/Textfield.styles.js.map +1 -0
  166. package/lib/components/FormComponents/TimeItem/TimeField.js +30 -0
  167. package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -0
  168. package/lib/components/FormComponents/TimeItem/TimeItem.js +52 -0
  169. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -0
  170. package/lib/components/FormComponents/Typography.styles.d.ts +6 -0
  171. package/lib/components/FormComponents/Typography.styles.js +23 -0
  172. package/lib/components/FormComponents/Typography.styles.js.map +1 -0
  173. package/lib/components/FormComponents/UrlItem/UrlField.js +25 -0
  174. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -0
  175. package/lib/components/FormComponents/UrlItem/UrlItem.js +61 -0
  176. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -0
  177. package/lib/components/FormRenderer/BaseRenderer.js +54 -0
  178. package/lib/components/FormRenderer/BaseRenderer.js.map +1 -0
  179. package/lib/components/FormRenderer/FormBodyCollapsible.js +57 -0
  180. package/lib/components/FormRenderer/FormBodyCollapsible.js.map +1 -0
  181. package/lib/components/FormRenderer/FormBodySingleCollapsible.js +39 -0
  182. package/lib/components/FormRenderer/FormBodySingleCollapsible.js.map +1 -0
  183. package/{dist → lib}/components/FormRenderer/FormBodySingleCollapsibleWrapper.d.ts +1 -1
  184. package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +31 -0
  185. package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
  186. package/lib/components/FormRenderer/FormBodyTabbed.js +60 -0
  187. package/lib/components/FormRenderer/FormBodyTabbed.js.map +1 -0
  188. package/lib/components/FormRenderer/FormRenderer.js +54 -0
  189. package/lib/components/FormRenderer/FormRenderer.js.map +1 -0
  190. package/lib/components/FormRenderer/FormTitle.js +30 -0
  191. package/lib/components/FormRenderer/FormTitle.js.map +1 -0
  192. package/lib/components/FormRenderer/FormTopLevelItem.js +45 -0
  193. package/lib/components/FormRenderer/FormTopLevelItem.js.map +1 -0
  194. package/lib/components/FormRenderer/SmartFormsRenderer.js +37 -0
  195. package/lib/components/FormRenderer/SmartFormsRenderer.js.map +1 -0
  196. package/lib/components/FormRenderer/index.js +19 -0
  197. package/lib/components/FormRenderer/index.js.map +1 -0
  198. package/lib/components/Iconify/Iconify.js +26 -0
  199. package/lib/components/Iconify/Iconify.js.map +1 -0
  200. package/{dist → lib}/components/Lists.styles.d.ts +6 -6
  201. package/lib/components/Lists.styles.js +38 -0
  202. package/lib/components/Lists.styles.js.map +1 -0
  203. package/lib/components/Tabs/CompleteTabButton.js +29 -0
  204. package/lib/components/Tabs/CompleteTabButton.js.map +1 -0
  205. package/lib/components/Tabs/FormBodySingleTab.js +39 -0
  206. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -0
  207. package/lib/components/Tabs/FormBodyTabList.js +52 -0
  208. package/lib/components/Tabs/FormBodyTabList.js.map +1 -0
  209. package/lib/components/index.js +18 -0
  210. package/lib/components/index.js.map +1 -0
  211. package/lib/hooks/index.js +2 -0
  212. package/lib/hooks/index.js.map +1 -0
  213. package/lib/hooks/useBackToTop.js +26 -0
  214. package/lib/hooks/useBackToTop.js.map +1 -0
  215. package/lib/hooks/useDebounce.js +38 -0
  216. package/lib/hooks/useDebounce.js.map +1 -0
  217. package/lib/hooks/useDecimalCalculatedExpression.js +50 -0
  218. package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -0
  219. package/lib/hooks/useHidden.js +35 -0
  220. package/lib/hooks/useHidden.js.map +1 -0
  221. package/lib/hooks/useInitialiseGroupTable.js +36 -0
  222. package/lib/hooks/useInitialiseGroupTable.js.map +1 -0
  223. package/lib/hooks/useInitialiseRenderer.js +49 -0
  224. package/lib/hooks/useInitialiseRenderer.js.map +1 -0
  225. package/lib/hooks/useInitialiseRepeatAnswers.js +36 -0
  226. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -0
  227. package/lib/hooks/useInitialiseRepeatGroups.js +36 -0
  228. package/lib/hooks/useInitialiseRepeatGroups.js.map +1 -0
  229. package/lib/hooks/useIntegerCalculatedExpression.js +44 -0
  230. package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -0
  231. package/lib/hooks/useQueryClient.js +29 -0
  232. package/lib/hooks/useQueryClient.js.map +1 -0
  233. package/lib/hooks/useRenderingExtensions.js +30 -0
  234. package/lib/hooks/useRenderingExtensions.js.map +1 -0
  235. package/lib/hooks/useResponsive.js +37 -0
  236. package/lib/hooks/useResponsive.js.map +1 -0
  237. package/lib/hooks/useStringCalculatedExpression.js +44 -0
  238. package/lib/hooks/useStringCalculatedExpression.js.map +1 -0
  239. package/lib/hooks/useTerminologyServerQuery.js +73 -0
  240. package/lib/hooks/useTerminologyServerQuery.js.map +1 -0
  241. package/lib/hooks/useValidationError.js +38 -0
  242. package/lib/hooks/useValidationError.js.map +1 -0
  243. package/{dist → lib}/hooks/useValueSetCodings.d.ts +1 -1
  244. package/lib/hooks/useValueSetCodings.js +125 -0
  245. package/lib/hooks/useValueSetCodings.js.map +1 -0
  246. package/lib/index.d.ts +89 -0
  247. package/lib/index.js +153 -0
  248. package/lib/index.js.map +1 -0
  249. package/lib/interfaces/answerExpression.interface.js +18 -0
  250. package/lib/interfaces/answerExpression.interface.js.map +1 -0
  251. package/lib/interfaces/calculatedExpression.interface.js +2 -0
  252. package/lib/interfaces/calculatedExpression.interface.js.map +1 -0
  253. package/lib/interfaces/choice.enum.js +41 -0
  254. package/lib/interfaces/choice.enum.js.map +1 -0
  255. package/lib/interfaces/enableWhen.interface.js +18 -0
  256. package/lib/interfaces/enableWhen.interface.js.map +1 -0
  257. package/lib/interfaces/groupTable.interface.js +18 -0
  258. package/lib/interfaces/groupTable.interface.js.map +1 -0
  259. package/lib/interfaces/populate.interface.js +18 -0
  260. package/lib/interfaces/populate.interface.js.map +1 -0
  261. package/lib/interfaces/questionnaireStore.interface.js +18 -0
  262. package/lib/interfaces/questionnaireStore.interface.js.map +1 -0
  263. package/lib/interfaces/regex.interface.js +18 -0
  264. package/lib/interfaces/regex.interface.js.map +1 -0
  265. package/{dist → lib}/interfaces/renderProps.interface.d.ts +1 -1
  266. package/lib/interfaces/renderProps.interface.js +18 -0
  267. package/lib/interfaces/renderProps.interface.js.map +1 -0
  268. package/lib/interfaces/repeatGroup.interface.js +18 -0
  269. package/lib/interfaces/repeatGroup.interface.js.map +1 -0
  270. package/lib/interfaces/repeatItem.interface.js +2 -0
  271. package/lib/interfaces/repeatItem.interface.js.map +1 -0
  272. package/lib/interfaces/tab.interface.js +2 -0
  273. package/lib/interfaces/tab.interface.js.map +1 -0
  274. package/lib/interfaces/valueSet.interface.js +18 -0
  275. package/lib/interfaces/valueSet.interface.js.map +1 -0
  276. package/lib/interfaces/variables.interface.js +18 -0
  277. package/lib/interfaces/variables.interface.js.map +1 -0
  278. package/lib/stores/useConfigStore.js +17 -0
  279. package/lib/stores/useConfigStore.js.map +1 -0
  280. package/lib/stores/useQuestionnaireResponseStore.js +39 -0
  281. package/lib/stores/useQuestionnaireResponseStore.js.map +1 -0
  282. package/lib/stores/useQuestionnaireStore.js +151 -0
  283. package/lib/stores/useQuestionnaireStore.js.map +1 -0
  284. package/lib/utils/calculatedExpression.js +180 -0
  285. package/lib/utils/calculatedExpression.js.map +1 -0
  286. package/lib/utils/choice.js +160 -0
  287. package/lib/utils/choice.js.map +1 -0
  288. package/lib/utils/debounce.js +19 -0
  289. package/lib/utils/debounce.js.map +1 -0
  290. package/lib/utils/emptyResource.js +25 -0
  291. package/lib/utils/emptyResource.js.map +1 -0
  292. package/lib/utils/enableWhen.js +228 -0
  293. package/lib/utils/enableWhen.js.map +1 -0
  294. package/lib/utils/enableWhenExpression.js +76 -0
  295. package/lib/utils/enableWhenExpression.js.map +1 -0
  296. package/lib/utils/fhirpath.js +98 -0
  297. package/lib/utils/fhirpath.js.map +1 -0
  298. package/lib/utils/initialiseForm.js +45 -0
  299. package/lib/utils/initialiseForm.js.map +1 -0
  300. package/lib/utils/itemControl.js +299 -0
  301. package/lib/utils/itemControl.js.map +1 -0
  302. package/lib/utils/mapItem.js +80 -0
  303. package/lib/utils/mapItem.js.map +1 -0
  304. package/lib/utils/openChoice.js +150 -0
  305. package/lib/utils/openChoice.js.map +1 -0
  306. package/lib/utils/parseInputs.js +49 -0
  307. package/lib/utils/parseInputs.js.map +1 -0
  308. package/lib/utils/populate.js +78 -0
  309. package/lib/utils/populate.js.map +1 -0
  310. package/lib/utils/populateCallback.js +40 -0
  311. package/lib/utils/populateCallback.js.map +1 -0
  312. package/lib/utils/populateContexts.js +76 -0
  313. package/lib/utils/populateContexts.js.map +1 -0
  314. package/lib/utils/populateInputParams.js +193 -0
  315. package/lib/utils/populateInputParams.js.map +1 -0
  316. package/lib/utils/qItem.js +73 -0
  317. package/lib/utils/qItem.js.map +1 -0
  318. package/lib/utils/qrItem.js +221 -0
  319. package/lib/utils/qrItem.js.map +1 -0
  320. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +43 -0
  321. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +1 -0
  322. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +79 -0
  323. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -0
  324. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +59 -0
  325. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -0
  326. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js +18 -0
  327. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -0
  328. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +174 -0
  329. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -0
  330. package/lib/utils/questionnaireStoreUtils/extractTabs.js +31 -0
  331. package/lib/utils/questionnaireStoreUtils/extractTabs.js.map +1 -0
  332. package/lib/utils/questionnaireStoreUtils/extractVariables.js +63 -0
  333. package/lib/utils/questionnaireStoreUtils/extractVariables.js.map +1 -0
  334. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +58 -0
  335. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -0
  336. package/lib/utils/removeHidden.js +104 -0
  337. package/lib/utils/removeHidden.js.map +1 -0
  338. package/lib/utils/tabs.js +190 -0
  339. package/lib/utils/tabs.js.map +1 -0
  340. package/lib/utils/valueSet.js +126 -0
  341. package/lib/utils/valueSet.js.map +1 -0
  342. package/package.json +19 -27
  343. package/src/api/populate.js +63 -0
  344. package/src/api/populate.js.map +1 -0
  345. package/src/api/populate.ts +70 -0
  346. package/src/components/Alert.styles.js +40 -0
  347. package/src/components/Alert.styles.js.map +1 -0
  348. package/src/components/Alert.styles.ts +45 -0
  349. package/src/components/BackToTopButton/BackToTopButton.js +32 -0
  350. package/src/components/BackToTopButton/BackToTopButton.js.map +1 -0
  351. package/src/components/BackToTopButton/BackToTopButton.tsx +47 -0
  352. package/src/components/Box.styles.js +30 -0
  353. package/src/components/Box.styles.js.map +1 -0
  354. package/src/components/Box.styles.ts +33 -0
  355. package/src/components/FormComponents/BooleanItem/BooleanField.js +24 -0
  356. package/src/components/FormComponents/BooleanItem/BooleanField.js.map +1 -0
  357. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +44 -0
  358. package/src/components/FormComponents/BooleanItem/BooleanItem.js +49 -0
  359. package/src/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -0
  360. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +82 -0
  361. package/src/components/FormComponents/DateItem/DateField.js +31 -0
  362. package/src/components/FormComponents/DateItem/DateField.js.map +1 -0
  363. package/src/components/FormComponents/DateItem/DateField.tsx +56 -0
  364. package/src/components/FormComponents/DateItem/DateItem.js +52 -0
  365. package/src/components/FormComponents/DateItem/DateItem.js.map +1 -0
  366. package/src/components/FormComponents/DateItem/DateItem.tsx +95 -0
  367. package/src/components/FormComponents/DateTimeItem/DateTimeField.js +33 -0
  368. package/src/components/FormComponents/DateTimeItem/DateTimeField.js.map +1 -0
  369. package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +58 -0
  370. package/src/components/FormComponents/DateTimeItem/DateTimeItem.js +52 -0
  371. package/src/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -0
  372. package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +94 -0
  373. package/src/components/FormComponents/DecimalItem/DecimalField.js +30 -0
  374. package/src/components/FormComponents/DecimalItem/DecimalField.js.map +1 -0
  375. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +76 -0
  376. package/src/components/FormComponents/DecimalItem/DecimalItem.js +80 -0
  377. package/src/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -0
  378. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +152 -0
  379. package/src/components/FormComponents/DisplayItem/DisplayInstructions.js +26 -0
  380. package/src/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -0
  381. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +23 -0
  382. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -0
  383. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +24 -0
  384. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +38 -0
  385. package/src/components/FormComponents/DisplayItem/DisplayItem.js +31 -0
  386. package/src/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -0
  387. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +43 -0
  388. package/src/components/FormComponents/GridGroup/GridGroup.js +58 -0
  389. package/src/components/FormComponents/GridGroup/GridGroup.js.map +1 -0
  390. package/src/components/FormComponents/GridGroup/GridGroup.tsx +92 -0
  391. package/src/components/FormComponents/GridGroup/GridRow.js +55 -0
  392. package/src/components/FormComponents/GridGroup/GridRow.js.map +1 -0
  393. package/src/components/FormComponents/GridGroup/GridRow.tsx +88 -0
  394. package/src/components/FormComponents/GridGroup/GridTable.js +42 -0
  395. package/src/components/FormComponents/GridGroup/GridTable.js.map +1 -0
  396. package/src/components/FormComponents/GridGroup/GridTable.tsx +77 -0
  397. package/src/components/FormComponents/GroupItem/GroupHeading.js +39 -0
  398. package/src/components/FormComponents/GroupItem/GroupHeading.js.map +1 -0
  399. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +59 -0
  400. package/src/components/FormComponents/GroupItem/GroupItem.js +62 -0
  401. package/src/components/FormComponents/GroupItem/GroupItem.js.map +1 -0
  402. package/src/components/FormComponents/GroupItem/GroupItem.styles.js +27 -0
  403. package/src/components/FormComponents/GroupItem/GroupItem.styles.js.map +1 -0
  404. package/src/components/FormComponents/GroupItem/GroupItem.styles.ts +28 -0
  405. package/src/components/FormComponents/GroupItem/GroupItem.tsx +124 -0
  406. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js +73 -0
  407. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -0
  408. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +150 -0
  409. package/src/components/FormComponents/GroupItem/NextTabButton.js +25 -0
  410. package/src/components/FormComponents/GroupItem/NextTabButton.js.map +1 -0
  411. package/src/components/FormComponents/GroupItem/NextTabButton.tsx +43 -0
  412. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js +55 -0
  413. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -0
  414. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +76 -0
  415. package/src/components/FormComponents/IntegerItem/IntegerField.js +30 -0
  416. package/src/components/FormComponents/IntegerItem/IntegerField.js.map +1 -0
  417. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +76 -0
  418. package/src/components/FormComponents/IntegerItem/IntegerItem.js +73 -0
  419. package/src/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -0
  420. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +140 -0
  421. package/src/components/FormComponents/Item.styles.js +27 -0
  422. package/src/components/FormComponents/Item.styles.js.map +1 -0
  423. package/src/components/FormComponents/Item.styles.ts +30 -0
  424. package/src/components/FormComponents/ItemParts/ContextDisplayItem.js +29 -0
  425. package/src/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -0
  426. package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +38 -0
  427. package/src/components/FormComponents/ItemParts/FadingCheckIcon.js +26 -0
  428. package/src/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -0
  429. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +36 -0
  430. package/src/components/FormComponents/ItemParts/ItemFieldGrid.js +31 -0
  431. package/src/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -0
  432. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +47 -0
  433. package/src/components/FormComponents/ItemParts/ItemLabelText.js +45 -0
  434. package/src/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -0
  435. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +58 -0
  436. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js +32 -0
  437. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -0
  438. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +47 -0
  439. package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js +24 -0
  440. package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +1 -0
  441. package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.tsx +44 -0
  442. package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +33 -0
  443. package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +1 -0
  444. package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.tsx +62 -0
  445. package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +31 -0
  446. package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +1 -0
  447. package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.tsx +54 -0
  448. package/src/components/FormComponents/Lists.styles.js +38 -0
  449. package/src/components/FormComponents/Lists.styles.js.map +1 -0
  450. package/src/components/FormComponents/Lists.styles.ts +39 -0
  451. package/src/components/FormComponents/QItemChoice/QItemChoice.js +61 -0
  452. package/src/components/FormComponents/QItemChoice/QItemChoice.js.map +1 -0
  453. package/src/components/FormComponents/QItemChoice/QItemChoice.tsx +130 -0
  454. package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +85 -0
  455. package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +1 -0
  456. package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.tsx +178 -0
  457. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +70 -0
  458. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +1 -0
  459. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.tsx +131 -0
  460. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +66 -0
  461. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +1 -0
  462. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.tsx +126 -0
  463. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +70 -0
  464. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +1 -0
  465. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.tsx +125 -0
  466. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +70 -0
  467. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +1 -0
  468. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.tsx +129 -0
  469. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +24 -0
  470. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +1 -0
  471. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.tsx +41 -0
  472. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +70 -0
  473. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +1 -0
  474. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.tsx +130 -0
  475. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +80 -0
  476. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +1 -0
  477. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.tsx +162 -0
  478. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +49 -0
  479. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +1 -0
  480. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.tsx +104 -0
  481. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +104 -0
  482. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +1 -0
  483. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.tsx +207 -0
  484. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +105 -0
  485. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -0
  486. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.tsx +194 -0
  487. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +116 -0
  488. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +1 -0
  489. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.tsx +190 -0
  490. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +74 -0
  491. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +1 -0
  492. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.tsx +149 -0
  493. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +66 -0
  494. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -0
  495. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.tsx +138 -0
  496. package/src/components/FormComponents/RepeatGroup/AddItemButton.js +27 -0
  497. package/src/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -0
  498. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +47 -0
  499. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js +30 -0
  500. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -0
  501. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +46 -0
  502. package/src/components/FormComponents/RepeatGroup/RepeatGroup.js +81 -0
  503. package/src/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -0
  504. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +125 -0
  505. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js +30 -0
  506. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -0
  507. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +66 -0
  508. package/src/components/FormComponents/RepeatItem/AddItemButton.js +27 -0
  509. package/src/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -0
  510. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +47 -0
  511. package/src/components/FormComponents/RepeatItem/DeleteItemButton.js +30 -0
  512. package/src/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -0
  513. package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +46 -0
  514. package/src/components/FormComponents/RepeatItem/RepeatField.js +31 -0
  515. package/src/components/FormComponents/RepeatItem/RepeatField.js.map +1 -0
  516. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +61 -0
  517. package/src/components/FormComponents/RepeatItem/RepeatItem.js +69 -0
  518. package/src/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -0
  519. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js +29 -0
  520. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +1 -0
  521. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.tsx +32 -0
  522. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +116 -0
  523. package/src/components/FormComponents/SingleItem/SingleItem.js +32 -0
  524. package/src/components/FormComponents/SingleItem/SingleItem.js.map +1 -0
  525. package/src/components/FormComponents/SingleItem/SingleItem.tsx +62 -0
  526. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js +63 -0
  527. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -0
  528. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +171 -0
  529. package/src/components/FormComponents/StringItem/StringField.js +30 -0
  530. package/src/components/FormComponents/StringItem/StringField.js.map +1 -0
  531. package/src/components/FormComponents/StringItem/StringField.tsx +76 -0
  532. package/src/components/FormComponents/StringItem/StringItem.js +71 -0
  533. package/src/components/FormComponents/StringItem/StringItem.js.map +1 -0
  534. package/src/components/FormComponents/StringItem/StringItem.tsx +131 -0
  535. package/src/components/FormComponents/Tables/DeleteRowButton.js +31 -0
  536. package/src/components/FormComponents/Tables/DeleteRowButton.js.map +1 -0
  537. package/src/components/FormComponents/Tables/DeleteRowButton.tsx +47 -0
  538. package/src/components/FormComponents/Tables/QItemGroupTable.js +99 -0
  539. package/src/components/FormComponents/Tables/QItemGroupTable.js.map +1 -0
  540. package/src/components/FormComponents/Tables/QItemGroupTable.tsx +171 -0
  541. package/src/components/FormComponents/Tables/QItemGroupTableRow.js +46 -0
  542. package/src/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -0
  543. package/src/components/FormComponents/Tables/QItemGroupTableRow.tsx +77 -0
  544. package/src/components/FormComponents/Tables/Table.styles.js +46 -0
  545. package/src/components/FormComponents/Tables/Table.styles.js.map +1 -0
  546. package/src/components/FormComponents/Tables/Table.styles.tsx +51 -0
  547. package/src/components/FormComponents/TextItem/TextField.js +29 -0
  548. package/src/components/FormComponents/TextItem/TextField.js.map +1 -0
  549. package/src/components/FormComponents/TextItem/TextField.tsx +74 -0
  550. package/src/components/FormComponents/TextItem/TextItem.js +71 -0
  551. package/src/components/FormComponents/TextItem/TextItem.js.map +1 -0
  552. package/src/components/FormComponents/TextItem/TextItem.tsx +128 -0
  553. package/src/components/FormComponents/Textfield.styles.js +27 -0
  554. package/src/components/FormComponents/Textfield.styles.js.map +1 -0
  555. package/src/components/FormComponents/Textfield.styles.ts +28 -0
  556. package/src/components/FormComponents/TimeItem/TimeField.js +30 -0
  557. package/src/components/FormComponents/TimeItem/TimeField.js.map +1 -0
  558. package/src/components/FormComponents/TimeItem/TimeField.tsx +54 -0
  559. package/src/components/FormComponents/TimeItem/TimeItem.js +52 -0
  560. package/src/components/FormComponents/TimeItem/TimeItem.js.map +1 -0
  561. package/src/components/FormComponents/TimeItem/TimeItem.tsx +94 -0
  562. package/src/components/FormComponents/Typography.styles.js +23 -0
  563. package/src/components/FormComponents/Typography.styles.js.map +1 -0
  564. package/src/components/FormComponents/Typography.styles.ts +24 -0
  565. package/src/components/FormComponents/UrlItem/UrlField.js +25 -0
  566. package/src/components/FormComponents/UrlItem/UrlField.js.map +1 -0
  567. package/src/components/FormComponents/UrlItem/UrlField.tsx +66 -0
  568. package/src/components/FormComponents/UrlItem/UrlItem.js +61 -0
  569. package/src/components/FormComponents/UrlItem/UrlItem.js.map +1 -0
  570. package/src/components/FormComponents/UrlItem/UrlItem.tsx +118 -0
  571. package/src/components/FormRenderer/BaseRenderer.tsx +82 -0
  572. package/src/components/FormRenderer/FormBodyCollapsible.js +57 -0
  573. package/src/components/FormRenderer/FormBodyCollapsible.js.map +1 -0
  574. package/src/components/FormRenderer/FormBodyCollapsible.tsx +96 -0
  575. package/src/components/FormRenderer/FormBodySingleCollapsible.js +39 -0
  576. package/src/components/FormRenderer/FormBodySingleCollapsible.js.map +1 -0
  577. package/src/components/FormRenderer/FormBodySingleCollapsible.tsx +76 -0
  578. package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +31 -0
  579. package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
  580. package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.tsx +60 -0
  581. package/src/components/FormRenderer/FormBodyTabbed.js +60 -0
  582. package/src/components/FormRenderer/FormBodyTabbed.js.map +1 -0
  583. package/src/components/FormRenderer/FormBodyTabbed.tsx +106 -0
  584. package/src/components/FormRenderer/FormTitle.js +30 -0
  585. package/src/components/FormRenderer/FormTitle.js.map +1 -0
  586. package/src/components/FormRenderer/FormTitle.tsx +44 -0
  587. package/src/components/FormRenderer/FormTopLevelItem.js +45 -0
  588. package/src/components/FormRenderer/FormTopLevelItem.js.map +1 -0
  589. package/src/components/FormRenderer/FormTopLevelItem.tsx +93 -0
  590. package/src/components/FormRenderer/SmartFormsRenderer.js +37 -0
  591. package/src/components/FormRenderer/SmartFormsRenderer.js.map +1 -0
  592. package/src/components/FormRenderer/SmartFormsRenderer.tsx +59 -0
  593. package/src/components/FormRenderer/index.js +18 -0
  594. package/src/components/FormRenderer/index.js.map +1 -0
  595. package/src/components/FormRenderer/index.ts +19 -0
  596. package/src/components/Iconify/Iconify.js +26 -0
  597. package/src/components/Iconify/Iconify.js.map +1 -0
  598. package/src/components/Iconify/Iconify.tsx +38 -0
  599. package/src/components/Lists.styles.js +38 -0
  600. package/src/components/Lists.styles.js.map +1 -0
  601. package/src/components/Lists.styles.ts +39 -0
  602. package/src/components/Tabs/CompleteTabButton.js +29 -0
  603. package/src/components/Tabs/CompleteTabButton.js.map +1 -0
  604. package/src/components/Tabs/CompleteTabButton.tsx +42 -0
  605. package/src/components/Tabs/FormBodySingleTab.js +39 -0
  606. package/src/components/Tabs/FormBodySingleTab.js.map +1 -0
  607. package/src/components/Tabs/FormBodySingleTab.tsx +67 -0
  608. package/src/components/Tabs/FormBodyTabList.js +52 -0
  609. package/src/components/Tabs/FormBodyTabList.js.map +1 -0
  610. package/src/components/Tabs/FormBodyTabList.tsx +83 -0
  611. package/src/components/index.js +18 -0
  612. package/src/components/index.js.map +1 -0
  613. package/src/components/index.ts +18 -0
  614. package/src/hooks/index.ts +1 -0
  615. package/src/hooks/useBackToTop.js +26 -0
  616. package/src/hooks/useBackToTop.js.map +1 -0
  617. package/src/hooks/useBackToTop.ts +29 -0
  618. package/src/hooks/useDebounce.js +38 -0
  619. package/src/hooks/useDebounce.js.map +1 -0
  620. package/src/hooks/useDebounce.ts +45 -0
  621. package/src/hooks/useDecimalCalculatedExpression.js +50 -0
  622. package/src/hooks/useDecimalCalculatedExpression.js.map +1 -0
  623. package/src/hooks/useDecimalCalculatedExpression.ts +80 -0
  624. package/src/hooks/useHidden.js +35 -0
  625. package/src/hooks/useHidden.js.map +1 -0
  626. package/src/hooks/useHidden.ts +40 -0
  627. package/src/hooks/useInitialiseGroupTable.js +36 -0
  628. package/src/hooks/useInitialiseGroupTable.js.map +1 -0
  629. package/src/hooks/useInitialiseGroupTable.ts +42 -0
  630. package/src/hooks/useInitialiseRenderer.js +49 -0
  631. package/src/hooks/useInitialiseRenderer.js.map +1 -0
  632. package/src/hooks/useInitialiseRenderer.ts +62 -0
  633. package/src/hooks/useInitialiseRepeatAnswers.js +36 -0
  634. package/src/hooks/useInitialiseRepeatAnswers.js.map +1 -0
  635. package/src/hooks/useInitialiseRepeatAnswers.ts +42 -0
  636. package/src/hooks/useInitialiseRepeatGroups.js +36 -0
  637. package/src/hooks/useInitialiseRepeatGroups.js.map +1 -0
  638. package/src/hooks/useInitialiseRepeatGroups.ts +42 -0
  639. package/src/hooks/useIntegerCalculatedExpression.js +44 -0
  640. package/src/hooks/useIntegerCalculatedExpression.js.map +1 -0
  641. package/src/hooks/useIntegerCalculatedExpression.ts +72 -0
  642. package/src/hooks/useQueryClient.js +29 -0
  643. package/src/hooks/useQueryClient.js.map +1 -0
  644. package/src/hooks/useQueryClient.ts +31 -0
  645. package/src/hooks/useRenderingExtensions.js +30 -0
  646. package/src/hooks/useRenderingExtensions.js.map +1 -0
  647. package/src/hooks/useRenderingExtensions.ts +52 -0
  648. package/src/hooks/useResponsive.js +37 -0
  649. package/src/hooks/useResponsive.js.map +1 -0
  650. package/src/hooks/useResponsive.ts +51 -0
  651. package/src/hooks/useStringCalculatedExpression.js +44 -0
  652. package/src/hooks/useStringCalculatedExpression.js.map +1 -0
  653. package/src/hooks/useStringCalculatedExpression.ts +71 -0
  654. package/src/hooks/useTerminologyServerQuery.js +73 -0
  655. package/src/hooks/useTerminologyServerQuery.js.map +1 -0
  656. package/src/hooks/useTerminologyServerQuery.ts +98 -0
  657. package/src/hooks/useValidationError.js +38 -0
  658. package/src/hooks/useValidationError.js.map +1 -0
  659. package/src/hooks/useValidationError.ts +48 -0
  660. package/src/hooks/useValueSetCodings.js +125 -0
  661. package/src/hooks/useValueSetCodings.js.map +1 -0
  662. package/src/hooks/useValueSetCodings.ts +150 -0
  663. package/src/index.js +2 -0
  664. package/src/index.js.map +1 -0
  665. package/src/index.ts +163 -0
  666. package/src/interfaces/answerExpression.interface.js +18 -0
  667. package/src/interfaces/answerExpression.interface.js.map +1 -0
  668. package/src/interfaces/answerExpression.interface.ts +23 -0
  669. package/src/interfaces/calculatedExpression.interface.js +2 -0
  670. package/src/interfaces/calculatedExpression.interface.js.map +1 -0
  671. package/src/interfaces/calculatedExpression.interface.ts +4 -0
  672. package/src/interfaces/choice.enum.js +41 -0
  673. package/src/interfaces/choice.enum.js.map +1 -0
  674. package/src/interfaces/choice.enum.ts +40 -0
  675. package/src/interfaces/enableWhen.interface.js +18 -0
  676. package/src/interfaces/enableWhen.interface.js.map +1 -0
  677. package/src/interfaces/enableWhen.interface.ts +40 -0
  678. package/src/interfaces/groupTable.interface.js +18 -0
  679. package/src/interfaces/groupTable.interface.js.map +1 -0
  680. package/src/interfaces/groupTable.interface.ts +23 -0
  681. package/src/interfaces/populate.interface.js +18 -0
  682. package/src/interfaces/populate.interface.js.map +1 -0
  683. package/src/interfaces/populate.interface.ts +218 -0
  684. package/src/interfaces/questionnaireStore.interface.js +18 -0
  685. package/src/interfaces/questionnaireStore.interface.js.map +1 -0
  686. package/src/interfaces/questionnaireStore.interface.ts +36 -0
  687. package/src/interfaces/regex.interface.js +18 -0
  688. package/src/interfaces/regex.interface.js.map +1 -0
  689. package/src/interfaces/regex.interface.ts +21 -0
  690. package/src/interfaces/renderProps.interface.js +18 -0
  691. package/src/interfaces/renderProps.interface.js.map +1 -0
  692. package/src/interfaces/renderProps.interface.ts +34 -0
  693. package/src/interfaces/repeatGroup.interface.js +18 -0
  694. package/src/interfaces/repeatGroup.interface.js.map +1 -0
  695. package/src/interfaces/repeatGroup.interface.ts +28 -0
  696. package/src/interfaces/repeatItem.interface.js +2 -0
  697. package/src/interfaces/repeatItem.interface.js.map +1 -0
  698. package/src/interfaces/repeatItem.interface.ts +6 -0
  699. package/src/interfaces/tab.interface.js +2 -0
  700. package/src/interfaces/tab.interface.js.map +1 -0
  701. package/src/interfaces/tab.interface.ts +18 -0
  702. package/src/interfaces/valueSet.interface.js +18 -0
  703. package/src/interfaces/valueSet.interface.js.map +1 -0
  704. package/src/interfaces/valueSet.interface.ts +23 -0
  705. package/src/interfaces/variables.interface.js +18 -0
  706. package/src/interfaces/variables.interface.js.map +1 -0
  707. package/src/interfaces/variables.interface.ts +28 -0
  708. package/src/setup-jest.js +2 -0
  709. package/src/setup-jest.js.map +1 -0
  710. package/src/stores/useConfigStore.js +17 -0
  711. package/src/stores/useConfigStore.js.map +1 -0
  712. package/src/stores/useConfigStore.ts +36 -0
  713. package/src/stores/useQuestionnaireResponseStore.js +39 -0
  714. package/src/stores/useQuestionnaireResponseStore.js.map +1 -0
  715. package/src/stores/useQuestionnaireResponseStore.ts +58 -0
  716. package/src/stores/useQuestionnaireStore.js +151 -0
  717. package/src/stores/useQuestionnaireStore.js.map +1 -0
  718. package/src/stores/useQuestionnaireStore.ts +232 -0
  719. package/src/stories/SmartFormsRenderer.stories.js +90 -0
  720. package/src/stories/SmartFormsRenderer.stories.js.map +1 -0
  721. package/src/stories/SmartFormsRenderer.stories.ts +104 -0
  722. package/src/stories/assets/Q715.json +15086 -0
  723. package/src/stories/assets/QTestGrid.json +166 -0
  724. package/src/stories/assets/R715.json +311 -0
  725. package/src/stories/assets/RTestGrid.json +34 -0
  726. package/src/utils/calculatedExpression.js +180 -0
  727. package/src/utils/calculatedExpression.js.map +1 -0
  728. package/src/utils/calculatedExpression.ts +299 -0
  729. package/src/utils/choice.js +160 -0
  730. package/src/utils/choice.js.map +1 -0
  731. package/src/utils/choice.ts +194 -0
  732. package/src/utils/debounce.js +19 -0
  733. package/src/utils/debounce.js.map +1 -0
  734. package/src/utils/debounce.ts +20 -0
  735. package/src/utils/emptyResource.js +25 -0
  736. package/src/utils/emptyResource.js.map +1 -0
  737. package/src/utils/emptyResource.ts +28 -0
  738. package/src/utils/enableWhen.js +228 -0
  739. package/src/utils/enableWhen.js.map +1 -0
  740. package/src/utils/enableWhen.ts +303 -0
  741. package/src/utils/enableWhenExpression.js +76 -0
  742. package/src/utils/enableWhenExpression.js.map +1 -0
  743. package/src/utils/enableWhenExpression.ts +123 -0
  744. package/src/utils/fhirpath.js +98 -0
  745. package/src/utils/fhirpath.js.map +1 -0
  746. package/src/utils/fhirpath.ts +164 -0
  747. package/src/utils/initialiseForm.js +45 -0
  748. package/src/utils/initialiseForm.js.map +1 -0
  749. package/src/utils/initialiseForm.ts +81 -0
  750. package/src/utils/itemControl.js +299 -0
  751. package/src/utils/itemControl.js.map +1 -0
  752. package/src/utils/itemControl.ts +367 -0
  753. package/src/utils/mapItem.js +80 -0
  754. package/src/utils/mapItem.js.map +1 -0
  755. package/src/utils/mapItem.ts +97 -0
  756. package/src/utils/openChoice.js +150 -0
  757. package/src/utils/openChoice.js.map +1 -0
  758. package/src/utils/openChoice.ts +179 -0
  759. package/src/utils/parseInputs.js +49 -0
  760. package/src/utils/parseInputs.js.map +1 -0
  761. package/src/utils/parseInputs.ts +58 -0
  762. package/src/utils/populate.js +78 -0
  763. package/src/utils/populate.js.map +1 -0
  764. package/src/utils/populate.ts +117 -0
  765. package/src/utils/populateCallback.js +40 -0
  766. package/src/utils/populateCallback.js.map +1 -0
  767. package/src/utils/populateCallback.ts +53 -0
  768. package/src/utils/populateContexts.js +76 -0
  769. package/src/utils/populateContexts.js.map +1 -0
  770. package/src/utils/populateContexts.ts +112 -0
  771. package/src/utils/populateInputParams.js +193 -0
  772. package/src/utils/populateInputParams.js.map +1 -0
  773. package/src/utils/populateInputParams.ts +242 -0
  774. package/src/utils/qItem.js +73 -0
  775. package/src/utils/qItem.js.map +1 -0
  776. package/src/utils/qItem.ts +103 -0
  777. package/src/utils/qrItem.js +221 -0
  778. package/src/utils/qrItem.js.map +1 -0
  779. package/src/utils/qrItem.ts +250 -0
  780. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js +47 -0
  781. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +1 -0
  782. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +52 -0
  783. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js +79 -0
  784. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -0
  785. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +96 -0
  786. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js +59 -0
  787. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -0
  788. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +74 -0
  789. package/src/utils/questionnaireStoreUtils/extractLaunchContext.js +18 -0
  790. package/src/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -0
  791. package/src/utils/questionnaireStoreUtils/extractLaunchContext.ts +21 -0
  792. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js +174 -0
  793. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -0
  794. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +239 -0
  795. package/src/utils/questionnaireStoreUtils/extractTabs.js +31 -0
  796. package/src/utils/questionnaireStoreUtils/extractTabs.js.map +1 -0
  797. package/src/utils/questionnaireStoreUtils/extractTabs.ts +37 -0
  798. package/src/utils/questionnaireStoreUtils/extractVariables.js +63 -0
  799. package/src/utils/questionnaireStoreUtils/extractVariables.js.map +1 -0
  800. package/src/utils/questionnaireStoreUtils/extractVariables.ts +77 -0
  801. package/src/utils/questionnaireStoreUtils/resolveValueSets.js +58 -0
  802. package/src/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -0
  803. package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +68 -0
  804. package/src/utils/removeHidden.ts +162 -0
  805. package/src/utils/tabs.js +190 -0
  806. package/src/utils/tabs.js.map +1 -0
  807. package/src/utils/tabs.ts +255 -0
  808. package/src/utils/valueSet.js +126 -0
  809. package/src/utils/valueSet.js.map +1 -0
  810. package/src/utils/valueSet.ts +159 -0
  811. package/tsconfig.json +21 -0
  812. package/dist/components/FormComponents/Item.styles.d.ts +0 -6
  813. package/dist/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +0 -22
  814. package/dist/components/FormComponents/Typography.styles.d.ts +0 -6
  815. package/dist/components/FormRenderer/BaseFormRenderer.d.ts +0 -3
  816. package/dist/components/FormRenderer/Form.d.ts +0 -3
  817. package/dist/index.d.ts +0 -16
  818. package/dist/index.esm.js +0 -10650
  819. package/dist/index.esm.js.map +0 -1
  820. package/dist/index.js +0 -10710
  821. package/dist/index.js.map +0 -1
  822. package/dist/stories/SmartFormsRenderer.stories.d.ts +0 -14
  823. /package/{dist → lib}/api/populate.d.ts +0 -0
  824. /package/{dist → lib}/components/BackToTopButton/BackToTopButton.d.ts +0 -0
  825. /package/{dist → lib}/components/FormComponents/BooleanItem/BooleanField.d.ts +0 -0
  826. /package/{dist → lib}/components/FormComponents/BooleanItem/BooleanItem.d.ts +0 -0
  827. /package/{dist → lib}/components/FormComponents/DateItem/DateField.d.ts +0 -0
  828. /package/{dist → lib}/components/FormComponents/DateItem/DateItem.d.ts +0 -0
  829. /package/{dist → lib}/components/FormComponents/DateTimeItem/DateTimeField.d.ts +0 -0
  830. /package/{dist → lib}/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +0 -0
  831. /package/{dist → lib}/components/FormComponents/DecimalItem/DecimalField.d.ts +0 -0
  832. /package/{dist → lib}/components/FormComponents/DecimalItem/DecimalItem.d.ts +0 -0
  833. /package/{dist → lib}/components/FormComponents/DisplayItem/DisplayInstructions.d.ts +0 -0
  834. /package/{dist → lib}/components/FormComponents/DisplayItem/DisplayItem.d.ts +0 -0
  835. /package/{dist → lib}/components/FormComponents/GridGroup/GridTable.d.ts +0 -0
  836. /package/{dist → lib}/components/FormComponents/GroupItem/GroupHeading.d.ts +0 -0
  837. /package/{dist → lib}/components/FormComponents/GroupItem/NextTabButton.d.ts +0 -0
  838. /package/{dist → lib}/components/FormComponents/GroupItem/NextTabButtonWrapper.d.ts +0 -0
  839. /package/{dist → lib}/components/FormComponents/IntegerItem/IntegerField.d.ts +0 -0
  840. /package/{dist → lib}/components/FormComponents/IntegerItem/IntegerItem.d.ts +0 -0
  841. /package/{dist → lib}/components/FormComponents/ItemParts/ContextDisplayItem.d.ts +0 -0
  842. /package/{dist → lib}/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -0
  843. /package/{dist → lib}/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +0 -0
  844. /package/{dist → lib}/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -0
  845. /package/{dist → lib}/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -0
  846. /package/{dist → lib}/components/FormComponents/ItemParts/QItemCheckboxSingle.d.ts +0 -0
  847. /package/{dist → lib}/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.d.ts +0 -0
  848. /package/{dist → lib}/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.d.ts +0 -0
  849. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.d.ts +0 -0
  850. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -0
  851. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.d.ts +0 -0
  852. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.d.ts +0 -0
  853. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.d.ts +0 -0
  854. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.d.ts +0 -0
  855. /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.d.ts +0 -0
  856. /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -0
  857. /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.d.ts +0 -0
  858. /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -0
  859. /package/{dist → lib}/components/FormComponents/RepeatGroup/AddItemButton.d.ts +0 -0
  860. /package/{dist → lib}/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -0
  861. /package/{dist → lib}/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +0 -0
  862. /package/{dist → lib}/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +0 -0
  863. /package/{dist → lib}/components/FormComponents/RepeatItem/AddItemButton.d.ts +0 -0
  864. /package/{dist → lib}/components/FormComponents/RepeatItem/DeleteItemButton.d.ts +0 -0
  865. /package/{dist → lib}/components/FormComponents/RepeatItem/RepeatField.d.ts +0 -0
  866. /package/{dist → lib}/components/FormComponents/RepeatItem/RepeatItem.d.ts +0 -0
  867. /package/{dist → lib}/components/FormComponents/SingleItem/SingleItem.d.ts +0 -0
  868. /package/{dist → lib}/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +0 -0
  869. /package/{dist → lib}/components/FormComponents/StringItem/StringField.d.ts +0 -0
  870. /package/{dist → lib}/components/FormComponents/StringItem/StringItem.d.ts +0 -0
  871. /package/{dist → lib}/components/FormComponents/Tables/DeleteRowButton.d.ts +0 -0
  872. /package/{dist → lib}/components/FormComponents/Tables/Table.styles.d.ts +0 -0
  873. /package/{dist → lib}/components/FormComponents/TextItem/TextField.d.ts +0 -0
  874. /package/{dist → lib}/components/FormComponents/TextItem/TextItem.d.ts +0 -0
  875. /package/{dist → lib}/components/FormComponents/TimeItem/TimeField.d.ts +0 -0
  876. /package/{dist → lib}/components/FormComponents/TimeItem/TimeItem.d.ts +0 -0
  877. /package/{dist → lib}/components/FormComponents/UrlItem/UrlField.d.ts +0 -0
  878. /package/{dist → lib}/components/FormComponents/UrlItem/UrlItem.d.ts +0 -0
  879. /package/{dist → lib}/components/FormRenderer/BaseRenderer.d.ts +0 -0
  880. /package/{dist → lib}/components/FormRenderer/FormBodyCollapsible.d.ts +0 -0
  881. /package/{dist → lib}/components/FormRenderer/FormBodySingleCollapsible.d.ts +0 -0
  882. /package/{dist → lib}/components/FormRenderer/FormBodyTabbed.d.ts +0 -0
  883. /package/{dist → lib}/components/FormRenderer/FormRenderer.d.ts +0 -0
  884. /package/{dist → lib}/components/FormRenderer/FormTitle.d.ts +0 -0
  885. /package/{dist → lib}/components/FormRenderer/FormTopLevelItem.d.ts +0 -0
  886. /package/{dist → lib}/components/FormRenderer/SmartFormsRenderer.d.ts +0 -0
  887. /package/{dist → lib}/components/FormRenderer/index.d.ts +0 -0
  888. /package/{dist → lib}/components/Iconify/Iconify.d.ts +0 -0
  889. /package/{dist → lib}/components/Tabs/CompleteTabButton.d.ts +0 -0
  890. /package/{dist → lib}/components/Tabs/FormBodySingleTab.d.ts +0 -0
  891. /package/{dist → lib}/components/Tabs/FormBodyTabList.d.ts +0 -0
  892. /package/{dist → lib}/components/index.d.ts +0 -0
  893. /package/{dist → lib}/hooks/index.d.ts +0 -0
  894. /package/{dist → lib}/hooks/useBackToTop.d.ts +0 -0
  895. /package/{dist → lib}/hooks/useDebounce.d.ts +0 -0
  896. /package/{dist → lib}/hooks/useDecimalCalculatedExpression.d.ts +0 -0
  897. /package/{dist → lib}/hooks/useHidden.d.ts +0 -0
  898. /package/{dist → lib}/hooks/useInitialiseGroupTable.d.ts +0 -0
  899. /package/{dist → lib}/hooks/useInitialiseRenderer.d.ts +0 -0
  900. /package/{dist → lib}/hooks/useInitialiseRepeatAnswers.d.ts +0 -0
  901. /package/{dist → lib}/hooks/useInitialiseRepeatGroups.d.ts +0 -0
  902. /package/{dist → lib}/hooks/useIntegerCalculatedExpression.d.ts +0 -0
  903. /package/{dist → lib}/hooks/useQueryClient.d.ts +0 -0
  904. /package/{dist → lib}/hooks/useRenderingExtensions.d.ts +0 -0
  905. /package/{dist → lib}/hooks/useResponsive.d.ts +0 -0
  906. /package/{dist → lib}/hooks/useStringCalculatedExpression.d.ts +0 -0
  907. /package/{dist → lib}/hooks/useTerminologyServerQuery.d.ts +0 -0
  908. /package/{dist → lib}/hooks/useValidationError.d.ts +0 -0
  909. /package/{dist → lib}/interfaces/answerExpression.interface.d.ts +0 -0
  910. /package/{dist → lib}/interfaces/calculatedExpression.interface.d.ts +0 -0
  911. /package/{dist → lib}/interfaces/choice.enum.d.ts +0 -0
  912. /package/{dist → lib}/interfaces/enableWhen.interface.d.ts +0 -0
  913. /package/{dist → lib}/interfaces/groupTable.interface.d.ts +0 -0
  914. /package/{dist → lib}/interfaces/populate.interface.d.ts +0 -0
  915. /package/{dist → lib}/interfaces/questionnaireStore.interface.d.ts +0 -0
  916. /package/{dist → lib}/interfaces/regex.interface.d.ts +0 -0
  917. /package/{dist → lib}/interfaces/repeatGroup.interface.d.ts +0 -0
  918. /package/{dist → lib}/interfaces/repeatItem.interface.d.ts +0 -0
  919. /package/{dist → lib}/interfaces/tab.interface.d.ts +0 -0
  920. /package/{dist → lib}/interfaces/valueSet.interface.d.ts +0 -0
  921. /package/{dist → lib}/interfaces/variables.interface.d.ts +0 -0
  922. /package/{dist → lib}/stores/useConfigStore.d.ts +0 -0
  923. /package/{dist → lib}/stores/useQuestionnaireResponseStore.d.ts +0 -0
  924. /package/{dist → lib}/stores/useQuestionnaireStore.d.ts +0 -0
  925. /package/{dist → lib}/utils/calculatedExpression.d.ts +0 -0
  926. /package/{dist → lib}/utils/choice.d.ts +0 -0
  927. /package/{dist → lib}/utils/debounce.d.ts +0 -0
  928. /package/{dist → lib}/utils/emptyResource.d.ts +0 -0
  929. /package/{dist → lib}/utils/enableWhen.d.ts +0 -0
  930. /package/{dist → lib}/utils/enableWhenExpression.d.ts +0 -0
  931. /package/{dist → lib}/utils/fhirpath.d.ts +0 -0
  932. /package/{dist → lib}/utils/initialiseForm.d.ts +0 -0
  933. /package/{dist → lib}/utils/itemControl.d.ts +0 -0
  934. /package/{dist → lib}/utils/mapItem.d.ts +0 -0
  935. /package/{dist → lib}/utils/openChoice.d.ts +0 -0
  936. /package/{dist → lib}/utils/parseInputs.d.ts +0 -0
  937. /package/{dist → lib}/utils/populate.d.ts +0 -0
  938. /package/{dist → lib}/utils/populateCallback.d.ts +0 -0
  939. /package/{dist → lib}/utils/populateContexts.d.ts +0 -0
  940. /package/{dist → lib}/utils/populateInputParams.d.ts +0 -0
  941. /package/{dist → lib}/utils/qItem.d.ts +0 -0
  942. /package/{dist → lib}/utils/qrItem.d.ts +0 -0
  943. /package/{dist → lib}/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -0
  944. /package/{dist → lib}/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -0
  945. /package/{dist → lib}/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +0 -0
  946. /package/{dist → lib}/utils/questionnaireStoreUtils/extractLaunchContext.d.ts +0 -0
  947. /package/{dist → lib}/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +0 -0
  948. /package/{dist → lib}/utils/questionnaireStoreUtils/extractTabs.d.ts +0 -0
  949. /package/{dist → lib}/utils/questionnaireStoreUtils/extractVariables.d.ts +0 -0
  950. /package/{dist → lib}/utils/questionnaireStoreUtils/resolveValueSets.d.ts +0 -0
  951. /package/{dist → lib}/utils/removeHidden.d.ts +0 -0
  952. /package/{dist → lib}/utils/tabs.d.ts +0 -0
  953. /package/{dist → lib}/utils/valueSet.d.ts +0 -0
  954. /package/{dist/setup-jest.d.ts → src/setup-jest.ts} +0 -0
@@ -0,0 +1,106 @@
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 React, { useMemo } from 'react';
19
+ import { Grid } from '@mui/material';
20
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
+ import { TabContext, TabPanel } from '@mui/lab';
22
+ import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
23
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
24
+ import { updateQrGroup } from '../../utils/qrItem';
25
+ import FormBodyTabList from '../Tabs/FormBodyTabList';
26
+ import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
27
+ import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
28
+
29
+ interface FormBodyTabbedProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
30
+ topLevelQItem: QuestionnaireItem;
31
+ topLevelQRItem: QuestionnaireResponseItem;
32
+ }
33
+
34
+ function FormBodyTabbed(props: FormBodyTabbedProps) {
35
+ const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
36
+
37
+ const tabs = useQuestionnaireStore((state) => state.tabs);
38
+ const currentTab = useQuestionnaireStore((state) => state.currentTabIndex);
39
+
40
+ const indexMap: Record<string, number> = useMemo(
41
+ () => mapQItemsIndex(topLevelQItem),
42
+ [topLevelQItem]
43
+ );
44
+
45
+ const qItems = topLevelQItem.item;
46
+ const qrItems = topLevelQRItem.item;
47
+
48
+ function handleQrGroupChange(qrItem: QuestionnaireResponseItem) {
49
+ updateQrGroup(qrItem, null, topLevelQRItem, indexMap);
50
+ onQrItemChange(topLevelQRItem);
51
+ }
52
+
53
+ if (!qItems || !qrItems) {
54
+ return <>Unable to load form</>;
55
+ }
56
+
57
+ const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, indexMap);
58
+
59
+ return (
60
+ <Grid container spacing={2}>
61
+ <TabContext value={currentTab.toString()}>
62
+ <Grid item xs={12} md={3.5} lg={3} xl={2.75}>
63
+ <FormBodyTabList qFormItems={qItems} currentTabIndex={currentTab} tabs={tabs} />
64
+ </Grid>
65
+
66
+ <Grid item xs={12} md={8.5} lg={9} xl={9.25}>
67
+ {qItems.map((qItem, i) => {
68
+ const qrItem = qrItemsByIndex[i];
69
+
70
+ const isNotRepeatGroup = !Array.isArray(qrItem);
71
+ const isTab = !!tabs[qItem.linkId];
72
+
73
+ if (!isTab || !isNotRepeatGroup) {
74
+ // Something has gone horribly wrong
75
+ return null;
76
+ }
77
+
78
+ const isRepeated = qItem.repeats ?? false;
79
+ const tabIsMarkedAsComplete = tabs[qItem.linkId].isComplete ?? false;
80
+
81
+ return (
82
+ <TabPanel
83
+ key={qItem.linkId}
84
+ sx={{ p: 0 }}
85
+ value={i.toString()}
86
+ data-test="renderer-tab-panel">
87
+ <GroupItem
88
+ qItem={qItem}
89
+ qrItem={qrItem}
90
+ isRepeated={isRepeated}
91
+ groupCardElevation={1}
92
+ tabIsMarkedAsComplete={tabIsMarkedAsComplete}
93
+ tabs={tabs}
94
+ currentTabIndex={currentTab}
95
+ onQrItemChange={handleQrGroupChange}
96
+ />
97
+ </TabPanel>
98
+ );
99
+ })}
100
+ </Grid>
101
+ </TabContext>
102
+ </Grid>
103
+ );
104
+ }
105
+
106
+ export default FormBodyTabbed;
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React, { memo } from 'react';
18
+ import parse from 'html-react-parser';
19
+ import { getXHtmlStringFromQuestionnaire } from '../../utils/qItem';
20
+ import { FormTitleWrapper } from '../Box.styles';
21
+ import { Typography } from '@mui/material';
22
+ const FormTitle = memo(function FormTitle(props) {
23
+ const { questionnaire } = props;
24
+ const xHtmlString = getXHtmlStringFromQuestionnaire(questionnaire);
25
+ const formTitle = xHtmlString ? parse(xHtmlString) : questionnaire.title;
26
+ return (React.createElement(FormTitleWrapper, null,
27
+ React.createElement(Typography, { variant: "h3", "data-test": "form-heading" }, formTitle)));
28
+ });
29
+ export default FormTitle;
30
+ //# sourceMappingURL=FormTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTitle.js","sourceRoot":"","sources":["FormTitle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,KAAqB;IAC7D,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,WAAW,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;IAEzE,OAAO,CACL,oBAAC,gBAAgB;QACf,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,eAAW,cAAc,IAC9C,SAAS,CACC,CACI,CACpB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,44 @@
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 React, { memo } from 'react';
19
+ import type { Questionnaire } from 'fhir/r4';
20
+ import parse from 'html-react-parser';
21
+ import { getXHtmlStringFromQuestionnaire } from '../../utils/qItem';
22
+ import { FormTitleWrapper } from '../Box.styles';
23
+ import { Typography } from '@mui/material';
24
+
25
+ interface FormTitleProps {
26
+ questionnaire: Questionnaire;
27
+ }
28
+
29
+ const FormTitle = memo(function FormTitle(props: FormTitleProps) {
30
+ const { questionnaire } = props;
31
+
32
+ const xHtmlString = getXHtmlStringFromQuestionnaire(questionnaire);
33
+ const formTitle = xHtmlString ? parse(xHtmlString) : questionnaire.title;
34
+
35
+ return (
36
+ <FormTitleWrapper>
37
+ <Typography variant="h3" data-test="form-heading">
38
+ {formTitle}
39
+ </Typography>
40
+ </FormTitleWrapper>
41
+ );
42
+ });
43
+
44
+ export default FormTitle;
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React from 'react';
18
+ import FormBodyTabbed from './FormBodyTabbed';
19
+ import { containsTabs, isTabContainer } from '../../utils/tabs';
20
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
21
+ import SingleItem from '../FormComponents/SingleItem/SingleItem';
22
+ import FormBodyCollapsible from './FormBodyCollapsible';
23
+ import useResponsive from '../../hooks/useResponsive';
24
+ function FormTopLevelItem(props) {
25
+ const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
26
+ const itemIsTabContainer = isTabContainer(topLevelQItem);
27
+ const itemContainsTabs = containsTabs(topLevelQItem);
28
+ const isDesktop = useResponsive('up', 'lg');
29
+ const itemIsGroup = topLevelQItem.type === 'group';
30
+ // If form is tabbed, it is rendered as a tabbed form
31
+ if (itemContainsTabs || itemIsTabContainer) {
32
+ if (isDesktop) {
33
+ return (React.createElement(FormBodyTabbed, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
34
+ }
35
+ return (React.createElement(FormBodyCollapsible, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
36
+ }
37
+ // If form is untabbed, it is rendered as a regular group
38
+ if (itemIsGroup) {
39
+ return (React.createElement(GroupItem, { key: topLevelQItem.linkId, qItem: topLevelQItem, qrItem: topLevelQRItem, groupCardElevation: 1, onQrItemChange: onQrItemChange, isRepeated: false }));
40
+ }
41
+ // Otherwise, it is rendered as a non-group item
42
+ return (React.createElement(SingleItem, { key: topLevelQItem.linkId, qItem: topLevelQItem, qrItem: topLevelQRItem, isTabled: false, onQrItemChange: onQrItemChange, isRepeated: false }));
43
+ }
44
+ export default FormTopLevelItem;
45
+ //# sourceMappingURL=FormTopLevelItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["FormTopLevelItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AAEjE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAOtD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEhE,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,KAAK,OAAO,CAAC;IAEnD,qDAAqD;IACrD,IAAI,gBAAgB,IAAI,kBAAkB,EAAE;QAC1C,IAAI,SAAS,EAAE;YACb,OAAO,CACL,oBAAC,cAAc,IACb,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;SACH;QAED,OAAO,CACL,oBAAC,mBAAmB,IAClB,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;KACH;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE;QACf,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,CAAC,EACrB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,KAAK,GACjB,CACH,CAAC;KACH;IAED,gDAAgD;IAChD,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,KAAK,GACjB,CACH,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,93 @@
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 React from 'react';
19
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
20
+ import FormBodyTabbed from './FormBodyTabbed';
21
+ import { containsTabs, isTabContainer } from '../../utils/tabs';
22
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
23
+ import SingleItem from '../FormComponents/SingleItem/SingleItem';
24
+ import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
25
+ import FormBodyCollapsible from './FormBodyCollapsible';
26
+ import useResponsive from '../../hooks/useResponsive';
27
+
28
+ interface FormTopLevelItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
29
+ topLevelQItem: QuestionnaireItem;
30
+ topLevelQRItem: QuestionnaireResponseItem;
31
+ }
32
+
33
+ function FormTopLevelItem(props: FormTopLevelItemProps) {
34
+ const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
35
+
36
+ const itemIsTabContainer = isTabContainer(topLevelQItem);
37
+ const itemContainsTabs = containsTabs(topLevelQItem);
38
+
39
+ const isDesktop = useResponsive('up', 'lg');
40
+
41
+ const itemIsGroup = topLevelQItem.type === 'group';
42
+
43
+ // If form is tabbed, it is rendered as a tabbed form
44
+ if (itemContainsTabs || itemIsTabContainer) {
45
+ if (isDesktop) {
46
+ return (
47
+ <FormBodyTabbed
48
+ key={topLevelQItem.linkId}
49
+ topLevelQItem={topLevelQItem}
50
+ topLevelQRItem={topLevelQRItem}
51
+ onQrItemChange={onQrItemChange}
52
+ />
53
+ );
54
+ }
55
+
56
+ return (
57
+ <FormBodyCollapsible
58
+ key={topLevelQItem.linkId}
59
+ topLevelQItem={topLevelQItem}
60
+ topLevelQRItem={topLevelQRItem}
61
+ onQrItemChange={onQrItemChange}
62
+ />
63
+ );
64
+ }
65
+
66
+ // If form is untabbed, it is rendered as a regular group
67
+ if (itemIsGroup) {
68
+ return (
69
+ <GroupItem
70
+ key={topLevelQItem.linkId}
71
+ qItem={topLevelQItem}
72
+ qrItem={topLevelQRItem}
73
+ groupCardElevation={1}
74
+ onQrItemChange={onQrItemChange}
75
+ isRepeated={false}
76
+ />
77
+ );
78
+ }
79
+
80
+ // Otherwise, it is rendered as a non-group item
81
+ return (
82
+ <SingleItem
83
+ key={topLevelQItem.linkId}
84
+ qItem={topLevelQItem}
85
+ qrItem={topLevelQRItem}
86
+ isTabled={false}
87
+ onQrItemChange={onQrItemChange}
88
+ isRepeated={false}
89
+ />
90
+ );
91
+ }
92
+
93
+ export default FormTopLevelItem;
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React from 'react';
18
+ import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
19
+ import { Box, CircularProgress, Typography } from '@mui/material';
20
+ import { QueryClientProvider } from '@tanstack/react-query';
21
+ import useQueryClient from '../../hooks/useQueryClient';
22
+ import FormRenderer from './FormRenderer';
23
+ // TODO add terminiology server
24
+ function SmartFormsRenderer(props) {
25
+ const { questionnaire, questionnaireResponse, additionalVariables } = props;
26
+ const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables);
27
+ const queryClient = useQueryClient();
28
+ if (isLoading) {
29
+ return (React.createElement(Box, { display: "flex", alignItems: "center", columnGap: 2 },
30
+ React.createElement(CircularProgress, null),
31
+ React.createElement(Typography, null, "Loading questionnaire...")));
32
+ }
33
+ return (React.createElement(QueryClientProvider, { client: queryClient },
34
+ React.createElement(FormRenderer, null)));
35
+ }
36
+ export default SmartFormsRenderer;
37
+ //# sourceMappingURL=SmartFormsRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAQ1C,+BAA+B;AAC/B,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAE5E,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,qBAAqB,EACrB,mBAAmB,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YAClD,oBAAC,gBAAgB,OAAG;YACpB,oBAAC,UAAU,mCAAsC,CAC7C,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;QACtC,oBAAC,YAAY,OAAG,CACI,CACvB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,59 @@
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 React from 'react';
19
+ import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
20
+ import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
21
+ import { Box, CircularProgress, Typography } from '@mui/material';
22
+ import { QueryClientProvider } from '@tanstack/react-query';
23
+ import useQueryClient from '../../hooks/useQueryClient';
24
+ import BaseRenderer from './BaseRenderer';
25
+
26
+ interface SmartFormsRendererProps {
27
+ questionnaire: Questionnaire;
28
+ questionnaireResponse?: QuestionnaireResponse;
29
+ additionalVariables?: Record<string, object>;
30
+ }
31
+
32
+ // TODO add terminiology server
33
+ function SmartFormsRenderer(props: SmartFormsRendererProps) {
34
+ const { questionnaire, questionnaireResponse, additionalVariables } = props;
35
+
36
+ const isLoading = useInitialiseRenderer(
37
+ questionnaire,
38
+ questionnaireResponse,
39
+ additionalVariables
40
+ );
41
+ const queryClient = useQueryClient();
42
+
43
+ if (isLoading) {
44
+ return (
45
+ <Box display="flex" alignItems="center" columnGap={2}>
46
+ <CircularProgress />
47
+ <Typography>Loading questionnaire...</Typography>
48
+ </Box>
49
+ );
50
+ }
51
+
52
+ return (
53
+ <QueryClientProvider client={queryClient}>
54
+ <BaseRenderer />
55
+ </QueryClientProvider>
56
+ );
57
+ }
58
+
59
+ export default SmartFormsRenderer;
@@ -0,0 +1,18 @@
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
+ export { default as SmartFormsRenderer } from './SmartFormsRenderer';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,19 @@
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
+ export { default as SmartFormsRenderer } from './SmartFormsRenderer';
19
+ export { default as BaseRenderer } from './BaseRenderer';
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React, { forwardRef, memo } from 'react';
18
+ import { Icon } from '@iconify/react';
19
+ import { Box } from '@mui/material';
20
+ const Iconify = memo(forwardRef(function Iconify(props, ref) {
21
+ // eslint-disable-next-line react/prop-types
22
+ const { icon, width = 20, height = 20, sx } = props;
23
+ return React.createElement(Box, { ref: ref, component: Icon, icon: icon, sx: Object.assign({ width, height }, sx) });
24
+ }));
25
+ export default Iconify;
26
+ //# sourceMappingURL=Iconify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Iconify.js","sourceRoot":"","sources":["Iconify.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AASpC,MAAM,OAAO,GAAG,IAAI,CAClB,UAAU,CAAC,SAAS,OAAO,CAAC,KAAmB,EAAE,GAAG;IAClD,4CAA4C;IAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACpD,OAAO,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAI,KAAK,EAAE,MAAM,IAAK,EAAE,IAAM,CAAC;AACtF,CAAC,CAAC,CACH,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,38 @@
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 React, { forwardRef, memo } from 'react';
19
+ import { Icon } from '@iconify/react';
20
+ import type { SxProps, Theme } from '@mui/material';
21
+ import { Box } from '@mui/material';
22
+
23
+ interface IconifyProps {
24
+ icon: string;
25
+ width?: number;
26
+ height?: number;
27
+ sx?: SxProps<Theme>;
28
+ }
29
+
30
+ const Iconify = memo(
31
+ forwardRef(function Iconify(props: IconifyProps, ref) {
32
+ // eslint-disable-next-line react/prop-types
33
+ const { icon, width = 20, height = 20, sx } = props;
34
+ return <Box ref={ref} component={Icon} icon={icon} sx={{ width, height, ...sx }} />;
35
+ })
36
+ );
37
+
38
+ export default Iconify;
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { List, styled } from '@mui/material';
18
+ import { alpha } from '@mui/material/styles';
19
+ export const PrimarySelectableList = styled(List)(({ theme }) => ({
20
+ '&& .Mui-selected': {
21
+ color: theme.palette.primary.dark,
22
+ backgroundColor: alpha(theme.palette.primary.main, 0.2),
23
+ borderRadius: 30,
24
+ '& .MuiTypography-root': {
25
+ fontWeight: 'bold'
26
+ }
27
+ },
28
+ '& .MuiListItemButton-root': {
29
+ color: '#444746',
30
+ borderRadius: 30
31
+ },
32
+ '& .MuiListItemButton-root:hover': {
33
+ color: theme.palette.primary.dark,
34
+ backgroundColor: alpha(theme.palette.primary.main, 0.09),
35
+ borderRadius: 30
36
+ }
37
+ }));
38
+ //# sourceMappingURL=Lists.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lists.styles.js","sourceRoot":"","sources":["Lists.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,kBAAkB,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACvD,YAAY,EAAE,EAAE;QAChB,uBAAuB,EAAE;YACvB,UAAU,EAAE,MAAM;SACnB;KACF;IACD,2BAA2B,EAAE;QAC3B,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,iCAAiC,EAAE;QACjC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QACxD,YAAY,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ import { List, styled } from '@mui/material';
19
+ import { alpha } from '@mui/material/styles';
20
+
21
+ export const PrimarySelectableList = styled(List)(({ theme }) => ({
22
+ '&& .Mui-selected': {
23
+ color: theme.palette.primary.dark,
24
+ backgroundColor: alpha(theme.palette.primary.main, 0.2),
25
+ borderRadius: 30,
26
+ '& .MuiTypography-root': {
27
+ fontWeight: 'bold'
28
+ }
29
+ },
30
+ '& .MuiListItemButton-root': {
31
+ color: '#444746',
32
+ borderRadius: 30
33
+ },
34
+ '& .MuiListItemButton-root:hover': {
35
+ color: theme.palette.primary.dark,
36
+ backgroundColor: alpha(theme.palette.primary.main, 0.09),
37
+ borderRadius: 30
38
+ }
39
+ }));
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import React, { memo } from 'react';
18
+ import { IconButton, Tooltip } from '@mui/material';
19
+ import CheckCircleIcon from '@mui/icons-material/CheckCircle';
20
+ import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
21
+ const CompleteTabButton = memo(function CompleteTabButton(props) {
22
+ const { tabLinkId, tabIsMarkedAsComplete } = props;
23
+ const markTabAsComplete = useQuestionnaireStore((state) => state.markTabAsComplete);
24
+ return (React.createElement(Tooltip, { title: tabIsMarkedAsComplete ? 'Mark as incomplete' : 'Complete tab' },
25
+ React.createElement(IconButton, { onClick: () => markTabAsComplete(tabLinkId) },
26
+ React.createElement(CheckCircleIcon, { color: tabIsMarkedAsComplete ? 'success' : 'inherit' }))));
27
+ });
28
+ export default CompleteTabButton;
29
+ //# sourceMappingURL=CompleteTabButton.js.map