@aehrc/smart-forms-renderer 0.6.6 → 0.7.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 (108) hide show
  1. package/README.md +13 -10
  2. package/lib/components/Box.styles.d.ts +1 -0
  3. package/lib/components/Box.styles.js +5 -1
  4. package/lib/components/Box.styles.js.map +1 -1
  5. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +3 -5
  6. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  7. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +2 -2
  8. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
  9. package/lib/components/FormComponents/DateItem/DateItem.js +7 -2
  10. package/lib/components/FormComponents/DateItem/DateItem.js.map +1 -1
  11. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +7 -2
  12. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -1
  13. package/lib/components/FormComponents/GridGroup/GridRow.js +5 -0
  14. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  15. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +2 -2
  16. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
  17. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +3 -5
  18. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  19. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -1
  20. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  21. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
  22. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  23. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +1 -1
  24. package/lib/components/FormComponents/SingleItem/SingleItem.js +5 -0
  25. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  26. package/lib/components/Renderer/FormBodyTabbed.js +2 -2
  27. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  28. package/lib/components/Renderer/SmartFormsRenderer.d.ts +1 -0
  29. package/lib/components/Renderer/SmartFormsRenderer.js +2 -3
  30. package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
  31. package/lib/components/Tabs/FormBodySingleTab.d.ts +1 -1
  32. package/lib/components/Tabs/FormBodySingleTab.js +2 -4
  33. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  34. package/lib/components/Tabs/FormBodyTabList.d.ts +2 -1
  35. package/lib/components/Tabs/FormBodyTabList.js +24 -26
  36. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  37. package/lib/components/Tabs/FormBodyTabListWrapper.d.ts +10 -0
  38. package/lib/components/Tabs/FormBodyTabListWrapper.js +44 -0
  39. package/lib/components/Tabs/FormBodyTabListWrapper.js.map +1 -0
  40. package/lib/hooks/useInitialiseRenderer.d.ts +1 -1
  41. package/lib/hooks/useInitialiseRenderer.js +17 -3
  42. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  43. package/lib/hooks/useTerminologyServerQuery.d.ts +2 -2
  44. package/lib/hooks/useTerminologyServerQuery.js +8 -4
  45. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  46. package/lib/hooks/useValueSetCodings.js +5 -2
  47. package/lib/hooks/useValueSetCodings.js.map +1 -1
  48. package/lib/stores/useQuestionnaireStore.d.ts +1 -1
  49. package/lib/stores/useQuestionnaireStore.js +3 -2
  50. package/lib/stores/useQuestionnaireStore.js.map +1 -1
  51. package/lib/stores/useTerminologyServerStore.d.ts +7 -0
  52. package/{src/theme/overrides/Typography.ts → lib/stores/useTerminologyServerStore.js} +9 -17
  53. package/lib/stores/useTerminologyServerStore.js.map +1 -0
  54. package/lib/theme/overrides/Overrides.js +1 -2
  55. package/lib/theme/overrides/Overrides.js.map +1 -1
  56. package/lib/utils/isHidden.d.ts +3 -0
  57. package/lib/utils/isHidden.js +30 -0
  58. package/lib/utils/isHidden.js.map +1 -0
  59. package/lib/utils/qItem.d.ts +1 -1
  60. package/lib/utils/qItem.js +1 -1
  61. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +1 -1
  62. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -4
  63. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  64. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +1 -1
  65. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +2 -2
  66. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -1
  67. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
  68. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +6 -4
  69. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  70. package/lib/utils/questionnaireStoreUtils/resolveValueSets.d.ts +1 -1
  71. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +2 -2
  72. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
  73. package/lib/utils/tabs.d.ts +10 -0
  74. package/lib/utils/tabs.js +26 -1
  75. package/lib/utils/tabs.js.map +1 -1
  76. package/lib/utils/valueSet.d.ts +1 -1
  77. package/lib/utils/valueSet.js +3 -4
  78. package/lib/utils/valueSet.js.map +1 -1
  79. package/package.json +2 -2
  80. package/src/components/Box.styles.ts +6 -1
  81. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +5 -7
  82. package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -2
  83. package/src/components/FormComponents/DateItem/DateItem.tsx +7 -2
  84. package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +6 -2
  85. package/src/components/FormComponents/GridGroup/GridRow.tsx +6 -0
  86. package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -2
  87. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +5 -7
  88. package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +1 -0
  89. package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +1 -0
  90. package/src/components/FormComponents/SingleItem/SingleItem.tsx +6 -0
  91. package/src/components/Renderer/FormBodyTabbed.tsx +2 -2
  92. package/src/components/Renderer/SmartFormsRenderer.tsx +9 -2
  93. package/src/components/Tabs/FormBodySingleTab.tsx +3 -6
  94. package/src/components/Tabs/FormBodyTabList.tsx +41 -41
  95. package/src/components/Tabs/FormBodyTabListWrapper.tsx +80 -0
  96. package/src/hooks/useInitialiseRenderer.ts +22 -2
  97. package/src/hooks/useTerminologyServerQuery.ts +8 -6
  98. package/src/hooks/useValueSetCodings.ts +5 -2
  99. package/src/stores/useQuestionnaireStore.ts +10 -3
  100. package/src/stores/useTerminologyServerStore.ts +34 -0
  101. package/src/theme/overrides/Overrides.ts +0 -2
  102. package/src/utils/qItem.ts +1 -1
  103. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +10 -4
  104. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +5 -2
  105. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +8 -4
  106. package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +3 -2
  107. package/src/utils/tabs.ts +54 -1
  108. package/src/utils/valueSet.ts +3 -4
