@aehrc/smart-forms-renderer 1.0.0-alpha.3 → 1.0.0-alpha.5

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 (42) hide show
  1. package/lib/components/FormComponents/BooleanItem/BooleanField.js +13 -2
  2. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  3. package/lib/components/FormComponents/DecimalItem/index.d.ts +1 -0
  4. package/lib/components/FormComponents/DecimalItem/index.js +18 -0
  5. package/lib/components/FormComponents/DecimalItem/index.js.map +1 -0
  6. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +8 -0
  7. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  8. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +7 -4
  9. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  10. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +2 -2
  11. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  12. package/lib/hooks/index.d.ts +1 -0
  13. package/lib/hooks/index.js +1 -0
  14. package/lib/hooks/index.js.map +1 -1
  15. package/lib/index.d.ts +2 -2
  16. package/lib/index.js +2 -2
  17. package/lib/index.js.map +1 -1
  18. package/lib/interfaces/overrideComponent.interface.d.ts +7 -2
  19. package/lib/interfaces/qItemOverrideComponent.interface.d.ts +7 -6
  20. package/lib/stores/rendererStylingStore.d.ts +14 -0
  21. package/lib/stores/rendererStylingStore.js +8 -4
  22. package/lib/stores/rendererStylingStore.js.map +1 -1
  23. package/lib/utils/index.d.ts +2 -1
  24. package/lib/utils/index.js +2 -1
  25. package/lib/utils/index.js.map +1 -1
  26. package/lib/utils/misc.d.ts +0 -1
  27. package/lib/utils/misc.js +1 -1
  28. package/lib/utils/misc.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +37 -9
  31. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +22 -0
  32. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +18 -4
  33. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +2 -1
  34. package/src/hooks/index.ts +1 -0
  35. package/src/index.ts +5 -2
  36. package/src/interfaces/overrideComponent.interface.ts +7 -2
  37. package/src/stores/rendererStylingStore.ts +17 -0
  38. package/src/stories/assets/questionnaires/QItemControlGroup.ts +0 -772
  39. package/src/stories/sdc/ItemControlGroup.stories.tsx +0 -7
  40. package/src/utils/index.ts +3 -1
  41. package/src/utils/misc.ts +1 -1
  42. package/vite.config.ts +2 -2
@@ -25,16 +25,27 @@ import ChoiceRadioSingle from '../ChoiceItems/ChoiceRadioSingle';
25
25
  import { StyledRadioGroup } from '../Item.styles';
26
26
  import { getChoiceOrientation } from '../../../utils/choice';
27
27
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
28
+ import Checkbox from '@mui/material/Checkbox';
29
+ import FormControlLabel from '@mui/material/FormControlLabel';
30
+ import { isSpecificItemControl } from '../../../utils';
28
31
  const BooleanField = memo(function BooleanField(props) {
29
32
  var _a;
30
33
  const { qItem, readOnly, valueBoolean, calcExpUpdated, onCheckedChange, onClear } = props;
34
+ const booleanAsCheckbox = isSpecificItemControl(qItem, 'check-box');
31
35
  // defaults to horizontal, only set to vertical if explicitly set
32
36
  const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Horizontal;
33
37
  const selection = valueBoolean === undefined ? null : valueBoolean.toString();
34
38
  return (React.createElement(Box, { display: "flex", alignItems: "center" },
35
- React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, onChange: (e) => onCheckedChange(e.target.value), value: selection },
39
+ booleanAsCheckbox ? (React.createElement(FormControlLabel, { id: qItem.linkId, disabled: readOnly, control: React.createElement(Checkbox, { size: "small", checked: selection === 'true', onChange: () => {
40
+ if (selection === 'true') {
41
+ onCheckedChange('false');
42
+ }
43
+ if (selection === 'false' || selection === null) {
44
+ onCheckedChange('true');
45
+ }
46
+ } }), label: "" })) : (React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, onChange: (e) => onCheckedChange(e.target.value), value: selection },
36
47
  React.createElement(ChoiceRadioSingle, { value: "true", label: "Yes", readOnly: readOnly }),
37
- React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly })),
48
+ React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly }))),
38
49
  React.createElement(Box, { flexGrow: 1 }),
39
50
  React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly }),
