@aehrc/smart-forms-renderer 0.8.0 → 0.9.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 (477) hide show
  1. package/lib/components/Alert.styles.d.ts +2 -7
  2. package/lib/components/Box.styles.d.ts +6 -21
  3. package/lib/components/FormComponents/BooleanItem/BooleanItem.d.ts +3 -3
  4. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +5 -4
  5. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  6. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +3 -3
  7. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +6 -5
  8. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  9. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  10. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +15 -14
  11. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  12. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +3 -3
  13. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +15 -14
  14. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  15. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +3 -3
  16. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +8 -8
  17. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  18. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +3 -3
  19. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +6 -6
  20. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  21. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +3 -3
  22. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +6 -5
  23. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  24. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +1 -0
  25. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +2 -2
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +3 -3
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +8 -7
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +1 -0
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +2 -2
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +3 -3
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +8 -7
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  36. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.d.ts +18 -0
  37. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.js +31 -0
  38. package/lib/components/FormComponents/CustomDateItem/CustomDateField2.js.map +1 -0
  39. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.d.ts +9 -0
  40. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js +68 -0
  41. package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js.map +1 -0
  42. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.d.ts +9 -0
  43. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.js +75 -0
  44. package/lib/components/FormComponents/CustomDateItem/CustomDateTimeField.js.map +1 -0
  45. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.d.ts +9 -0
  46. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.js +75 -0
  47. package/lib/components/FormComponents/CustomDateItem/CustomDateTimePickerText2.js.map +1 -0
  48. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.d.ts +18 -0
  49. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.js +33 -0
  50. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.js.map +1 -0
  51. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.d.ts +11 -0
  52. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.js +55 -0
  53. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.js.map +1 -0
  54. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.d.ts +9 -0
  55. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js +13 -0
  56. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.js.map +1 -0
  57. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.d.ts +5 -0
  58. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.js +20 -0
  59. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/MuiDatePicker.js.map +1 -0
  60. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.d.ts +5 -0
  61. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.js +27 -0
  62. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/hooks/useParseDates.js.map +1 -0
  63. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.d.ts +1 -0
  64. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.js +18 -0
  65. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/index.js.map +1 -0
  66. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.d.ts +1 -0
  67. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js +18 -0
  68. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.js.map +1 -0
  69. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.d.ts +9 -0
  70. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.js +121 -0
  71. package/lib/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.js.map +1 -0
  72. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.d.ts +9 -0
  73. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.js +71 -0
  74. package/lib/components/FormComponents/CustomDateItem/customDateTimePickerText.js.map +1 -0
  75. package/lib/components/FormComponents/CustomDateItem/index.d.ts +1 -0
  76. package/lib/components/FormComponents/CustomDateItem/index.js +18 -0
  77. package/lib/components/FormComponents/CustomDateItem/index.js.map +1 -0
  78. package/lib/components/FormComponents/DateItem/DateItem.d.ts +3 -3
  79. package/lib/components/FormComponents/DateItem/DateItem.js +5 -4
  80. package/lib/components/FormComponents/DateItem/DateItem.js.map +1 -1
  81. package/lib/components/FormComponents/DateItem/DatePicker.d.ts +2 -0
  82. package/lib/components/FormComponents/DateItem/DatePicker.js +42 -0
  83. package/lib/components/FormComponents/DateItem/DatePicker.js.map +1 -0
  84. package/lib/components/FormComponents/DateItem/DatePickerField.d.ts +8 -0
  85. package/lib/components/FormComponents/DateItem/DatePickerField.js +24 -0
  86. package/lib/components/FormComponents/DateItem/DatePickerField.js.map +1 -0
  87. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +3 -3
  88. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +5 -4
  89. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -1
  90. package/lib/components/FormComponents/DecimalItem/DecimalItem.d.ts +3 -3
  91. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +7 -7
  92. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  93. package/lib/components/FormComponents/DisplayItem/DisplayBox.d.ts +0 -0
  94. package/lib/components/FormComponents/DisplayItem/DisplayBox.js +2 -0
  95. package/lib/components/FormComponents/DisplayItem/DisplayBox.js.map +1 -0
  96. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.d.ts +4 -0
  97. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.js +35 -0
  98. package/lib/components/FormComponents/DisplayItem/DisplayBox.styles.js.map +1 -0
  99. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.d.ts +3 -1
  100. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +2 -2
  101. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -1
  102. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.d.ts +2 -7
  103. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +0 -1
  104. package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -1
  105. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +2 -2
  106. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
  107. package/lib/components/FormComponents/GridGroup/GridGroup.d.ts +3 -3
  108. package/lib/components/FormComponents/GridGroup/GridGroup.js +16 -9
  109. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  110. package/lib/components/FormComponents/GridGroup/GridRow.d.ts +3 -3
  111. package/lib/components/FormComponents/GridGroup/GridRow.js +4 -4
  112. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  113. package/lib/components/FormComponents/GridGroup/GridTable.d.ts +3 -2
  114. package/lib/components/FormComponents/GridGroup/GridTable.js +9 -4
  115. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
  116. package/lib/components/FormComponents/GridGroup/index.d.ts +1 -0
  117. package/lib/components/FormComponents/GridGroup/index.js +18 -0
  118. package/lib/components/FormComponents/GridGroup/index.js.map +1 -0
  119. package/lib/components/FormComponents/GroupItem/GroupHeading.d.ts +1 -0
  120. package/lib/components/FormComponents/GroupItem/GroupHeading.js +6 -5
  121. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  122. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +3 -4
  123. package/lib/components/FormComponents/GroupItem/GroupItem.js +7 -5
  124. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  125. package/lib/components/FormComponents/GroupItem/GroupItem.styles.d.ts +2 -6
  126. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +3 -3
  127. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +11 -12
  128. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  129. package/lib/components/FormComponents/IntegerItem/IntegerItem.d.ts +3 -3
  130. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +7 -7
  131. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  132. package/lib/components/FormComponents/IntegerItem/SliderItem.d.ts +9 -0
  133. package/lib/components/FormComponents/IntegerItem/SliderItem.js +75 -0
  134. package/lib/components/FormComponents/IntegerItem/SliderItem.js.map +1 -0
  135. package/lib/components/FormComponents/Item.styles.d.ts +0 -4
  136. package/lib/components/FormComponents/Item.styles.js +0 -4
  137. package/lib/components/FormComponents/Item.styles.js.map +1 -1
  138. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +2 -2
  139. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -1
  140. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +3 -2
  141. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +3 -3
  142. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  143. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +1 -0
  144. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +4 -6
  145. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
  146. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +1 -0
  147. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +2 -2
  148. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
  149. package/lib/components/FormComponents/Lists.styles.d.ts +2 -9
  150. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +3 -2
  151. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +2 -3
  152. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  153. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +3 -3
  154. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +8 -7
  155. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  156. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +3 -3
  157. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +16 -15
  158. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  159. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +3 -3
  160. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +6 -6
  161. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  162. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +3 -3
  163. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +7 -6
  164. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  165. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +3 -2
  166. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +2 -2
  167. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
  168. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +3 -3
  169. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +7 -6
  170. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  171. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +3 -2
  172. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +2 -2
  173. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
  174. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +3 -3
  175. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +8 -7
  176. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  177. package/lib/components/FormComponents/RepeatGroup/AddItemButton.d.ts +1 -0
  178. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +2 -2
  179. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  180. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +1 -0
  181. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +2 -2
  182. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -1
  183. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
  184. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +20 -7
  185. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  186. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +2 -2
  187. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +5 -3
  188. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  189. package/lib/components/FormComponents/RepeatItem/AddItemButton.d.ts +1 -0
  190. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +2 -2
  191. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  192. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.d.ts +1 -0
  193. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js +2 -2
  194. package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -1
  195. package/lib/components/FormComponents/RepeatItem/RepeatField.d.ts +3 -3
  196. package/lib/components/FormComponents/RepeatItem/RepeatField.js +5 -3
  197. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
  198. package/lib/components/FormComponents/RepeatItem/RepeatItem.d.ts +4 -3
  199. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +15 -5
  200. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  201. package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +4 -18
  202. package/lib/components/FormComponents/RepeatItem/index.d.ts +1 -0
  203. package/lib/components/FormComponents/RepeatItem/index.js +18 -0
  204. package/lib/components/FormComponents/RepeatItem/index.js.map +1 -0
  205. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +3 -3
  206. package/lib/components/FormComponents/SingleItem/SingleItem.js +4 -2
  207. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  208. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +3 -3
  209. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +20 -15
  210. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  211. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.d.ts +4 -0
  212. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.js +35 -0
  213. package/lib/components/FormComponents/SliderItem/DisplayBox.styles.js.map +1 -0
  214. package/lib/components/FormComponents/SliderItem/Slider.styles.d.ts +6 -0
  215. package/lib/components/FormComponents/SliderItem/Slider.styles.js +33 -0
  216. package/lib/components/FormComponents/SliderItem/Slider.styles.js.map +1 -0
  217. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.d.ts +8 -0
  218. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.js +28 -0
  219. package/lib/components/FormComponents/SliderItem/SliderDisplayValue.js.map +1 -0
  220. package/lib/components/FormComponents/SliderItem/SliderField.d.ts +16 -0
  221. package/lib/components/FormComponents/SliderItem/SliderField.js +41 -0
  222. package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -0
  223. package/lib/components/FormComponents/SliderItem/SliderItem.d.ts +9 -0
  224. package/lib/components/FormComponents/SliderItem/SliderItem.js +56 -0
  225. package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -0
  226. package/lib/components/FormComponents/SliderItem/SliderLabels.d.ts +7 -0
  227. package/lib/components/FormComponents/SliderItem/SliderLabels.js +32 -0
  228. package/lib/components/FormComponents/SliderItem/SliderLabels.js.map +1 -0
  229. package/lib/components/FormComponents/StringItem/StringItem.d.ts +3 -3
  230. package/lib/components/FormComponents/StringItem/StringItem.js +5 -4
  231. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  232. package/lib/components/FormComponents/Tables/AddRowButton.d.ts +1 -0
  233. package/lib/components/FormComponents/Tables/AddRowButton.js +2 -2
  234. package/lib/components/FormComponents/Tables/AddRowButton.js.map +1 -1
  235. package/lib/components/FormComponents/Tables/DeleteRowButton.d.ts +1 -0
  236. package/lib/components/FormComponents/Tables/DeleteRowButton.js +2 -2
  237. package/lib/components/FormComponents/Tables/DeleteRowButton.js.map +1 -1
  238. package/lib/components/FormComponents/Tables/GroupTable.d.ts +4 -3
  239. package/lib/components/FormComponents/Tables/GroupTable.js +25 -6
  240. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  241. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +3 -3
  242. package/lib/components/FormComponents/Tables/GroupTableRow.js +4 -4
  243. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  244. package/lib/components/FormComponents/Tables/QItemGroupTable.js +5 -7
  245. package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -1
  246. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js +2 -2
  247. package/lib/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -1
  248. package/lib/components/FormComponents/TextItem/TextItem.d.ts +3 -3
  249. package/lib/components/FormComponents/TextItem/TextItem.js +5 -4
  250. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  251. package/lib/components/FormComponents/TimeItem/TimeItem.d.ts +3 -3
  252. package/lib/components/FormComponents/TimeItem/TimeItem.js +5 -4
  253. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
  254. package/lib/components/FormComponents/UrlItem/UrlItem.d.ts +3 -3
  255. package/lib/components/FormComponents/UrlItem/UrlItem.js +5 -4
  256. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
  257. package/lib/components/FormComponents/index.d.ts +3 -0
  258. package/lib/components/FormComponents/index.js +3 -0
  259. package/lib/components/FormComponents/index.js.map +1 -1
  260. package/lib/components/Lists.styles.d.ts +2 -9
  261. package/lib/components/Renderer/BaseRenderer.js +3 -5
  262. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  263. package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
  264. package/lib/components/Renderer/FormBodyCollapsible.js +6 -5
  265. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  266. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
  267. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
  268. package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
  269. package/lib/components/Renderer/FormBodyTabbed.js +6 -5
  270. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  271. package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
  272. package/lib/components/Renderer/FormTopLevelItem.js +9 -5
  273. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  274. package/lib/components/Tabs/FormBodySingleTab.js +1 -1
  275. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  276. package/lib/components/Tabs/ShowCompletedTabsSection.js +1 -1
  277. package/lib/components/Tabs/ShowCompletedTabsSection.js.map +1 -1
  278. package/lib/hooks/useDateSeparatorValidation.d.ts +2 -0
  279. package/lib/hooks/useDateSeparatorValidation.js +25 -0
  280. package/lib/hooks/useDateSeparatorValidation.js.map +1 -0
  281. package/lib/hooks/useDateValidation.d.ts +2 -0
  282. package/lib/hooks/useDateValidation.js +61 -0
  283. package/lib/hooks/useDateValidation.js.map +1 -0
  284. package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -1
  285. package/lib/hooks/useDecimalCalculatedExpression.js +3 -3
  286. package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -1
  287. package/lib/hooks/useInitialiseRepeatAnswers.d.ts +1 -1
  288. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
  289. package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -1
  290. package/lib/hooks/useIntegerCalculatedExpression.js +3 -3
  291. package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -1
  292. package/lib/hooks/useMinimalStringCalculatedExpression.d.ts +11 -0
  293. package/lib/hooks/useMinimalStringCalculatedExpression.js +37 -0
  294. package/lib/hooks/useMinimalStringCalculatedExpression.js.map +1 -0
  295. package/lib/hooks/useReadOnly.d.ts +3 -0
  296. package/lib/hooks/useReadOnly.js +26 -0
  297. package/lib/hooks/useReadOnly.js.map +1 -0
  298. package/lib/hooks/useSliderExtensions.d.ts +10 -0
  299. package/lib/hooks/useSliderExtensions.js +37 -0
  300. package/lib/hooks/useSliderExtensions.js.map +1 -0
  301. package/lib/hooks/useTerminologyServerQuery.js +0 -1
  302. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  303. package/lib/index.d.ts +3 -3
  304. package/lib/index.js +15 -6
  305. package/lib/index.js.map +1 -1
  306. package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
  307. package/lib/interfaces/index.d.ts +2 -0
  308. package/lib/interfaces/index.js +18 -0
  309. package/lib/interfaces/index.js.map +1 -0
  310. package/lib/interfaces/questionnaireStore.interface.d.ts +1 -0
  311. package/lib/interfaces/renderProps.interface.d.ts +7 -3
  312. package/lib/stores/useQuestionnaireStore.d.ts +1 -0
  313. package/lib/stores/useQuestionnaireStore.js +28 -12
  314. package/lib/stores/useQuestionnaireStore.js.map +1 -1
  315. package/lib/test.d.ts +4 -0
  316. package/lib/test.js +18 -0
  317. package/lib/test.js.map +1 -0
  318. package/lib/theme/customGlobalStyles.js +0 -4
  319. package/lib/theme/customGlobalStyles.js.map +1 -1
  320. package/lib/theme/overrides/Typography.d.ts +13 -0
  321. package/lib/theme/overrides/Typography.js +31 -0
  322. package/lib/theme/overrides/Typography.js.map +1 -0
  323. package/lib/theme/typography.d.ts +0 -2
  324. package/lib/theme/typography.js +3 -5
  325. package/lib/theme/typography.js.map +1 -1
  326. package/lib/utils/calculatedExpression.d.ts +17 -1
  327. package/lib/utils/calculatedExpression.js +71 -20
  328. package/lib/utils/calculatedExpression.js.map +1 -1
  329. package/lib/utils/dayjsExtend.d.ts +1 -0
  330. package/lib/utils/dayjsExtend.js +22 -0
  331. package/lib/utils/dayjsExtend.js.map +1 -0
  332. package/lib/utils/enableWhenExpression.d.ts +5 -1
  333. package/lib/utils/enableWhenExpression.js +26 -21
  334. package/lib/utils/enableWhenExpression.js.map +1 -1
  335. package/lib/utils/fhirpath.d.ts +3 -1
  336. package/lib/utils/fhirpath.js +25 -15
  337. package/lib/utils/fhirpath.js.map +1 -1
  338. package/lib/utils/index.d.ts +1 -0
  339. package/lib/utils/index.js +1 -0
  340. package/lib/utils/index.js.map +1 -1
  341. package/lib/utils/initialiseForm.d.ts +2 -0
  342. package/lib/utils/initialiseForm.js +13 -5
  343. package/lib/utils/initialiseForm.js.map +1 -1
  344. package/lib/utils/itemControl.d.ts +12 -0
  345. package/lib/utils/itemControl.js +30 -0
  346. package/lib/utils/itemControl.js.map +1 -1
  347. package/lib/utils/launchContext.d.ts +0 -0
  348. package/lib/utils/launchContext.js +2 -0
  349. package/lib/utils/launchContext.js.map +1 -0
  350. package/lib/utils/mapItem.d.ts +1 -1
  351. package/lib/utils/qrItem.d.ts +1 -7
  352. package/lib/utils/qrItem.js +1 -12
  353. package/lib/utils/qrItem.js.map +1 -1
  354. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -2
  355. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  356. package/lib/utils/removeHidden.js +2 -1
  357. package/lib/utils/removeHidden.js.map +1 -1
  358. package/lib/utils/repopulateIntoResponse.js +90 -29
  359. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  360. package/lib/utils/repopulateItems.d.ts +14 -1
  361. package/lib/utils/repopulateItems.js +251 -70
  362. package/lib/utils/repopulateItems.js.map +1 -1
  363. package/lib/utils/repopulateRepeatGroup.js +9 -1
  364. package/lib/utils/repopulateRepeatGroup.js.map +1 -1
  365. package/lib/utils/slider.d.ts +28 -0
  366. package/lib/utils/slider.js +89 -0
  367. package/lib/utils/slider.js.map +1 -0
  368. package/package.json +20 -18
  369. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +10 -7
  370. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +11 -8
  371. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +46 -35
  372. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +48 -37
  373. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +21 -11
  374. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +11 -10
  375. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +12 -9
  376. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +3 -2
  377. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +16 -11
  378. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +3 -2
  379. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +14 -9
  380. package/src/components/FormComponents/CustomDateItem/CustomDateItem.tsx +140 -0
  381. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/CustomDateField.tsx +96 -0
  382. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/DatePicker.tsx +81 -0
  383. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/DatePickerButton.tsx +33 -0
  384. package/src/components/FormComponents/{Typography.styles.ts → CustomDateItem/customDateTimePicker/MuiDatePicker.ts} +4 -7
  385. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/index.ts +18 -0
  386. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/utils/index.ts +18 -0
  387. package/src/components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates.ts +154 -0
  388. package/src/components/FormComponents/CustomDateItem/index.ts +18 -0
  389. package/src/components/FormComponents/DateItem/DateItem.tsx +10 -8
  390. package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +10 -8
  391. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +11 -10
  392. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +0 -1
  393. package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +8 -3
  394. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +2 -2
  395. package/src/components/FormComponents/GridGroup/GridGroup.tsx +49 -15
  396. package/src/components/FormComponents/GridGroup/GridRow.tsx +12 -7
  397. package/src/components/FormComponents/GridGroup/GridTable.tsx +32 -8
  398. package/src/components/FormComponents/GridGroup/index.ts +18 -0
  399. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +12 -6
  400. package/src/components/FormComponents/GroupItem/GroupItem.tsx +13 -8
  401. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +33 -11
  402. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +11 -10
  403. package/src/components/FormComponents/Item.styles.ts +0 -5
  404. package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +2 -2
  405. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +6 -5
  406. package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +10 -5
  407. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +3 -2
  408. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +10 -4
  409. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +15 -9
  410. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +58 -47
  411. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +15 -6
  412. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +13 -10
  413. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +10 -4
  414. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +12 -7
  415. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +10 -4
  416. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +14 -9
  417. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +3 -2
  418. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +3 -2
  419. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +61 -10
  420. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +23 -7
  421. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +3 -2
  422. package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +3 -2
  423. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +33 -9
  424. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +44 -7
  425. package/src/components/FormComponents/RepeatItem/index.ts +18 -0
  426. package/src/components/FormComponents/SingleItem/SingleItem.tsx +12 -6
  427. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +41 -11
  428. package/src/components/FormComponents/SliderItem/Slider.styles.ts +34 -0
  429. package/src/components/FormComponents/SliderItem/SliderDisplayValue.tsx +43 -0
  430. package/src/components/FormComponents/SliderItem/SliderField.tsx +88 -0
  431. package/src/components/FormComponents/SliderItem/SliderItem.tsx +115 -0
  432. package/src/components/FormComponents/SliderItem/SliderLabels.tsx +53 -0
  433. package/src/components/FormComponents/StringItem/StringItem.tsx +9 -7
  434. package/src/components/FormComponents/Tables/AddRowButton.tsx +3 -2
  435. package/src/components/FormComponents/Tables/DeleteRowButton.tsx +3 -2
  436. package/src/components/FormComponents/Tables/GroupTable.tsx +70 -7
  437. package/src/components/FormComponents/Tables/GroupTableRow.tsx +12 -7
  438. package/src/components/FormComponents/TextItem/TextItem.tsx +9 -7
  439. package/src/components/FormComponents/TimeItem/TimeItem.tsx +10 -8
  440. package/src/components/FormComponents/UrlItem/UrlItem.tsx +9 -7
  441. package/src/components/FormComponents/index.ts +3 -0
  442. package/src/components/Renderer/BaseRenderer.tsx +5 -12
  443. package/src/components/Renderer/FormBodyCollapsible.tsx +9 -7
  444. package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +2 -3
  445. package/src/components/Renderer/FormBodyTabbed.tsx +9 -7
  446. package/src/components/Renderer/FormTopLevelItem.tsx +21 -13
  447. package/src/components/Tabs/FormBodySingleTab.tsx +1 -1
  448. package/src/components/Tabs/ShowCompletedTabsSection.tsx +1 -1
  449. package/src/hooks/useDateValidation.tsx +79 -0
  450. package/src/hooks/useDecimalCalculatedExpression.ts +3 -4
  451. package/src/hooks/useInitialiseRepeatAnswers.ts +1 -1
  452. package/src/hooks/useIntegerCalculatedExpression.ts +3 -4
  453. package/src/hooks/useReadOnly.ts +30 -0
  454. package/src/hooks/useSliderExtensions.ts +50 -0
  455. package/src/hooks/useTerminologyServerQuery.ts +0 -2
  456. package/src/index.ts +12 -9
  457. package/src/interfaces/calculatedExpression.interface.ts +1 -1
  458. package/src/interfaces/questionnaireStore.interface.ts +1 -0
  459. package/src/interfaces/renderProps.interface.ts +8 -3
  460. package/src/stores/useQuestionnaireStore.ts +39 -16
  461. package/src/theme/customGlobalStyles.tsx +0 -4
  462. package/src/theme/typography.ts +3 -5
  463. package/src/utils/calculatedExpression.ts +104 -35
  464. package/src/utils/dayjsExtend.ts +23 -0
  465. package/src/utils/enableWhenExpression.ts +49 -34
  466. package/src/utils/fhirpath.ts +50 -31
  467. package/src/utils/index.ts +1 -0
  468. package/src/utils/initialiseForm.ts +15 -5
  469. package/src/utils/itemControl.ts +32 -0
  470. package/src/utils/mapItem.ts +1 -1
  471. package/src/utils/qrItem.ts +1 -16
  472. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +4 -2
  473. package/src/utils/removeHidden.ts +2 -1
  474. package/src/utils/repopulateIntoResponse.ts +134 -43
  475. package/src/utils/repopulateItems.ts +379 -101
  476. package/src/utils/slider.ts +112 -0
  477. package/src/utils/repopulateRepeatGroup.ts +0 -68
