@aehrc/smart-forms-renderer 0.38.4 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.ts +8 -3
- package/CHANGELOG.md +42 -39
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +6 -4
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +10 -8
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +5 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +7 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +6 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +11 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +8 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +10 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +11 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +6 -4
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +5 -3
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +14 -6
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +6 -4
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +7 -5
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +8 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +7 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +10 -9
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +9 -8
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +9 -8
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +7 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +13 -10
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js +3 -3
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/AddItemButton.d.ts +2 -2
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js +4 -2
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js +14 -21
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.js +3 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.js +6 -4
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableBody.js +1 -1
- package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js +6 -4
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/TimeItem/TimeItem.js +4 -2
- package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js +4 -2
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/hooks/useBooleanCalculatedExpression.js +3 -2
- package/lib/hooks/useBooleanCalculatedExpression.js.map +1 -1
- package/lib/hooks/useCodingCalculatedExpression.js +4 -3
- package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
- package/lib/hooks/useDecimalCalculatedExpression.js +3 -2
- package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -1
- package/lib/hooks/useInitialiseRepeatAnswers.d.ts +2 -3
- package/lib/hooks/useInitialiseRepeatAnswers.js +7 -15
- package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
- package/lib/hooks/useIntegerCalculatedExpression.js +3 -2
- package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -1
- package/lib/hooks/useQuantityCalculatedExpression.js +5 -3
- package/lib/hooks/useQuantityCalculatedExpression.js.map +1 -1
- package/lib/hooks/useStringCalculatedExpression.js +3 -2
- package/lib/hooks/useStringCalculatedExpression.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/tests/test-data/observationSample.d.ts +6 -0
- package/lib/tests/test-data/observationSample.js +716 -0
- package/lib/tests/test-data/observationSample.js.map +1 -0
- package/lib/utils/choice.d.ts +1 -1
- package/lib/utils/choice.js +5 -3
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/dynamicValueSet.d.ts +1 -1
- package/lib/utils/extractObservation.d.ts +14 -0
- package/lib/utils/extractObservation.js +179 -0
- package/lib/utils/extractObservation.js.map +1 -0
- package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js +1 -1
- package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js.map +1 -1
- package/lib/utils/fhirpathAsyncUtils/outcome-utils.js +3 -3
- package/lib/utils/fhirpathAsyncUtils/outcome-utils.js.map +1 -1
- package/lib/utils/genericRecursive.d.ts +5 -2
- package/lib/utils/genericRecursive.js +10 -2
- package/lib/utils/genericRecursive.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/itemControl.js +1 -1
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/openChoice.d.ts +1 -1
- package/lib/utils/openChoice.js +6 -4
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/qItem.js +5 -0
- package/lib/utils/qItem.js.map +1 -1
- package/lib/utils/qrItem.d.ts +2 -2
- package/lib/utils/qrItem.js +7 -3
- package/lib/utils/qrItem.js.map +1 -1
- package/lib/utils/quantity.d.ts +1 -1
- package/lib/utils/quantity.js +3 -1
- package/lib/utils/quantity.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractPreferredTerminologyServerUrls.d.ts +3 -0
- package/lib/utils/questionnaireStoreUtils/extractPreferredTerminologyServerUrls.js +34 -0
- package/lib/utils/questionnaireStoreUtils/extractPreferredTerminologyServerUrls.js.map +1 -0
- package/package.json +12 -11
- package/src/components/FormComponents/AttachmentItem/AttachmentItem.tsx +8 -6
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +11 -9
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +6 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +5 -3
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +5 -3
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +11 -6
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +6 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +10 -5
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +11 -7
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +8 -7
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +6 -5
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +15 -7
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +7 -6
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +9 -8
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +7 -4
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +7 -4
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +12 -8
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +12 -8
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +7 -6
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +6 -4
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +31 -10
- package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +3 -3
- package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +7 -3
- package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +18 -28
- package/src/components/FormComponents/SliderItem/SliderItem.tsx +3 -2
- package/src/components/FormComponents/StringItem/StringItem.tsx +7 -5
- package/src/components/FormComponents/Tables/GroupTableBody.tsx +1 -1
- package/src/components/FormComponents/TextItem/TextItem.tsx +7 -5
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +3 -2
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +4 -2
- package/src/hooks/useBooleanCalculatedExpression.ts +3 -2
- package/src/hooks/useCodingCalculatedExpression.ts +4 -3
- package/src/hooks/useDecimalCalculatedExpression.ts +3 -2
- package/src/hooks/useInitialiseRepeatAnswers.ts +14 -26
- package/src/hooks/useIntegerCalculatedExpression.ts +3 -2
- package/src/hooks/useQuantityCalculatedExpression.ts +6 -3
- package/src/hooks/useStringCalculatedExpression.ts +3 -2
- package/src/index.ts +2 -1
- package/src/tests/extractObservation.test.ts +132 -0
- package/src/tests/test-data/observationSample.ts +721 -0
- package/src/utils/choice.ts +8 -3
- package/src/utils/extractObservation.ts +284 -0
- package/src/utils/genericRecursive.ts +27 -5
- package/src/utils/index.ts +1 -0
- package/src/utils/itemControl.ts +1 -1
- package/src/utils/openChoice.ts +7 -4
- package/src/utils/qItem.ts +6 -0
- package/src/utils/qrItem.ts +12 -3
- package/src/utils/quantity.ts +4 -1
- package/src/hooks/useRepeatAnswers.ts +0 -45
- package/src/interfaces/repeatItem.interface.ts +0 -6
package/.storybook/main.ts
CHANGED
|
@@ -11,19 +11,24 @@ function getAbsolutePath(value: string): any {
|
|
|
11
11
|
}
|
|
12
12
|
const config: StorybookConfig = {
|
|
13
13
|
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
14
|
+
|
|
14
15
|
addons: [
|
|
15
16
|
getAbsolutePath('@storybook/addon-links'),
|
|
16
17
|
getAbsolutePath('@storybook/addon-essentials'),
|
|
17
18
|
getAbsolutePath('@storybook/addon-onboarding'),
|
|
18
19
|
getAbsolutePath('@storybook/addon-interactions'),
|
|
19
|
-
'@chromatic-com/storybook'
|
|
20
|
+
getAbsolutePath('@chromatic-com/storybook')
|
|
20
21
|
],
|
|
22
|
+
|
|
21
23
|
framework: {
|
|
22
24
|
name: getAbsolutePath('@storybook/react-vite'),
|
|
23
25
|
options: {}
|
|
24
26
|
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
|
|
28
|
+
docs: {},
|
|
29
|
+
|
|
30
|
+
typescript: {
|
|
31
|
+
reactDocgen: 'react-docgen-typescript'
|
|
27
32
|
}
|
|
28
33
|
};
|
|
29
34
|
export default config;
|
package/CHANGELOG.md
CHANGED
|
@@ -1,40 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
##### Chores
|
|
4
|
-
|
|
5
|
-
* Add changelog_guide.md to .gitignore ([ca2a8558](https://github.com/aehrc/smart-forms/commit/ca2a85587592f681cb9db6501bafff3c663a7bd6))
|
|
6
|
-
|
|
7
|
-
##### Bug Fixes
|
|
8
|
-
|
|
9
|
-
* retrieve new encounter for re-population ([652b2d03](https://github.com/aehrc/smart-forms/commit/652b2d03cd9eb500bd2182be6236a1c920e9bc66))
|
|
10
|
-
|
|
11
|
-
##### Other Changes
|
|
12
|
-
|
|
13
|
-
* //smartforms.csiro.au/api/fhir' env to deployed $assemble ([dfef7f57](https://github.com/aehrc/smart-forms/commit/dfef7f57259ff80ad3b94bcd0ac0792ff6c28ab2))
|
|
14
|
-
* disable Format JSON button when editor is not in view ([d7792c35](https://github.com/aehrc/smart-forms/commit/d7792c359742302baf939b4bd7a2c8e5298139d1))
|
|
15
|
-
* true to renderer ([82fc29b5](https://github.com/aehrc/smart-forms/commit/82fc29b5bf9a87176d57a6661a330b7a61bbace5))
|
|
16
|
-
* true ([c5cfb692](https://github.com/aehrc/smart-forms/commit/c5cfb6923d97358b1f6e5f376360d29fca5bb1e6))
|
|
17
|
-
* //jira.hl7.org/browse/FHIR-41279 ([8c44bb8b](https://github.com/aehrc/smart-forms/commit/8c44bb8b62486c30df94c97e9b757eb2abc1a9cf))
|
|
18
|
-
* 3000 cypress tests ([c62388f3](https://github.com/aehrc/smart-forms/commit/c62388f385afa2f8901a306c42ccc13211f242b1))
|
|
19
|
-
* 3000 ([9934f7b9](https://github.com/aehrc/smart-forms/commit/9934f7b9cf74be622314f9b51113ef92d2ae0886))
|
|
20
|
-
* 3001 ([e701352b](https://github.com/aehrc/smart-forms/commit/e701352b7123e91cea8646648e0dd8cefbe0ed71))
|
|
21
|
-
* Remove out-of-place-looking debug bar label ([b4990852](https://github.com/aehrc/smart-forms/commit/b4990852d7f24289bda7b9a59b4c020fad68e0cf))
|
|
22
|
-
* Fix form rendering ([36baf7b1](https://github.com/aehrc/smart-forms/commit/36baf7b14df73f1c998fad08ee0d4e42e026536a))
|
|
23
|
-
* Testfeature enableWhen checks toggle ([160635a3](https://github.com/aehrc/smart-forms/commit/160635a303e02f4442cf6e8a8e1c00bebf18b151))
|
|
24
|
-
* Add text display prompt and instructions functionality ([67d67452](https://github.com/aehrc/smart-forms/commit/67d6745204832934d26a138f5ecc277448411873))
|
|
25
|
-
* Feature enablewhen ([b79c9190](https://github.com/aehrc/smart-forms/commit/b79c919048075ecd3bc45ba3e54aa034433f2c24))
|
|
26
|
-
* Feature calculated expressions ([065db5cb](https://github.com/aehrc/smart-forms/commit/065db5cbaa9d6cadb9090e8ba9e1c73d5ecadcd8))
|
|
27
|
-
* Feature smart launch from launch route ([1fc1aad3](https://github.com/aehrc/smart-forms/commit/1fc1aad375ff315e2183888b1235e261638c2ef8))
|
|
28
|
-
* Refactor form components ([1ec14063](https://github.com/aehrc/smart-forms/commit/1ec140633cffa9a8aed98d4520c0b2314dff4186))
|
|
29
|
-
* Refactor form components ([a9cdd6dc](https://github.com/aehrc/smart-forms/commit/a9cdd6dc9056ad325174f07b9c5dc6123a38c4e8))
|
|
30
|
-
* Feature tabs v2 ([c94a5739](https://github.com/aehrc/smart-forms/commit/c94a5739c073b1959c6536c1a060121392fdb43a))
|
|
31
|
-
* Add QItemTime form component ([a6594ac7](https://github.com/aehrc/smart-forms/commit/a6594ac75bd3c70e9f9a341284cacdba1c36c910))
|
|
32
|
-
* Fix use fhir r5 specification ([d7985657](https://github.com/aehrc/smart-forms/commit/d798565725b528539fc1afa01aa7da10ed80e232))
|
|
33
|
-
* Fix base Choice form component pass orientation props ([64481d0e](https://github.com/aehrc/smart-forms/commit/64481d0e1f2c6420c29c15ea19c3ddad1231de3a))
|
|
34
|
-
* Implement choice orientation ([c668add9](https://github.com/aehrc/smart-forms/commit/c668add9e6ecb326e7ac8499ab994fd394679d4c))
|
|
35
|
-
* Feature hidden questions ([83e978ea](https://github.com/aehrc/smart-forms/commit/83e978eaa1ee831e7a7406e7bb8e1d9d62812916))
|
|
36
|
-
* Feature repeats ([13acda31](https://github.com/aehrc/smart-forms/commit/13acda310dd997c9368aad0413e8b57794dc7338))
|
|
37
|
-
* Feature form components ([975ad066](https://github.com/aehrc/smart-forms/commit/975ad06649ed300b299831e95ffe265766fa7495))
|
|
38
|
-
* Fix write questionnaire response ([aae2595d](https://github.com/aehrc/smart-forms/commit/aae2595d722e6522fb992a90ccf0df09b91410f0))
|
|
39
|
-
* Feature read write questionnaire response ([cc851a35](https://github.com/aehrc/smart-forms/commit/cc851a3534ea7073c5a4438590e8a7dd8231f922))
|
|
1
|
+
# Change log
|
|
40
2
|
|
|
3
|
+
This log documents significant changes for the [@aehrc/smart-forms-renderer](https://www.npmjs.com/package/@aehrc/smart-forms-renderer). This project follows
|
|
4
|
+
[Semantic Versioning](http://semver.org/).
|
|
5
|
+
|
|
6
|
+
Changelog only includes changes from version 0.36.0 onwards.
|
|
7
|
+
|
|
8
|
+
## [0.39.0] - 2024-09-06
|
|
9
|
+
### Changed
|
|
10
|
+
- Refactored `repeat` items so that it tracks item instances using the QuestionnaireResponse, instead of using React's `useState`.
|
|
11
|
+
|
|
12
|
+
Note: This is a huge change for performance improvements, and was able to pass all the end-to-end and Chromatic tests - but please proceed carefully and test thoroughly before using this version in production.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- Fixed an issue where `string` and `text` items were automatically removing inputted trailing whitespaces.
|
|
16
|
+
|
|
17
|
+
## [0.38.4] - 2024-08-29
|
|
18
|
+
### Fixed
|
|
19
|
+
- Fixed support for item.initial and item.answerOption.initialSelected for repeating groups.
|
|
20
|
+
|
|
21
|
+
## [0.38.3] - 2024-08-23
|
|
22
|
+
### Added
|
|
23
|
+
- Added support for non-repeating group table (`gtable`) items.
|
|
24
|
+
|
|
25
|
+
## [0.38.2] - 2024-08-21
|
|
26
|
+
### Added
|
|
27
|
+
- Added support for `Quantity` items. See documentation and Storybook for more details.
|
|
28
|
+
|
|
29
|
+
## [0.37.2] - 2024-08-19
|
|
30
|
+
### Fixed
|
|
31
|
+
- Fixed a @aehrc/sdc-populate library dependency issue.
|
|
32
|
+
|
|
33
|
+
## [0.37.1] - 2024-08-05
|
|
34
|
+
### Added
|
|
35
|
+
- Added support for `page` UI Control code from https://hl7.org/fhir/extensions/ValueSet-questionnaire-item-control.html.
|
|
36
|
+
|
|
37
|
+
## [0.36.1] - 2024-07-23
|
|
38
|
+
### Added
|
|
39
|
+
- Add support for `Coding` type in calculatedExpressions for choice and open-choice items.
|
|
40
|
+
|
|
41
|
+
## [0.36.0] - 2024-07-22
|
|
42
|
+
### Added
|
|
43
|
+
- Add Save-Extract-Write functionality (StructureMap-based) in the "Save as Final" button in the Smart Forms app.
|
|
@@ -34,9 +34,11 @@ import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
|
34
34
|
import { DndProvider } from 'react-dnd';
|
|
35
35
|
import { createAttachmentAnswer } from '../../../utils/fileUtils';
|
|
36
36
|
function AttachmentItem(props) {
|
|
37
|
+
var _a;
|
|
37
38
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
38
39
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
39
40
|
// Init input value
|
|
41
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
40
42
|
let valueString = '';
|
|
41
43
|
if ((qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) && (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueString)) {
|
|
42
44
|
valueString = qrItem.answer[0].valueString;
|
|
@@ -50,10 +52,10 @@ function AttachmentItem(props) {
|
|
|
50
52
|
setUploadedFile(newUploadedFile);
|
|
51
53
|
const attachment = yield createAttachmentAnswer(newUploadedFile, url, fileName);
|
|
52
54
|
if (attachment) {
|
|
53
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueAttachment: attachment }] }));
|
|
55
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueAttachment: attachment }] }));
|
|
54
56
|
}
|
|
55
57
|
else {
|
|
56
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
58
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
57
59
|
}
|
|
58
60
|
});
|
|
59
61
|
}
|
|
@@ -73,10 +75,10 @@ function AttachmentItem(props) {
|
|
|
73
75
|
const updateQrItemWithDebounce = useCallback(debounce((file, url, fileName) => __awaiter(this, void 0, void 0, function* () {
|
|
74
76
|
const attachment = yield createAttachmentAnswer(file, url, fileName);
|
|
75
77
|
if (attachment) {
|
|
76
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueAttachment: attachment }] }));
|
|
78
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueAttachment: attachment }] }));
|
|
77
79
|
}
|
|
78
80
|
else {
|
|
79
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
81
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
80
82
|
}
|
|
81
83
|
}), DEBOUNCE_DURATION), [onQrItemChange, qItem]); // Dependencies are tested, debounce is causing eslint to not recognise dependencies
|
|
82
84
|
return (React.createElement(DndProvider, { backend: HTML5Backend, context: window },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/AttachmentItem/AttachmentItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQrD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAiBlE,SAAS,cAAc,CAAC,KAA0B
|
|
1
|
+
{"version":3,"file":"AttachmentItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/AttachmentItem/AttachmentItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,14 @@ import useReadOnly from '../../../hooks/useReadOnly';
|
|
|
24
24
|
import { useQuestionnaireStore } from '../../../stores';
|
|
25
25
|
import useBooleanCalculatedExpression from '../../../hooks/useBooleanCalculatedExpression';
|
|
26
26
|
function BooleanItem(props) {
|
|
27
|
-
var _a, _b;
|
|
27
|
+
var _a, _b, _c;
|
|
28
28
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
29
29
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
30
30
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
31
|
+
// Init input value
|
|
32
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
31
33
|
let valueBoolean = undefined;
|
|
32
|
-
if (((
|
|
34
|
+
if (((_c = (_b = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.valueBoolean) !== undefined) {
|
|
33
35
|
valueBoolean = qrItem.answer[0].valueBoolean;
|
|
34
36
|
}
|
|
35
37
|
// Process calculated expressions
|
|
@@ -37,28 +39,28 @@ function BooleanItem(props) {
|
|
|
37
39
|
qItem: qItem,
|
|
38
40
|
booleanValue: valueBoolean,
|
|
39
41
|
onChangeByCalcExpressionBoolean: (newValueBoolean) => {
|
|
40
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueBoolean: newValueBoolean }] }));
|
|
42
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueBoolean: newValueBoolean }] }));
|
|
41
43
|
},
|
|
42
44
|
onChangeByCalcExpressionNull: () => {
|
|
43
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
45
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
44
46
|
}
|
|
45
47
|
});
|
|
46
48
|
// Event handlers
|
|
47
49
|
function handleValueChange(newValue) {
|
|
48
50
|
switch (newValue) {
|
|
49
51
|
case 'true':
|
|
50
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueBoolean: true }] }));
|
|
52
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueBoolean: true }] }));
|
|
51
53
|
break;
|
|
52
54
|
case 'false':
|
|
53
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueBoolean: false }] }));
|
|
55
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueBoolean: false }] }));
|
|
54
56
|
break;
|
|
55
57
|
default:
|
|
56
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
58
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
57
59
|
break;
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
function handleClear() {
|
|
61
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
63
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
62
64
|
}
|
|
63
65
|
if (isTabled) {
|
|
64
66
|
return (React.createElement(Box, { display: "flex", justifyContent: "center" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,8BAA8B,MAAM,+CAA+C,CAAC;AAW3F,SAAS,WAAW,CAAC,KAAuB;;IAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtD,IAAI,YAAY,GAAwB,SAAS,CAAC;IAClD,IAAI,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAG,CAAC,CAAC,0CAAE,YAAY,MAAK,SAAS,EAAE;QACnD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;KAC9C;IAED,iCAAiC;IACjC,MAAM,EAAE,cAAc,EAAE,GAAG,8BAA8B,CAAC;QACxD,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,YAAY;QAC1B,+BAA+B,EAAE,CAAC,eAAwB,EAAE,EAAE;YAC5D,cAAc,iCACT,iBAAiB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"BooleanItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,12 @@ import ChoiceAutocompleteField from './ChoiceAutocompleteField';
|
|
|
25
25
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
26
26
|
import { useQuestionnaireStore } from '../../../stores';
|
|
27
27
|
function ChoiceAutocompleteItem(props) {
|
|
28
|
+
var _a;
|
|
28
29
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
29
|
-
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
30
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
31
|
// Init input value
|
|
32
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
33
|
+
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
32
34
|
let valueCoding;
|
|
33
35
|
if (qrChoice.answer) {
|
|
34
36
|
valueCoding = qrChoice.answer[0].valueCoding;
|
|
@@ -45,10 +47,10 @@ function ChoiceAutocompleteItem(props) {
|
|
|
45
47
|
function handleValueChange(newValue) {
|
|
46
48
|
if (newValue === null) {
|
|
47
49
|
setInput('');
|
|
48
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
50
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueCoding: newValue }] }));
|
|
53
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [{ id: answerKey, valueCoding: newValue }] }));
|
|
52
54
|
}
|
|
53
55
|
if (isRepeated) {
|
|
54
56
|
return (React.createElement(ChoiceAutocompleteField, { qItem: qItem, options: options, valueCoding: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, loading: loading, feedback: feedback !== null && feedback !== void 0 ? feedback : null, readOnly: readOnly, isTabled: isTabled, onInputChange: setInput, onValueChange: handleValueChange }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AAOjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAWxD,SAAS,sBAAsB,CAAC,KAAkC
|
|
1
|
+
{"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,25 +25,26 @@ import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
|
25
25
|
import { useQuestionnaireStore } from '../../../stores';
|
|
26
26
|
import ChoiceCheckboxAnswerOptionFields from './ChoiceCheckboxAnswerOptionFields';
|
|
27
27
|
function ChoiceCheckboxAnswerOptionItem(props) {
|
|
28
|
-
var _a, _b;
|
|
28
|
+
var _a, _b, _c;
|
|
29
29
|
const { qItem, qrItem, isRepeated, showMinimalView = false, parentIsReadOnly, onQrItemChange } = props;
|
|
30
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
31
|
// Init input value
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
33
|
+
const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
34
|
+
const answers = (_b = qrChoiceCheckbox.answer) !== null && _b !== void 0 ? _b : [];
|
|
34
35
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
35
36
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
36
37
|
// TODO Process calculated expressions
|
|
37
38
|
// This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
|
|
38
39
|
// This will be done after the choice/open-choice refactoring
|
|
39
|
-
const options = (
|
|
40
|
+
const options = (_c = qItem.answerOption) !== null && _c !== void 0 ? _c : [];
|
|
40
41
|
// Event handlers
|
|
41
42
|
function handleCheckedChange(changedValue) {
|
|
42
43
|
if (options.length === 0) {
|
|
43
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
44
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated);
|
|
47
|
+
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated, answerKey);
|
|
47
48
|
if (updatedQrChoiceCheckbox) {
|
|
48
49
|
onQrItemChange(updatedQrChoiceCheckbox);
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAO3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAWlF,SAAS,8BAA8B,CAAC,KAA0C;;IAChF,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,13 @@ import useReadOnly from '../../../hooks/useReadOnly';
|
|
|
26
26
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
27
27
|
import { useQuestionnaireStore } from '../../../stores';
|
|
28
28
|
function ChoiceCheckboxAnswerValueSetItem(props) {
|
|
29
|
-
var _a;
|
|
29
|
+
var _a, _b;
|
|
30
30
|
const { qItem, qrItem, isRepeated, showMinimalView = false, parentIsReadOnly, onQrItemChange } = props;
|
|
31
31
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
32
32
|
// Init input value
|
|
33
|
-
const
|
|
34
|
-
const
|
|
33
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
34
|
+
const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
35
|
+
const answers = (_b = qrChoiceCheckbox.answer) !== null && _b !== void 0 ? _b : [];
|
|
35
36
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
36
37
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
37
38
|
// Get codings/options from valueSet
|
|
@@ -43,10 +44,10 @@ function ChoiceCheckboxAnswerValueSetItem(props) {
|
|
|
43
44
|
// Event handlers
|
|
44
45
|
function handleCheckedChange(changedValue) {
|
|
45
46
|
if (options.length === 0) {
|
|
46
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
47
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
|
-
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated);
|
|
50
|
+
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated, answerKey);
|
|
50
51
|
if (updatedQrChoiceCheckbox) {
|
|
51
52
|
onQrItemChange(updatedQrChoiceCheckbox);
|
|
52
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAO3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAYxD,SAAS,gCAAgC,CAAC,KAA4C;;IACpF,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAO3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAYxD,SAAS,gCAAgC,CAAC,KAA4C;;IACpF,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAG,CAAC,EAAE,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAA,gBAAgB,CAAC,MAAM,mCAAI,EAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,sCAAsC;IACtC,gJAAgJ;IAChJ,6DAA6D;IAE7D,iBAAiB;IACjB,SAAS,mBAAmB,CAAC,YAAoB;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YACpD,OAAO;SACR;QAED,MAAM,uBAAuB,GAAG,2BAA2B,CACzD,YAAY,EACZ,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,SAAS,CACV,CAAC;QAEF,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,CACL;YACE,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,mBAAmB,GACpC;YACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACpF,CACJ,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,6CAA6C,iBAC1C,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7C,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,mBAAmB,GACpC,CACY,CACU,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -25,14 +25,15 @@ import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExp
|
|
|
25
25
|
import ChoiceRadioAnswerOptionView from './ChoiceRadioAnswerOptionView';
|
|
26
26
|
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
27
27
|
function ChoiceRadioAnswerOptionItem(props) {
|
|
28
|
-
var _a;
|
|
28
|
+
var _a, _b;
|
|
29
29
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
30
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
31
|
// Init input value
|
|
32
|
-
const
|
|
32
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
33
|
+
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
33
34
|
const valueChoice = getQrChoiceValue(qrChoice);
|
|
34
35
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
35
|
-
const options = (
|
|
36
|
+
const options = (_b = qItem.answerOption) !== null && _b !== void 0 ? _b : [];
|
|
36
37
|
// Process calculated expressions
|
|
37
38
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
38
39
|
qItem: qItem,
|
|
@@ -41,27 +42,29 @@ function ChoiceRadioAnswerOptionItem(props) {
|
|
|
41
42
|
handleChange(newValueString);
|
|
42
43
|
},
|
|
43
44
|
onChangeByCalcExpressionNull: () => {
|
|
44
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
45
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
45
46
|
}
|
|
46
47
|
});
|
|
47
48
|
// Event handlers
|
|
48
49
|
function handleChange(newValue) {
|
|
49
50
|
// No options present or newValue is type null
|
|
50
51
|
if (options.length === 0 || newValue === null) {
|
|
51
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
52
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
55
|
// newValue is type string
|
|
55
56
|
if (typeof newValue === 'string') {
|
|
56
57
|
const qrAnswer = findInAnswerOptions(options, newValue);
|
|
57
|
-
onQrItemChange(qrAnswer
|
|
58
|
+
onQrItemChange(qrAnswer
|
|
59
|
+
? Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [Object.assign(Object.assign({}, qrAnswer), { id: answerKey })] }) : createEmptyQrItem(qItem, answerKey));
|
|
58
60
|
return;
|
|
59
61
|
}
|
|
60
62
|
// newValue is type QuestionnaireItemAnswerOption
|
|
61
|
-
onQrItemChange(newValue
|
|
63
|
+
onQrItemChange(newValue
|
|
64
|
+
? Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [Object.assign(Object.assign({}, newValue), { id: answerKey })] }) : createEmptyQrItem(qItem, answerKey));
|
|
62
65
|
}
|
|
63
66
|
function handleClear() {
|
|
64
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
67
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
65
68
|
}
|
|
66
69
|
// TODO This is in preparation of refactoring all choice answerOption fields into one component
|
|
67
70
|
const choiceControlType = getChoiceControlType(qItem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AACzF,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAW1E,SAAS,2BAA2B,CAAC,KAAuC;;IAC1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,15 +25,16 @@ import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
|
25
25
|
import { useQuestionnaireStore } from '../../../stores';
|
|
26
26
|
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
27
27
|
function ChoiceRadioAnswerValueSetItem(props) {
|
|
28
|
-
var _a, _b;
|
|
28
|
+
var _a, _b, _c;
|
|
29
29
|
const { qItem, qrItem, isRepeated, parentIsReadOnly, onQrItemChange } = props;
|
|
30
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
31
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
32
32
|
// Init input value
|
|
33
|
-
const
|
|
33
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
34
|
+
const qrChoiceRadio = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
34
35
|
let valueRadio = null;
|
|
35
36
|
if (qrChoiceRadio.answer) {
|
|
36
|
-
valueRadio = (
|
|
37
|
+
valueRadio = (_c = (_b = qrChoiceRadio.answer[0].valueCoding) === null || _b === void 0 ? void 0 : _b.code) !== null && _c !== void 0 ? _c : null;
|
|
37
38
|
}
|
|
38
39
|
// Get codings/options from valueSet
|
|
39
40
|
const { codings, terminologyError } = useValueSetCodings(qItem);
|
|
@@ -45,17 +46,18 @@ function ChoiceRadioAnswerValueSetItem(props) {
|
|
|
45
46
|
handleChange(newValueString);
|
|
46
47
|
},
|
|
47
48
|
onChangeByCalcExpressionNull: () => {
|
|
48
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
49
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
49
50
|
}
|
|
50
51
|
});
|
|
51
52
|
function handleChange(newValue) {
|
|
52
53
|
if (codings.length > 0) {
|
|
53
54
|
const qrAnswer = findInAnswerOptions(options, newValue);
|
|
54
|
-
|
|
55
|
+
const emptyQrItem = createEmptyQrItem(qItem, answerKey);
|
|
56
|
+
onQrItemChange(qrAnswer ? Object.assign(Object.assign({}, emptyQrItem), { answer: [Object.assign(Object.assign({}, qrAnswer), { id: answerKey })] }) : emptyQrItem);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
function handleClear() {
|
|
58
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
60
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
59
61
|
}
|
|
60
62
|
if (isRepeated) {
|
|
61
63
|
return (React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, onCheckedChange: handleChange, onClear: handleClear }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAMnE,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AAUzF,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE9E,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtD,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,14 +22,15 @@ import { useQuestionnaireStore } from '../../../stores';
|
|
|
22
22
|
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
23
23
|
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
24
24
|
function ChoiceSelectAnswerOptionItem(props) {
|
|
25
|
-
var _a;
|
|
25
|
+
var _a, _b;
|
|
26
26
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
27
27
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
28
28
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
29
29
|
// Init input value
|
|
30
|
-
const
|
|
30
|
+
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
31
|
+
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
31
32
|
const valueChoice = getQrChoiceValue(qrChoice);
|
|
32
|
-
const options = (
|
|
33
|
+
const options = (_b = qItem.answerOption) !== null && _b !== void 0 ? _b : [];
|
|
33
34
|
// Process calculated expressions
|
|
34
35
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
35
36
|
qItem: qItem,
|
|
@@ -38,23 +39,25 @@ function ChoiceSelectAnswerOptionItem(props) {
|
|
|
38
39
|
handleChange(newValueString);
|
|
39
40
|
},
|
|
40
41
|
onChangeByCalcExpressionNull: () => {
|
|
41
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
42
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
42
43
|
}
|
|
43
44
|
});
|
|
44
45
|
function handleChange(newValue) {
|
|
45
46
|
// No options present or newValue is type null
|
|
46
47
|
if (options.length === 0 || newValue === null) {
|
|
47
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
48
|
+
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
51
|
// newValue is type string
|
|
51
52
|
if (typeof newValue === 'string') {
|
|
52
53
|
const qrAnswer = findInAnswerOptions(options, newValue);
|
|
53
|
-
onQrItemChange(qrAnswer
|
|
54
|
+
onQrItemChange(qrAnswer
|
|
55
|
+
? Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [Object.assign(Object.assign({}, qrAnswer), { id: answerKey })] }) : createEmptyQrItem(qItem, answerKey));
|
|
54
56
|
return;
|
|
55
57
|
}
|
|
56
58
|
// newValue is type QuestionnaireItemAnswerOption
|
|
57
|
-
onQrItemChange(newValue
|
|
59
|
+
onQrItemChange(newValue
|
|
60
|
+
? Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [Object.assign(Object.assign({}, newValue), { id: answerKey })] }) : createEmptyQrItem(qItem, answerKey));
|
|
58
61
|
}
|
|
59
62
|
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isRepeated: isRepeated, isTabled: isTabled, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
60
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AACzF,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAY1E,SAAS,4BAA4B,CAAC,KAAwC;;IAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtD,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|