@@ -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;AAWH,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;AAWlF,MAAM,UAAU,sBAAsB,CACpC,aAA4B,EAC5B,SAAoB,EACpB,gBAAiD,EACjD,oBAA4B;IAE5B,MAAM,eAAe,GAA6C,EAAE,CAAC;IACrE,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;YACnB,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,kCAAkC,CAAC;YACjC,IAAI,EAAE,YAAY;YAClB,SAAS;YACT,eAAe;YACf,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,2BAA2B,EAAE,oBAAoB;SAClD,CAAC,CAAC;KACJ;IAED,OAAO;QACL,SAAS;QACT,eAAe;QACf,qBAAqB;QACrB,qBAAqB;QACrB,iBAAiB;QACjB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAaD,SAAS,kCAAkC,CACzC,MAAgD;;IAEhD,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC5B,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,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,IACf,CAAC;SACJ;KACF;IAED,sGAAsG;IACtG,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,wBAAwB,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC;KACzD;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,2BAA2B,CACzC,KAAwB;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,UAAU,EAAE;QACd,MAAM,wBAAwB,GAA6B,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5F,wBAAwB,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAwB,EAAE;YACpF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,cAAc,EAAE;YACxB,wBAAwB,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;SAChE;QAED,OAAO,wBAAwB,CAAC;KACjC;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;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,7 +1,7 @@
1
1
  import type { Coding } from 'fhir/r4';
2
2
  import type { Variables } from '../../interfaces/variables.interface';
3
3
  import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
4
- export declare function resolveValueSets(variables: Variables, valueSetPromises: Record<string, ValueSetPromise>, processedValueSetCodings: Record<string, Coding[]>): Promise<{
4
+ export declare function resolveValueSets(variables: Variables, valueSetPromises: Record<string, ValueSetPromise>, processedValueSetCodings: Record<string, Coding[]>, terminologyServerUrl: string): Promise<{
5
5
  variables: Variables;
6
6
  processedValueSetCodings: Record<string, Coding[]>;
7
7
  }>;
@@ -24,14 +24,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  });
25
25
  };
26
26
  import { createValueSetToXFhirQueryVariableNameMap, getValueSetCodings, getValueSetPromise, resolvePromises } from '../valueSet';