@@ -0,0 +1,79 @@
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 {
19
+ getNumOfSeparators,
20
+ validateThreeMatches,
21
+ validateTwoMatches
22
+ } from '../components/FormComponents/CustomDateItem/customDateTimePicker/utils/parseDates';
23
+ import dayjs from 'dayjs';
24
+
25
+ function useDateValidation(input: string, parseFail: boolean = false): string | null {
26
+ if (input === '') {
27
+ return null;
28
+ }
29
+
30
+ if (input.includes('-')) {
31
+ return 'Input does not match the required format with "/" as the separator.';
32
+ }
33
+
34
+ const numOfSeparators = getNumOfSeparators(input, '/');
35
+
36
+ if (numOfSeparators === 2) {
37
+ const threeMatchesDate = dayjs(input, `DD/MM/YYYY`);
38
+ if (!threeMatchesDate.isValid()) {
39
+ return 'Input does not match the format DD/MM/YYYY.';
40
+ }
41
+
42
+ const matches = input.split('/');
43
+ if (!validateThreeMatches(matches[0], matches[1], matches[2])) {
44
+ return 'Input is an invalid date.';
45
+ }
46
+
47
+ return null;
48
+ }
49
+
50
+ if (numOfSeparators === 1) {
51
+ const twoMatchesDate = dayjs(input, `MM/YYYY`);
52
+ if (!twoMatchesDate.isValid()) {
53
+ return 'Input does not match the formats MM/YYYY or DD/MM/YYYY.';
54
+ }
55
+
56
+ const matches = input.split('/');
57
+
58
+ if (validateTwoMatches(matches[0], matches[1])) {
59
+ return null;
60
+ }
61
+
62
+ return null;
63
+ }
64
+
65
+ if (input.length === 4) {
66
+ const oneMatchDate = dayjs(input, 'YYYY');
67
+ if (oneMatchDate.isValid()) {
68
+ return null;
69
+ }
70
+ }
71
+
72
+ if (parseFail) {
73
+ return 'The date entered is not valid.';
74
+ }
75
+
76
+ return 'Input does not match any date format.';
77
+ }
78
+
79
+ export default useDateValidation;
@@ -16,7 +16,7 @@
16
16
  */