40
51
  React.createElement(Fade, { in: valueBoolean !== undefined, timeout: 100 },
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAW3D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,KAAwB;;IACtE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1F,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,UAAU,CAAC;IAEpF,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAE9E,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ;QACrC,oBAAC,gBAAgB,IACf,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,SAAS;YAChB,oBAAC,iBAAiB,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAE,QAAQ,GAAI;YAClE,oBAAC,iBAAiB,IAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,GAAI,CACjD;QAEnB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;QAEpB,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI;QAC/D,oBAAC,IAAI,IAAC,EAAE,EAAE,YAAY,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG;YAChD,oBAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B;gBACzC;oBACE,oBAAC,MAAM,IACL,EAAE,EAAE;4BACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;4BAClB,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;yBAC5C,EACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,YAET,CACJ,CACC,CACL,CACH,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAWvD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,KAAwB;;IACtE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1F,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEpE,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,UAAU,CAAC;IAEpF,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAE9E,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ;QACpC,iBAAiB,CAAC,CAAC,CAAC,CACnB,oBAAC,gBAAgB,IACf,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EACL,oBAAC,QAAQ,IACP,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,KAAK,MAAM,EAC7B,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,SAAS,KAAK,MAAM,EAAE;wBACxB,eAAe,CAAC,OAAO,CAAC,CAAC;qBAC1B;oBAED,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,IAAI,EAAE;wBAC/C,eAAe,CAAC,MAAM,CAAC,CAAC;qBACzB;gBACH,CAAC,GACD,EAEJ,KAAK,EAAC,EAAE,GACR,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,gBAAgB,IACf,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,SAAS;YAChB,oBAAC,iBAAiB,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAE,QAAQ,GAAI;YAClE,oBAAC,iBAAiB,IAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,GAAI,CACjD,CACpB;QAED,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;QAEpB,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI;QAC/D,oBAAC,IAAI,IAAC,EAAE,EAAE,YAAY,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG;YAChD,oBAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B;gBACzC;oBACE,oBAAC,MAAM,IACL,EAAE,EAAE;4BACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;4BAClB,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;yBAC5C,EACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,YAET,CACJ,CACC,CACL,CACH,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { default as DecimalField } from './DecimalField';
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export { default as DecimalField } from './DecimalField';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -23,12 +23,20 @@ import SingleItem from '../SingleItem/SingleItem';
23
23
  import useHidden from '../../../hooks/useHidden';
24
24
  import GroupItem from './GroupItem';
25
25
  import GridGroup from '../GridGroup/GridGroup';
26
+ import { useQuestionnaireStore } from '../../../stores';
26
27
  function GroupItemSwitcher(props) {
27
28
  const { qItem, qrItemOrItems, groupCardElevation, parentIsReadOnly, parentIsRepeatGroup, parentRepeatGroupIndex, onQrItemChange, onQrRepeatGroupChange } = props;
29
+ const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
30
+ const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
28
31
  const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
29
32
  if (itemIsHidden) {
30
33
  return null;
31
34
  }
35
+ // If a qItem override component is defined for this item, render it
36
+ // Don't get too strict with the "typeof" checks for now
37
+ if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
38
+ return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, isRepeated: !!qItem.repeats, groupCardElevation: groupCardElevation, parentIsReadOnly: parentIsReadOnly, parentIsRepeatGroup: parentIsRepeatGroup, parentRepeatGroupIndex: parentRepeatGroupIndex, onQrItemChange: onQrItemChange, onQrRepeatGroupChange: onQrRepeatGroupChange }));
39
+ }
32
40
  // If there are multiple answers
33
41
  const hasMultipleAnswers = Array.isArray(qrItemOrItems);
