@aehrc/smart-forms-renderer 1.0.0-alpha.31 → 1.0.0-alpha.32

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.
@@ -46,11 +46,12 @@ function GroupItemView(props) {
46
46
  // Merge parent styles with extracted styles (extracted styles take precedence)
47
47
  return Object.assign(Object.assign({}, parentStyles), xhtmlStyles);
48
48
  }, [parentStyles, xhtmlStyles]);
49
- const readOnly = useReadOnly(qItem, parentIsReadOnly);
50
- // Group with collapsible attribute
51
- const isCollapsible = getGroupCollapsible(qItem);
52
- const isDefaultOpen = isCollapsible ? undefined : true;
53
- if (isCollapsible) {
49
+ const readOnly = useReadOnly(qItem, parentIsReadOnly, parentRepeatGroupIndex);
50
+ // Render collapsible group item
51
+ // If group item is a repeating instance, do not render group item as collapsible
52
+ const groupCollapsibleValue = getGroupCollapsible(qItem);
53
+ if (groupCollapsibleValue && !isRepeated) {
54
+ const isDefaultOpen = groupCollapsibleValue === 'default-open';
54
55
  return (_jsxs(GroupAccordion, { disableGutters: true, defaultExpanded: isDefaultOpen, elevation: groupCardElevation, isRepeated: isRepeated, slotProps: {
55
56
  transition: { unmountOnExit: true, timeout: 250 }
56
57
  }, style: combinedStyles || undefined, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, {}), sx: { minHeight: '28px' }, children: _jsx(GroupHeading, { qItem: qItem, readOnly: readOnly, groupCardElevation: groupCardElevation, tabIsMarkedAsComplete: tabIsMarkedAsComplete, pageIsMarkedAsComplete: pageIsMarkedAsComplete, parentStyles: combinedStyles }) }), _jsxs(AccordionDetails, { sx: { pt: 0 }, children: [qItem.text ? _jsx(Divider, { sx: { mb: 1.5, opacity: 0.6 } }) : null, _jsxs(_Fragment, { children: [childQItems.map((qItem, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"GroupItemView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupItemView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
2
+ import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
3
+ interface FormBodyPageProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
4
+ topLevelQItem: QuestionnaireItem;
5
+ topLevelQRItem: QuestionnaireResponseItem | null;
6
+ }
7
+ declare function FormBodyPage(props: FormBodyPageProps): import("react/jsx-runtime").JSX.Element;
8
+ export default FormBodyPage;
@@ -0,0 +1,41 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import Grid from '@mui/material/Grid';
4
+ import TabContext from '@mui/lab/TabContext';
5
+ import TabPanel from '@mui/lab/TabPanel';
6
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
7
+ import { useQuestionnaireStore } from '../../stores';
8
+ import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
9
+ import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
10
+ function FormBodyPage(props) {
11
+ const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
12
+ const pages = useQuestionnaireStore.use.pages();
13
+ const currentPage = useQuestionnaireStore.use.currentPageIndex();
14
+ const indexMap = useMemo(() => mapQItemsIndex(topLevelQItem), [topLevelQItem]);
15
+ const nonNullTopLevelQRItem = topLevelQRItem !== null && topLevelQRItem !== void 0 ? topLevelQRItem : createEmptyQrGroup(topLevelQItem);
16
+ const qItems = topLevelQItem.item;
17
+ const qrItems = nonNullTopLevelQRItem.item;
18
+ function handleQrGroupChange(qrItem) {
19
+ updateQrItemsInGroup(qrItem, null, nonNullTopLevelQRItem, indexMap);
20
+ onQrItemChange(nonNullTopLevelQRItem);
21
+ }
22
+ if (!qItems || !qrItems) {
23
+ return _jsx(_Fragment, { children: "Unable to load form" });
24
+ }
25
+ const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, indexMap);
26
+ return (_jsx(Grid, Object.assign({ container: true, spacing: 1.5 }, { children: _jsx(TabContext, Object.assign({ value: currentPage.toString() }, { children: _jsx(Grid, Object.assign({ item: true, xs: 12, md: 12, lg: 12 }, { children: qItems.map((qItem, i) => {
27
+ var _a, _b;
28
+ const qrItem = qrItemsByIndex[i];
29
+ const isNotRepeatGroup = !Array.isArray(qrItem);
30
+ const isPage = !!pages[qItem.linkId];
31
+ if (!isPage || !isNotRepeatGroup) {
32
+ // Something has gone horribly wrong
33
+ return null;
34
+ }
35
+ const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
36
+ const pageIsMarkedAsComplete = (_b = pages[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
37
+ return (_jsx(TabPanel, Object.assign({ sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel" }, { children: _jsx(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, pageIsMarkedAsComplete: pageIsMarkedAsComplete, pages: pages, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: handleQrGroupChange }) }), qItem.linkId));
38
+ }) })) })) })));
39
+ }
40
+ export default FormBodyPage;
41
+ //# sourceMappingURL=FormBodyPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBodyPage.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
2
+ import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
3
+ interface FormBodyPageContainerProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
4
+ topLevelQItem: QuestionnaireItem;
5
+ topLevelQRItem: QuestionnaireResponseItem | null;
6
+ }
7
+ declare function FormBodyPageContainer(props: FormBodyPageContainerProps): import("react/jsx-runtime").JSX.Element;
8
+ export default FormBodyPageContainer;
@@ -0,0 +1,48 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import Grid from '@mui/material/Grid';
4
+ import TabContext from '@mui/lab/TabContext';
5
+ import TabPanel from '@mui/lab/TabPanel';
6
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
7
+ import { useQuestionnaireStore } from '../../stores';
8
+ import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
9
+ import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
10
+ // TODO add support for header and footer itemControls tomorrow
11
+ /* Using "page" item as a page-container - only preserved for backwards compatibility
12
+ * - The first "page" item in the questionnaire will be considered as a page-container, and all its children will be considered as pages
13
+ * - All other pages will be ignored by the renderer
14
+ * - You can have non-page items in the same level as the page-container to be used as faux headers or footers
15
+ * Note: This will only be used if wholeFormIsPaginated=false
16
+ */
17
+ function FormBodyPageContainer(props) {
18
+ const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
19
+ const pages = useQuestionnaireStore.use.pages();
20
+ const currentPage = useQuestionnaireStore.use.currentPageIndex();
21
+ const indexMap = useMemo(() => mapQItemsIndex(topLevelQItem), [topLevelQItem]);
22
+ const nonNullTopLevelQRItem = topLevelQRItem !== null && topLevelQRItem !== void 0 ? topLevelQRItem : createEmptyQrGroup(topLevelQItem);
23
+ const qItems = topLevelQItem.item;
24
+ const qrItems = nonNullTopLevelQRItem.item;
25
+ function handleQrGroupChange(qrItem) {
26
+ updateQrItemsInGroup(qrItem, null, nonNullTopLevelQRItem, indexMap);
27
+ onQrItemChange(nonNullTopLevelQRItem);
28
+ }
29
+ if (!qItems || !qrItems) {
30
+ return _jsx(_Fragment, { children: "Unable to load form" });
31
+ }
32
+ const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, indexMap);
33
+ return (_jsx(Grid, { container: true, spacing: 1.5, children: _jsx(TabContext, { value: currentPage.toString(), children: _jsx(Grid, { item: true, xs: 12, md: 12, lg: 12, children: qItems.map((qItem, i) => {
34
+ var _a, _b;
35
+ const qrItem = qrItemsByIndex[i];
36
+ const isNotRepeatGroup = !Array.isArray(qrItem);
37
+ const isPage = !!pages[qItem.linkId];
38
+ if (!isPage || !isNotRepeatGroup) {
39
+ // Something has gone horribly wrong
40
+ return null;
41
+ }
42
+ const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
43
+ const pageIsMarkedAsComplete = (_b = pages[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
44
+ return (_jsx(TabPanel, { sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel", children: _jsx(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, pageIsMarkedAsComplete: pageIsMarkedAsComplete, pages: pages, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: handleQrGroupChange }) }, qItem.linkId));
45
+ }) }) }) }));
46
+ }
47
+ export default FormBodyPageContainer;
48
+ //# sourceMappingURL=FormBodyPageContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBodyPageContainer.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPageContainer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
2
+ import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
3
+ interface FormBodySinglePageProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
4
+ topLevelQItem: QuestionnaireItem;
5
+ topLevelQRItem: QuestionnaireResponseItem | null;
6
+ }
7
+ declare function FormBodySinglePage(props: FormBodySinglePageProps): import("react/jsx-runtime").JSX.Element;
8
+ export default FormBodySinglePage;
@@ -0,0 +1,42 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import Grid from '@mui/material/Grid';
4
+ import TabContext from '@mui/lab/TabContext';
5
+ import TabPanel from '@mui/lab/TabPanel';
6
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
7
+ import { useQuestionnaireStore } from '../../stores';
8
+ import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
9
+ import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
10
+ function FormBodySinglePage(props) {
11
+ const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
12
+ const pages = useQuestionnaireStore.use.pages();
13
+ console.log(pages);
14
+ const currentPage = useQuestionnaireStore.use.currentPageIndex();
15
+ const indexMap = useMemo(() => mapQItemsIndex(topLevelQItem), [topLevelQItem]);
16
+ const nonNullTopLevelQRItem = topLevelQRItem !== null && topLevelQRItem !== void 0 ? topLevelQRItem : createEmptyQrGroup(topLevelQItem);
17
+ const qItems = topLevelQItem.item;
18
+ const qrItems = nonNullTopLevelQRItem.item;
19
+ function handleQrGroupChange(qrItem) {
20
+ updateQrItemsInGroup(qrItem, null, nonNullTopLevelQRItem, indexMap);
21
+ onQrItemChange(nonNullTopLevelQRItem);
22
+ }
23
+ if (!qItems || !qrItems) {
24
+ return _jsx(_Fragment, { children: "Unable to load form" });
25
+ }
26
+ const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, indexMap);
27
+ return (_jsx(Grid, Object.assign({ container: true, spacing: 1.5 }, { children: _jsx(TabContext, Object.assign({ value: currentPage.toString() }, { children: _jsx(Grid, Object.assign({ item: true, xs: 12, md: 12, lg: 12 }, { children: qItems.map((qItem, i) => {
28
+ var _a, _b;
29
+ const qrItem = qrItemsByIndex[i];
30
+ const isNotRepeatGroup = !Array.isArray(qrItem);
31
+ const isPage = !!pages[qItem.linkId];
32
+ if (!isPage || !isNotRepeatGroup) {
33
+ // Something has gone horribly wrong
34
+ return null;
35
+ }
36
+ const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
37
+ const pageIsMarkedAsComplete = (_b = pages[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
38
+ return (_jsx(TabPanel, Object.assign({ sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel" }, { children: _jsx(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, pageIsMarkedAsComplete: pageIsMarkedAsComplete, pages: pages, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: handleQrGroupChange }) }), qItem.linkId));
39
+ }) })) })) })));
40
+ }
41
+ export default FormBodySinglePage;
42
+ //# sourceMappingURL=FormBodySinglePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBodySinglePage.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodySinglePage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
2
+ import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
3
+ interface FormTopLevelPageProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
4
+ topLevelQItems: QuestionnaireItem[];
5
+ topLevelQRItems: (QuestionnaireResponseItem | QuestionnaireResponseItem[] | undefined)[];
6
+ }
7
+ declare function FormTopLevelPage(props: FormTopLevelPageProps): import("react/jsx-runtime").JSX.Element;
8
+ export default FormTopLevelPage;
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Grid from '@mui/material/Grid';
3
+ import TabContext from '@mui/lab/TabContext';
4
+ import TabPanel from '@mui/lab/TabPanel';
5
+ import GroupItem from '../FormComponents/GroupItem/GroupItem';
6
+ import { useQuestionnaireStore } from '../../stores';
7
+ function FormTopLevelPage(props) {
8
+ const { topLevelQItems, topLevelQRItems, parentIsReadOnly, onQrItemChange } = props;
9
+ const pages = useQuestionnaireStore.use.pages();
10
+ const currentPage = useQuestionnaireStore.use.currentPageIndex();
11
+ return (_jsx(Grid, Object.assign({ container: true, spacing: 1.5 }, { children: _jsx(TabContext, Object.assign({ value: currentPage.toString() }, { children: _jsx(Grid, Object.assign({ item: true, xs: 12, md: 12, lg: 12 }, { children: topLevelQItems.map((qItem, i) => {
12
+ var _a, _b;
13
+ const qrItem = topLevelQRItems[i];
14
+ const isNotRepeatGroup = !Array.isArray(qrItem);
15
+ const isPage = !!pages[qItem.linkId];
16
+ if (!isPage || !isNotRepeatGroup) {
17
+ // Something has gone horribly wrong
18
+ return null;
19
+ }
20
+ const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
21
+ const pageIsMarkedAsComplete = (_b = pages[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
22
+ return (_jsx(TabPanel, Object.assign({ sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel" }, { children: _jsx(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, pageIsMarkedAsComplete: pageIsMarkedAsComplete, pages: pages, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }) }), qItem.linkId));
23
+ }) })) })) })));
24
+ }
25
+ export default FormTopLevelPage;
26
+ //# sourceMappingURL=FormTopLevelPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTopLevelPage.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormTopLevelPage.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAK9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AASrD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEpF,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEjE,OAAO,CACL,KAAC,IAAI,kBAAC,SAAS,QAAC,OAAO,EAAE,GAAG,gBAC1B,KAAC,UAAU,kBAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,gBACvC,KAAC,IAAI,kBAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,gBAC9B,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;;oBAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oBAElC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAErC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE;wBAChC,oCAAoC;wBACpC,OAAO,IAAI,CAAC;qBACb;oBAED,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,CAAC;oBAC1C,MAAM,sBAAsB,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,mCAAI,KAAK,CAAC;oBAEvE,OAAO,CACL,KAAC,QAAQ,kBAEP,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,eACT,qBAAqB,gBAC/B,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EACtB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,CAAC,EACrB,sBAAsB,EAAE,sBAAsB,EAC9C,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,WAAW,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,GAC9B,KAdG,KAAK,CAAC,MAAM,CAeR,CACZ,CAAC;gBACJ,CAAC,CAAC,IACG,IACI,IACR,CACR,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "1.0.0-alpha.31",
3
+ "version": "1.0.0-alpha.32",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -96,13 +96,13 @@ function GroupItemView(props: GroupItemViewProps) {
96
96
  return { ...parentStyles, ...xhtmlStyles };
97
97
  }, [parentStyles, xhtmlStyles]);
98
98
 
99
- const readOnly = useReadOnly(qItem, parentIsReadOnly);
99
+ const readOnly = useReadOnly(qItem, parentIsReadOnly, parentRepeatGroupIndex);
100
100
 
101
- // Group with collapsible attribute
102
- const isCollapsible = getGroupCollapsible(qItem);
103
- const isDefaultOpen = isCollapsible ? undefined : true;
104
-
105
- if (isCollapsible) {
101
+ // Render collapsible group item
102
+ // If group item is a repeating instance, do not render group item as collapsible
103
+ const groupCollapsibleValue = getGroupCollapsible(qItem);
104
+ if (groupCollapsibleValue && !isRepeated) {
105
+ const isDefaultOpen = groupCollapsibleValue === 'default-open';
106
106
  return (
107
107
  <GroupAccordion
108
108
  disableGutters