17
17
 
18
18
  import { useEffect, useState } from 'react';
19
- import { createEmptyQrItemWithUnit } from '../utils/qrItem';
19
+ import { createEmptyQrItem } from '../utils/qrItem';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
22
22
 
@@ -27,7 +27,6 @@ interface UseDecimalCalculatedExpression {
27
27
  interface useDecimalCalculatedExpressionProps {
28
28
  qItem: QuestionnaireItem;
29
29
  inputValue: string;
30
- displayUnit: string;
31
30
  precision: number | null;
32
31
  setInputValue: (value: string) => void;
33
32
  onQrItemChange: (qrItem: QuestionnaireResponseItem) => void;
@@ -36,7 +35,7 @@ interface useDecimalCalculatedExpressionProps {
36
35
  function useDecimalCalculatedExpression(
37
36
  props: useDecimalCalculatedExpressionProps
38
37
  ): UseDecimalCalculatedExpression {
39
- const { qItem, inputValue, displayUnit, precision, setInputValue, onQrItemChange } = props;
38
+ const { qItem, inputValue, precision, setInputValue, onQrItemChange } = props;
40
39
 
41
40
  const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
42
41
 
@@ -63,7 +62,7 @@ function useDecimalCalculatedExpression(
63
62
  // update questionnaireResponse
64
63
  setInputValue(precision ? value.toFixed(precision) : value.toString());
65
64
  onQrItemChange({
66
- ...createEmptyQrItemWithUnit(qItem, displayUnit),
65
+ ...createEmptyQrItem(qItem),
67
66
  answer: [{ valueDecimal: value }]
68
67
  });
69
68
  }
@@ -22,7 +22,7 @@ import { useMemo } from 'react';
22
22
 
23
23
  function useInitialiseRepeatAnswers(
24
24
  qItem: QuestionnaireItem,
25
- qrItem: QuestionnaireResponseItem
25
+ qrItem: QuestionnaireResponseItem | null
26
26
  ): RepeatAnswer[] {
27
27
  return useMemo(
28
28
  () => {
@@ -16,7 +16,7 @@
16
16
  */
17
17
 
18
18
  import { useEffect, useState } from 'react';
19
- import { createEmptyQrItemWithUnit } from '../utils/qrItem';
19
+ import { createEmptyQrItem } from '../utils/qrItem';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
22
22
 
@@ -27,7 +27,6 @@ interface UseIntegerCalculatedExpression {
27
27
  interface useIntegerCalculatedExpressionProps {
28
28
  qItem: QuestionnaireItem;
29
29
  inputValue: number;
30
- displayUnit: string;
31
30
  setInputValue: (value: number) => void;
32
31
  onQrItemChange: (qrItem: QuestionnaireResponseItem) => void;
33
32
  }
@@ -35,7 +34,7 @@ interface useIntegerCalculatedExpressionProps {
35
34
  function useIntegerCalculatedExpression(
36
35
  props: useIntegerCalculatedExpressionProps
37
36
  ): UseIntegerCalculatedExpression {
38
- const { qItem, inputValue, displayUnit, setInputValue, onQrItemChange } = props;
37
+ const { qItem, inputValue, setInputValue, onQrItemChange } = props;
39
38
 
40
39
  const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
41
40
 
@@ -56,7 +55,7 @@ function useIntegerCalculatedExpression(
56
55
  // update questionnaireResponse
57
56
  setInputValue(calcExpression.value);
58
57
  onQrItemChange({
59
- ...createEmptyQrItemWithUnit(qItem, displayUnit),
58
+ ...createEmptyQrItem(qItem),
60
59
  answer: [{ valueInteger: calcExpression.value }]
61
60
  });
62
61
  }
@@ -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
+
18
+ import type { QuestionnaireItem } from 'fhir/r4';
19
+ import useRenderingExtensions from './useRenderingExtensions';
20
+
21
+ function useReadOnly(qItem: QuestionnaireItem, parentIsReadOnly: boolean | undefined): boolean {
22
+ let { readOnly } = useRenderingExtensions(qItem);
23
+ if (typeof parentIsReadOnly === 'boolean' && parentIsReadOnly) {
24
+ readOnly = parentIsReadOnly;
25
+ }
26
+
27
+ return readOnly;
28
+ }
29
+
30
+ export default useReadOnly;
@@ -0,0 +1,50 @@
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 { getTextDisplayLower, getTextDisplayUpper } from '../utils/itemControl';
19
+ import type { QuestionnaireItem } from 'fhir/r4';
20
+ import { getMaxValue, getMinValue, getSliderStepValue } from '../utils/slider';
21
+
22
+ const defaultMinValue = 0;
23
+ const defaultMinLabel = '0';
24
+
25
+ const defaultMaxValue = 100;
26
+ const defaultMaxLabel = '100';
27
+
28
+ const defaultStepValue = 1;
29
+
30
+ interface SliderExtensions {
31
+ minValue: number;
32
+ minLabel: string;
33
+ maxValue: number;
34
+ maxLabel: string;
35
+ stepValue: number;
36
+ }
37
+
38
+ function useSliderExtensions(qItem: QuestionnaireItem): SliderExtensions {
39
+ const minValue = getMinValue(qItem) ?? defaultMinValue;
40
+ const maxValue = getMaxValue(qItem) ?? defaultMaxValue;
41
+ return {
42
+ minValue: minValue,
43
+ minLabel: getTextDisplayLower(qItem) ?? minValue.toString() ?? defaultMinLabel,
44
+ maxValue: maxValue,
45
+ maxLabel: getTextDisplayUpper(qItem) ?? maxValue.toString() ?? defaultMaxLabel,
46
+ stepValue: getSliderStepValue(qItem) ?? defaultStepValue
47
+ };
48
+ }
49
+
50
+ export default useSliderExtensions;
@@ -71,8 +71,6 @@ function useTerminologyServerQuery(
71
71
  }
72
72
  );
73
73
 
74
- console.log(isFetching);
75
-
76
74
  if (error) {
77
75
  console.warn('Ontoserver query failed. Details below: \n' + error);
78
76
  feedback = {
package/src/index.ts CHANGED
@@ -80,32 +80,35 @@ export function removeHiddenAnswersFromResponse(
80
80
  }
81
81
 
82
82
  /**
83
- * Re-populate stuff
83
+ * Compare latest data from the server with the current QuestionnaireResponse and decide items to re-populate.
84
84
  *
85
85
  * @author Sean Fong
86
86
  */
87
87
  export function generateItemsToRepopulate(populatedResponse: QuestionnaireResponse) {
88
88
  const sourceQuestionnaire = useQuestionnaireStore.getState().sourceQuestionnaire;
89
- const itemTypes = useQuestionnaireStore.getState().itemTypes;
90
89
  const tabs = useQuestionnaireStore.getState().tabs;
91
90
  const updatableResponse = useQuestionnaireResponseStore.getState().updatableResponse;
92
- console.log(updatableResponse);
91
+ const enableWhenIsActivated = useQuestionnaireStore.getState().enableWhenIsActivated;
92
+ const enableWhenItems = useQuestionnaireStore.getState().enableWhenItems;
93
+ const enableWhenExpressions = useQuestionnaireStore.getState().enableWhenExpressions;
93
94
 
94
- return getItemsToRepopulate(
95
+ return getItemsToRepopulate({
95
96
  sourceQuestionnaire,
96
- itemTypes,
97
97
  tabs,
98
98
  populatedResponse,
99
- updatableResponse
100
- );
99
+ updatableResponse,
100
+ enableWhenIsActivated,
101
+ enableWhenItems,
102
+ enableWhenExpressions
103
+ });
101
104
  }
102
105
 
103
106
  /**
104
- * Re-populate stuff
107
+ * Re-populate checked items in the re-population dialog into the current QuestionnaireResponse.
105
108
  *
106
109
  * @author Sean Fong
107
110
  */
108
- export function repopulate(checkedItemsToRepopulate: Record<string, ItemToRepopulate>) {
111
+ export function repopulateResponse(checkedItemsToRepopulate: Record<string, ItemToRepopulate>) {
109
112
  const sourceQuestionnaire = useQuestionnaireStore.getState().sourceQuestionnaire;
110
113
  const updatableResponse = useQuestionnaireResponseStore.getState().updatableResponse;
111
114
 
@@ -1,4 +1,4 @@
1
1
  export interface CalculatedExpression {
2
2
  expression: string;
3
- value?: number | string;
3
+ value?: number | string | object;
4
4
  }
@@ -34,4 +34,5 @@ export interface QuestionnaireModel {
34
34
  answerExpressions: Record<string, AnswerExpression>;
35
35
  processedValueSetCodings: Record<string, Coding[]>;
36
36
  processedValueSetUrls: Record<string, string>;
37
+ fhirPathContext: Record<string, any>;
37
38
  }
@@ -16,8 +16,9 @@
16
16
  */
17
17
 
18
18
  import type { QrRepeatGroup } from './repeatGroup.interface';
19
+ import type { QuestionnaireResponseItem } from 'fhir/r4';
19
20
 
20
- export interface PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
21
+ export interface PropsWithQrItemChangeHandler {
21
22
  onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
22
23
  }
23
24
 
@@ -33,6 +34,10 @@ export interface PropsWithIsTabledAttribute {
33
34
  isTabled: boolean;
34
35
  }
35
36
 
36
- export interface PropsWithTextShownAttribute {
37
- textShown?: boolean;
37
+ export interface PropsWithShowMinimalViewAttribute {
38
+ showMinimalView?: boolean;
39
+ }
40
+
41
+ export interface PropsWithParentIsReadOnlyAttribute {
42
+ parentIsReadOnly?: boolean;
38
43
  }
@@ -56,6 +56,7 @@ export interface UseQuestionnaireStoreType {
56
56
  processedValueSetCodings: Record<string, Coding[]>;
57
57
  processedValueSetUrls: Record<string, string>;
58
58
  cachedValueSetCodings: Record<string, Coding[]>;
59
+ fhirPathContext: Record<string, any>;
59
60
  buildSourceQuestionnaire: (
60
61
  questionnaire: Questionnaire,
61
62
  questionnaireResponse?: QuestionnaireResponse,
@@ -91,6 +92,7 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
91
92
  processedValueSetCodings: {},
92
93
  processedValueSetUrls: {},
93
94
  cachedValueSetCodings: {},
95
+ fhirPathContext: {},
94
96
  buildSourceQuestionnaire: async (
95
97
  questionnaire,
96
98
  questionnaireResponse = cloneDeep(emptyResponse),
@@ -108,14 +110,16 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
108
110
  initialEnableWhenLinkedQuestions,
109
111
  initialEnableWhenExpressions,
110
112
  initialCalculatedExpressions,
111
- firstVisibleTab
113
+ firstVisibleTab,
114
+ updatedFhirPathContext
112
115
  } = initialiseFormFromResponse({
113
116
  questionnaireResponse,
114
117
  enableWhenItems: questionnaireModel.enableWhenItems,
115
118
  enableWhenExpressions: questionnaireModel.enableWhenExpressions,
116
119
  calculatedExpressions: questionnaireModel.calculatedExpressions,
117
120
  variablesFhirPath: questionnaireModel.variables.fhirPathVariables,
118
- tabs: questionnaireModel.tabs
121
+ tabs: questionnaireModel.tabs,
122
+ fhirPathContext: questionnaireModel.fhirPathContext
119
123
  });
120
124
 
121
125
  set({
@@ -131,7 +135,8 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
131
135
  calculatedExpressions: initialCalculatedExpressions,
132
136
  answerExpressions: questionnaireModel.answerExpressions,
133
137
  processedValueSetCodings: questionnaireModel.processedValueSetCodings,
134
- processedValueSetUrls: questionnaireModel.processedValueSetUrls
138
+ processedValueSetUrls: questionnaireModel.processedValueSetUrls,
139
+ fhirPathContext: updatedFhirPathContext
135
140
  });
136
141
  },
137
142
  destroySourceQuestionnaire: () =>
@@ -148,7 +153,8 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
148
153
  calculatedExpressions: {},
149
154
  answerExpressions: {},
150
155
  processedValueSetCodings: {},
151
- processedValueSetUrls: {}
156
+ processedValueSetUrls: {},
157
+ fhirPathContext: {}
152
158
  }),
153
159
  switchTab: (newTabIndex: number) => set(() => ({ currentTabIndex: newTabIndex })),
154
160
  markTabAsComplete: (tabLinkId: string) => {
@@ -182,20 +188,31 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
182
188
  toggleEnableWhenActivation: (isActivated: boolean) =>
183
189
  set(() => ({ enableWhenIsActivated: isActivated })),
184
190
  updateExpressions: (updatedResponse: QuestionnaireResponse) => {
185
- const { isUpdated, updatedCalculatedExpressions, updatedEnableWhenExpressions } =
186
- evaluateUpdatedExpressions({
187
- updatedResponse: updatedResponse,
188
- enableWhenExpressions: get().enableWhenExpressions,
189
- calculatedExpressions: get().calculatedExpressions,
190
- variablesFhirPath: get().variables.fhirPathVariables
191
- });
191
+ const {
192
+ isUpdated,
193
+ updatedEnableWhenExpressions,
194
+ updatedCalculatedExpressions,
195
+ updatedFhirPathContext
196
+ } = evaluateUpdatedExpressions({
197
+ updatedResponse,
198
+ enableWhenExpressions: get().enableWhenExpressions,
199
+ calculatedExpressions: get().calculatedExpressions,
200
+ variablesFhirPath: get().variables.fhirPathVariables,
201
+ existingFhirPathContext: get().fhirPathContext
202
+ });
192
203
 
193
204
  if (isUpdated) {
194
205
  set(() => ({
195
206
  enableWhenExpressions: updatedEnableWhenExpressions,
196
- calculatedExpressions: updatedCalculatedExpressions
207
+ calculatedExpressions: updatedCalculatedExpressions,
208
+ fhirPathContext: updatedFhirPathContext
197
209
  }));
210
+ return 0;
198
211
  }
212
+
213
+ set(() => ({
214
+ fhirPathContext: updatedFhirPathContext
215
+ }));
199
216
  },
200
217
  addCodingToCache: (valueSetUrl: string, codings: Coding[]) =>
201
218
  set(() => ({
@@ -205,11 +222,14 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
205
222
  }
206
223
  })),
207
224
  updatePopulatedProperties: (populatedResponse: QuestionnaireResponse, persistTabIndex) => {
208
- const initialCalculatedExpressions = evaluateInitialCalculatedExpressions({
225
+ const evaluateInitialCalculatedExpressionsResult = evaluateInitialCalculatedExpressions({
209
226
  initialResponse: populatedResponse,
210
227
  calculatedExpressions: get().calculatedExpressions,
211
- variablesFhirPath: get().variables.fhirPathVariables
228
+ variablesFhirPath: get().variables.fhirPathVariables,
229
+ existingFhirPathContext: get().fhirPathContext
212
230
  });
231
+ const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
232
+ let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
213
233
 
214
234
  const updatedResponse = initialiseCalculatedExpressionValues(
215
235
  get().sourceQuestionnaire,
@@ -228,15 +248,18 @@ const useQuestionnaireStore = create<UseQuestionnaireStoreType>()((set, get) =>
228
248
  enableWhenExpressions: get().enableWhenExpressions,
229
249
  calculatedExpressions: initialCalculatedExpressions,
230
250
  variablesFhirPath: get().variables.fhirPathVariables,
231
- tabs: get().tabs
251
+ tabs: get().tabs,
252
+ fhirPathContext: updatedFhirPathContext
232
253
  });
254
+ updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
233
255
 
234
256
  set(() => ({
235
257
  enableWhenItems: initialEnableWhenItems,
236
258
  enableWhenLinkedQuestions: initialEnableWhenLinkedQuestions,
237
259
  enableWhenExpressions: initialEnableWhenExpressions,
238
260
  calculatedExpressions: initialCalculatedExpressions,
239
- currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab
261
+ currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
262
+ fhirPathContext: updatedFhirPathContext
240
263
  }));
241
264
 
242
265
  return updatedResponse;
@@ -57,10 +57,6 @@ export default function CustomGlobalStyles() {
57
57
  img: {
58
58
  display: 'block',
59
59
  maxWidth: '100%'
60
- },
61
- ul: {
62
- margin: 0,
63
- padding: 0
64
60
  }
65
61
  }}
66
62
  />
@@ -38,9 +38,7 @@ export function responsiveFontSizes(props: { sm: number; md: number; lg: number
38
38
 
39
39
  const typography = {
40
40
  fontFamily: ['Inter', 'sans-serif', 'Roboto', 'Arial', '"Helvetica Neue"', 'Helvetica'].join(','),
41
- fontWeightRegular: 400,
42
- fontWeightMedium: 600,
43
- fontWeightBold: 700,
41
+ fontWeightRegular: 500,
44
42
  h1: {
45
43
  fontWeight: 800,
46
44
  lineHeight: 80 / 64,
@@ -85,11 +83,11 @@ const typography = {
85
83
  subtitle2: {
86
84
  fontWeight: 600,
87
85
  lineHeight: 22 / 14,
88
- fontSize: pxToRem(11)
86
+ fontSize: pxToRem(11.5)
89
87
  },
90
88
  body1: {
91
89
  lineHeight: 1.5,
92
- fontSize: pxToRem(12)
90
+ fontSize: pxToRem(12.25)
93
91
  },
94
92
  body2: {
95
93
  lineHeight: 22 / 14,