34
42
  if (hasMultipleAnswers) {
@@ -1 +1 @@
1
- {"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -15,21 +15,24 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import React from 'react';
18
- import Grid from '@mui/material/Grid';
18
+ import Grid from '@mui/material/Unstable_Grid2';
19
19
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
20
20
  import LabelWrapper from './ItemLabelWrapper';
21
21
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
22
22
  import Box from '@mui/material/Box';
23
+ import { useRendererStylingStore } from '../../../stores';
23
24
  function ItemFieldGrid(props) {
24
25
  const { children, qItem, readOnly } = props;
26
+ const itemLabelGridBreakpoints = useRendererStylingStore.use.itemLabelGridBreakpoints();
27
+ const itemFieldGridBreakpoints = useRendererStylingStore.use.itemFieldGridBreakpoints();
25
28
  const { displayInstructions } = useRenderingExtensions(qItem);
26
- return (React.createElement(Grid, { container: true, columnSpacing: 4 },
27
- React.createElement(Grid, { item: true, md: 4, xs: 12 },
29
+ return (React.createElement(Grid, { container: true, columnSpacing: 3.5 },
30
+ React.createElement(Grid, { xs: itemLabelGridBreakpoints.xs, sm: itemLabelGridBreakpoints.sm, md: itemLabelGridBreakpoints.md, lg: itemLabelGridBreakpoints.lg, xl: itemLabelGridBreakpoints.xl },
28
31
  React.createElement(LabelWrapper, { qItem: qItem, readOnly: readOnly })),
29
32
  React.createElement(Box, { sx: {
30
33
  my: { xs: 1.5, md: 0 } // Adds padding for `xs` breakpoint and removes it for `md` and up
31
34
  } }),
32
- React.createElement(Grid, { item: true, md: 8, xs: 12 },
35
+ React.createElement(Grid, { xs: itemFieldGridBreakpoints.xs, sm: itemFieldGridBreakpoints.sm, md: itemFieldGridBreakpoints.md, lg: itemFieldGridBreakpoints.lg, xl: itemFieldGridBreakpoints.xl },
33
36
  children,
34
37
  React.createElement(DisplayInstructions, { displayInstructions: displayInstructions, readOnly: readOnly }))));
35
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ItemFieldGrid.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemFieldGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAQpC,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;QAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACtB,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C;QACP,oBAAC,GAAG,IACF,EAAE,EAAE;gBACF,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,kEAAkE;aAC1F,GACD;QACF,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACrB,QAAQ;YACT,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChF,CACF,CACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ItemFieldGrid.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemFieldGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,8BAA8B,CAAC;AAEhD,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAQ1D,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IACxF,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAExF,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,GAAG;QAChC,oBAAC,IAAI,IACH,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE;YAC/B,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C;QACP,oBAAC,GAAG,IACF,EAAE,EAAE;gBACF,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,kEAAkE;aAC1F,GACD;QACF,oBAAC,IAAI,IACH,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE;YAC9B,QAAQ;YACT,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChF,CACF,CACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -38,9 +38,9 @@ function SingleItemSwitcher(props) {
38
38
  const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
39
39
  const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
40
40
  // If a qItem override component is defined for this item, render it
41
- // Don't get too strict with the checks for now
41
+ // Don't get too strict with the "typeof" checks for now
42
42
  if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
43
- return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }));
43
+ return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange, onQrRepeatGroupChange: () => { } }));
44
44
  }
45
45
  // Otherwise, render the default form component based on the item type
46
46
  switch (qItem.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -5,3 +5,4 @@ export { default as useRendererQueryClient } from './useRendererQueryClient';
5
5
  export { default as useRenderingExtensions } from './useRenderingExtensions';
6
6
  export { default as useValidationFeedback } from './useValidationFeedback';
7
7
  export { default as useStringCalculatedExpression } from './useStringCalculatedExpression';
8
+ export { default as useDisplayCqfAndCalculatedExpression } from './useDisplayCqfAndCalculatedExpression';
@@ -6,4 +6,5 @@ export { default as useRenderingExtensions } from './useRenderingExtensions';
6
6
  export { default as useValidationFeedback } from './useValidationFeedback';
7
7
  // CalculatedExpression hooks
8
8
  export { default as useStringCalculatedExpression } from './useStringCalculatedExpression';
9
+ export { default as useDisplayCqfAndCalculatedExpression } from './useDisplayCqfAndCalculatedExpression';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,6BAA6B;AAC7B,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,6BAA6B;AAC7B,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,wCAAwC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -3,9 +3,9 @@ export type { SmartFormsRendererProps } from './components';
3
3
  export { SmartFormsRenderer, BaseRenderer, SingleItem, RepeatItem, RepeatGroup, GroupTable, GridGroup, parseFhirDateToDisplayDate, ItemFieldGrid, StringField, FullWidthFormComponentBox } from './components';
4
4
  export type { QuestionnaireStoreType, QuestionnaireResponseStoreType, SmartConfigStoreType, TerminologyServerStoreType, RendererStyling, RendererStylingStoreType } from './stores';
5
5
  export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore, useQuestionnaireResponseStore, smartConfigStore, useSmartConfigStore, terminologyServerStore, useTerminologyServerStore, rendererStylingStore, useRendererStylingStore } from './stores';
6
- export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression } from './hooks';
6
+ export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression } from './hooks';
7
7
  export type { ItemToRepopulate } from './utils';
