@aehrc/smart-forms-renderer 0.17.0 → 0.20.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 (567) hide show
  1. package/__mocks__/zustand.ts +1 -1
  2. package/lib/api/smartClient.js +1 -1
  3. package/lib/components/Alert.styles.js +1 -1
  4. package/lib/components/Box.styles.js +1 -1
  5. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +1 -1
  6. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +1 -1
  7. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +1 -1
  8. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +1 -1
  9. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +1 -1
  10. package/lib/components/FormComponents/BooleanItem/BooleanField.d.ts +7 -3
  11. package/lib/components/FormComponents/BooleanItem/BooleanField.js +27 -5
  12. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  13. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +20 -11
  14. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  15. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +1 -1
  16. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +1 -1
  17. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.d.ts +0 -2
  18. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js +6 -4
  19. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
  20. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +0 -2
  21. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +4 -4
  22. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.d.ts +2 -3
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +5 -2
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +0 -2
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +4 -4
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +6 -7
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +0 -2
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +5 -2
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +0 -2
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +4 -4
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.d.ts +0 -2
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +5 -2
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +0 -2
  41. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +4 -4
  42. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  43. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +1 -1
  44. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +1 -1
  45. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +1 -1
  46. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +1 -1
  47. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +1 -1
  48. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +1 -1
  49. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +1 -1
  50. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/CustomDateField.js +1 -1
  51. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -0
  52. package/lib/components/FormComponents/{CustomDateItem → DateTimeItems/CustomDateItem}/CustomDateItem.d.ts +1 -1
  53. package/lib/components/FormComponents/{CustomDateItem → DateTimeItems/CustomDateItem}/CustomDateItem.js +13 -13
  54. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -0
  55. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/DatePicker.js +1 -2
  56. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js.map +1 -0
  57. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js +29 -0
  58. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js.map +1 -0
  59. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/MuiDatePicker.js +1 -1
  60. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/MuiDatePicker.js.map +1 -0
  61. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.d.ts +9 -0
  62. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +116 -0
  63. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -0
  64. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.d.ts +15 -0
  65. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +40 -0
  66. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -0
  67. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.d.ts +22 -0
  68. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js +28 -0
  69. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js.map +1 -0
  70. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems}/index.js +1 -1
  71. package/lib/components/FormComponents/DateTimeItems/index.js.map +1 -0
  72. package/lib/components/FormComponents/DateTimeItems/utils/index.d.ts +1 -0
  73. package/lib/components/FormComponents/{CustomDateItem → DateTimeItems/utils}/index.js +2 -2
  74. package/lib/components/FormComponents/DateTimeItems/utils/index.js.map +1 -0
  75. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker/utils/parseDates.d.ts → DateTimeItems/utils/parseDate.d.ts} +2 -2
  76. package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker/utils/parseDates.js → DateTimeItems/utils/parseDate.js} +10 -10
  77. package/lib/components/FormComponents/DateTimeItems/utils/parseDate.js.map +1 -0
  78. package/lib/components/FormComponents/DateTimeItems/utils/parseTime.d.ts +19 -0
  79. package/lib/components/FormComponents/DateTimeItems/utils/parseTime.js +81 -0
  80. package/lib/components/FormComponents/DateTimeItems/utils/parseTime.js.map +1 -0
  81. package/lib/components/FormComponents/DecimalItem/DecimalField.js +1 -1
  82. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +1 -1
  83. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +1 -1
  84. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +1 -1
  85. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +1 -1
  86. package/lib/components/FormComponents/GridGroup/GridGroup.js +1 -1
  87. package/lib/components/FormComponents/GridGroup/GridRow.js +1 -1
  88. package/lib/components/FormComponents/GridGroup/GridTable.js +1 -1
  89. package/lib/components/FormComponents/GridGroup/index.js +1 -1
  90. package/lib/components/FormComponents/GroupItem/GroupHeading.js +1 -1
  91. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +2 -1
  92. package/lib/components/FormComponents/GroupItem/GroupItem.js +4 -4
  93. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  94. package/lib/components/FormComponents/GroupItem/GroupItem.styles.js +1 -1
  95. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +2 -1
  96. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +5 -5
  97. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  98. package/lib/components/FormComponents/GroupItem/NextTabButton.js +1 -1
  99. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +1 -1
  100. package/lib/components/FormComponents/IntegerItem/IntegerField.js +1 -1
  101. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +1 -1
  102. package/lib/components/FormComponents/Item.styles.js +1 -1
  103. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +1 -1
  104. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +1 -1
  105. package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js +1 -1
  106. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +1 -1
  107. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +1 -1
  108. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +1 -1
  109. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +1 -1
  110. package/lib/components/FormComponents/ItemParts/RadioAnswerOptionButtons.js +1 -1
  111. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +1 -1
  112. package/lib/components/FormComponents/Lists.styles.js +1 -1
  113. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +1 -1
  114. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +1 -1
  115. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.d.ts +0 -2
  116. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +7 -5
  117. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
  118. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +0 -2
  119. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +4 -4
  120. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  121. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +3 -5
  122. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  123. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.d.ts +0 -2
  124. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +5 -2
  125. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
  126. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +0 -2
  127. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +3 -3
  128. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  129. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +1 -1
  130. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +1 -1
  131. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -1
  132. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +1 -1
  133. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
  134. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +9 -3
  135. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  136. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +1 -0
  137. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +3 -3
  138. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  139. package/lib/components/FormComponents/RepeatGroup/index.js +1 -1
  140. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
  141. package/lib/components/FormComponents/RepeatItem/RemoveItemButton.js +1 -1
  142. package/lib/components/FormComponents/RepeatItem/RepeatField.js +1 -1
  143. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +1 -1
  144. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js +1 -1
  145. package/lib/components/FormComponents/RepeatItem/index.js +1 -1
  146. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +2 -2
  147. package/lib/components/FormComponents/SingleItem/SingleItem.js +12 -7
  148. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  149. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +4 -4
  150. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  151. package/lib/components/FormComponents/SingleItem/index.js +1 -1
  152. package/lib/components/FormComponents/SliderItem/Slider.styles.js +1 -1
  153. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.js +1 -1
  154. package/lib/components/FormComponents/SliderItem/SliderField.js +1 -1
  155. package/lib/components/FormComponents/SliderItem/SliderItem.js +1 -1
  156. package/lib/components/FormComponents/SliderItem/SliderLabels.js +1 -1
  157. package/lib/components/FormComponents/StringItem/StringField.js +1 -1
  158. package/lib/components/FormComponents/StringItem/StringItem.js +1 -1
  159. package/lib/components/FormComponents/Tables/AddRowButton.js +1 -1
  160. package/lib/components/FormComponents/Tables/GroupTable.js +1 -1
  161. package/lib/components/FormComponents/Tables/GroupTableBody.js +1 -1
  162. package/lib/components/FormComponents/Tables/GroupTableRow.js +1 -1
  163. package/lib/components/FormComponents/Tables/GroupTableRowCells.js +1 -1
  164. package/lib/components/FormComponents/Tables/GroupTableView.js +1 -1
  165. package/lib/components/FormComponents/Tables/RemoveRowButton.js +1 -1
  166. package/lib/components/FormComponents/Tables/SelectRowButton.js +1 -1
  167. package/lib/components/FormComponents/Tables/Table.styles.js +1 -1
  168. package/lib/components/FormComponents/Tables/index.js +1 -1
  169. package/lib/components/FormComponents/TextItem/MuiTextField.js +1 -1
  170. package/lib/components/FormComponents/TextItem/TextField.js +1 -1
  171. package/lib/components/FormComponents/TextItem/TextItem.js +1 -1
  172. package/lib/components/FormComponents/Textfield.styles.js +1 -1
  173. package/lib/components/FormComponents/TimeItem/TimeField.js +1 -1
  174. package/lib/components/FormComponents/TimeItem/TimeItem.js +1 -1
  175. package/lib/components/FormComponents/UrlItem/UrlField.js +1 -1
  176. package/lib/components/FormComponents/UrlItem/UrlItem.js +1 -1
  177. package/lib/components/FormComponents/index.d.ts +1 -1
  178. package/lib/components/FormComponents/index.js +2 -2
  179. package/lib/components/FormComponents/index.js.map +1 -1
  180. package/lib/components/Iconify/Iconify.js +1 -1
  181. package/lib/components/Lists.styles.js +1 -1
  182. package/lib/components/Renderer/BaseRenderer.js +1 -1
  183. package/lib/components/Renderer/FormBodyCollapsible.js +1 -1
  184. package/lib/components/Renderer/FormBodySingleCollapsible.js +1 -1
  185. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +1 -1
  186. package/lib/components/Renderer/FormBodyTabbed.js +1 -1
  187. package/lib/components/Renderer/FormTitle.js +1 -1
  188. package/lib/components/Renderer/FormTopLevelItem.js +1 -1
  189. package/lib/components/Renderer/SmartFormsRenderer.js +1 -1
  190. package/lib/components/Renderer/index.js +1 -1
  191. package/lib/components/Tabs/CompleteTabButton.js +1 -1
  192. package/lib/components/Tabs/FormBodySingleTab.js +1 -1
  193. package/lib/components/Tabs/FormBodyTabList.js +1 -1
  194. package/lib/components/Tabs/FormBodyTabListWrapper.js +1 -1
  195. package/lib/components/Tabs/ShowCompletedTabsSection.js +1 -1
  196. package/lib/components/index.js +1 -1
  197. package/lib/hooks/useAttachmentUrlValidation.js +1 -1
  198. package/lib/hooks/useContextDisplayItems.js +1 -1
  199. package/lib/hooks/useDateTimeNonEmpty.d.ts +2 -0
  200. package/lib/{components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js → hooks/useDateTimeNonEmpty.js} +9 -3
  201. package/lib/hooks/useDateTimeNonEmpty.js.map +1 -0
  202. package/lib/hooks/useDateValidation.js +3 -3
  203. package/lib/hooks/useDateValidation.js.map +1 -1
  204. package/lib/hooks/useDebounce.js +1 -1
  205. package/lib/hooks/useDecimalCalculatedExpression.js +1 -1
  206. package/lib/hooks/useGroupTableRows.js +1 -1
  207. package/lib/hooks/useHidden.d.ts +1 -1
  208. package/lib/hooks/useHidden.js +4 -3
  209. package/lib/hooks/useHidden.js.map +1 -1
  210. package/lib/hooks/useInitialiseGroupTable.js +1 -1
  211. package/lib/hooks/useInitialiseRenderer.js +1 -1
  212. package/lib/hooks/useInitialiseRepeatAnswers.js +1 -1
  213. package/lib/hooks/useInitialiseRepeatGroups.js +1 -1
  214. package/lib/hooks/useIntegerCalculatedExpression.js +1 -1
  215. package/lib/hooks/useNumberInput.js +1 -1
  216. package/lib/hooks/useQueryClient.js +1 -1
  217. package/lib/hooks/useReadOnly.js +1 -1
  218. package/lib/hooks/useRenderingExtensions.js +1 -1
  219. package/lib/hooks/useResponsive.js +1 -1
  220. package/lib/hooks/useSliderExtensions.js +1 -1
  221. package/lib/hooks/useStringCalculatedExpression.js +1 -1
  222. package/lib/hooks/useStringInput.js +1 -1
  223. package/lib/hooks/useTerminologyServerQuery.js +1 -1
  224. package/lib/hooks/useTimeValidation.d.ts +5 -0
  225. package/lib/hooks/useTimeValidation.js +54 -0
  226. package/lib/hooks/useTimeValidation.js.map +1 -0
  227. package/lib/hooks/useValidationFeedback.js +1 -1
  228. package/lib/hooks/useValueSetCodings.js +1 -1
  229. package/lib/index.d.ts +1 -0
  230. package/lib/index.js +1 -0
  231. package/lib/index.js.map +1 -1
  232. package/lib/interfaces/answerExpression.interface.js +1 -1
  233. package/lib/interfaces/choice.enum.js +1 -1
  234. package/lib/interfaces/enableWhen.interface.d.ts +20 -5
  235. package/lib/interfaces/enableWhen.interface.js +1 -1
  236. package/lib/interfaces/groupTable.interface.js +1 -1
  237. package/lib/interfaces/index.d.ts +1 -0
  238. package/lib/interfaces/index.js +2 -0
  239. package/lib/interfaces/index.js.map +1 -0
  240. package/lib/interfaces/populate.interface.js +1 -1
  241. package/lib/interfaces/questionnaireStore.interface.d.ts +2 -2
  242. package/lib/interfaces/questionnaireStore.interface.js +1 -1
  243. package/lib/interfaces/regex.interface.js +1 -1
  244. package/lib/interfaces/renderProps.interface.d.ts +4 -0
  245. package/lib/interfaces/renderProps.interface.js +1 -1
  246. package/lib/interfaces/repeatGroup.interface.js +1 -1
  247. package/lib/interfaces/valueSet.interface.js +1 -1
  248. package/lib/interfaces/variables.interface.js +1 -1
  249. package/lib/stores/questionnaireResponseStore.js +1 -1
  250. package/lib/stores/questionnaireStore.d.ts +5 -3
  251. package/lib/stores/questionnaireStore.js +13 -6
  252. package/lib/stores/questionnaireStore.js.map +1 -1
  253. package/lib/stores/smartConfigStore.js +1 -1
  254. package/lib/stores/terminologyServerStore.js +1 -1
  255. package/lib/theme/customGlobalStyles.js +1 -1
  256. package/lib/theme/overrides/Accordion.js +1 -1
  257. package/lib/theme/overrides/Autocomplete.js +1 -1
  258. package/lib/theme/overrides/Button.js +1 -1
  259. package/lib/theme/overrides/Card.js +1 -1
  260. package/lib/theme/overrides/Input.js +1 -1
  261. package/lib/theme/overrides/Overrides.js +1 -1
  262. package/lib/theme/overrides/Paper.js +1 -1
  263. package/lib/theme/overrides/SpeedDial.js +1 -1
  264. package/lib/theme/overrides/Table.js +1 -1
  265. package/lib/theme/palette.js +1 -1
  266. package/lib/theme/shadows.js +1 -1
  267. package/lib/theme/typography.js +1 -1
  268. package/lib/utils/calculatedExpression.js +1 -1
  269. package/lib/utils/choice.d.ts +1 -1
  270. package/lib/utils/choice.js +1 -1
  271. package/lib/utils/choice.js.map +1 -1
  272. package/lib/utils/dayjsExtend.js +1 -1
  273. package/lib/utils/debounce.js +1 -1
  274. package/lib/utils/emptyResource.js +1 -1
  275. package/lib/utils/enableWhen.d.ts +11 -4
  276. package/lib/utils/enableWhen.js +131 -54
  277. package/lib/utils/enableWhen.js.map +1 -1
  278. package/lib/utils/enableWhenExpression.d.ts +1 -1
  279. package/lib/utils/enableWhenExpression.js +27 -8
  280. package/lib/utils/enableWhenExpression.js.map +1 -1
  281. package/lib/utils/fhirpath.js +1 -1
  282. package/lib/utils/formChanges.js +1 -1
  283. package/lib/utils/groupTable.js +1 -1
  284. package/lib/utils/index.d.ts +1 -0
  285. package/lib/utils/index.js +2 -1
  286. package/lib/utils/index.js.map +1 -1
  287. package/lib/utils/initialise.js +1 -1
  288. package/lib/utils/itemControl.js +1 -1
  289. package/lib/utils/mapItem.js +1 -1
  290. package/lib/utils/misc.d.ts +5 -0
  291. package/lib/utils/misc.js +116 -0
  292. package/lib/utils/misc.js.map +1 -0
  293. package/lib/utils/openChoice.js +1 -1
  294. package/lib/utils/parseInputs.js +1 -1
  295. package/lib/utils/populateContexts.js +1 -1
  296. package/lib/utils/qItem.d.ts +2 -1
  297. package/lib/utils/qItem.js +20 -8
  298. package/lib/utils/qItem.js.map +1 -1
  299. package/lib/utils/qrItem.js +1 -1
  300. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +1 -1
  301. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +2 -2
  302. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  303. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +1 -1
  304. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +13 -3
  305. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +82 -19
  306. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  307. package/lib/utils/questionnaireStoreUtils/extractTabs.js +1 -1
  308. package/lib/utils/questionnaireStoreUtils/extractVariables.js +1 -1
  309. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +1 -1
  310. package/lib/utils/removeEmptyAnswers.js +1 -1
  311. package/lib/utils/repopulateItems.js +1 -1
  312. package/lib/utils/slider.js +1 -1
  313. package/lib/utils/tabs.d.ts +1 -1
  314. package/lib/utils/tabs.js +7 -5
  315. package/lib/utils/tabs.js.map +1 -1
  316. package/lib/utils/validateQuestionnaire.js +1 -1
  317. package/lib/utils/valueSet.js +1 -1
  318. package/package.json +2 -2
  319. package/src/api/smartClient.ts +1 -1
  320. package/src/components/Alert.styles.ts +1 -1
  321. package/src/components/Box.styles.ts +1 -1
  322. package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +1 -1
  323. package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +1 -1
  324. package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +1 -1
  325. package/src/components/FormComponents/AttachmentItem/AttachmentItem.tsx +1 -1
  326. package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +1 -1
  327. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +54 -18
  328. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +48 -14
  329. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +1 -1
  330. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +1 -1
  331. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +5 -3
  332. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +1 -6
  333. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +7 -4
  334. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +3 -6
  335. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +2 -7
  336. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +5 -3
  337. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +2 -6
  338. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +5 -4
  339. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +2 -6
  340. package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +1 -1
  341. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +1 -1
  342. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +1 -1
  343. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +1 -1
  344. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +1 -1
  345. package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +1 -1
  346. package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +1 -1
  347. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/CustomDateField.tsx +1 -1
  348. package/src/components/FormComponents/{CustomDateItem → DateTimeItems/CustomDateItem}/CustomDateItem.tsx +15 -15
  349. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/DatePicker.tsx +1 -2
  350. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/DatePickerButton.tsx +18 -1
  351. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/MuiDatePicker.ts +1 -1
  352. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +222 -0
  353. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +117 -0
  354. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.tsx +96 -0
  355. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems}/index.ts +1 -1
  356. package/src/components/FormComponents/{CustomDateItem → DateTimeItems/utils}/index.ts +2 -2
  357. package/src/components/FormComponents/{CustomDateItem/customDateTimePicker/utils/parseDates.ts → DateTimeItems/utils/parseDate.ts} +10 -10
  358. package/src/components/FormComponents/DateTimeItems/utils/parseTime.ts +127 -0
  359. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +1 -1
  360. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +1 -1
  361. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +1 -1
  362. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +1 -1
  363. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +1 -1
  364. package/src/components/FormComponents/GridGroup/GridGroup.tsx +1 -1
  365. package/src/components/FormComponents/GridGroup/GridRow.tsx +1 -1
  366. package/src/components/FormComponents/GridGroup/GridTable.tsx +1 -1
  367. package/src/components/FormComponents/GridGroup/index.ts +1 -1
  368. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +1 -1
  369. package/src/components/FormComponents/GroupItem/GroupItem.styles.ts +1 -1
  370. package/src/components/FormComponents/GroupItem/GroupItem.tsx +9 -3
  371. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +11 -3
  372. package/src/components/FormComponents/GroupItem/NextTabButton.tsx +1 -1
  373. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +1 -1
  374. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +1 -1
  375. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +1 -1
  376. package/src/components/FormComponents/Item.styles.ts +1 -1
  377. package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +1 -1
  378. package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +1 -1
  379. package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +1 -1
  380. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +1 -1
  381. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +1 -1
  382. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +1 -1
  383. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +1 -1
  384. package/src/components/FormComponents/ItemParts/RadioAnswerOptionButtons.tsx +1 -1
  385. package/src/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.tsx +1 -1
  386. package/src/components/FormComponents/Lists.styles.ts +1 -1
  387. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +1 -1
  388. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +1 -1
  389. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +4 -3
  390. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +1 -6
  391. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +1 -6
  392. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +4 -3
  393. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +2 -5
  394. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +1 -1
  395. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +1 -1
  396. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +1 -1
  397. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +1 -1
  398. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +14 -3
  399. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +5 -1
  400. package/src/components/FormComponents/RepeatGroup/index.ts +1 -1
  401. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +1 -1
  402. package/src/components/FormComponents/RepeatItem/RemoveItemButton.tsx +1 -1
  403. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +1 -1
  404. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.tsx +1 -1
  405. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +1 -1
  406. package/src/components/FormComponents/RepeatItem/index.ts +1 -1
  407. package/src/components/FormComponents/SingleItem/SingleItem.tsx +20 -7
  408. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +4 -4
  409. package/src/components/FormComponents/SingleItem/index.ts +1 -1
  410. package/src/components/FormComponents/SliderItem/Slider.styles.ts +1 -1
  411. package/src/components/FormComponents/SliderItem/SliderDisplayValue.tsx +1 -1
  412. package/src/components/FormComponents/SliderItem/SliderField.tsx +1 -1
  413. package/src/components/FormComponents/SliderItem/SliderItem.tsx +1 -1
  414. package/src/components/FormComponents/SliderItem/SliderLabels.tsx +1 -1
  415. package/src/components/FormComponents/StringItem/StringField.tsx +1 -1
  416. package/src/components/FormComponents/StringItem/StringItem.tsx +1 -1
  417. package/src/components/FormComponents/Tables/AddRowButton.tsx +1 -1
  418. package/src/components/FormComponents/Tables/GroupTable.tsx +1 -1
  419. package/src/components/FormComponents/Tables/GroupTableBody.tsx +1 -1
  420. package/src/components/FormComponents/Tables/GroupTableRow.tsx +1 -1
  421. package/src/components/FormComponents/Tables/GroupTableRowCells.tsx +1 -1
  422. package/src/components/FormComponents/Tables/GroupTableView.tsx +1 -1
  423. package/src/components/FormComponents/Tables/RemoveRowButton.tsx +1 -1
  424. package/src/components/FormComponents/Tables/SelectRowButton.tsx +1 -1
  425. package/src/components/FormComponents/Tables/Table.styles.tsx +1 -1
  426. package/src/components/FormComponents/Tables/index.ts +1 -1
  427. package/src/components/FormComponents/TextItem/MuiTextField.ts +1 -1
  428. package/src/components/FormComponents/TextItem/TextField.tsx +1 -1
  429. package/src/components/FormComponents/TextItem/TextItem.tsx +1 -1
  430. package/src/components/FormComponents/Textfield.styles.ts +1 -1
  431. package/src/components/FormComponents/TimeItem/TimeField.tsx +1 -1
  432. package/src/components/FormComponents/TimeItem/TimeItem.tsx +1 -1
  433. package/src/components/FormComponents/UrlItem/UrlField.tsx +1 -1
  434. package/src/components/FormComponents/UrlItem/UrlItem.tsx +1 -1
  435. package/src/components/FormComponents/index.ts +2 -2
  436. package/src/components/Iconify/Iconify.tsx +1 -1
  437. package/src/components/Lists.styles.ts +1 -1
  438. package/src/components/Renderer/BaseRenderer.tsx +1 -1
  439. package/src/components/Renderer/FormBodyCollapsible.tsx +1 -1
  440. package/src/components/Renderer/FormBodySingleCollapsible.tsx +1 -1
  441. package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +1 -1
  442. package/src/components/Renderer/FormBodyTabbed.tsx +1 -1
  443. package/src/components/Renderer/FormTitle.tsx +1 -1
  444. package/src/components/Renderer/FormTopLevelItem.tsx +1 -1
  445. package/src/components/Renderer/SmartFormsRenderer.tsx +1 -1
  446. package/src/components/Renderer/index.ts +1 -1
  447. package/src/components/Tabs/CompleteTabButton.tsx +1 -1
  448. package/src/components/Tabs/FormBodySingleTab.tsx +1 -1
  449. package/src/components/Tabs/FormBodyTabList.tsx +1 -1
  450. package/src/components/Tabs/FormBodyTabListWrapper.tsx +1 -1
  451. package/src/components/Tabs/ShowCompletedTabsSection.tsx +1 -1
  452. package/src/components/index.ts +1 -1
  453. package/src/hooks/useAttachmentUrlValidation.ts +1 -1
  454. package/src/hooks/useContextDisplayItems.ts +1 -1
  455. package/src/{components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.ts → hooks/useDateTimeNonEmpty.ts} +15 -2
  456. package/src/hooks/useDateValidation.tsx +3 -3
  457. package/src/hooks/useDebounce.ts +1 -1
  458. package/src/hooks/useDecimalCalculatedExpression.ts +1 -1
  459. package/src/hooks/useGroupTableRows.ts +1 -1
  460. package/src/hooks/useHidden.ts +4 -3
  461. package/src/hooks/useInitialiseGroupTable.ts +1 -1
  462. package/src/hooks/useInitialiseRenderer.ts +1 -1
  463. package/src/hooks/useInitialiseRepeatAnswers.ts +1 -1
  464. package/src/hooks/useInitialiseRepeatGroups.ts +1 -1
  465. package/src/hooks/useIntegerCalculatedExpression.ts +1 -1
  466. package/src/hooks/useNumberInput.ts +1 -1
  467. package/src/hooks/useQueryClient.ts +1 -1
  468. package/src/hooks/useReadOnly.ts +1 -1
  469. package/src/hooks/useRenderingExtensions.ts +1 -1
  470. package/src/hooks/useResponsive.ts +1 -1
  471. package/src/hooks/useSliderExtensions.ts +1 -1
  472. package/src/hooks/useStringCalculatedExpression.ts +1 -1
  473. package/src/hooks/useStringInput.ts +1 -1
  474. package/src/hooks/useTerminologyServerQuery.ts +1 -1
  475. package/src/hooks/useTimeValidation.tsx +70 -0
  476. package/src/hooks/useValidationFeedback.ts +1 -1
  477. package/src/hooks/useValueSetCodings.ts +1 -1
  478. package/src/index.ts +1 -0
  479. package/src/interfaces/answerExpression.interface.ts +1 -1
  480. package/src/interfaces/choice.enum.ts +1 -1
  481. package/src/interfaces/enableWhen.interface.ts +25 -6
  482. package/src/interfaces/groupTable.interface.ts +1 -1
  483. package/src/interfaces/index.ts +8 -0
  484. package/src/interfaces/populate.interface.ts +1 -1
  485. package/src/interfaces/questionnaireStore.interface.ts +3 -3
  486. package/src/interfaces/regex.interface.ts +1 -1
  487. package/src/interfaces/renderProps.interface.ts +5 -1
  488. package/src/interfaces/repeatGroup.interface.ts +1 -1
  489. package/src/interfaces/tab.interface.ts +1 -1
  490. package/src/interfaces/valueSet.interface.ts +1 -1
  491. package/src/interfaces/variables.interface.ts +1 -1
  492. package/src/stores/questionnaireResponseStore.ts +1 -1
  493. package/src/stores/questionnaireStore.ts +46 -9
  494. package/src/stores/smartConfigStore.ts +1 -1
  495. package/src/stores/terminologyServerStore.ts +1 -1
  496. package/src/stories/MedicalHistoryTable.stories.tsx +1 -1
  497. package/src/stories/SmartFormsRenderer.stories.ts +1 -1
  498. package/src/theme/Theme.tsx +1 -1
  499. package/src/theme/customGlobalStyles.tsx +1 -1
  500. package/src/theme/overrides/Accordion.ts +1 -1
  501. package/src/theme/overrides/Autocomplete.ts +1 -1
  502. package/src/theme/overrides/Button.ts +1 -1
  503. package/src/theme/overrides/Card.ts +1 -1
  504. package/src/theme/overrides/Input.ts +1 -1
  505. package/src/theme/overrides/Overrides.ts +1 -1
  506. package/src/theme/overrides/Paper.ts +1 -1
  507. package/src/theme/overrides/SpeedDial.ts +1 -1
  508. package/src/theme/overrides/Table.ts +1 -1
  509. package/src/theme/palette.ts +1 -1
  510. package/src/theme/shadows.ts +1 -1
  511. package/src/theme/typography.ts +1 -1
  512. package/src/utils/calculatedExpression.ts +1 -1
  513. package/src/utils/choice.ts +5 -3
  514. package/src/utils/dayjsExtend.ts +1 -1
  515. package/src/utils/debounce.ts +1 -1
  516. package/src/utils/emptyResource.ts +1 -1
  517. package/src/utils/enableWhen.ts +195 -56
  518. package/src/utils/enableWhenExpression.ts +36 -9
  519. package/src/utils/fhirpath.ts +1 -1
  520. package/src/utils/formChanges.ts +1 -1
  521. package/src/utils/groupTable.ts +1 -1
  522. package/src/utils/index.ts +6 -1
  523. package/src/utils/initialise.ts +1 -1
  524. package/src/utils/itemControl.ts +1 -1
  525. package/src/utils/mapItem.ts +1 -1
  526. package/src/utils/misc.ts +160 -0
  527. package/src/utils/openChoice.ts +1 -1
  528. package/src/utils/parseInputs.ts +1 -1
  529. package/src/utils/populateContexts.ts +1 -1
  530. package/src/utils/qItem.ts +32 -9
  531. package/src/utils/qrItem.ts +1 -1
  532. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +1 -1
  533. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +2 -2
  534. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +1 -1
  535. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +123 -26
  536. package/src/utils/questionnaireStoreUtils/extractTabs.ts +1 -1
  537. package/src/utils/questionnaireStoreUtils/extractVariables.ts +1 -1
  538. package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +1 -1
  539. package/src/utils/removeEmptyAnswers.ts +1 -1
  540. package/src/utils/repopulateItems.ts +1 -1
  541. package/src/utils/slider.ts +1 -1
  542. package/src/utils/tabs.ts +9 -6
  543. package/src/utils/validateQuestionnaire.ts +1 -1
  544. package/src/utils/valueSet.ts +1 -1
  545. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js.map +0 -1
  546. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.js.map +0 -1
  547. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.js.map +0 -1
  548. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js +0 -13
  549. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js.map +0 -1
  550. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.js.map +0 -1
  551. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.js.map +0 -1
  552. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.d.ts +0 -1
  553. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js.map +0 -1
  554. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.js.map +0 -1
  555. package/lib/components/FormComponents/CustomDateItem/index.d.ts +0 -1
  556. package/lib/components/FormComponents/CustomDateItem/index.js.map +0 -1
  557. package/lib/components/FormComponents/DateItem/DateField.d.ts +0 -12
  558. package/lib/components/FormComponents/DateItem/DateItem.d.ts +0 -9
  559. package/lib/components/FormComponents/ItemParts/ItemExtensionLabels.d.ts +0 -7
  560. package/lib/setup-jest.js +0 -1
  561. package/lib/stories/MedicalHistoryTable.stories.js +0 -45
  562. package/lib/stories/SmartFormsRenderer.stories.js +0 -117
  563. /package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/CustomDateField.d.ts +0 -0
  564. /package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/DatePicker.d.ts +0 -0
  565. /package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/DatePickerButton.d.ts +0 -0
  566. /package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems/CustomDateItem}/MuiDatePicker.d.ts +0 -0
  567. /package/lib/components/FormComponents/{CustomDateItem/customDateTimePicker → DateTimeItems}/index.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,10 +1,11 @@