27
- export function resolveValueSets(variables, valueSetPromises, processedValueSetCodings) {
27
+ export function resolveValueSets(variables, valueSetPromises, processedValueSetCodings, terminologyServerUrl) {
28
28
  return __awaiter(this, void 0, void 0, function* () {
29
29
  // Create a <valueSetUrl, XFhirQueryVariableName> map
30
30
  const valueSetToXFhirQueryVariableNameMap = createValueSetToXFhirQueryVariableNameMap(variables.xFhirQueryVariables);
31
31
  if (Object.keys(valueSetToXFhirQueryVariableNameMap).length > 0) {
32
32
  for (const valueSetUrl in valueSetToXFhirQueryVariableNameMap) {
33
33
  valueSetPromises[valueSetUrl] = {
34
- promise: getValueSetPromise(valueSetUrl)
34
+ promise: getValueSetPromise(valueSetUrl, terminologyServerUrl)
35
35
  };
36
36
  }
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveValueSets.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/resolveValueSets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAGH,OAAO,EACL,yCAAyC,EACzC,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,MAAM,UAAgB,gBAAgB,CACpC,SAAoB,EACpB,gBAAiD,EACjD,wBAAkD;;QAElD,qDAAqD;QACrD,MAAM,mCAAmC,GACvC,yCAAyC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,KAAK,MAAM,WAAW,IAAI,mCAAmC,EAAE;gBAC7D,gBAAgB,CAAC,WAAW,CAAC,GAAG;oBAC9B,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC;iBACzC,CAAC;aACH;SACF;QAED,qGAAqG;QACrG,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEjE,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;YAExD,IAAI,QAAQ,EAAE;gBACZ,IAAI,mCAAmC,CAAC,WAAW,CAAC,EAAE;oBACpD,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;oBACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAC7D,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,mCACtC,QAAQ,KACX,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,GAC/C,CAAC;iBACH;qBAAM;oBACL,gFAAgF;oBAChF,wBAAwB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;iBACtE;aACF;SACF;QAED,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACjD,CAAC;CAAA"}
1
+ {"version":3,"file":"resolveValueSets.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/resolveValueSets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAGH,OAAO,EACL,yCAAyC,EACzC,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,MAAM,UAAgB,gBAAgB,CACpC,SAAoB,EACpB,gBAAiD,EACjD,wBAAkD,EAClD,oBAA4B;;QAE5B,qDAAqD;QACrD,MAAM,mCAAmC,GACvC,yCAAyC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,KAAK,MAAM,WAAW,IAAI,mCAAmC,EAAE;gBAC7D,gBAAgB,CAAC,WAAW,CAAC,GAAG;oBAC9B,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,CAAC;iBAC/D,CAAC;aACH;SACF;QAED,qGAAqG;QACrG,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEjE,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;YAExD,IAAI,QAAQ,EAAE;gBACZ,IAAI,mCAAmC,CAAC,WAAW,CAAC,EAAE;oBACpD,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;oBACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAC7D,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,mCACtC,QAAQ,KACX,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,GAC/C,CAAC;iBACH;qBAAM;oBACL,gFAAgF;oBAChF,wBAAwB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;iBACtE;aACF;SACF;QAED,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACjD,CAAC;CAAA"}
@@ -72,4 +72,14 @@ export declare function getFirstVisibleTabIndex(tabs: Tabs, enableWhenIsActivate
72
72
  */
73
73
  export declare function findNumOfVisibleTabs(tabs: Tabs, enableWhenIsActivated: boolean, enableWhenItems: EnableWhenItems, enableWhenExpressions: Record<string, EnableWhenExpression>): number;
74
74
  export declare function getContextDisplays(item: QuestionnaireItem): QuestionnaireItem[];
75
+ interface IsTabHiddenParams {
76
+ qItem: QuestionnaireItem;
77
+ contextDisplayItems: QuestionnaireItem[];
78
+ isTab: boolean;
79
+ enableWhenIsActivated: boolean;
80
+ enableWhenItems: EnableWhenItems;
81
+ enableWhenExpressions: Record<string, EnableWhenExpression>;
82
+ completedTabsCollapsed: boolean;
83
+ }
84
+ export declare function isTabHidden(params: IsTabHiddenParams): boolean;
75
85
  export {};
package/lib/utils/tabs.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import { hasHiddenExtension, isSpecificItemControl } from './itemControl';
18
- import { isHiddenByEnableWhens } from './qItem';
18
+ import { isHidden, isHiddenByEnableWhens } from './qItem';
19
19
  export function getFirstVisibleTab(tabs, enableWhenItems, enableWhenExpressions) {
20
20
  return Object.entries(tabs)
21
21
  .sort(([, tabA], [, tabB]) => tabA.tabIndex - tabB.tabIndex)
@@ -187,4 +187,29 @@ export function getContextDisplays(item) {
187
187
  }
188
188
  return item.item.filter((childItem) => isSpecificItemControl(childItem, 'context-display') && childItem.type === 'display');
189
189
  }
190
+ export function isTabHidden(params) {
191
+ const { qItem, contextDisplayItems, isTab, enableWhenIsActivated, enableWhenItems, enableWhenExpressions, completedTabsCollapsed } = params;
192
+ if (!isTab ||
193
+ isHidden({
194
+ questionnaireItem: qItem,
195
+ enableWhenIsActivated,
196
+ enableWhenItems,
197
+ enableWhenExpressions
198
+ })) {
199
+ return true;
200
+ }
201
+ if (completedTabsCollapsed) {
202
+ const completedDisplayItem = contextDisplayItems.find((contextDisplayItem) => contextDisplayItem.text === 'Complete');
203
+ if (completedDisplayItem &&
204
+ !isHidden({
205
+ questionnaireItem: completedDisplayItem,
206
+ enableWhenIsActivated,
207
+ enableWhenItems,
208
+ enableWhenExpressions
209
+ })) {
210
+ return true;
211
+ }
212
+ }
213
+ return false;
214
+ }
190
215
  //# sourceMappingURL=tabs.js.map
@@ -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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"}
@@ -3,7 +3,7 @@ import type { FhirResourceString } from '../interfaces/populate.interface';
3
3
  import type { ValueSetPromise } from '../interfaces/valueSet.interface';
4
4
  import type { VariableXFhirQuery } from '../interfaces/variables.interface';
5
5
  export declare function getTerminologyServerUrl(qItem: QuestionnaireItem): string | undefined;
6
- export declare function getValueSetPromise(url: string, terminologyServer?: string): Promise<ValueSet>;
6
+ export declare function getValueSetPromise(url: string, terminologyServerUrl: string): Promise<ValueSet>;
7
7
  export declare function resolvePromises(valueSetPromises: Record<string, ValueSetPromise>): Promise<Record<string, ValueSetPromise>>;
8
8
  /**
9
9
  * Sets an array of codings with the values from a valueSet
@@ -26,7 +26,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
26
26
  import * as FHIR from 'fhirclient';
27
27
  const VALID_VALUE_SET_URL_REGEX = /https?:\/\/(www\.)?[-\w@:%.+~#=]{2,256}\.[a-z]{2,4}\b([-@\w:%+.~#?&/=]*ValueSet[-@\w:%+.~#?&/=]*)/;
28
28
  const VALID_FHIRPATH_VARIABLE_REGEX = /%(.*?)\./;
29
- const ONTOSERVER_ENDPOINT = 'https://r4.ontoserver.csiro.au/fhir/';
30
29
  export function getTerminologyServerUrl(qItem) {
31
30
  var _a;
32
31
  const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => extension.url === 'http://hl7.org/fhir/StructureDefinition/terminology-server');
@@ -35,15 +34,15 @@ export function getTerminologyServerUrl(qItem) {
35
34
  }
36
35
  return undefined;
37
36
  }
38
- export function getValueSetPromise(url, terminologyServer) {
37
+ export function getValueSetPromise(url, terminologyServerUrl) {
39
38
  let valueSetUrl = url;
40
39
  if (url.includes('ValueSet/$expand?url=')) {
41
40
  const splitUrl = url.split('ValueSet/$expand?url=');
42
- terminologyServer = splitUrl[0];
41
+ terminologyServerUrl = splitUrl[0];
43
42
  valueSetUrl = splitUrl[1];
44
43
  }
45
44
  valueSetUrl = valueSetUrl.replace('|', '&version=');
46
- return FHIR.client({ serverUrl: terminologyServer !== null && terminologyServer !== void 0 ? terminologyServer : ONTOSERVER_ENDPOINT }).request({
45
+ return FHIR.client({ serverUrl: terminologyServerUrl }).request({
47
46
  url: 'ValueSet/$expand?url=' + valueSetUrl
48
47
  });
49
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"valueSet.js","sourceRoot":"","sources":["../../src/utils/valueSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valueSet.js","sourceRoot":"","sources":["../../src/utils/valueSet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "0.6.6",
3
+ "version": "0.7.0",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -58,7 +58,7 @@
58
58
  "@storybook/react": "^7.4.0",
59
59
  "@storybook/react-vite": "^7.4.0",
60
60
  "@storybook/testing-library": "^0.2.0",
61
- "@testing-library/jest-dom": "^5.14.1",
61
+ "@testing-library/jest-dom": "^6.1.2",
62
62
  "@testing-library/react": "^14.0.0",
63
63
  "@testing-library/react-hooks": "^7.0.2",
64
64
  "@types/jest": "^29.5.4",
@@ -17,6 +17,7 @@
17
17
 
18
18
  import Box from '@mui/material/Box';
19
19
  import { styled } from '@mui/material/styles';
20
+ import FormControlLabel from '@mui/material/FormControlLabel';
20
21
 
21
22
  export const QGroupContainerBox = styled(Box, {
22
23
  shouldForwardProp: (prop) => prop !== 'cardElevation' && prop !== 'isRepeated'
@@ -26,9 +27,13 @@ export const QGroupContainerBox = styled(Box, {
26
27
  }));
27
28
 
28
29
  export const FullWidthFormComponentBox = styled(Box)(() => ({
29
- marginBottom: 14
30
+ marginBottom: 10
30
31
  }));
31
32
 
32
33
  export const FormTitleWrapper = styled(Box)(() => ({
33
34
  marginTop: 12
34
35
  }));
36
+
37
+ export const StyledFormControlLabel = styled(FormControlLabel)(() => ({
38
+ height: 34
39
+ }));
@@ -35,7 +35,6 @@ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
35
35
  import DoneIcon from '@mui/icons-material/Done';
36
36
  import ErrorIcon from '@mui/icons-material/Error';
37
37
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
38
- import { getTerminologyServerUrl } from '../../../utils/valueSet';
39
38
  import type {
40
39
  PropsWithIsRepeatedAttribute,
41
40
  PropsWithIsTabledAttribute,
@@ -73,17 +72,16 @@ function ChoiceAutocompleteItem(props: ChoiceAutocompleteItemProps) {
73
72
  const [input, setInput] = useState('');
74
73
  const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
75
74
 
76
- const answerValueSetUrl = qItem.answerValueSet;
77
- const terminologyServerUrl = getTerminologyServerUrl(qItem);
78
75
  const { options, loading, feedback } = useTerminologyServerQuery(
79
- answerValueSetUrl,
76
+ qItem,
80
77
  maxList,
81
78
  input,
82
- debouncedInput,
83
- terminologyServerUrl
79
+ debouncedInput
84
80
  );
85
81
 
86
- if (!answerValueSetUrl) return null;
82
+ if (!qItem.answerValueSet) {
83
+ return null;
84
+ }
87
85
 
88
86
  // Event handlers
89
87
  function handleValueChange(_: SyntheticEvent<Element, Event>, newValue: Coding | null) {
@@ -16,8 +16,8 @@
16
16
  */
17
17
 
18
18
  import React from 'react';
19
- import FormControlLabel from '@mui/material/FormControlLabel';
20
19
  import Radio from '@mui/material/Radio';
20
+ import { StyledFormControlLabel } from '../../Box.styles';
21
21
 
22
22
  interface ChoiceRadioSingleProps {
23
23
  value: string;
@@ -29,7 +29,7 @@ function ChoiceRadioSingle(props: ChoiceRadioSingleProps) {
29
29
  const { value, label, readOnly } = props;
30
30
 
31
31
  return (
32
- <FormControlLabel
32
+ <StyledFormControlLabel
33
33
  disabled={readOnly}
34
34
  value={value}
35
35
  control={<Radio size="small" />}
@@ -48,9 +48,14 @@ function DateItem(props: DateItemProps) {
48
48
  // Init input value
49
49
  let dateString: string | null = null;
50
50
 
51
- if (qrItem?.answer && qrItem?.answer[0].valueDate) {
52
- dateString = qrItem.answer[0].valueDate;
51
+ if (qrItem?.answer) {
52
+ if (qrItem?.answer[0].valueDate) {
53
+ dateString = qrItem.answer[0].valueDate;
54
+ } else if (qrItem?.answer[0].valueDateTime) {
55
+ dateString = qrItem.answer[0].valueDateTime;
56
+ }
53
57
  }
58
+
54
59
  const dateDayJs = dateString ? dayjs(dateString) : null;
55
60
 
56
61
  // Event handlers
@@ -47,8 +47,12 @@ function DateTimeItem(props: DateTimeItemProps) {
47
47
 
48
48
  // Init input value
49
49
  let dateTimeString: string | null = null;
50
- if (qrItem?.answer && qrItem?.answer[0].valueDateTime) {
51
- dateTimeString = qrItem.answer[0].valueDateTime;
50
+ if (qrItem?.answer) {
51
+ if (qrItem?.answer[0].valueDate) {
52
+ dateTimeString = qrItem.answer[0].valueDate;
53
+ } else if (qrItem?.answer[0].valueDateTime) {
54
+ dateTimeString = qrItem.answer[0].valueDateTime;
55
+ }
52
56
  }
53
57
  const dateTimeDayJs = dateTimeString ? dayjs(dateTimeString) : null;
54
58
 
@@ -23,6 +23,7 @@ import { GridAnswerTableCell, GridTextTableCell } from '../Tables/Table.styles';
23
23
  import SingleItem from '../SingleItem/SingleItem';
24
24
  import { getQrItemsIndex, mapQItemsIndex } from '../../../utils/mapItem';
25
25
  import Typography from '@mui/material/Typography';
26
+ import useHidden from '../../../hooks/useHidden';
26
27
 
27
28
  interface GridRowProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
28
29
  qItem: QuestionnaireItem;
@@ -40,6 +41,11 @@ function GridRow(props: GridRowProps) {
40
41
 
41
42
  const qItemsIndexMap = useMemo(() => mapQItemsIndex(qItem), [qItem]);
42
43
 
44
+ const itemIsHidden = useHidden(qItem);
45
+ if (itemIsHidden) {
46
+ return null;
47
+ }
48
+
43
49
  if (!rowQItems || !rowQrItems) {
44
50
  return null;
45
51
  }
@@ -17,7 +17,7 @@
17
17
 
18
18
  import React from 'react';
19
19
  import Checkbox from '@mui/material/Checkbox';
20
- import FormControlLabel from '@mui/material/FormControlLabel';
20
+ import { StyledFormControlLabel } from '../../Box.styles';
21
21
 
22
22
  interface Props {
23
23
  value: string;
@@ -31,7 +31,7 @@ function CheckboxSingle(props: Props) {
31
31
  const { value, label, readOnly, isChecked, onCheckedChange } = props;
32
32
 
33
33
  return (
34
- <FormControlLabel
34
+ <StyledFormControlLabel
35
35
  disabled={readOnly}
36
36
  control={
37
37
  <Checkbox size="small" checked={isChecked} onChange={() => onCheckedChange(value)} />
@@ -37,7 +37,6 @@ import InfoIcon from '@mui/icons-material/Info';
37
37
  import DoneIcon from '@mui/icons-material/Done';
38
38
  import ErrorIcon from '@mui/icons-material/Error';
39
39
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
40
- import { getTerminologyServerUrl } from '../../../utils/valueSet';
41
40
  import type {
42
41
  PropsWithIsRepeatedAttribute,
43
42
  PropsWithIsTabledAttribute,
@@ -80,17 +79,16 @@ function OpenChoiceAutocompleteItem(props: OpenChoiceAutocompleteItemProps) {
80
79
  const [input, setInput] = useState('');
81
80
  const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
82
81
 
83
- const answerValueSetUrl = qItem.answerValueSet;
84
- const terminologyServerUrl = getTerminologyServerUrl(qItem);
85
82
  const { options, loading, feedback } = useTerminologyServerQuery(
86
- answerValueSetUrl,
83
+ qItem,
87
84
  maxList,
88
85
  input,
89
- debouncedInput,
90
- terminologyServerUrl
86
+ debouncedInput
91
87
  );
92
88
 
93
- if (!answerValueSetUrl) return null;
89
+ if (!qItem.answerValueSet) {
90
+ return null;
91
+ }
94
92
 
95
93
  // Event handlers
96
94
  function handleValueChange(_: SyntheticEvent<Element, Event>, newValue: Coding | string | null) {
@@ -35,6 +35,7 @@ function AddItemButton(props: AddItemButtonProps) {
35
35
  <Box display="flex" flexDirection="row-reverse">
36
36
  <Button
37
37
  variant="contained"
38
+ size="small"
38
39
  startIcon={<AddIcon />}
39
40
  disabled={isDisabled}
40
41
  onClick={onAddItem}
@@ -35,6 +35,7 @@ function AddItemButton(props: AddItemButtonProps) {
35
35
  <Box display="flex" flexDirection="row-reverse">
36
36
  <Button
37
37
  variant="contained"
38
+ size="small"
38
39
  startIcon={<AddIcon />}
39
40
  disabled={isDisabled}
40
41
  onClick={onAddItem}
@@ -24,6 +24,7 @@ import type {
24
24
  } from '../../../interfaces/renderProps.interface';
25
25
  import useQuestionnaireStore from '../../../stores/useQuestionnaireStore';
26
26
  import SingleItemSwitcher from './SingleItemSwitcher';
27
+ import useHidden from '../../../hooks/useHidden';
27
28
 
28
29
  interface SingleItemProps
29
30
  extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>,
@@ -48,6 +49,11 @@ function SingleItem(props: SingleItemProps) {
48
49
  [updateEnableWhenItem, onQrItemChange, qItem.linkId]
49
50
  );
50
51
 
52
+ const itemIsHidden = useHidden(qItem);
53
+ if (itemIsHidden) {
54
+ return null;
55
+ }
56
+
51
57
  return (
52
58
  <SingleItemSwitcher
53
59
  qItem={qItem}
@@ -23,7 +23,7 @@ import TabPanel from '@mui/lab/TabPanel';
23
23
  import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
24
24
  import GroupItem from '../FormComponents/GroupItem/GroupItem';
25
25
  import { updateQrGroup } from '../../utils/qrItem';
26
- import FormBodyTabList from '../Tabs/FormBodyTabList';
26
+ import FormBodyTabListWrapper from '../Tabs/FormBodyTabListWrapper';
27
27
  import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
28
28
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
29
29
 
@@ -61,7 +61,7 @@ function FormBodyTabbed(props: FormBodyTabbedProps) {
61
61
  <Grid container spacing={2}>
62
62
  <TabContext value={currentTab.toString()}>
63
63
  <Grid item xs={12} md={3.5} lg={3} xl={2.75}>
64
- <FormBodyTabList qFormItems={qItems} currentTabIndex={currentTab} tabs={tabs} />
64
+ <FormBodyTabListWrapper qFormItems={qItems} currentTabIndex={currentTab} tabs={tabs} />
65
65
  </Grid>
66
66
 
67
67
  <Grid item xs={12} md={8.5} lg={9} xl={9.25}>
@@ -32,17 +32,24 @@ interface SmartFormsRendererProps {
32
32
  questionnaire: Questionnaire;
33
33
  questionnaireResponse?: QuestionnaireResponse;
34
34
  additionalVariables?: Record<string, object>;
35
+ terminologyServerUrl?: string;
35
36
  fhirClient?: Client;
36
37
  }
37
38
 
38
- // TODO add terminiology server
39
39
  function SmartFormsRenderer(props: SmartFormsRendererProps) {
40
- const { questionnaire, questionnaireResponse, additionalVariables, fhirClient } = props;
40
+ const {
41
+ questionnaire,
42
+ questionnaireResponse,
43
+ additionalVariables,
44
+ terminologyServerUrl,
45
+ fhirClient
46
+ } = props;
41
47
 
42
48
  const isLoading = useInitialiseRenderer(
43
49
  questionnaire,
44
50
  questionnaireResponse,
45
51
  additionalVariables,
52
+ terminologyServerUrl,
46
53
  fhirClient
47
54
  );
48
55
  const queryClient = useQueryClient();
@@ -23,23 +23,20 @@ import Typography from '@mui/material/Typography';
23
23
 
24
24
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
25
25
  import type { QuestionnaireItem } from 'fhir/r4';
26
- import { getContextDisplays } from '../../utils/tabs';
27
26
  import ContextDisplayItem from '../FormComponents/ItemParts/ContextDisplayItem';
28
27
 
29
28
  interface FormBodySingleTabProps {
30
- qItem: QuestionnaireItem;
29
+ contextDisplayItems: QuestionnaireItem[];
31
30
  selected: boolean;
32
31
  tabLabel: string;
33
32
  listIndex: number;
34
33
  }
35
34
 
36
35
  const FormBodySingleTab = memo(function FormBodySingleTab(props: FormBodySingleTabProps) {
37
- const { qItem, selected, tabLabel, listIndex } = props;
36
+ const { contextDisplayItems, selected, tabLabel, listIndex } = props;
38
37
 
39
38
  const switchTab = useQuestionnaireStore((state) => state.switchTab);
40
39
 
41
- const contextDisplayItems = getContextDisplays(qItem);
42
-
43
40
  function handleTabClick() {
44
41
  switchTab(listIndex);
45
42
  window.scrollTo(0, 0);
@@ -55,7 +52,7 @@ const FormBodySingleTab = memo(function FormBodySingleTab(props: FormBodySingleT
55
52
  primary={
56
53
  <Box display="flex" alignItems="center" justifyContent="space-between">
57
54
  <Typography variant="subtitle2">{tabLabel}</Typography>
58
- <Box display="flex">
55
+ <Box display="flex" minHeight={24} minWidth={24} ml={1}>
59
56
  {contextDisplayItems.map((item) => {
60
57
  return <ContextDisplayItem key={item.linkId} displayItem={item} />;
61
58
  })}
@@ -15,70 +15,70 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- import React, { memo } from 'react';
19
- import Box from '@mui/material/Box';
20
- import Card from '@mui/material/Card';
18
+ import React, { memo, useMemo } from 'react';
21
19
  import Collapse from '@mui/material/Collapse';
22
- import { PrimarySelectableList } from '../Lists.styles';
23
20
  import { TransitionGroup } from 'react-transition-group';
24
- import { isHidden } from '../../utils/qItem';
25
21
  import { getShortText } from '../../utils/itemControl';
26
22
  import type { QuestionnaireItem } from 'fhir/r4';
27
23
  import FormBodySingleTab from './FormBodySingleTab';
28
24
  import type { Tabs } from '../../interfaces/tab.interface';
29
25
  import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
26
+ import { getContextDisplays, isTabHidden } from '../../utils/tabs';
30
27
 
31
28
  interface FormBodyTabListProps {
32
- qFormItems: QuestionnaireItem[];
29
+ topLevelItems: QuestionnaireItem[];
33
30
  currentTabIndex: number;
34
31
  tabs: Tabs;
32
+ completedTabsCollapsed: boolean;
35
33
  }
36
34
 
37
35
  const FormBodyTabList = memo(function FormBodyTabList(props: FormBodyTabListProps) {
38
- const { qFormItems, currentTabIndex, tabs } = props;
36
+ const { topLevelItems, currentTabIndex, tabs, completedTabsCollapsed } = props;
39
37
 
40
38
  const enableWhenIsActivated = useQuestionnaireStore((state) => state.enableWhenIsActivated);
41
39
  const enableWhenItems = useQuestionnaireStore((state) => state.enableWhenItems);
42
40
  const enableWhenExpressions = useQuestionnaireStore((state) => state.enableWhenExpressions);
43
41
 
42
+ const allContextDisplayItems = useMemo(
43
+ () => topLevelItems.map((topLevelItem) => getContextDisplays(topLevelItem)),
44
+ [topLevelItems]
45
+ );
46
+
44
47
  return (
45
- <Card sx={{ p: 0.75, mb: 2 }}>
46
- <Box sx={{ flexGrow: 1 }}>
47
- <PrimarySelectableList dense disablePadding sx={{ my: 1 }} data-test="renderer-tab-list">
48
- <TransitionGroup>
49
- {qFormItems.map((qItem, i) => {
50
- const isTab = !!tabs[qItem.linkId];
48
+ <TransitionGroup>
49
+ {topLevelItems.map((qItem, i) => {
50
+ const contextDisplayItems = allContextDisplayItems[i];
51
+ const isTab = !!tabs[qItem.linkId];
51
52
 
52
- if (
53
- !isTab ||
54
- isHidden({
55
- questionnaireItem: qItem,
56
- enableWhenIsActivated,
57
- enableWhenItems,
58
- enableWhenExpressions
59
- })
60
- ) {
61
- return null;
62
- }
53
+ if (
54
+ isTabHidden({
55
+ qItem,
56
+ contextDisplayItems,
57
+ isTab,
58
+ enableWhenIsActivated,
59
+ enableWhenItems,
60
+ enableWhenExpressions,
61
+ completedTabsCollapsed
62
+ })
63
+ ) {
64
+ return null;
65
+ }
63
66
 
64
- const tabIsSelected = currentTabIndex.toString() === i.toString();
65
- const tabLabel = getShortText(qItem) ?? qItem.text ?? '';
67
+ const tabIsSelected = currentTabIndex.toString() === i.toString();
68
+ const tabLabel = getShortText(qItem) ?? qItem.text ?? '';
66
69
 
67
- return (
68
- <Collapse key={qItem.linkId} timeout={100}>
69
- <FormBodySingleTab
70
- qItem={qItem}
71
- selected={tabIsSelected}
72
- tabLabel={tabLabel}
73
- listIndex={i}
74
- />
75
- </Collapse>
76
- );
77
- })}
78
- </TransitionGroup>
79
- </PrimarySelectableList>
80
- </Box>
81
- </Card>
70
+ return (
71
+ <Collapse key={qItem.linkId} timeout={100}>
72
+ <FormBodySingleTab
73
+ contextDisplayItems={contextDisplayItems}
74
+ selected={tabIsSelected}
75
+ tabLabel={tabLabel}
76
+ listIndex={i}
77
+ />
78
+ </Collapse>
79
+ );
80
+ })}
81
+ </TransitionGroup>
82
82
  );
83
83
  });
84
84