@aehrc/smart-forms-renderer 1.0.0-alpha.48.dev1 → 1.0.0-alpha.49
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.
- package/lib/components/Checkbox.styles.js +11 -0
- package/lib/components/Checkbox.styles.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +4 -2
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.d.ts +16 -0
- package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.js +24 -0
- package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +6 -10
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.d.ts +16 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.js +24 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.d.ts +0 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.js +2 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.d.ts +0 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.js +2 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.d.ts +16 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.js +29 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.d.ts +16 -0
- package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.js +29 -0
- package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.d.ts +16 -0
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js +24 -0
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.d.ts +16 -0
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.js +29 -0
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.js.map +1 -0
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +5 -8
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +2 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +2 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableRow.js +2 -2
- package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableView.js +5 -2
- package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
- package/lib/components/FormComponents/Tables/SelectRowButton.d.ts +1 -1
- package/lib/components/FormComponents/Tables/SelectRowButton.js +2 -2
- package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -1
- package/lib/components/Radio.styles.js +11 -0
- package/lib/components/Radio.styles.js.map +1 -1
- package/lib/hooks/useAnswerOptionsToggleExpressions.d.ts +7 -0
- package/lib/hooks/useAnswerOptionsToggleExpressions.js +67 -0
- package/lib/hooks/useAnswerOptionsToggleExpressions.js.map +1 -0
- package/lib/interfaces/answerOptionsToggleExpression.interface.d.ts +9 -0
- package/lib/interfaces/answerOptionsToggleExpression.interface.js +2 -0
- package/lib/interfaces/answerOptionsToggleExpression.interface.js.map +1 -0
- package/lib/stores/extractOperationStore.d.ts +26 -0
- package/lib/stores/extractOperationStore.js +20 -0
- package/lib/stores/extractOperationStore.js.map +1 -0
- package/lib/templates/bloodPressureTemplate.d.ts +23 -0
- package/lib/templates/bloodPressureTemplate.js +80 -0
- package/lib/templates/bloodPressureTemplate.js.map +1 -0
- package/lib/tests/test-data/bloodPressureSample.d.ts +3 -0
- package/lib/tests/test-data/bloodPressureSample.js +250 -0
- package/lib/tests/test-data/bloodPressureSample.js.map +1 -0
- package/lib/tests/test-data/complexTemplateSample.d.ts +3 -0
- package/lib/tests/test-data/complexTemplateSample.js +578 -0
- package/lib/tests/test-data/complexTemplateSample.js.map +1 -0
- package/lib/utils/answerOptionsToggleExpressions.d.ts +24 -0
- package/lib/utils/answerOptionsToggleExpressions.js +144 -0
- package/lib/utils/answerOptionsToggleExpressions.js.map +1 -0
- package/lib/utils/calculatedExpression.js +8 -5
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/checkbox.d.ts +2 -0
- package/lib/utils/checkbox.js +6 -0
- package/lib/utils/checkbox.js.map +1 -0
- package/lib/utils/extractTemplate.d.ts +44 -0
- package/lib/utils/extractTemplate.js +809 -0
- package/lib/utils/extractTemplate.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractAnswerOptionsToggleExpressions.d.ts +3 -0
- package/lib/utils/questionnaireStoreUtils/extractAnswerOptionsToggleExpressions.js +6 -0
- package/lib/utils/questionnaireStoreUtils/extractAnswerOptionsToggleExpressions.js.map +1 -0
- package/lib/utils/templateMatching.d.ts +15 -0
- package/lib/utils/templateMatching.js +62 -0
- package/lib/utils/templateMatching.js.map +1 -0
- package/package.json +2 -2
- package/src/components/Checkbox.styles.ts +14 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +7 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +6 -10
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +2 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +2 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -1
- package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +3 -0
- package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +3 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +5 -8
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +2 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +2 -0
- package/src/components/FormComponents/Tables/GroupTableRow.tsx +2 -2
- package/src/components/FormComponents/Tables/GroupTableView.tsx +14 -6
- package/src/components/FormComponents/Tables/SelectRowButton.tsx +6 -3
- package/src/components/Radio.styles.tsx +13 -0
- package/src/utils/calculatedExpression.ts +13 -5
- package/src/utils/checkbox.ts +7 -0
|
@@ -3,6 +3,17 @@ import Checkbox from '@mui/material/Checkbox';
|
|
|
3
3
|
export const StandardCheckbox = styled(Checkbox, {
|
|
4
4
|
shouldForwardProp: (prop) => prop !== 'readOnly'
|
|
5
5
|
})(({ theme, readOnly }) => (Object.assign({}, (readOnly && {
|
|
6
|
+
// Remove 'pointer' cursor when readOnly
|
|
7
|
+
cursor: 'default',
|
|
8
|
+
// Hide the ripple effect when readOnly
|
|
9
|
+
'.MuiTouchRipple-root': {
|
|
10
|
+
display: 'none'
|
|
11
|
+
},
|
|
12
|
+
// Show grey background when focused (via keyboard)
|
|
13
|
+
'&.Mui-focusVisible': {
|
|
14
|
+
backgroundColor: theme.palette.action.hover
|
|
15
|
+
},
|
|
16
|
+
// Use grey stylings when it's readOnly
|
|
6
17
|
'&.MuiButtonBase-root': {
|
|
7
18
|
'&.MuiCheckbox-root': {
|
|
8
19
|
// Use text.disabled colour (same as disabled field) here because text.secondary is too dark, and 'rgb(220, 223, 228)' is too light
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["../../src/components/Checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE;IAC/C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU;CACjD,CAAC,CAAwB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,mBAC9C,CAAC,QAAQ,IAAI;IACd,sBAAsB,EAAE;QACtB,oBAAoB,EAAE;YACpB,mIAAmI;YACnI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;SACnC;QACD,SAAS,EAAE;YACT,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5C;KACF;CACF,CAAC,EACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["../../src/components/Checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE;IAC/C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU;CACjD,CAAC,CAAwB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,mBAC9C,CAAC,QAAQ,IAAI;IACd,wCAAwC;IACxC,MAAM,EAAE,SAAS;IAEjB,uCAAuC;IACvC,sBAAsB,EAAE;QACtB,OAAO,EAAE,MAAM;KAChB;IAED,mDAAmD;IACnD,oBAAoB,EAAE;QACpB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;KAC5C;IAED,uCAAuC;IACvC,sBAAsB,EAAE;QACtB,oBAAoB,EAAE;YACpB,mIAAmI;YACnI,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;SACnC;QACD,SAAS,EAAE;YACT,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5C;KACF;CACF,CAAC,EACF,CAAC,CAAC"}
|
|
@@ -27,6 +27,7 @@ import { isSpecificItemControl } from '../../../utils';
|
|
|
27
27
|
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
28
28
|
import { useRendererStylingStore } from '../../../stores';
|
|
29
29
|
import { StandardCheckbox } from '../../Checkbox.styles';
|
|
30
|
+
import { ariaCheckedMap } from '../../../utils/checkbox';
|
|
30
31
|
const BooleanField = memo(function BooleanField(props) {
|
|
31
32
|
var _a;
|
|
32
33
|
const { qItem, readOnly, valueBoolean, feedback, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
@@ -38,11 +39,12 @@ const BooleanField = memo(function BooleanField(props) {
|
|
|
38
39
|
// defaults to horizontal, only set to vertical if explicitly set
|
|
39
40
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Horizontal;
|
|
40
41
|
const selection = valueBoolean === undefined ? null : valueBoolean.toString();
|
|
42
|
+
const ariaCheckedValue = ariaCheckedMap.get(selection !== null && selection !== void 0 ? selection : 'false');
|
|
41
43
|
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
42
44
|
justifyContent: 'space-between',
|
|
43
45
|
alignItems: { xs: 'start', sm: 'center' },
|
|
44
46
|
flexDirection: { xs: 'column', sm: 'row' }
|
|
45
|
-
} }, { children: [booleanAsCheckbox ? (_jsx(FormControlLabel, { id: qItem.type + '-' + qItem.linkId, disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: selection === 'true', readOnly: readOnly && readOnlyVisualStyle === 'readonly', onChange: () => {
|
|
47
|
+
} }, { children: [booleanAsCheckbox ? (_jsx(FormControlLabel, { id: qItem.type + '-' + qItem.linkId, disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: selection === 'true', readOnly: readOnly && readOnlyVisualStyle === 'readonly', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', role: "checkbox", "aria-checked": ariaCheckedValue, onChange: () => {
|
|
46
48
|
// If item.readOnly=true, do not allow any changes
|
|
47
49
|
if (readOnly) {
|
|
48
50
|
return;
|
|
@@ -53,7 +55,7 @@ const BooleanField = memo(function BooleanField(props) {
|
|
|
53
55
|
if (selection === 'false' || selection === null) {
|
|
54
56
|
onCheckedChange('true');
|
|
55
57
|
}
|
|
56
|
-
} }), label: "" })) : (_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => {
|
|
58
|
+
} }), label: "" })) : (_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', onChange: (e) => {
|
|
57
59
|
// If item.readOnly=true, do not allow any changes
|
|
58
60
|
if (readOnly) {
|
|
59
61
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,KAAwB;;IACtE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,GACzF,KAAK,CAAC;IAER,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,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,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACA,iBAAiB,CAAC,CAAC,CAAC,CACnB,KAAC,gBAAgB,IACf,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,OAAO,EACL,KAAC,gBAAgB,IACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,KAAK,MAAM,EAC7B,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
3
|
+
interface ChoiceCheckboxFormGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
answers: QuestionnaireResponseItemAnswer[];
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function ChoiceCheckboxFormGroup(props: ChoiceCheckboxFormGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ChoiceCheckboxFormGroup;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '@mui/material';
|
|
3
|
+
import { StyledFormGroup, StyledRequiredTypography } from '../Item.styles';
|
|
4
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
5
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
6
|
+
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
7
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
8
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
9
|
+
import CheckboxOptionList from './CheckboxOptionList';
|
|
10
|
+
function ChoiceCheckboxFormGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { qItem, options, answers, feedback, readOnly, expressionUpdated, answerOptionsToggleExpressionsMap, onCheckedChange, onClear, children } = props;
|
|
13
|
+
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
|
+
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
|
+
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
16
|
+
const answersEmpty = answers.length === 0;
|
|
17
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
18
|
+
justifyContent: 'space-between',
|
|
19
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
20
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
21
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsxs(StyledFormGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(CheckboxOptionList, { options: options, answers: answers, readOnly: readOnly, fullWidth: inputsFlexGrow, answerOptionsToggleExpressionsMap: answerOptionsToggleExpressionsMap, onCheckedChange: onCheckedChange }), children] })), _jsx(Box, { flexGrow: 1 }), _jsx(FadingCheckIcon, { fadeIn: expressionUpdated, disabled: readOnly })] })), hideClearButton ? null : (_jsx(ClearInputButton, { buttonShown: !answersEmpty, readOnly: readOnly, onClear: onClear }))] })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
|
|
22
|
+
}
|
|
23
|
+
export default ChoiceCheckboxFormGroup;
|
|
24
|
+
//# sourceMappingURL=CheckboxFormGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxFormGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/CheckboxFormGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAM7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAetD,SAAS,uBAAuB,CAAC,KAAmC;;IAClE,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,OAAO,EACP,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1C,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,MAAC,eAAe,kBACd,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,iCAAiC,EAAE,iCAAiC,EACpE,eAAe,EAAE,eAAe,GAChC,EACD,QAAQ,KACO,EAElB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EAEpB,KAAC,eAAe,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,KAC9D,EAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACvF,KACG,EAEL,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -4,11 +4,7 @@ import CircularProgress from '@mui/material/CircularProgress';
|
|
|
4
4
|
import Fade from '@mui/material/Fade';
|
|
5
5
|
import Tooltip from '@mui/material/Tooltip';
|
|
6
6
|
import { StandardTextField } from '../Textfield.styles';
|
|
7
|
-
import
|
|
8
|
-
import InfoIcon from '@mui/icons-material/Info';
|
|
9
|
-
import WarningAmberIcon from '@mui/icons-material/WarningAmber';
|
|
10
|
-
import DoneIcon from '@mui/icons-material/Done';
|
|
11
|
-
import ErrorIcon from '@mui/icons-material/Error';
|
|
7
|
+
import { Done, Error, Info, Search, WarningAmber } from '@mui/icons-material';
|
|
12
8
|
import { useRendererStylingStore } from '../../../stores';
|
|
13
9
|
import DisplayUnitText from '../ItemParts/DisplayUnitText';
|
|
14
10
|
function ChoiceAutocompleteField(props) {
|
|
@@ -17,11 +13,11 @@ function ChoiceAutocompleteField(props) {
|
|
|
17
13
|
const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
|
|
18
14
|
const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
|
|
19
15
|
return (_jsx(Autocomplete, { id: qItem.type + '-' + qItem.linkId, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, options: options, getOptionLabel: (option) => { var _a; return (_a = option.display) !== null && _a !== void 0 ? _a : `${option.code}`; }, isOptionEqualToValue: (option, value) => option.id === value.id, disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', loading: loading, loadingText: 'Fetching results...', clearOnEscape: true, autoHighlight: true, onChange: (_, newValue) => onValueChange(newValue), sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, filterOptions: (x) => x, renderInput: (params) => (_jsx(StandardTextField, Object.assign({}, params, { onChange: (e) => onInputChange(e.target.value), textFieldWidth: textFieldWidth, isTabled: isTabled, label: displayPrompt, size: "small", placeholder: entryFormat, slotProps: {
|
|
20
|
-
input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', startAdornment: (_jsxs(_Fragment, { children: [!valueCoding ? _jsx(
|
|
21
|
-
info: _jsx(
|
|
22
|
-
warning: _jsx(
|
|
23
|
-
success: _jsx(
|
|
24
|
-
error: _jsx(
|
|
16
|
+
input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', startAdornment: (_jsxs(_Fragment, { children: [!valueCoding ? _jsx(Search, { fontSize: "small", sx: { ml: 0.5 } }) : null, params.InputProps.startAdornment] })), endAdornment: (_jsxs(_Fragment, { children: [loading ? (_jsx(CircularProgress, { color: "inherit", size: 16 })) : feedback ? (_jsx(Fade, Object.assign({ in: !!feedback, timeout: 300 }, { children: _jsx(Tooltip, Object.assign({ title: feedback.message, arrow: true, sx: { ml: 1 } }, { children: {
|
|
17
|
+
info: _jsx(Info, { fontSize: "small", color: "info" }),
|
|
18
|
+
warning: _jsx(WarningAmber, { fontSize: "small", color: "warning" }),
|
|
19
|
+
success: _jsx(Done, { fontSize: "small", color: "success" }),
|
|
20
|
+
error: _jsx(Error, { fontSize: "small", color: "error" })
|
|
25
21
|
}[feedback.color] })) }))) : null, params.InputProps.endAdornment, _jsx(DisplayUnitText, Object.assign({ readOnly: readOnly }, { children: displayUnit }))] })) })
|
|
26
22
|
} }))) }));
|
|
27
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx"],"names":[],"mappings":";AAkBA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"ChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
3
|
+
interface ChoiceCheckboxFormGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
answers: QuestionnaireResponseItemAnswer[];
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function ChoiceCheckboxFormGroup(props: ChoiceCheckboxFormGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ChoiceCheckboxFormGroup;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '@mui/material';
|
|
3
|
+
import { StyledFormGroup, StyledRequiredTypography } from '../Item.styles';
|
|
4
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
5
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
6
|
+
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
7
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
8
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
9
|
+
import CheckboxOptionList from './CheckboxOptionList';
|
|
10
|
+
function ChoiceCheckboxFormGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { qItem, options, answers, feedback, readOnly, expressionUpdated, answerOptionsToggleExpressionsMap, onCheckedChange, onClear, children } = props;
|
|
13
|
+
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
|
+
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
|
+
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
16
|
+
const answersEmpty = answers.length === 0;
|
|
17
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
18
|
+
justifyContent: 'space-between',
|
|
19
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
20
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
21
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsxs(StyledFormGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(CheckboxOptionList, { options: options, answers: answers, readOnly: readOnly, fullWidth: inputsFlexGrow, answerOptionsToggleExpressionsMap: answerOptionsToggleExpressionsMap, onCheckedChange: onCheckedChange }), children] })), _jsx(Box, { flexGrow: 1 }), _jsx(FadingCheckIcon, { fadeIn: expressionUpdated, disabled: readOnly })] })), hideClearButton ? null : (_jsx(ClearInputButton, { buttonShown: !answersEmpty, readOnly: readOnly, onClear: onClear }))] })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
|
|
22
|
+
}
|
|
23
|
+
export default ChoiceCheckboxFormGroup;
|
|
24
|
+
//# sourceMappingURL=ChoiceCheckboxFormGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxFormGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAM7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAetD,SAAS,uBAAuB,CAAC,KAAmC;;IAClE,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,OAAO,EACP,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1C,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,MAAC,eAAe,kBACd,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,iCAAiC,EAAE,iCAAiC,EACpE,eAAe,EAAE,eAAe,GAChC,EACD,QAAQ,KACO,EAElB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EAEpB,KAAC,eAAe,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,KAC9D,EAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACvF,KACG,EAEL,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.tsx"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxList.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxList.tsx"],"names":[],"mappings":""}
|
|
@@ -10,6 +10,7 @@ import { useRendererStylingStore } from '../../../stores';
|
|
|
10
10
|
function ChoiceRadioAnswerOptionFields(props) {
|
|
11
11
|
var _a;
|
|
12
12
|
const { qItem, options, valueRadio, feedback, readOnly, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
13
|
+
const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
|
|
13
14
|
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
15
|
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
16
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
@@ -17,7 +18,7 @@ function ChoiceRadioAnswerOptionFields(props) {
|
|
|
17
18
|
justifyContent: 'space-between',
|
|
18
19
|
alignItems: { xs: 'start', sm: 'center' },
|
|
19
20
|
flexDirection: { xs: 'column', sm: 'row' }
|
|
20
|
-
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => {
|
|
21
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', onChange: (e) => {
|
|
21
22
|
// If item.readOnly=true, do not allow any changes
|
|
22
23
|
if (readOnly) {
|
|
23
24
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAa1D,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,OAAO,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,KAAC,gBAAgB,kBACf,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,qBAClB,QAAQ,GAAG,KAAK,CAAC,MAAM,EACxC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { useRendererStylingStore } from '../../../stores';
|
|
|
13
13
|
function ChoiceRadioAnswerValueSetFields(props) {
|
|
14
14
|
var _a;
|
|
15
15
|
const { qItem, options, valueRadio, feedback, readOnly, expressionUpdated, terminologyError, onCheckedChange, onClear } = props;
|
|
16
|
+
const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
|
|
16
17
|
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
17
18
|
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
18
19
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
@@ -21,7 +22,7 @@ function ChoiceRadioAnswerValueSetFields(props) {
|
|
|
21
22
|
justifyContent: 'space-between',
|
|
22
23
|
alignItems: { xs: 'start', sm: 'center' },
|
|
23
24
|
flexDirection: { xs: 'column', sm: 'row' }
|
|
24
|
-
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => {
|
|
25
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, "aria-labelledby": 'label-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', onChange: (e) => {
|
|
25
26
|
// If item.readOnly=true, do not allow any changes
|
|
26
27
|
if (readOnly) {
|
|
27
28
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx"],"names":[],"mappings":";AAkBA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc1D,SAAS,+BAA+B,CAAC,KAA2C;;IAClF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;wBACF,cAAc,EAAE,eAAe;wBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;wBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;qBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,KAAC,gBAAgB,kBACf,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,qBAClB,QAAQ,GAAG,KAAK,CAAC,MAAM,EACxC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
|
+
interface ChoiceRadioGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
valueRadio: string | null;
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function ChoiceRadioGroup(props: ChoiceRadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ChoiceRadioGroup;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
|
+
import { StyledRadioGroup, StyledRequiredTypography } from '../Item.styles';
|
|
4
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
5
|
+
import RadioOptionList from '../ItemParts/RadioOptionList';
|
|
6
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
7
|
+
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
8
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
9
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
10
|
+
function ChoiceRadioGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { qItem, options, valueRadio, feedback, readOnly, expressionUpdated, answerOptionsToggleExpressionsMap, onCheckedChange, onClear, children } = props;
|
|
13
|
+
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
|
+
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
|
+
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
17
|
+
justifyContent: 'space-between',
|
|
18
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
19
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
20
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsxs(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => {
|
|
21
|
+
// If item.readOnly=true, do not allow any changes
|
|
22
|
+
if (readOnly) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
onCheckedChange(e.target.value);
|
|
26
|
+
}, value: valueRadio, "data-test": "q-item-radio-group" }, { children: [_jsx(RadioOptionList, { options: options, readOnly: readOnly, fullWidth: inputsFlexGrow, answerOptionsToggleExpressionsMap: answerOptionsToggleExpressionsMap }), children] })), _jsx(Box, { flexGrow: 1 }), _jsx(FadingCheckIcon, { fadeIn: expressionUpdated, disabled: readOnly })] })), hideClearButton ? null : (_jsx(ClearInputButton, { buttonShown: !!valueRadio, readOnly: readOnly, onClear: onClear }))] })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
|
|
27
|
+
}
|
|
28
|
+
export default ChoiceRadioGroup;
|
|
29
|
+
//# sourceMappingURL=ChoiceRadioGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceRadioGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioGroup.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAe7D,SAAS,gBAAgB,CAAC,KAA4B;;IACpD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,OAAO,EACP,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,MAAC,gBAAgB,kBACf,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAC/D,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,kDAAkD;oCAClD,IAAI,QAAQ,EAAE;wCACZ,OAAO;qCACR;oCAED,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCAClC,CAAC,EACD,KAAK,EAAE,UAAU,eACP,oBAAoB,iBAC9B,KAAC,eAAe,IACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,iCAAiC,EAAE,iCAAiC,GACpE,EACD,QAAQ,KACQ,EAEnB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EAEpB,KAAC,eAAe,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,KAC9D,EAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACtF,KACG,EAEL,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -6,7 +6,8 @@ function ChoiceRadioSingle(props) {
|
|
|
6
6
|
const { value, label, readOnly, fullWidth } = props;
|
|
7
7
|
const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
|
|
8
8
|
return (_jsx(FormControlLabel, { sx: Object.assign({ width: fullWidth ? '100%' : 'unset' }, (readOnly && {
|
|
9
|
-
color: readOnlyVisualStyle === 'readonly' ? 'text.secondary' : undefined
|
|
9
|
+
color: readOnlyVisualStyle === 'readonly' ? 'text.secondary' : undefined,
|
|
10
|
+
cursor: 'default'
|
|
10
11
|
})), disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', value: value, control: _jsx(StandardRadio, { size: "small", readOnly: readOnly && readOnlyVisualStyle === 'readonly' }), label: label }));
|
|
11
12
|
}
|
|
12
13
|
export default ChoiceRadioSingle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx"],"names":[],"mappings":";AAkBA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,gBAAgB,IACf,EAAE,kBACA,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAChC,CAAC,QAAQ,IAAI;YACd,KAAK,EAAE,mBAAmB,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx"],"names":[],"mappings":";AAkBA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,gBAAgB,IACf,EAAE,kBACA,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAChC,CAAC,QAAQ,IAAI;YACd,KAAK,EAAE,mBAAmB,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,SAAS;SAClB,CAAC,GAEJ,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,KAAK,EAAE,KAAK,EACZ,OAAO,EACL,KAAC,aAAa,IAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,GAAI,EAE1F,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
|
+
interface ChoiceRadioGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
valueRadio: string | null;
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function ChoiceRadioGroup(props: ChoiceRadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ChoiceRadioGroup;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
|
+
import { StyledRadioGroup, StyledRequiredTypography } from '../Item.styles';
|
|
4
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
5
|
+
import RadioOptionList from '../ItemParts/RadioOptionList';
|
|
6
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
7
|
+
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
8
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
9
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
10
|
+
function ChoiceRadioGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { qItem, options, valueRadio, feedback, readOnly, expressionUpdated, answerOptionsToggleExpressionsMap, onCheckedChange, onClear, children } = props;
|
|
13
|
+
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
|
+
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
|
+
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
17
|
+
justifyContent: 'space-between',
|
|
18
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
19
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
20
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsxs(StyledRadioGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => {
|
|
21
|
+
// If item.readOnly=true, do not allow any changes
|
|
22
|
+
if (readOnly) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
onCheckedChange(e.target.value);
|
|
26
|
+
}, value: valueRadio, "data-test": "q-item-radio-group" }, { children: [_jsx(RadioOptionList, { options: options, readOnly: readOnly, fullWidth: inputsFlexGrow, answerOptionsToggleExpressionsMap: answerOptionsToggleExpressionsMap }), children] })), _jsx(Box, { flexGrow: 1 }), _jsx(FadingCheckIcon, { fadeIn: expressionUpdated, disabled: readOnly })] })), hideClearButton ? null : (_jsx(ClearInputButton, { buttonShown: !!valueRadio, readOnly: readOnly, onClear: onClear }))] })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
|
|
27
|
+
}
|
|
28
|
+
export default ChoiceRadioGroup;
|
|
29
|
+
//# sourceMappingURL=RadioFormGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioFormGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/RadioFormGroup.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAe7D,SAAS,gBAAgB,CAAC,KAA4B;;IACpD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,OAAO,EACP,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,MAAC,gBAAgB,kBACf,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAC/D,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,kDAAkD;oCAClD,IAAI,QAAQ,EAAE;wCACZ,OAAO;qCACR;oCAED,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCAClC,CAAC,EACD,KAAK,EAAE,UAAU,eACP,oBAAoB,iBAC9B,KAAC,eAAe,IACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,iCAAiC,EAAE,iCAAiC,GACpE,EACD,QAAQ,KACQ,EAEnB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EAEpB,KAAC,eAAe,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,KAC9D,EAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACtF,KACG,EAEL,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
3
|
+
interface ChoiceCheckboxFormGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
answers: QuestionnaireResponseItemAnswer[];
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function CheckboxFormGroup(props: ChoiceCheckboxFormGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default CheckboxFormGroup;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '@mui/material';
|
|
3
|
+
import { StyledFormGroup, StyledRequiredTypography } from '../Item.styles';
|
|
4
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
5
|
+
import FadingCheckIcon from './FadingCheckIcon';
|
|
6
|
+
import ClearInputButton from './ClearInputButton';
|
|
7
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
8
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
9
|
+
import CheckboxOptionList from '../ChoiceItems/CheckboxOptionList';
|
|
10
|
+
function CheckboxFormGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { qItem, options, answers, feedback, readOnly, expressionUpdated, answerOptionsToggleExpressionsMap, onCheckedChange, onClear, children } = props;
|
|
13
|
+
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
14
|
+
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
15
|
+
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
16
|
+
const answersEmpty = answers.length === 0;
|
|
17
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, Object.assign({ display: "flex", sx: {
|
|
18
|
+
justifyContent: 'space-between',
|
|
19
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
20
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
21
|
+
} }, { children: [_jsxs(Box, Object.assign({ display: "flex", alignItems: "center", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsxs(StyledFormGroup, Object.assign({ id: qItem.type + '-' + qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} }, { children: [_jsx(CheckboxOptionList, { options: options, answers: answers, readOnly: readOnly, fullWidth: inputsFlexGrow, answerOptionsToggleExpressionsMap: answerOptionsToggleExpressionsMap, onCheckedChange: onCheckedChange }), children] })), _jsx(Box, { flexGrow: 1 }), _jsx(FadingCheckIcon, { fadeIn: expressionUpdated, disabled: readOnly })] })), hideClearButton ? null : (_jsx(ClearInputButton, { buttonShown: !answersEmpty, readOnly: readOnly, onClear: onClear }))] })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
|
|
22
|
+
}
|
|
23
|
+
export default CheckboxFormGroup;
|
|
24
|
+
//# sourceMappingURL=CheckboxFormGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxFormGroup.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxFormGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAenE,SAAS,iBAAiB,CAAC,KAAmC;;IAC5D,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,OAAO,EACP,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1C,OAAO,CACL,8BACE,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;oBACF,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;oBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;iBAC3C,iBACD,MAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,MAAC,eAAe,kBACd,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,iBAC/D,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,iCAAiC,EAAE,iCAAiC,EACpE,eAAe,EAAE,eAAe,GAChC,EACD,QAAQ,KACO,EAElB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EAEpB,KAAC,eAAe,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,KAC9D,EAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,KAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACvF,KACG,EAEL,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { useRendererStylingStore } from '../../../stores';
|
|
|
5
5
|
function CheckboxSingle(props) {
|
|
6
6
|
const { value, label, readOnly, isChecked, onCheckedChange } = props;
|
|
7
7
|
const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
|
|
8
|
-
return (_jsx(FormControlLabel, { disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: isChecked, readOnly: readOnly && readOnlyVisualStyle === 'readonly', onChange: () => {
|
|
8
|
+
return (_jsx(FormControlLabel, { disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: isChecked, readOnly: readOnly && readOnlyVisualStyle === 'readonly', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', role: "checkbox", "aria-checked": isChecked, onChange: () => {
|
|
9
9
|
// If item.readOnly=true, do not allow any changes
|
|
10
10
|
if (readOnly) {
|
|
11
11
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingle.tsx"],"names":[],"mappings":";AAkBA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAU1D,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAErE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,OAAO,EACL,KAAC,gBAAgB,IACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"CheckboxSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingle.tsx"],"names":[],"mappings":";AAkBA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAU1D,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAErE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,OAAO,EACL,KAAC,gBAAgB,IACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,IAAI,EAAC,UAAU,kBACD,SAAS,EACvB,QAAQ,EAAE,GAAG,EAAE;gBACb,kDAAkD;gBAClD,IAAI,QAAQ,EAAE;oBACZ,OAAO;iBACR;gBAED,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,GACD,EAEJ,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -10,7 +10,7 @@ function CheckboxSingleWithOpenLabel(props) {
|
|
|
10
10
|
function handleCheckedChange(event) {
|
|
11
11
|
onCheckedChange(event.target.checked);
|
|
12
12
|
}
|
|
13
|
-
return (_jsxs(Box, Object.assign({ "data-test": "q-item-checkbox-open-label-box" }, { children: [_jsx(FormControlLabel, { disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: isChecked, readOnly: readOnly && readOnlyVisualStyle === 'readonly', onChange: handleCheckedChange }), label: label + ':' }), _jsx(OpenLabelField, { value: value, readOnly: readOnly, openLabelOptionSelected: isChecked, onInputChange: onInputChange })] })));
|
|
13
|
+
return (_jsxs(Box, Object.assign({ "data-test": "q-item-checkbox-open-label-box" }, { children: [_jsx(FormControlLabel, { disabled: readOnly && readOnlyVisualStyle === 'disabled', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', control: _jsx(StandardCheckbox, { size: "small", checked: isChecked, readOnly: readOnly && readOnlyVisualStyle === 'readonly', "aria-readonly": readOnly && readOnlyVisualStyle === 'readonly', role: "checkbox", "aria-checked": isChecked, onChange: handleCheckedChange }), label: label + ':' }), _jsx(OpenLabelField, { value: value, readOnly: readOnly, openLabelOptionSelected: isChecked, onInputChange: onInputChange })] })));
|
|
14
14
|
}
|
|
15
15
|
export default CheckboxSingleWithOpenLabel;
|
|
16
16
|
//# sourceMappingURL=CheckboxSingleWithOpenLabel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSingleWithOpenLabel.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx"],"names":[],"mappings":";AAmBA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAW9C,SAAS,2BAA2B,CAAC,KAAY;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEpF,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,SAAS,mBAAmB,CAAC,KAAoC;QAC/D,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CACL,MAAC,GAAG,+BAAW,gCAAgC,iBAC7C,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,OAAO,EACL,KAAC,gBAAgB,IACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"CheckboxSingleWithOpenLabel.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx"],"names":[],"mappings":";AAmBA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAW9C,SAAS,2BAA2B,CAAC,KAAY;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEpF,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,SAAS,mBAAmB,CAAC,KAAoC;QAC/D,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CACL,MAAC,GAAG,+BAAW,gCAAgC,iBAC7C,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,OAAO,EACL,KAAC,gBAAgB,IACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,mBACzC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAC7D,IAAI,EAAC,UAAU,kBACD,SAAS,EACvB,QAAQ,EAAE,mBAAmB,GAC7B,EAEJ,KAAK,EAAE,KAAK,GAAG,GAAG,GAClB,EACF,KAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,uBAAuB,EAAE,SAAS,EAClC,aAAa,EAAE,aAAa,GAC5B,KACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
|
+
interface ChoiceRadioGroupProps {
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
|
+
valueRadio: string | null;
|
|
7
|
+
feedback: string;
|
|
8
|
+
readOnly: boolean;
|
|
9
|
+
expressionUpdated: boolean;
|
|
10
|
+
answerOptionsToggleExpressionsMap: Map<string, boolean>;
|
|
11
|
+
onCheckedChange: (newValue: string) => void;
|
|
12
|
+
onClear: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function RadioFormGroup(props: ChoiceRadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default RadioFormGroup;
|