1
1
  import type { Questionnaire, QuestionnaireItem } from 'fhir/r4';
2
- import type { EnableWhenExpression, EnableWhenItems } from '../interfaces/enableWhen.interface';
2
+ import type { EnableWhenExpression, EnableWhenItems } from '../interfaces';
3
3
  interface isHiddenByEnableWhensParams {
4
4
  linkId: string;
5
5
  enableWhenIsActivated: boolean;
6
6
  enableWhenItems: EnableWhenItems;
7
7
  enableWhenExpressions: Record<string, EnableWhenExpression>;
8
+ parentRepeatGroupIndex?: number;
8
9
  }
9
10
  export declare function isHiddenByEnableWhen(params: isHiddenByEnableWhensParams): boolean;
10
11
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,15 +18,27 @@ import { getChoiceControlType } from './choice';
18
18
  import { ChoiceItemControl, OpenChoiceItemControl } from '../interfaces/choice.enum';
19
19
  import { getOpenChoiceControlType } from './openChoice';
20
20
  export function isHiddenByEnableWhen(params) {
21
- const { linkId, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
22
- if (enableWhenIsActivated) {
23
- if (enableWhenItems[linkId]) {
24
- return !enableWhenItems[linkId].isEnabled;
25
- }
26
- if (enableWhenExpressions[linkId]) {
27
- return !enableWhenExpressions[linkId].isEnabled;
21
+ const { linkId, enableWhenIsActivated, enableWhenItems, enableWhenExpressions, parentRepeatGroupIndex } = params;
22
+ const { singleItems, repeatItems } = enableWhenItems;
23
+ // If enableWhen is not activated, items are not hidden by enableWhen
24
+ if (!enableWhenIsActivated) {
25
+ return false;
26
+ }
27
+ if (singleItems[linkId]) {
28
+ return !singleItems[linkId].isEnabled;
29
+ }
30
+ if (repeatItems[linkId] && parentRepeatGroupIndex !== undefined) {
31
+ return !repeatItems[linkId].enabledIndexes[parentRepeatGroupIndex];
32
+ }
33
+ if (enableWhenExpressions[linkId] && parentRepeatGroupIndex !== undefined) {
34
+ const isEnabledMultiple = enableWhenExpressions[linkId].isEnabledMultiple;
35
+ if (isEnabledMultiple) {
36
+ return !isEnabledMultiple[parentRepeatGroupIndex];
28
37
  }
29
38
  }
39
+ if (enableWhenExpressions[linkId]) {
40
+ return !enableWhenExpressions[linkId].isEnabledSingle;
41
+ }
30
42
  return false;
31
43
  }
32
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAUxD,MAAM,UAAU,oBAAoB,CAAC,MAAmC;IACtE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IAEzF,IAAI,qBAAqB,EAAE;QACzB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;YAC3B,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;SAC3C;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;SACjD;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAwB;IACjE,MAAM,UAAU,GACd,oBAAoB,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC,QAAQ;QAC1D,wBAAwB,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC;IAErE,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,aAA4B;;IAC1E,MAAM,WAAW,GAAG,MAAA,MAAA,aAAa,CAAC,MAAM,0CAAE,SAAS,0CAAE,IAAI,CACvD,CAAC,SAAoB,EAAE,EAAE,CACvB,SAAS,CAAC,GAAG,KAAK,yDAAyD,CAC9E,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,IAAI,WAAW,CAAC,WAAW,EAAE;YAC3B,OAAO,WAAW,CAAC,WAAW,CAAC;SAChC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,EAAE,CAAC;KACX;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE;QAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,oCAAoC,CAAC,YAAY,CAAC,CAAC,CAAC;KACrE;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,KAAwB;IAC3E,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1C;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,oCAAoC,CAAC,SAAS,CAAC,CAAC,CAAC;SAClE;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -76,7 +76,7 @@ function createEmptyModel() {
76
76
  calculatedExpressions: {},
77
77
  enableWhenExpressions: {},
78
78
  answerExpressions: {},
79
- enableWhenItems: {},
79
+ enableWhenItems: { singleItems: {}, repeatItems: {} },
80
80
  processedValueSetCodings: {},
81
81
  processedValueSetUrls: {},
82
82
  fhirPathContext: {}
@@ -1 +1 @@
1
- {"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,UAAgB,wBAAwB,CAC5C,aAA4B,EAC5B,mBAA2C,EAC3C,oBAA4B;;QAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACvB,OAAO,gBAAgB,EAAE,CAAC;SAC3B;QAED,MAAM,SAAS,GAA2B,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,MAAM,IAAI,GAAS,WAAW,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAkC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE3F,IAAI,SAAS,GAAc,kCAAkC,CAAC,aAAa,CAAC,CAAC;QAC7E,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAEnE,MAAM,+BAA+B,GAAG,yBAAyB,CAC/D,aAAa,EACb,oBAAoB,CACrB,CAAC;QACF,IAAI,gBAAgB,GAAG,+BAA+B,CAAC,gBAAgB,CAAC;QACxE,IAAI,wBAAwB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC;QACxF,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,qBAAqB,CAAC;QAEpF,MAAM,4BAA4B,GAAG,sBAAsB,CACzD,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QAEF,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GACxF,4BAA4B,CAAC;QAC/B,SAAS,GAAG,4BAA4B,CAAC,SAAS,CAAC;QACnD,gBAAgB,GAAG,4BAA4B,CAAC,gBAAgB,CAAC;QAEjE,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CACnD,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,CACrB,CAAC;QAEF,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC;QAC7C,wBAAwB,GAAG,sBAAsB,CAAC,wBAAwB,CAAC;QAE3E,OAAO;YACL,SAAS;YACT,IAAI;YACJ,SAAS;YACT,cAAc;YACd,eAAe;YACf,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,qBAAqB;YACrB,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;QAC7D,cAAc,EAAE,EAAE;QAClB,qBAAqB,EAAE,EAAE;QACzB,qBAAqB,EAAE,EAAE;QACzB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,wBAAwB,EAAE,EAAE;QAC5B,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,UAAgB,wBAAwB,CAC5C,aAA4B,EAC5B,mBAA2C,EAC3C,oBAA4B;;QAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACvB,OAAO,gBAAgB,EAAE,CAAC;SAC3B;QAED,MAAM,SAAS,GAA2B,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,MAAM,IAAI,GAAS,WAAW,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAkC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE3F,IAAI,SAAS,GAAc,kCAAkC,CAAC,aAAa,CAAC,CAAC;QAC7E,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAEnE,MAAM,+BAA+B,GAAG,yBAAyB,CAC/D,aAAa,EACb,oBAAoB,CACrB,CAAC;QACF,IAAI,gBAAgB,GAAG,+BAA+B,CAAC,gBAAgB,CAAC;QACxE,IAAI,wBAAwB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC;QACxF,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,qBAAqB,CAAC;QAEpF,MAAM,4BAA4B,GAAG,sBAAsB,CACzD,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QAEF,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GACxF,4BAA4B,CAAC;QAC/B,SAAS,GAAG,4BAA4B,CAAC,SAAS,CAAC;QACnD,gBAAgB,GAAG,4BAA4B,CAAC,gBAAgB,CAAC;QAEjE,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CACnD,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,CACrB,CAAC;QAEF,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC;QAC7C,wBAAwB,GAAG,sBAAsB,CAAC,wBAAwB,CAAC;QAE3E,OAAO;YACL,SAAS;YACT,IAAI;YACJ,SAAS;YACT,cAAc;YACd,eAAe;YACf,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,qBAAqB;YACrB,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;QAC7D,cAAc,EAAE,EAAE;QAClB,qBAAqB,EAAE,EAAE;QACzB,qBAAqB,EAAE,EAAE;QACzB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,wBAAwB,EAAE,EAAE;QAC5B,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,12 +1,12 @@
1
1
  import type { Expression, Questionnaire, QuestionnaireItem } from 'fhir/r4';
2
2
  import type { CalculatedExpression } from '../../interfaces/calculatedExpression.interface';
3
- import type { EnableWhenExpression, EnableWhenItemProperties } from '../../interfaces/enableWhen.interface';
3
+ import type { EnableWhenExpression, EnableWhenItems, EnableWhenRepeatItemProperties, EnableWhenSingleItemProperties } from '../../interfaces';
4
4
  import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
5
5
  import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
6
6
  import type { Variables } from '../../interfaces/variables.interface';
7
7
  interface ReturnParamsRecursive {
8
8
  variables: Variables;
9
- enableWhenItems: Record<string, EnableWhenItemProperties>;
9
+ enableWhenItems: EnableWhenItems;
10
10
  enableWhenExpressions: Record<string, EnableWhenExpression>;
11
11
  calculatedExpressions: Record<string, CalculatedExpression>;
12
12
  answerExpressions: Record<string, AnswerExpression>;
@@ -18,7 +18,17 @@ export declare function extractOtherExtensions(questionnaire: Questionnaire, var
18
18
  *
19
19
  * @author Sean Fong
20
20
  */
21
- export declare function getEnableWhenItemProperties(qItem: QuestionnaireItem): EnableWhenItemProperties | null;
21
+ export declare function initialiseEnableWhenItemProperties(qItem: QuestionnaireItem, questionnaire: Questionnaire, parentLinkId?: string): {
22
+ enableWhenItemType: 'single' | 'repeat';
23
+ enableWhenItemProperties: EnableWhenSingleItemProperties | EnableWhenRepeatItemProperties;
24
+ } | null;
25
+ export declare function initialiseEnableWhenRepeatItemProperties(qItem: QuestionnaireItem, questionnaire: Questionnaire, parentLinkId: string): EnableWhenRepeatItemProperties | null;
26
+ /**
27
+ * Get enableWhen items' linked items and enableBehaviour attribute and save them in an EnableWhenItemProperties object
28
+ *
29
+ * @author Sean Fong
30
+ */
31
+ export declare function initialiseEnableWhenSingleItemProperties(qItem: QuestionnaireItem): EnableWhenSingleItemProperties | null;
22
32
  /**
23
33
  * Check if an enableWhenExpression extension is present
24
34
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,15 +17,16 @@
17
17
  import { getAnswerExpression } from '../itemControl';
18
18
  import { getTerminologyServerUrl, getValueSetPromise } from '../valueSet';
19
19
  import { getFhirPathVariables, getXFhirQueryVariables } from './extractVariables';
20
+ import { getRepeatGroupParentItem } from '../misc';
20
21
  export function extractOtherExtensions(questionnaire, variables, valueSetPromises, terminologyServerUrl) {
21
- const enableWhenItems = {};
22
+ const enableWhenItems = { singleItems: {}, repeatItems: {} };
22
23
  const enableWhenExpressions = {};
23
24
  const calculatedExpressions = {};
24
25
  const answerExpressions = {};
25
26
  if (!questionnaire.item || questionnaire.item.length === 0) {
26
27
  return {
27
28
  variables: variables,
28
- enableWhenItems: {},
29
+ enableWhenItems: { singleItems: {}, repeatItems: {} },
29
30
  enableWhenExpressions: {},
30
31
  calculatedExpressions: {},
31
32
  answerExpressions: {},
@@ -33,7 +34,9 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
33
34
  };
34
35
  }
35
36
  for (const topLevelItem of questionnaire.item) {
37
+ const isRepeatGroup = !!topLevelItem.repeats && topLevelItem.type === 'group';
36
38
  extractExtensionsFromItemRecursive({
39
+ questionnaire,
37
40
  item: topLevelItem,
38
41
  variables,
39
42
  enableWhenItems,
@@ -41,7 +44,8 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
41
44
  calculatedExpressions,
42
45
  answerExpressions,
43
46
  valueSetPromises,
44
- defaultTerminologyServerUrl: terminologyServerUrl
47
+ defaultTerminologyServerUrl: terminologyServerUrl,
48
+ parentRepeatGroupLinkId: isRepeatGroup ? topLevelItem.linkId : undefined
45
49
  });
46
50
  }
47
51
  return {
@@ -55,18 +59,27 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
55
59
  }
56
60
  function extractExtensionsFromItemRecursive(params) {
57
61
  var _a;
58
- const { item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, valueSetPromises, defaultTerminologyServerUrl } = params;
62
+ const { questionnaire, item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, valueSetPromises, defaultTerminologyServerUrl, parentRepeatGroupLinkId } = params;
59
63
  const items = item.item;
64
+ const isRepeatGroup = !!item.repeats && item.type === 'group';
60
65
  if (items && items.length > 0) {
61
66
  // iterate through items of item recursively
62
67
  for (const childItem of items) {
63
- extractExtensionsFromItemRecursive(Object.assign(Object.assign({}, params), { item: childItem }));
68
+ extractExtensionsFromItemRecursive(Object.assign(Object.assign({}, params), { item: childItem, parentRepeatGroupLinkId: isRepeatGroup ? item.linkId : parentRepeatGroupLinkId }));
64
69
  }
65
70
  }
66
- // Read enable when items, enablehen/calculated/answer expressions, valueSets and variables from qItem
67
- const enableWhenItemProperties = getEnableWhenItemProperties(item);
68
- if (enableWhenItemProperties) {
69
- enableWhenItems[item.linkId] = enableWhenItemProperties;
71
+ // Read enable when items, enableWhen/calculated/answer expressions, valueSets and variables from qItem
72
+ const initialisedEnableWhenItemProperties = initialiseEnableWhenItemProperties(item, questionnaire, parentRepeatGroupLinkId);
73
+ if (initialisedEnableWhenItemProperties) {
74
+ const { enableWhenItemType, enableWhenItemProperties } = initialisedEnableWhenItemProperties;
75
+ if (enableWhenItemType === 'single') {
76
+ enableWhenItems.singleItems[item.linkId] =
77
+ enableWhenItemProperties;
78
+ }
79
+ else if (enableWhenItemType === 'repeat') {
80
+ enableWhenItems.repeatItems[item.linkId] =
81
+ enableWhenItemProperties;
82
+ }
70
83
  }
71
84
  const enableWhenExpression = getEnableWhenExpression(item);
72
85
  if (enableWhenExpression) {
@@ -119,17 +132,67 @@ function extractExtensionsFromItemRecursive(params) {
119
132
  *
120
133
  * @author Sean Fong
121
134
  */
122
- export function getEnableWhenItemProperties(qItem) {
135
+ export function initialiseEnableWhenItemProperties(qItem, questionnaire, parentLinkId) {
136
+ // Parent repeat group linkId exist, try to classify this item as a repeat enableWhen item
137
+ if (parentLinkId) {
138
+ const enableWhenRepeatItemProperties = initialiseEnableWhenRepeatItemProperties(qItem, questionnaire, parentLinkId);
139
+ if (enableWhenRepeatItemProperties) {
140
+ return {
141
+ enableWhenItemType: 'repeat',
142
+ enableWhenItemProperties: enableWhenRepeatItemProperties
143
+ };
144
+ }
145
+ }
146
+ // If parentLinkId is not provided or item cannot be classified as a repeat enableWhen item, classify it as a single enableWhen item
147
+ const enableWhenSingleItemProperties = initialiseEnableWhenSingleItemProperties(qItem);
148
+ if (enableWhenSingleItemProperties) {
149
+ return {
150
+ enableWhenItemType: 'single',
151
+ enableWhenItemProperties: enableWhenSingleItemProperties
152
+ };
153
+ }
154
+ return null;
155
+ }
156
+ export function initialiseEnableWhenRepeatItemProperties(qItem, questionnaire, parentLinkId) {
123
157
  const enableWhen = qItem.enableWhen;
124
- if (enableWhen) {
125
- const enableWhenItemProperties = { linked: [], isEnabled: false };
126
- enableWhenItemProperties.linked = enableWhen.map((linkedItem) => {
127
- return { enableWhen: linkedItem };
128
- });
129
- if (qItem.enableBehavior) {
130
- enableWhenItemProperties.enableBehavior = qItem.enableBehavior;
158
+ if (!enableWhen) {
159
+ return null;
160
+ }
161
+ const linkedItems = enableWhen.map((linkedItem) => {
162
+ const linkedParentItem = getRepeatGroupParentItem(questionnaire, linkedItem.question);
163
+ // Check if parentLinkId match the linked item's parent linkId
164
+ if (parentLinkId === (linkedParentItem === null || linkedParentItem === void 0 ? void 0 : linkedParentItem.linkId)) {
165
+ return { enableWhen: linkedItem, parentLinkId: linkedParentItem.linkId, answers: [] };
131
166
  }
132
- return enableWhenItemProperties;
167
+ // Otherwise, this linked item is not a valid repeat enableWhen linked item
168
+ return null;
169
+ });
170
+ // If any linked item is not valid, exit early
171
+ if (linkedItems.some((linkedItem) => linkedItem === null)) {
172
+ return null;
173
+ }
174
+ return {
175
+ linked: linkedItems,
176
+ parentLinkId: parentLinkId,
177
+ enabledIndexes: [false],
178
+ enableBehavior: qItem.enableBehavior
179
+ };
180
+ }
181
+ /**
182
+ * Get enableWhen items' linked items and enableBehaviour attribute and save them in an EnableWhenItemProperties object
183
+ *
184
+ * @author Sean Fong
185
+ */
186
+ export function initialiseEnableWhenSingleItemProperties(qItem) {
187
+ const enableWhen = qItem.enableWhen;
188
+ if (enableWhen) {
189
+ return {
190
+ linked: enableWhen.map((linkedItem) => {
191
+ return { enableWhen: linkedItem };
192
+ }),
193
+ isEnabled: false,
194
+ enableBehavior: qItem.enableBehavior
195
+ };
133
196
  }
134
197
  return null;
135
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAWnD,MAAM,UAAU,sBAAsB,CACpC,aAA4B,EAC5B,SAAoB,EACpB,gBAAiD,EACjD,oBAA4B;IAE5B,MAAM,eAAe,GAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC9E,MAAM,qBAAqB,GAAyC,EAAE,CAAC;IACvE,MAAM,qBAAqB,GAAyC,EAAE,CAAC;IACvE,MAAM,iBAAiB,GAAqC,EAAE,CAAC;IAE/D,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACrD,qBAAqB,EAAE,EAAE;YACzB,qBAAqB,EAAE,EAAE;YACzB,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;KACH;IAED,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE;QAC7C,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,CAAC;QAC9E,kCAAkC,CAAC;YACjC,aAAa;YACb,IAAI,EAAE,YAAY;YAClB,SAAS;YACT,eAAe;YACf,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,2BAA2B,EAAE,oBAAoB;YACjD,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC,CAAC;KACJ;IAED,OAAO;QACL,SAAS;QACT,eAAe;QACf,qBAAqB;QACrB,qBAAqB;QACrB,iBAAiB;QACjB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAeD,SAAS,kCAAkC,CACzC,MAAgD;;IAEhD,MAAM,EACJ,aAAa,EACb,IAAI,EACJ,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACxB,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,4CAA4C;QAC5C,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,kCAAkC,iCAC7B,MAAM,KACT,IAAI,EAAE,SAAS,EACf,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,IAC9E,CAAC;SACJ;KACF;IAED,uGAAuG;IACvG,MAAM,mCAAmC,GAAG,kCAAkC,CAC5E,IAAI,EACJ,aAAa,EACb,uBAAuB,CACxB,CAAC;IACF,IAAI,mCAAmC,EAAE;QACvC,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,GAAG,mCAAmC,CAAC;QAC7F,IAAI,kBAAkB,KAAK,QAAQ,EAAE;YACnC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtC,wBAA0D,CAAC;SAC9D;aAAM,IAAI,kBAAkB,KAAK,QAAQ,EAAE;YAC1C,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtC,wBAA0D,CAAC;SAC9D;KACF;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,oBAAoB,EAAE;QACxB,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;YACnC,UAAU,EAAE,GAAG,oBAAoB,CAAC,UAAU,EAAE;SACjD,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,oBAAoB,EAAE;QACxB,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;YACnC,UAAU,EAAE,GAAG,oBAAoB,CAAC,UAAU,EAAE;SACjD,CAAC;KACH;IAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,gBAAgB,EAAE;QACpB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;YAC/B,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,EAAE;SAC7C,CAAC;KACH;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACxC,IAAI,WAAW,EAAE;QACf,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAClE,MAAM,oBAAoB,GAAG,MAAA,uBAAuB,CAAC,IAAI,CAAC,mCAAI,2BAA2B,CAAC;YAC1F,gBAAgB,CAAC,WAAW,CAAC,GAAG;gBAC9B,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,CAAC;aAC/D,CAAC;SACH;KACF;IAED,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhF,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/D,IAAI,UAAU,CAAC,IAAI,EAAE;gBACnB,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;oBAC/C,eAAe,EAAE,UAAU;iBAC5B,CAAC;aACH;SACF;KACF;IAED,OAAO;QACL,SAAS;QACT,eAAe;QACf,qBAAqB;QACrB,qBAAqB;QACrB,iBAAiB;QACjB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAChD,KAAwB,EACxB,aAA4B,EAC5B,YAAqB;IAKrB,0FAA0F;IAC1F,IAAI,YAAY,EAAE;QAChB,MAAM,8BAA8B,GAAG,wCAAwC,CAC7E,KAAK,EACL,aAAa,EACb,YAAY,CACb,CAAC;QAEF,IAAI,8BAA8B,EAAE;YAClC,OAAO;gBACL,kBAAkB,EAAE,QAAQ;gBAC5B,wBAAwB,EAAE,8BAA8B;aACzD,CAAC;SACH;KACF;IAED,oIAAoI;IACpI,MAAM,8BAA8B,GAAG,wCAAwC,CAAC,KAAK,CAAC,CAAC;IACvF,IAAI,8BAA8B,EAAE;QAClC,OAAO;YACL,kBAAkB,EAAE,QAAQ;YAC5B,wBAAwB,EAAE,8BAA8B;SACzD,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,KAAwB,EACxB,aAA4B,EAC5B,YAAoB;IAEpB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAqC,EAAE;QACnF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtF,8DAA8D;QAC9D,IAAI,YAAY,MAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;YAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;SACvF;QAED,2EAA2E;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE;QACzD,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACL,MAAM,EAAE,WAA2C;QACnD,YAAY,EAAE,YAAY;QAC1B,cAAc,EAAE,CAAC,KAAK,CAAC;QACvB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CACtD,KAAwB;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,UAAU,EAAE;QACd,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAA8B,EAAE;gBAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACpC,CAAC,CAAC;YACF,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAwB;;IAC9D,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CACvC,CAAC,SAAoB,EAAE,EAAE;;QACvB,OAAA,SAAS,CAAC,GAAG;YACX,uFAAuF;YACzF,CAAA,MAAA,SAAS,CAAC,eAAe,0CAAE,QAAQ,MAAK,eAAe,CAAA;KAAA,CAC1D,CAAC;IACF,IAAI,WAAW,EAAE;QACf,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,WAAW,CAAC,eAAe,CAAC;SACpC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAwB;;IAC9D,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CACvC,CAAC,SAAoB,EAAE,EAAE;;QACvB,OAAA,SAAS,CAAC,GAAG;YACX,uFAAuF;YACzF,CAAA,MAAA,SAAS,CAAC,eAAe,0CAAE,QAAQ,MAAK,eAAe,CAAA;KAAA,CAC1D,CAAC;IACF,IAAI,WAAW,EAAE;QACf,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,WAAW,CAAC,eAAe,CAAC;SACpC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  import type { Tabs } from '../interfaces/tab.interface';
2
- import type { EnableWhenExpression, EnableWhenItems } from '../interfaces/enableWhen.interface';
2
+ import type { EnableWhenExpression, EnableWhenItems } from '../interfaces';
3
3
  import type { QuestionnaireItem } from 'fhir/r4';
4
4
  export declare function getFirstVisibleTab(tabs: Tabs, enableWhenItems: EnableWhenItems, enableWhenExpressions: Record<string, EnableWhenExpression>): number;
5
5
  /**
package/lib/utils/tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,23 +18,25 @@ import { isSpecificItemControl } from './itemControl';
18
18
  import { isHiddenByEnableWhen } from './qItem';
19
19
  import { structuredDataCapture } from 'fhir-sdc-helpers';
20
20
  export function getFirstVisibleTab(tabs, enableWhenItems, enableWhenExpressions) {
21
+ // Only singleEnableWhenItems are relevant for tab operations
22
+ const { singleItems } = enableWhenItems;
21
23
  return Object.entries(tabs)
22
24
  .sort(([, tabA], [, tabB]) => tabA.tabIndex - tabB.tabIndex)
23
25
  .findIndex(([tabLinkId, tab]) => {
24
26
  if (tab.isHidden) {
25
27
  return false;
26
28
  }
27
- if (enableWhenItems[tabLinkId]) {
28
- return enableWhenItems[tabLinkId].isEnabled;
29
+ if (singleItems[tabLinkId]) {
30
+ return singleItems[tabLinkId].isEnabled;
29
31
  }
30
32
  if (enableWhenExpressions[tabLinkId]) {
31
- return enableWhenExpressions[tabLinkId].isEnabled;
33
+ return enableWhenExpressions[tabLinkId].isEnabledSingle;
32
34
  }
33
35
  return true;
34
36
  });
35
37
  }
36
38
  /*
37
- * Copyright 2023 Commonwealth Scientific and Industrial Research
39
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
38
40
  * Organisation (CSIRO) ABN 41 687 119 230.
39
41
  *
40
42
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "0.17.0",
3
+ "version": "0.20.0",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -59,7 +59,7 @@
59
59
  "@storybook/addon-onboarding": "^8.0.0",
60
60
  "@storybook/addon-styling": "^1.3.7",
61
61
  "@storybook/blocks": "^7.5.2",
62
- "@storybook/react": "^7.4.3",
62
+ "@storybook/react": "^8.0.5",
63
63
  "@storybook/react-vite": "^7.4.5",
64
64
  "@storybook/testing-library": "^0.2.1",
65
65
  "@swc/cli": "^0.1.63",
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
3
  * Organisation (CSIRO) ABN 41 687 119 230.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");