8
- export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased } from './utils';
8
+ export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
9
9
  export { RendererThemeProvider } from './theme';
10
10
  export type { InitialiseFormWrapperProps } from './stories/storybookWrappers';
11
11
  export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
package/lib/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export { SmartFormsRenderer, BaseRenderer, SingleItem, RepeatItem, RepeatGroup, GroupTable, GridGroup, parseFhirDateToDisplayDate, ItemFieldGrid, StringField, FullWidthFormComponentBox } from './components';
2
2
  export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore, useQuestionnaireResponseStore, smartConfigStore, useSmartConfigStore, terminologyServerStore, useTerminologyServerStore, rendererStylingStore, useRendererStylingStore } from './stores';
3
3
  // hooks exports
4
- export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression } from './hooks';
5
- export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased } from './utils';
4
+ export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression } from './hooks';
5
+ export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
6
6
  // theme provider exports
7
7
  export { RendererThemeProvider } from './theme';
8
8
  export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIhD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,oCAAoC,EACrC,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIhD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
2
+ import type { QrRepeatGroup } from './repeatGroup.interface';
2
3
  export interface QItemOverrideComponentProps {
3
4
  qItem: QuestionnaireItem;
4
- qrItem: QuestionnaireResponseItem | null;
5
+ qrItem: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
5
6
  isRepeated: boolean;
6
- isTabled: boolean;
7
+ isTabled?: boolean;
8
+ groupCardElevation?: number;
7
9
  parentIsReadOnly?: boolean;
10
+ parentIsRepeatGroup?: boolean;
11
+ parentRepeatGroupIndex?: number;
8
12
  onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
13
+ onQrRepeatGroupChange: (qrRepeatGroup: QrRepeatGroup) => unknown;
9
14
  }
10
15
  export interface SdcUiOverrideComponentProps {
11
16
  displayText: string;
@@ -1,9 +1,10 @@
1
1
  import { QuestionnaireItem, type QuestionnaireResponseItem } from 'fhir/r4';
2
+
2
3
  export interface QItemOverrideComponentProps {
3
- qItem: QuestionnaireItem;
4
- qrItem: QuestionnaireResponseItem | null;
5
- isRepeated: boolean;
6
- isTabled: boolean;
7
- parentIsReadOnly?: boolean;
8
- onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
4
+ qItem: QuestionnaireItem;
5
+ qrItem: QuestionnaireResponseItem | null;
6
+ isRepeated: boolean;
7
+ isTabled: boolean;
8
+ parentIsReadOnly?: boolean;
9
+ onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
9
10
  }
@@ -1,5 +1,15 @@
1
+ export interface ItemGridBreakpoints {
2
+ xs?: number;
3
+ sm?: number;
4
+ md?: number;
5
+ lg?: number;
6
+ xl?: number;
7
+ }
1
8
  export interface RendererStyling {
2
9
  itemLabelFontWeight?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'default';
10
+ itemLabelGridBreakpoints?: ItemGridBreakpoints;
11
+ itemFieldGridBreakpoints?: ItemGridBreakpoints;
12
+ booleanAsCheckbox?: boolean;
3
13
  enableWhenAsReadOnly?: boolean | 'non-group';
4
14
  disablePageCardView?: boolean;
5
15
  disablePageButtons?: boolean;
@@ -11,6 +21,8 @@ export interface RendererStyling {
11
21
  */
12
22
  export interface RendererStylingStoreType {
13
23
  itemLabelFontWeight: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'default';
24
+ itemLabelGridBreakpoints: ItemGridBreakpoints;
25
+ itemFieldGridBreakpoints: ItemGridBreakpoints;
14
26
  enableWhenAsReadOnly: boolean | 'non-group';
15
27
  disablePageCardView: boolean;
16
28
  disablePageButtons: boolean;
@@ -23,6 +35,8 @@ export declare const rendererStylingStore: import("zustand/vanilla").StoreApi<Re
23
35
  export declare const useRendererStylingStore: import("zustand/vanilla").StoreApi<RendererStylingStoreType> & {
24
36
  use: {
25
37
  itemLabelFontWeight: () => "500" | "800" | "600" | "default" | "100" | "200" | "300" | "400" | "700" | "900";
38
+ itemLabelGridBreakpoints: () => ItemGridBreakpoints;
39
+ itemFieldGridBreakpoints: () => ItemGridBreakpoints;
26
40
  enableWhenAsReadOnly: () => boolean | "non-group";
27
41
  disablePageCardView: () => boolean;
28
42
  disablePageButtons: () => boolean;
@@ -21,17 +21,21 @@ import { createSelectors } from './selector';
21
21
  */
22
22
  export const rendererStylingStore = createStore()((set) => ({
23
23
  itemLabelFontWeight: 'default',
24
+ itemLabelGridBreakpoints: { xs: 12, md: 4 },
25
+ itemFieldGridBreakpoints: { xs: 12, md: 8 },
24
26
  enableWhenAsReadOnly: false,
25
27
  disablePageCardView: false,
26
28
  disablePageButtons: false,
27
29
  setRendererStyling: (params) => {
28
30
  set(() => {
29
- var _a, _b, _c, _d;
31
+ var _a, _b, _c, _d, _e, _f;
30
32
  return ({
31
33
  itemLabelFontWeight: (_a = params.itemLabelFontWeight) !== null && _a !== void 0 ? _a : 'default',
32
- enableWhenAsReadOnly: (_b = params.enableWhenAsReadOnly) !== null && _b !== void 0 ? _b : false,
33
- disablePageCardView: (_c = params.disablePageCardView) !== null && _c !== void 0 ? _c : false,
34
- disablePageButtons: (_d = params.disablePageButtons) !== null && _d !== void 0 ? _d : false
34
+ itemLabelGridBreakpoints: (_b = params.itemLabelGridBreakpoints) !== null && _b !== void 0 ? _b : { xs: 12, md: 4 },
35
+ itemFieldGridBreakpoints: (_c = params.itemFieldGridBreakpoints) !== null && _c !== void 0 ? _c : { xs: 12, md: 8 },
36
+ enableWhenAsReadOnly: (_d = params.enableWhenAsReadOnly) !== null && _d !== void 0 ? _d : false,
37
+ disablePageCardView: (_e = params.disablePageCardView) !== null && _e !== void 0 ? _e : false,
38
+ disablePageButtons: (_f = params.disablePageButtons) !== null && _f !== void 0 ? _f : false
35
39
  });
36
40
  });
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rendererStylingStore.js","sourceRoot":"","sources":["../../src/stores/rendererStylingStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0C7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,EAA4B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,mBAAmB,EAAE,SAAS;IAC9B,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,CAAC,MAAuB,EAAE,EAAE;QAC9C,GAAG,CAAC,GAAG,EAAE;;YAAC,OAAA,CAAC;gBACT,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,SAAS;gBAC5D,oBAAoB,EAAE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,KAAK;gBAC1D,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,KAAK;gBACxD,kBAAkB,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK;aACvD,CAAC,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"rendererStylingStore.js","sourceRoot":"","sources":["../../src/stores/rendererStylingStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuD7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,EAA4B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;IAC3C,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;IAC3C,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,CAAC,MAAuB,EAAE,EAAE;QAC9C,GAAG,CAAC,GAAG,EAAE;;YAAC,OAAA,CAAC;gBACT,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,SAAS;gBAC5D,wBAAwB,EAAE,MAAA,MAAM,CAAC,wBAAwB,mCAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBAC9E,wBAAwB,EAAE,MAAA,MAAM,CAAC,wBAAwB,mCAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBAC9E,oBAAoB,EAAE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,KAAK;gBAC1D,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,KAAK;gBACxD,kBAAkB,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK;aACvD,CAAC,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse } from './manageForm';
2
2
  export { initialiseQuestionnaireResponse } from './initialise';
3
- export { createEmptyQrItem } from './qrItem';
3
+ export { createEmptyQrItem, createEmptyQrGroup } from './qrItem';
4
4
  export { isSpecificItemControl } from './itemControl';
5
5
  export { isRepeatItemAndNotCheckbox } from './qItem';
6
6
  export type { ItemToRepopulate } from './repopulateItems';
7
7
  export { generateItemsToRepopulate } from './repopulateItems';
8
8
  export { repopulateResponse } from './repopulateIntoResponse';
9
9
  export { extractObservationBased } from './extractObservation';
10
+ export { getQuestionnaireItem } from './misc';
@@ -16,10 +16,11 @@
16
16
  */
17
17
  export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse } from './manageForm';
18
18
  export { initialiseQuestionnaireResponse } from './initialise';
19
- export { createEmptyQrItem } from './qrItem';
19
+ export { createEmptyQrItem, createEmptyQrGroup } from './qrItem';
20
20
  export { isSpecificItemControl } from './itemControl';
21
21
  export { isRepeatItemAndNotCheckbox } from './qItem';
22
22
  export { generateItemsToRepopulate } from './repopulateItems';
23
23
  export { repopulateResponse } from './repopulateIntoResponse';
24
24
  export { extractObservationBased } from './extractObservation';
25
+ export { getQuestionnaireItem } from './misc';
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type { Questionnaire, QuestionnaireItem } from 'fhir/r4';
2
2
  import type { Tabs } from '../interfaces';
3
3
  export declare function getQuestionnaireItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
4
- export declare function getQuestionnaireItemRecursive(qItem: QuestionnaireItem, targetLinkId: string): QuestionnaireItem | null;
5
4
  export declare function getParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
6
5
  export declare function getRepeatGroupParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
7
6
  export declare function getSectionHeading(questionnaire: Questionnaire, targetLinkId: string, tabs: Tabs): string | null;
package/lib/utils/misc.js CHANGED
@@ -29,7 +29,7 @@ export function getQuestionnaireItem(questionnaire, targetLinkId) {
29
29
  // No matching item found in the questionnaire, return null
30
30
  return null;
31
31
  }
32
- export function getQuestionnaireItemRecursive(qItem, targetLinkId) {
32
+ function getQuestionnaireItemRecursive(qItem, targetLinkId) {
33
33
  // Target linkId found in current item
34
34
  if (qItem.linkId === targetLinkId) {
35
35
  return qItem;
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.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": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.5",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -27,6 +27,9 @@ import ChoiceRadioSingle from '../ChoiceItems/ChoiceRadioSingle';
27
27
  import { StyledRadioGroup } from '../Item.styles';
28
28
  import { getChoiceOrientation } from '../../../utils/choice';
29
29
  import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
30
+ import Checkbox from '@mui/material/Checkbox';
31
+ import FormControlLabel from '@mui/material/FormControlLabel';
32
+ import { isSpecificItemControl } from '../../../utils';
30
33
 
31
34
  interface BooleanFieldProps {
32
35
  qItem: QuestionnaireItem;
@@ -40,6 +43,8 @@ interface BooleanFieldProps {
40
43
  const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
41
44
  const { qItem, readOnly, valueBoolean, calcExpUpdated, onCheckedChange, onClear } = props;
42
45
 
46
+ const booleanAsCheckbox = isSpecificItemControl(qItem, 'check-box');
47
+
43
48
  // defaults to horizontal, only set to vertical if explicitly set
44
49
  const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Horizontal;
45
50
 
@@ -47,15 +52,38 @@ const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
47
52
 
48
53
  return (
49
54
  <Box display="flex" alignItems="center">
50
- <StyledRadioGroup
51
- id={qItem.linkId}
52
- row={orientation === ChoiceItemOrientation.Horizontal}
53
- name={qItem.text}
54
- onChange={(e) => onCheckedChange(e.target.value)}
55
- value={selection}>
56
- <ChoiceRadioSingle value="true" label="Yes" readOnly={readOnly} />
57
- <ChoiceRadioSingle value="false" label="No" readOnly={readOnly} />
58
- </StyledRadioGroup>
55
+ {booleanAsCheckbox ? (
56
+ <FormControlLabel
57
+ id={qItem.linkId}
58
+ disabled={readOnly}
59
+ control={
60
+ <Checkbox
61
+ size="small"
62
+ checked={selection === 'true'}
63
+ onChange={() => {
64
+ if (selection === 'true') {
65
+ onCheckedChange('false');
66
+ }
67
+
68
+ if (selection === 'false' || selection === null) {
69
+ onCheckedChange('true');
70
+ }
71
+ }}
72
+ />
73
+ }
74
+ label=""
75
+ />
76
+ ) : (
77
+ <StyledRadioGroup
78
+ id={qItem.linkId}
79
+ row={orientation === ChoiceItemOrientation.Horizontal}
80
+ name={qItem.text}
81
+ onChange={(e) => onCheckedChange(e.target.value)}
82
+ value={selection}>
83
+ <ChoiceRadioSingle value="true" label="Yes" readOnly={readOnly} />
84
+ <ChoiceRadioSingle value="false" label="No" readOnly={readOnly} />
85
+ </StyledRadioGroup>
86
+ )}
59
87
 
60
88
  <Box flexGrow={1} />
61
89
 
@@ -31,6 +31,7 @@ import SingleItem from '../SingleItem/SingleItem';
31
31
  import useHidden from '../../../hooks/useHidden';
32
32
  import GroupItem from './GroupItem';
33
33
  import GridGroup from '../GridGroup/GridGroup';
34
+ import { useQuestionnaireStore } from '../../../stores';
34
35
 
35
36
  interface GroupItemSwitcherProps
36
37
  extends PropsWithQrItemChangeHandler,
@@ -54,11 +55,32 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
54
55
  onQrRepeatGroupChange
55
56
  } = props;
56
57
 
58
+ const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
59
+ const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
60
+
57
61
  const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
58
62
  if (itemIsHidden) {
59
63
  return null;
60
64
  }
61
65
 
66
+ // If a qItem override component is defined for this item, render it
67
+ // Don't get too strict with the "typeof" checks for now
68
+ if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
69
+ return (
70
+ <QItemOverrideComponent
71
+ qItem={qItem}
72
+ qrItem={qrItemOrItems ?? null}
73
+ isRepeated={!!qItem.repeats}
74
+ groupCardElevation={groupCardElevation}
75
+ parentIsReadOnly={parentIsReadOnly}
76
+ parentIsRepeatGroup={parentIsRepeatGroup}
77
+ parentRepeatGroupIndex={parentRepeatGroupIndex}
78
+ onQrItemChange={onQrItemChange}
79
+ onQrRepeatGroupChange={onQrRepeatGroupChange}
80
+ />
81
+ );
82
+ }
83
+
62
84
  // If there are multiple answers
63
85
  const hasMultipleAnswers = Array.isArray(qrItemOrItems);
64
86
  if (hasMultipleAnswers) {
@@ -17,12 +17,13 @@
17
17
 
18
18
  import type { ReactNode } from 'react';
19
19
  import React from 'react';
20
- import Grid from '@mui/material/Grid';
20
+ import Grid from '@mui/material/Unstable_Grid2';
21
21
  import type { QuestionnaireItem } from 'fhir/r4';
22
22
  import DisplayInstructions from '../DisplayItem/DisplayInstructions';
23
23
  import LabelWrapper from './ItemLabelWrapper';
24
24
  import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
25
25
  import Box from '@mui/material/Box';
26
+ import { useRendererStylingStore } from '../../../stores';
26
27
 
27
28
  interface ItemFieldGridProps {
28
29
  children: ReactNode;
@@ -33,11 +34,19 @@ interface ItemFieldGridProps {
33
34
  function ItemFieldGrid(props: ItemFieldGridProps) {
34
35
  const { children, qItem, readOnly } = props;
35
36
 
37
+ const itemLabelGridBreakpoints = useRendererStylingStore.use.itemLabelGridBreakpoints();
38
+ const itemFieldGridBreakpoints = useRendererStylingStore.use.itemFieldGridBreakpoints();
39
+
36
40
  const { displayInstructions } = useRenderingExtensions(qItem);
37
41
 
38
42
  return (
39
- <Grid container columnSpacing={4}>
40
- <Grid item md={4} xs={12}>
43
+ <Grid container columnSpacing={3.5}>
44
+ <Grid
45
+ xs={itemLabelGridBreakpoints.xs}
46
+ sm={itemLabelGridBreakpoints.sm}
47
+ md={itemLabelGridBreakpoints.md}
48
+ lg={itemLabelGridBreakpoints.lg}
49
+ xl={itemLabelGridBreakpoints.xl}>
41
50
  <LabelWrapper qItem={qItem} readOnly={readOnly} />
42
51
  </Grid>
43
52
  <Box
@@ -45,7 +54,12 @@ function ItemFieldGrid(props: ItemFieldGridProps) {
45
54
  my: { xs: 1.5, md: 0 } // Adds padding for `xs` breakpoint and removes it for `md` and up
46
55
  }}
47
56
  />
48
- <Grid item md={8} xs={12}>
57
+ <Grid
58
+ xs={itemFieldGridBreakpoints.xs}
59
+ sm={itemFieldGridBreakpoints.sm}
60
+ md={itemFieldGridBreakpoints.md}
61
+ lg={itemFieldGridBreakpoints.lg}
62
+ xl={itemFieldGridBreakpoints.xl}>
49
63
  {children}
50
64
  <DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
51
65
  </Grid>