@aehrc/smart-forms-renderer 0.3.0 → 0.4.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 +28 -0
- package/.storybook/preview.ts +34 -0
- package/__mocks__/zustand.ts +60 -0
- package/jest.config.ts +16 -0
- package/lib/api/populate.js +63 -0
- package/lib/api/populate.js.map +1 -0
- package/{dist → lib}/components/Alert.styles.d.ts +5 -5
- package/lib/components/Alert.styles.js +40 -0
- package/lib/components/Alert.styles.js.map +1 -0
- package/lib/components/BackToTopButton/BackToTopButton.js +32 -0
- package/lib/components/BackToTopButton/BackToTopButton.js.map +1 -0
- package/{dist → lib}/components/Box.styles.d.ts +15 -15
- package/lib/components/Box.styles.js +30 -0
- package/lib/components/Box.styles.js.map +1 -0
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +24 -0
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -0
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +49 -0
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -0
- package/lib/components/FormComponents/DateItem/DateField.js +31 -0
- package/lib/components/FormComponents/DateItem/DateField.js.map +1 -0
- package/lib/components/FormComponents/DateItem/DateItem.js +52 -0
- package/lib/components/FormComponents/DateItem/DateItem.js.map +1 -0
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +33 -0
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +1 -0
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +52 -0
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -0
- package/lib/components/FormComponents/DecimalItem/DecimalField.js +30 -0
- package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -0
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +80 -0
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -0
- package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js +26 -0
- package/lib/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -0
- package/{dist → lib}/components/FormComponents/DisplayItem/DisplayInstructions.styles.d.ts +5 -5
- package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +23 -0
- package/lib/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -0
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js +31 -0
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -0
- package/{dist → lib}/components/FormComponents/GridGroup/GridGroup.d.ts +1 -1
- package/lib/components/FormComponents/GridGroup/GridGroup.js +58 -0
- package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -0
- package/{dist → lib}/components/FormComponents/GridGroup/GridRow.d.ts +1 -1
- package/lib/components/FormComponents/GridGroup/GridRow.js +55 -0
- package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -0
- package/lib/components/FormComponents/GridGroup/GridTable.js +42 -0
- package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +39 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -0
- package/{dist → lib}/components/FormComponents/GroupItem/GroupItem.d.ts +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.js +62 -0
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -0
- package/{dist → lib}/components/FormComponents/GroupItem/GroupItem.styles.d.ts +5 -5
- package/lib/components/FormComponents/GroupItem/GroupItem.styles.js +27 -0
- package/lib/components/FormComponents/GroupItem/GroupItem.styles.js.map +1 -0
- package/{dist → lib}/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +73 -0
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/NextTabButton.js +25 -0
- package/lib/components/FormComponents/GroupItem/NextTabButton.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +55 -0
- package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -0
- package/lib/components/FormComponents/IntegerItem/IntegerField.js +30 -0
- package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -0
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +73 -0
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -0
- package/lib/components/FormComponents/Item.styles.d.ts +6 -0
- package/lib/components/FormComponents/Item.styles.js +27 -0
- package/lib/components/FormComponents/Item.styles.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js +29 -0
- package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +26 -0
- package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +31 -0
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js +45 -0
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +32 -0
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js +24 -0
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +33 -0
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +31 -0
- package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +1 -0
- package/{dist → lib}/components/FormComponents/Lists.styles.d.ts +5 -5
- package/lib/components/FormComponents/Lists.styles.js +38 -0
- package/lib/components/FormComponents/Lists.styles.js.map +1 -0
- package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoice.d.ts +1 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoice.js +61 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoice.js.map +1 -0
- package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.d.ts +1 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +85 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +70 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +66 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +70 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +70 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +24 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +70 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +1 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +80 -0
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +1 -0
- package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoice.d.ts +1 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +49 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +1 -0
- package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.d.ts +1 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +104 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +1 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +105 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +116 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +1 -0
- package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.d.ts +1 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +74 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +1 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +66 -0
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -0
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +27 -0
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -0
- package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +30 -0
- package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +81 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +30 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -0
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js +27 -0
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -0
- package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js +30 -0
- package/lib/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -0
- package/lib/components/FormComponents/RepeatItem/RepeatField.js +31 -0
- package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -0
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js +69 -0
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -0
- package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +22 -0
- package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js +29 -0
- package/lib/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +1 -0
- package/lib/components/FormComponents/SingleItem/SingleItem.js +32 -0
- package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -0
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +63 -0
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -0
- package/lib/components/FormComponents/StringItem/StringField.js +30 -0
- package/lib/components/FormComponents/StringItem/StringField.js.map +1 -0
- package/lib/components/FormComponents/StringItem/StringItem.js +71 -0
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -0
- package/lib/components/FormComponents/Tables/DeleteRowButton.js +31 -0
- package/lib/components/FormComponents/Tables/DeleteRowButton.js.map +1 -0
- package/{dist → lib}/components/FormComponents/Tables/QItemGroupTable.d.ts +1 -1
- package/lib/components/FormComponents/Tables/QItemGroupTable.js +99 -0
- package/lib/components/FormComponents/Tables/QItemGroupTable.js.map +1 -0
- package/{dist → lib}/components/FormComponents/Tables/QItemGroupTableRow.d.ts +1 -1
- package/lib/components/FormComponents/Tables/QItemGroupTableRow.js +46 -0
- package/lib/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -0
- package/lib/components/FormComponents/Tables/Table.styles.js +46 -0
- package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -0
- package/lib/components/FormComponents/TextItem/TextField.js +29 -0
- package/lib/components/FormComponents/TextItem/TextField.js.map +1 -0
- package/lib/components/FormComponents/TextItem/TextItem.js +71 -0
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -0
- package/{dist → lib}/components/FormComponents/Textfield.styles.d.ts +1 -1
- package/lib/components/FormComponents/Textfield.styles.js +27 -0
- package/lib/components/FormComponents/Textfield.styles.js.map +1 -0
- package/lib/components/FormComponents/TimeItem/TimeField.js +30 -0
- package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -0
- package/lib/components/FormComponents/TimeItem/TimeItem.js +52 -0
- package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -0
- package/lib/components/FormComponents/Typography.styles.d.ts +6 -0
- package/lib/components/FormComponents/Typography.styles.js +23 -0
- package/lib/components/FormComponents/Typography.styles.js.map +1 -0
- package/lib/components/FormComponents/UrlItem/UrlField.js +25 -0
- package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -0
- package/lib/components/FormComponents/UrlItem/UrlItem.js +61 -0
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -0
- package/lib/components/FormRenderer/BaseRenderer.js +54 -0
- package/lib/components/FormRenderer/BaseRenderer.js.map +1 -0
- package/lib/components/FormRenderer/FormBodyCollapsible.js +57 -0
- package/lib/components/FormRenderer/FormBodyCollapsible.js.map +1 -0
- package/lib/components/FormRenderer/FormBodySingleCollapsible.js +39 -0
- package/lib/components/FormRenderer/FormBodySingleCollapsible.js.map +1 -0
- package/{dist → lib}/components/FormRenderer/FormBodySingleCollapsibleWrapper.d.ts +1 -1
- package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +31 -0
- package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
- package/lib/components/FormRenderer/FormBodyTabbed.js +60 -0
- package/lib/components/FormRenderer/FormBodyTabbed.js.map +1 -0
- package/lib/components/FormRenderer/FormRenderer.js +54 -0
- package/lib/components/FormRenderer/FormRenderer.js.map +1 -0
- package/lib/components/FormRenderer/FormTitle.js +30 -0
- package/lib/components/FormRenderer/FormTitle.js.map +1 -0
- package/lib/components/FormRenderer/FormTopLevelItem.js +45 -0
- package/lib/components/FormRenderer/FormTopLevelItem.js.map +1 -0
- package/lib/components/FormRenderer/SmartFormsRenderer.js +37 -0
- package/lib/components/FormRenderer/SmartFormsRenderer.js.map +1 -0
- package/lib/components/FormRenderer/index.js +19 -0
- package/lib/components/FormRenderer/index.js.map +1 -0
- package/lib/components/Iconify/Iconify.js +26 -0
- package/lib/components/Iconify/Iconify.js.map +1 -0
- package/{dist → lib}/components/Lists.styles.d.ts +6 -6
- package/lib/components/Lists.styles.js +38 -0
- package/lib/components/Lists.styles.js.map +1 -0
- package/lib/components/Tabs/CompleteTabButton.js +29 -0
- package/lib/components/Tabs/CompleteTabButton.js.map +1 -0
- package/lib/components/Tabs/FormBodySingleTab.js +39 -0
- package/lib/components/Tabs/FormBodySingleTab.js.map +1 -0
- package/lib/components/Tabs/FormBodyTabList.js +52 -0
- package/lib/components/Tabs/FormBodyTabList.js.map +1 -0
- package/lib/components/index.js +18 -0
- package/lib/components/index.js.map +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useBackToTop.js +26 -0
- package/lib/hooks/useBackToTop.js.map +1 -0
- package/lib/hooks/useDebounce.js +38 -0
- package/lib/hooks/useDebounce.js.map +1 -0
- package/lib/hooks/useDecimalCalculatedExpression.js +50 -0
- package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -0
- package/lib/hooks/useHidden.js +35 -0
- package/lib/hooks/useHidden.js.map +1 -0
- package/lib/hooks/useInitialiseGroupTable.js +36 -0
- package/lib/hooks/useInitialiseGroupTable.js.map +1 -0
- package/lib/hooks/useInitialiseRenderer.js +49 -0
- package/lib/hooks/useInitialiseRenderer.js.map +1 -0
- package/lib/hooks/useInitialiseRepeatAnswers.js +36 -0
- package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -0
- package/lib/hooks/useInitialiseRepeatGroups.js +36 -0
- package/lib/hooks/useInitialiseRepeatGroups.js.map +1 -0
- package/lib/hooks/useIntegerCalculatedExpression.js +44 -0
- package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -0
- package/lib/hooks/useQueryClient.js +29 -0
- package/lib/hooks/useQueryClient.js.map +1 -0
- package/lib/hooks/useRenderingExtensions.js +30 -0
- package/lib/hooks/useRenderingExtensions.js.map +1 -0
- package/lib/hooks/useResponsive.js +37 -0
- package/lib/hooks/useResponsive.js.map +1 -0
- package/lib/hooks/useStringCalculatedExpression.js +44 -0
- package/lib/hooks/useStringCalculatedExpression.js.map +1 -0
- package/lib/hooks/useTerminologyServerQuery.js +73 -0
- package/lib/hooks/useTerminologyServerQuery.js.map +1 -0
- package/lib/hooks/useValidationError.js +38 -0
- package/lib/hooks/useValidationError.js.map +1 -0
- package/{dist → lib}/hooks/useValueSetCodings.d.ts +1 -1
- package/lib/hooks/useValueSetCodings.js +125 -0
- package/lib/hooks/useValueSetCodings.js.map +1 -0
- package/lib/index.d.ts +89 -0
- package/lib/index.js +153 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/answerExpression.interface.js +18 -0
- package/lib/interfaces/answerExpression.interface.js.map +1 -0
- package/lib/interfaces/calculatedExpression.interface.js +2 -0
- package/lib/interfaces/calculatedExpression.interface.js.map +1 -0
- package/lib/interfaces/choice.enum.js +41 -0
- package/lib/interfaces/choice.enum.js.map +1 -0
- package/lib/interfaces/enableWhen.interface.js +18 -0
- package/lib/interfaces/enableWhen.interface.js.map +1 -0
- package/lib/interfaces/groupTable.interface.js +18 -0
- package/lib/interfaces/groupTable.interface.js.map +1 -0
- package/lib/interfaces/populate.interface.js +18 -0
- package/lib/interfaces/populate.interface.js.map +1 -0
- package/lib/interfaces/questionnaireStore.interface.js +18 -0
- package/lib/interfaces/questionnaireStore.interface.js.map +1 -0
- package/lib/interfaces/regex.interface.js +18 -0
- package/lib/interfaces/regex.interface.js.map +1 -0
- package/{dist → lib}/interfaces/renderProps.interface.d.ts +1 -1
- package/lib/interfaces/renderProps.interface.js +18 -0
- package/lib/interfaces/renderProps.interface.js.map +1 -0
- package/lib/interfaces/repeatGroup.interface.js +18 -0
- package/lib/interfaces/repeatGroup.interface.js.map +1 -0
- package/lib/interfaces/repeatItem.interface.js +2 -0
- package/lib/interfaces/repeatItem.interface.js.map +1 -0
- package/lib/interfaces/tab.interface.js +2 -0
- package/lib/interfaces/tab.interface.js.map +1 -0
- package/lib/interfaces/valueSet.interface.js +18 -0
- package/lib/interfaces/valueSet.interface.js.map +1 -0
- package/lib/interfaces/variables.interface.js +18 -0
- package/lib/interfaces/variables.interface.js.map +1 -0
- package/lib/stores/useConfigStore.js +17 -0
- package/lib/stores/useConfigStore.js.map +1 -0
- package/lib/stores/useQuestionnaireResponseStore.js +39 -0
- package/lib/stores/useQuestionnaireResponseStore.js.map +1 -0
- package/lib/stores/useQuestionnaireStore.js +151 -0
- package/lib/stores/useQuestionnaireStore.js.map +1 -0
- package/lib/utils/calculatedExpression.js +180 -0
- package/lib/utils/calculatedExpression.js.map +1 -0
- package/lib/utils/choice.js +160 -0
- package/lib/utils/choice.js.map +1 -0
- package/lib/utils/debounce.js +19 -0
- package/lib/utils/debounce.js.map +1 -0
- package/lib/utils/emptyResource.js +25 -0
- package/lib/utils/emptyResource.js.map +1 -0
- package/lib/utils/enableWhen.js +228 -0
- package/lib/utils/enableWhen.js.map +1 -0
- package/lib/utils/enableWhenExpression.js +76 -0
- package/lib/utils/enableWhenExpression.js.map +1 -0
- package/lib/utils/fhirpath.js +98 -0
- package/lib/utils/fhirpath.js.map +1 -0
- package/lib/utils/initialiseForm.js +45 -0
- package/lib/utils/initialiseForm.js.map +1 -0
- package/lib/utils/itemControl.js +299 -0
- package/lib/utils/itemControl.js.map +1 -0
- package/lib/utils/mapItem.js +80 -0
- package/lib/utils/mapItem.js.map +1 -0
- package/lib/utils/openChoice.js +150 -0
- package/lib/utils/openChoice.js.map +1 -0
- package/lib/utils/parseInputs.js +49 -0
- package/lib/utils/parseInputs.js.map +1 -0
- package/lib/utils/populate.js +78 -0
- package/lib/utils/populate.js.map +1 -0
- package/lib/utils/populateCallback.js +40 -0
- package/lib/utils/populateCallback.js.map +1 -0
- package/lib/utils/populateContexts.js +76 -0
- package/lib/utils/populateContexts.js.map +1 -0
- package/lib/utils/populateInputParams.js +193 -0
- package/lib/utils/populateInputParams.js.map +1 -0
- package/lib/utils/qItem.js +73 -0
- package/lib/utils/qItem.js.map +1 -0
- package/lib/utils/qrItem.js +221 -0
- package/lib/utils/qrItem.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +43 -0
- package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +79 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +59 -0
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js +18 -0
- package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +174 -0
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractTabs.js +31 -0
- package/lib/utils/questionnaireStoreUtils/extractTabs.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/extractVariables.js +63 -0
- package/lib/utils/questionnaireStoreUtils/extractVariables.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +58 -0
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -0
- package/lib/utils/removeHidden.js +104 -0
- package/lib/utils/removeHidden.js.map +1 -0
- package/lib/utils/tabs.js +190 -0
- package/lib/utils/tabs.js.map +1 -0
- package/lib/utils/valueSet.js +126 -0
- package/lib/utils/valueSet.js.map +1 -0
- package/package.json +19 -27
- package/src/api/populate.js +63 -0
- package/src/api/populate.js.map +1 -0
- package/src/api/populate.ts +70 -0
- package/src/components/Alert.styles.js +40 -0
- package/src/components/Alert.styles.js.map +1 -0
- package/src/components/Alert.styles.ts +45 -0
- package/src/components/BackToTopButton/BackToTopButton.js +32 -0
- package/src/components/BackToTopButton/BackToTopButton.js.map +1 -0
- package/src/components/BackToTopButton/BackToTopButton.tsx +47 -0
- package/src/components/Box.styles.js +30 -0
- package/src/components/Box.styles.js.map +1 -0
- package/src/components/Box.styles.ts +33 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.js +24 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.js.map +1 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +44 -0
- package/src/components/FormComponents/BooleanItem/BooleanItem.js +49 -0
- package/src/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -0
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +82 -0
- package/src/components/FormComponents/DateItem/DateField.js +31 -0
- package/src/components/FormComponents/DateItem/DateField.js.map +1 -0
- package/src/components/FormComponents/DateItem/DateField.tsx +56 -0
- package/src/components/FormComponents/DateItem/DateItem.js +52 -0
- package/src/components/FormComponents/DateItem/DateItem.js.map +1 -0
- package/src/components/FormComponents/DateItem/DateItem.tsx +95 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeField.js +33 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeField.js.map +1 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +58 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.js +52 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +94 -0
- package/src/components/FormComponents/DecimalItem/DecimalField.js +30 -0
- package/src/components/FormComponents/DecimalItem/DecimalField.js.map +1 -0
- package/src/components/FormComponents/DecimalItem/DecimalField.tsx +76 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.js +80 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +152 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.js +26 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.js.map +1 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js +23 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +1 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.ts +24 -0
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.tsx +38 -0
- package/src/components/FormComponents/DisplayItem/DisplayItem.js +31 -0
- package/src/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -0
- package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +43 -0
- package/src/components/FormComponents/GridGroup/GridGroup.js +58 -0
- package/src/components/FormComponents/GridGroup/GridGroup.js.map +1 -0
- package/src/components/FormComponents/GridGroup/GridGroup.tsx +92 -0
- package/src/components/FormComponents/GridGroup/GridRow.js +55 -0
- package/src/components/FormComponents/GridGroup/GridRow.js.map +1 -0
- package/src/components/FormComponents/GridGroup/GridRow.tsx +88 -0
- package/src/components/FormComponents/GridGroup/GridTable.js +42 -0
- package/src/components/FormComponents/GridGroup/GridTable.js.map +1 -0
- package/src/components/FormComponents/GridGroup/GridTable.tsx +77 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.js +39 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.js.map +1 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +59 -0
- package/src/components/FormComponents/GroupItem/GroupItem.js +62 -0
- package/src/components/FormComponents/GroupItem/GroupItem.js.map +1 -0
- package/src/components/FormComponents/GroupItem/GroupItem.styles.js +27 -0
- package/src/components/FormComponents/GroupItem/GroupItem.styles.js.map +1 -0
- package/src/components/FormComponents/GroupItem/GroupItem.styles.ts +28 -0
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +124 -0
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js +73 -0
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -0
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +150 -0
- package/src/components/FormComponents/GroupItem/NextTabButton.js +25 -0
- package/src/components/FormComponents/GroupItem/NextTabButton.js.map +1 -0
- package/src/components/FormComponents/GroupItem/NextTabButton.tsx +43 -0
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js +55 -0
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -0
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +76 -0
- package/src/components/FormComponents/IntegerItem/IntegerField.js +30 -0
- package/src/components/FormComponents/IntegerItem/IntegerField.js.map +1 -0
- package/src/components/FormComponents/IntegerItem/IntegerField.tsx +76 -0
- package/src/components/FormComponents/IntegerItem/IntegerItem.js +73 -0
- package/src/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -0
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +140 -0
- package/src/components/FormComponents/Item.styles.js +27 -0
- package/src/components/FormComponents/Item.styles.js.map +1 -0
- package/src/components/FormComponents/Item.styles.ts +30 -0
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.js +29 -0
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -0
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +38 -0
- package/src/components/FormComponents/ItemParts/FadingCheckIcon.js +26 -0
- package/src/components/FormComponents/ItemParts/FadingCheckIcon.js.map +1 -0
- package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +36 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.js +31 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +47 -0
- package/src/components/FormComponents/ItemParts/ItemLabelText.js +45 -0
- package/src/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -0
- package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +58 -0
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js +32 -0
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -0
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +47 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js +24 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +1 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.tsx +44 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +33 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +1 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.tsx +62 -0
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +31 -0
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +1 -0
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.tsx +54 -0
- package/src/components/FormComponents/Lists.styles.js +38 -0
- package/src/components/FormComponents/Lists.styles.js.map +1 -0
- package/src/components/FormComponents/Lists.styles.ts +39 -0
- package/src/components/FormComponents/QItemChoice/QItemChoice.js +61 -0
- package/src/components/FormComponents/QItemChoice/QItemChoice.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoice.tsx +130 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +85 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.tsx +178 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +70 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.tsx +131 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +66 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.tsx +126 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +70 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.tsx +125 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +70 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.tsx +129 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +24 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.tsx +41 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +70 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.tsx +130 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +80 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +1 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.tsx +162 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +49 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.tsx +104 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +104 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.tsx +207 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +105 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.tsx +194 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +116 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.tsx +190 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +74 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.tsx +149 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +66 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +1 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.tsx +138 -0
- package/src/components/FormComponents/RepeatGroup/AddItemButton.js +27 -0
- package/src/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -0
- package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +47 -0
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js +30 -0
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +1 -0
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +46 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.js +81 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +125 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js +30 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +66 -0
- package/src/components/FormComponents/RepeatItem/AddItemButton.js +27 -0
- package/src/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -0
- package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +47 -0
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.js +30 -0
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.js.map +1 -0
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +46 -0
- package/src/components/FormComponents/RepeatItem/RepeatField.js +31 -0
- package/src/components/FormComponents/RepeatItem/RepeatField.js.map +1 -0
- package/src/components/FormComponents/RepeatItem/RepeatField.tsx +61 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.js +69 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js +29 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +1 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.styles.tsx +32 -0
- package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +116 -0
- package/src/components/FormComponents/SingleItem/SingleItem.js +32 -0
- package/src/components/FormComponents/SingleItem/SingleItem.js.map +1 -0
- package/src/components/FormComponents/SingleItem/SingleItem.tsx +62 -0
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js +63 -0
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -0
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +171 -0
- package/src/components/FormComponents/StringItem/StringField.js +30 -0
- package/src/components/FormComponents/StringItem/StringField.js.map +1 -0
- package/src/components/FormComponents/StringItem/StringField.tsx +76 -0
- package/src/components/FormComponents/StringItem/StringItem.js +71 -0
- package/src/components/FormComponents/StringItem/StringItem.js.map +1 -0
- package/src/components/FormComponents/StringItem/StringItem.tsx +131 -0
- package/src/components/FormComponents/Tables/DeleteRowButton.js +31 -0
- package/src/components/FormComponents/Tables/DeleteRowButton.js.map +1 -0
- package/src/components/FormComponents/Tables/DeleteRowButton.tsx +47 -0
- package/src/components/FormComponents/Tables/QItemGroupTable.js +99 -0
- package/src/components/FormComponents/Tables/QItemGroupTable.js.map +1 -0
- package/src/components/FormComponents/Tables/QItemGroupTable.tsx +171 -0
- package/src/components/FormComponents/Tables/QItemGroupTableRow.js +46 -0
- package/src/components/FormComponents/Tables/QItemGroupTableRow.js.map +1 -0
- package/src/components/FormComponents/Tables/QItemGroupTableRow.tsx +77 -0
- package/src/components/FormComponents/Tables/Table.styles.js +46 -0
- package/src/components/FormComponents/Tables/Table.styles.js.map +1 -0
- package/src/components/FormComponents/Tables/Table.styles.tsx +51 -0
- package/src/components/FormComponents/TextItem/TextField.js +29 -0
- package/src/components/FormComponents/TextItem/TextField.js.map +1 -0
- package/src/components/FormComponents/TextItem/TextField.tsx +74 -0
- package/src/components/FormComponents/TextItem/TextItem.js +71 -0
- package/src/components/FormComponents/TextItem/TextItem.js.map +1 -0
- package/src/components/FormComponents/TextItem/TextItem.tsx +128 -0
- package/src/components/FormComponents/Textfield.styles.js +27 -0
- package/src/components/FormComponents/Textfield.styles.js.map +1 -0
- package/src/components/FormComponents/Textfield.styles.ts +28 -0
- package/src/components/FormComponents/TimeItem/TimeField.js +30 -0
- package/src/components/FormComponents/TimeItem/TimeField.js.map +1 -0
- package/src/components/FormComponents/TimeItem/TimeField.tsx +54 -0
- package/src/components/FormComponents/TimeItem/TimeItem.js +52 -0
- package/src/components/FormComponents/TimeItem/TimeItem.js.map +1 -0
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +94 -0
- package/src/components/FormComponents/Typography.styles.js +23 -0
- package/src/components/FormComponents/Typography.styles.js.map +1 -0
- package/src/components/FormComponents/Typography.styles.ts +24 -0
- package/src/components/FormComponents/UrlItem/UrlField.js +25 -0
- package/src/components/FormComponents/UrlItem/UrlField.js.map +1 -0
- package/src/components/FormComponents/UrlItem/UrlField.tsx +66 -0
- package/src/components/FormComponents/UrlItem/UrlItem.js +61 -0
- package/src/components/FormComponents/UrlItem/UrlItem.js.map +1 -0
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +118 -0
- package/src/components/FormRenderer/BaseRenderer.tsx +82 -0
- package/src/components/FormRenderer/FormBodyCollapsible.js +57 -0
- package/src/components/FormRenderer/FormBodyCollapsible.js.map +1 -0
- package/src/components/FormRenderer/FormBodyCollapsible.tsx +96 -0
- package/src/components/FormRenderer/FormBodySingleCollapsible.js +39 -0
- package/src/components/FormRenderer/FormBodySingleCollapsible.js.map +1 -0
- package/src/components/FormRenderer/FormBodySingleCollapsible.tsx +76 -0
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +31 -0
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +1 -0
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.tsx +60 -0
- package/src/components/FormRenderer/FormBodyTabbed.js +60 -0
- package/src/components/FormRenderer/FormBodyTabbed.js.map +1 -0
- package/src/components/FormRenderer/FormBodyTabbed.tsx +106 -0
- package/src/components/FormRenderer/FormTitle.js +30 -0
- package/src/components/FormRenderer/FormTitle.js.map +1 -0
- package/src/components/FormRenderer/FormTitle.tsx +44 -0
- package/src/components/FormRenderer/FormTopLevelItem.js +45 -0
- package/src/components/FormRenderer/FormTopLevelItem.js.map +1 -0
- package/src/components/FormRenderer/FormTopLevelItem.tsx +93 -0
- package/src/components/FormRenderer/SmartFormsRenderer.js +37 -0
- package/src/components/FormRenderer/SmartFormsRenderer.js.map +1 -0
- package/src/components/FormRenderer/SmartFormsRenderer.tsx +59 -0
- package/src/components/FormRenderer/index.js +18 -0
- package/src/components/FormRenderer/index.js.map +1 -0
- package/src/components/FormRenderer/index.ts +19 -0
- package/src/components/Iconify/Iconify.js +26 -0
- package/src/components/Iconify/Iconify.js.map +1 -0
- package/src/components/Iconify/Iconify.tsx +38 -0
- package/src/components/Lists.styles.js +38 -0
- package/src/components/Lists.styles.js.map +1 -0
- package/src/components/Lists.styles.ts +39 -0
- package/src/components/Tabs/CompleteTabButton.js +29 -0
- package/src/components/Tabs/CompleteTabButton.js.map +1 -0
- package/src/components/Tabs/CompleteTabButton.tsx +42 -0
- package/src/components/Tabs/FormBodySingleTab.js +39 -0
- package/src/components/Tabs/FormBodySingleTab.js.map +1 -0
- package/src/components/Tabs/FormBodySingleTab.tsx +67 -0
- package/src/components/Tabs/FormBodyTabList.js +52 -0
- package/src/components/Tabs/FormBodyTabList.js.map +1 -0
- package/src/components/Tabs/FormBodyTabList.tsx +83 -0
- package/src/components/index.js +18 -0
- package/src/components/index.js.map +1 -0
- package/src/components/index.ts +18 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useBackToTop.js +26 -0
- package/src/hooks/useBackToTop.js.map +1 -0
- package/src/hooks/useBackToTop.ts +29 -0
- package/src/hooks/useDebounce.js +38 -0
- package/src/hooks/useDebounce.js.map +1 -0
- package/src/hooks/useDebounce.ts +45 -0
- package/src/hooks/useDecimalCalculatedExpression.js +50 -0
- package/src/hooks/useDecimalCalculatedExpression.js.map +1 -0
- package/src/hooks/useDecimalCalculatedExpression.ts +80 -0
- package/src/hooks/useHidden.js +35 -0
- package/src/hooks/useHidden.js.map +1 -0
- package/src/hooks/useHidden.ts +40 -0
- package/src/hooks/useInitialiseGroupTable.js +36 -0
- package/src/hooks/useInitialiseGroupTable.js.map +1 -0
- package/src/hooks/useInitialiseGroupTable.ts +42 -0
- package/src/hooks/useInitialiseRenderer.js +49 -0
- package/src/hooks/useInitialiseRenderer.js.map +1 -0
- package/src/hooks/useInitialiseRenderer.ts +62 -0
- package/src/hooks/useInitialiseRepeatAnswers.js +36 -0
- package/src/hooks/useInitialiseRepeatAnswers.js.map +1 -0
- package/src/hooks/useInitialiseRepeatAnswers.ts +42 -0
- package/src/hooks/useInitialiseRepeatGroups.js +36 -0
- package/src/hooks/useInitialiseRepeatGroups.js.map +1 -0
- package/src/hooks/useInitialiseRepeatGroups.ts +42 -0
- package/src/hooks/useIntegerCalculatedExpression.js +44 -0
- package/src/hooks/useIntegerCalculatedExpression.js.map +1 -0
- package/src/hooks/useIntegerCalculatedExpression.ts +72 -0
- package/src/hooks/useQueryClient.js +29 -0
- package/src/hooks/useQueryClient.js.map +1 -0
- package/src/hooks/useQueryClient.ts +31 -0
- package/src/hooks/useRenderingExtensions.js +30 -0
- package/src/hooks/useRenderingExtensions.js.map +1 -0
- package/src/hooks/useRenderingExtensions.ts +52 -0
- package/src/hooks/useResponsive.js +37 -0
- package/src/hooks/useResponsive.js.map +1 -0
- package/src/hooks/useResponsive.ts +51 -0
- package/src/hooks/useStringCalculatedExpression.js +44 -0
- package/src/hooks/useStringCalculatedExpression.js.map +1 -0
- package/src/hooks/useStringCalculatedExpression.ts +71 -0
- package/src/hooks/useTerminologyServerQuery.js +73 -0
- package/src/hooks/useTerminologyServerQuery.js.map +1 -0
- package/src/hooks/useTerminologyServerQuery.ts +98 -0
- package/src/hooks/useValidationError.js +38 -0
- package/src/hooks/useValidationError.js.map +1 -0
- package/src/hooks/useValidationError.ts +48 -0
- package/src/hooks/useValueSetCodings.js +125 -0
- package/src/hooks/useValueSetCodings.js.map +1 -0
- package/src/hooks/useValueSetCodings.ts +150 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +163 -0
- package/src/interfaces/answerExpression.interface.js +18 -0
- package/src/interfaces/answerExpression.interface.js.map +1 -0
- package/src/interfaces/answerExpression.interface.ts +23 -0
- package/src/interfaces/calculatedExpression.interface.js +2 -0
- package/src/interfaces/calculatedExpression.interface.js.map +1 -0
- package/src/interfaces/calculatedExpression.interface.ts +4 -0
- package/src/interfaces/choice.enum.js +41 -0
- package/src/interfaces/choice.enum.js.map +1 -0
- package/src/interfaces/choice.enum.ts +40 -0
- package/src/interfaces/enableWhen.interface.js +18 -0
- package/src/interfaces/enableWhen.interface.js.map +1 -0
- package/src/interfaces/enableWhen.interface.ts +40 -0
- package/src/interfaces/groupTable.interface.js +18 -0
- package/src/interfaces/groupTable.interface.js.map +1 -0
- package/src/interfaces/groupTable.interface.ts +23 -0
- package/src/interfaces/populate.interface.js +18 -0
- package/src/interfaces/populate.interface.js.map +1 -0
- package/src/interfaces/populate.interface.ts +218 -0
- package/src/interfaces/questionnaireStore.interface.js +18 -0
- package/src/interfaces/questionnaireStore.interface.js.map +1 -0
- package/src/interfaces/questionnaireStore.interface.ts +36 -0
- package/src/interfaces/regex.interface.js +18 -0
- package/src/interfaces/regex.interface.js.map +1 -0
- package/src/interfaces/regex.interface.ts +21 -0
- package/src/interfaces/renderProps.interface.js +18 -0
- package/src/interfaces/renderProps.interface.js.map +1 -0
- package/src/interfaces/renderProps.interface.ts +34 -0
- package/src/interfaces/repeatGroup.interface.js +18 -0
- package/src/interfaces/repeatGroup.interface.js.map +1 -0
- package/src/interfaces/repeatGroup.interface.ts +28 -0
- package/src/interfaces/repeatItem.interface.js +2 -0
- package/src/interfaces/repeatItem.interface.js.map +1 -0
- package/src/interfaces/repeatItem.interface.ts +6 -0
- package/src/interfaces/tab.interface.js +2 -0
- package/src/interfaces/tab.interface.js.map +1 -0
- package/src/interfaces/tab.interface.ts +18 -0
- package/src/interfaces/valueSet.interface.js +18 -0
- package/src/interfaces/valueSet.interface.js.map +1 -0
- package/src/interfaces/valueSet.interface.ts +23 -0
- package/src/interfaces/variables.interface.js +18 -0
- package/src/interfaces/variables.interface.js.map +1 -0
- package/src/interfaces/variables.interface.ts +28 -0
- package/src/setup-jest.js +2 -0
- package/src/setup-jest.js.map +1 -0
- package/src/stores/useConfigStore.js +17 -0
- package/src/stores/useConfigStore.js.map +1 -0
- package/src/stores/useConfigStore.ts +36 -0
- package/src/stores/useQuestionnaireResponseStore.js +39 -0
- package/src/stores/useQuestionnaireResponseStore.js.map +1 -0
- package/src/stores/useQuestionnaireResponseStore.ts +58 -0
- package/src/stores/useQuestionnaireStore.js +151 -0
- package/src/stores/useQuestionnaireStore.js.map +1 -0
- package/src/stores/useQuestionnaireStore.ts +232 -0
- package/src/stories/SmartFormsRenderer.stories.js +90 -0
- package/src/stories/SmartFormsRenderer.stories.js.map +1 -0
- package/src/stories/SmartFormsRenderer.stories.ts +104 -0
- package/src/stories/assets/Q715.json +15086 -0
- package/src/stories/assets/QTestGrid.json +166 -0
- package/src/stories/assets/R715.json +311 -0
- package/src/stories/assets/RTestGrid.json +34 -0
- package/src/utils/calculatedExpression.js +180 -0
- package/src/utils/calculatedExpression.js.map +1 -0
- package/src/utils/calculatedExpression.ts +299 -0
- package/src/utils/choice.js +160 -0
- package/src/utils/choice.js.map +1 -0
- package/src/utils/choice.ts +194 -0
- package/src/utils/debounce.js +19 -0
- package/src/utils/debounce.js.map +1 -0
- package/src/utils/debounce.ts +20 -0
- package/src/utils/emptyResource.js +25 -0
- package/src/utils/emptyResource.js.map +1 -0
- package/src/utils/emptyResource.ts +28 -0
- package/src/utils/enableWhen.js +228 -0
- package/src/utils/enableWhen.js.map +1 -0
- package/src/utils/enableWhen.ts +303 -0
- package/src/utils/enableWhenExpression.js +76 -0
- package/src/utils/enableWhenExpression.js.map +1 -0
- package/src/utils/enableWhenExpression.ts +123 -0
- package/src/utils/fhirpath.js +98 -0
- package/src/utils/fhirpath.js.map +1 -0
- package/src/utils/fhirpath.ts +164 -0
- package/src/utils/initialiseForm.js +45 -0
- package/src/utils/initialiseForm.js.map +1 -0
- package/src/utils/initialiseForm.ts +81 -0
- package/src/utils/itemControl.js +299 -0
- package/src/utils/itemControl.js.map +1 -0
- package/src/utils/itemControl.ts +367 -0
- package/src/utils/mapItem.js +80 -0
- package/src/utils/mapItem.js.map +1 -0
- package/src/utils/mapItem.ts +97 -0
- package/src/utils/openChoice.js +150 -0
- package/src/utils/openChoice.js.map +1 -0
- package/src/utils/openChoice.ts +179 -0
- package/src/utils/parseInputs.js +49 -0
- package/src/utils/parseInputs.js.map +1 -0
- package/src/utils/parseInputs.ts +58 -0
- package/src/utils/populate.js +78 -0
- package/src/utils/populate.js.map +1 -0
- package/src/utils/populate.ts +117 -0
- package/src/utils/populateCallback.js +40 -0
- package/src/utils/populateCallback.js.map +1 -0
- package/src/utils/populateCallback.ts +53 -0
- package/src/utils/populateContexts.js +76 -0
- package/src/utils/populateContexts.js.map +1 -0
- package/src/utils/populateContexts.ts +112 -0
- package/src/utils/populateInputParams.js +193 -0
- package/src/utils/populateInputParams.js.map +1 -0
- package/src/utils/populateInputParams.ts +242 -0
- package/src/utils/qItem.js +73 -0
- package/src/utils/qItem.js.map +1 -0
- package/src/utils/qItem.ts +103 -0
- package/src/utils/qrItem.js +221 -0
- package/src/utils/qrItem.js.map +1 -0
- package/src/utils/qrItem.ts +250 -0
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js +47 -0
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +52 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js +79 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +96 -0
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js +59 -0
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +74 -0
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.js +18 -0
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.ts +21 -0
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js +174 -0
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +239 -0
- package/src/utils/questionnaireStoreUtils/extractTabs.js +31 -0
- package/src/utils/questionnaireStoreUtils/extractTabs.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/extractTabs.ts +37 -0
- package/src/utils/questionnaireStoreUtils/extractVariables.js +63 -0
- package/src/utils/questionnaireStoreUtils/extractVariables.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/extractVariables.ts +77 -0
- package/src/utils/questionnaireStoreUtils/resolveValueSets.js +58 -0
- package/src/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -0
- package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +68 -0
- package/src/utils/removeHidden.ts +162 -0
- package/src/utils/tabs.js +190 -0
- package/src/utils/tabs.js.map +1 -0
- package/src/utils/tabs.ts +255 -0
- package/src/utils/valueSet.js +126 -0
- package/src/utils/valueSet.js.map +1 -0
- package/src/utils/valueSet.ts +159 -0
- package/tsconfig.json +21 -0
- package/dist/components/FormComponents/Item.styles.d.ts +0 -6
- package/dist/components/FormComponents/RepeatItem/RepeatItem.styles.d.ts +0 -22
- package/dist/components/FormComponents/Typography.styles.d.ts +0 -6
- package/dist/components/FormRenderer/BaseFormRenderer.d.ts +0 -3
- package/dist/components/FormRenderer/Form.d.ts +0 -3
- package/dist/index.d.ts +0 -16
- package/dist/index.esm.js +0 -10650
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -10710
- package/dist/index.js.map +0 -1
- package/dist/stories/SmartFormsRenderer.stories.d.ts +0 -14
- /package/{dist → lib}/api/populate.d.ts +0 -0
- /package/{dist → lib}/components/BackToTopButton/BackToTopButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/BooleanItem/BooleanField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/BooleanItem/BooleanItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DateItem/DateField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DateItem/DateItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DateTimeItem/DateTimeField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DecimalItem/DecimalField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DecimalItem/DecimalItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DisplayItem/DisplayInstructions.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/DisplayItem/DisplayItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/GridGroup/GridTable.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/GroupItem/GroupHeading.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/GroupItem/NextTabButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/GroupItem/NextTabButtonWrapper.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/IntegerItem/IntegerField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/IntegerItem/IntegerItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/ContextDisplayItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/QItemCheckboxSingle.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatGroup/AddItemButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatItem/AddItemButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatItem/DeleteItemButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatItem/RepeatField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/RepeatItem/RepeatItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/SingleItem/SingleItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/StringItem/StringField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/StringItem/StringItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/Tables/DeleteRowButton.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/Tables/Table.styles.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/TextItem/TextField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/TextItem/TextItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/TimeItem/TimeField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/TimeItem/TimeItem.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/UrlItem/UrlField.d.ts +0 -0
- /package/{dist → lib}/components/FormComponents/UrlItem/UrlItem.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/BaseRenderer.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormBodyCollapsible.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormBodySingleCollapsible.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormBodyTabbed.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormRenderer.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormTitle.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/FormTopLevelItem.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/SmartFormsRenderer.d.ts +0 -0
- /package/{dist → lib}/components/FormRenderer/index.d.ts +0 -0
- /package/{dist → lib}/components/Iconify/Iconify.d.ts +0 -0
- /package/{dist → lib}/components/Tabs/CompleteTabButton.d.ts +0 -0
- /package/{dist → lib}/components/Tabs/FormBodySingleTab.d.ts +0 -0
- /package/{dist → lib}/components/Tabs/FormBodyTabList.d.ts +0 -0
- /package/{dist → lib}/components/index.d.ts +0 -0
- /package/{dist → lib}/hooks/index.d.ts +0 -0
- /package/{dist → lib}/hooks/useBackToTop.d.ts +0 -0
- /package/{dist → lib}/hooks/useDebounce.d.ts +0 -0
- /package/{dist → lib}/hooks/useDecimalCalculatedExpression.d.ts +0 -0
- /package/{dist → lib}/hooks/useHidden.d.ts +0 -0
- /package/{dist → lib}/hooks/useInitialiseGroupTable.d.ts +0 -0
- /package/{dist → lib}/hooks/useInitialiseRenderer.d.ts +0 -0
- /package/{dist → lib}/hooks/useInitialiseRepeatAnswers.d.ts +0 -0
- /package/{dist → lib}/hooks/useInitialiseRepeatGroups.d.ts +0 -0
- /package/{dist → lib}/hooks/useIntegerCalculatedExpression.d.ts +0 -0
- /package/{dist → lib}/hooks/useQueryClient.d.ts +0 -0
- /package/{dist → lib}/hooks/useRenderingExtensions.d.ts +0 -0
- /package/{dist → lib}/hooks/useResponsive.d.ts +0 -0
- /package/{dist → lib}/hooks/useStringCalculatedExpression.d.ts +0 -0
- /package/{dist → lib}/hooks/useTerminologyServerQuery.d.ts +0 -0
- /package/{dist → lib}/hooks/useValidationError.d.ts +0 -0
- /package/{dist → lib}/interfaces/answerExpression.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/calculatedExpression.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/choice.enum.d.ts +0 -0
- /package/{dist → lib}/interfaces/enableWhen.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/groupTable.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/populate.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/questionnaireStore.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/regex.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/repeatGroup.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/repeatItem.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/tab.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/valueSet.interface.d.ts +0 -0
- /package/{dist → lib}/interfaces/variables.interface.d.ts +0 -0
- /package/{dist → lib}/stores/useConfigStore.d.ts +0 -0
- /package/{dist → lib}/stores/useQuestionnaireResponseStore.d.ts +0 -0
- /package/{dist → lib}/stores/useQuestionnaireStore.d.ts +0 -0
- /package/{dist → lib}/utils/calculatedExpression.d.ts +0 -0
- /package/{dist → lib}/utils/choice.d.ts +0 -0
- /package/{dist → lib}/utils/debounce.d.ts +0 -0
- /package/{dist → lib}/utils/emptyResource.d.ts +0 -0
- /package/{dist → lib}/utils/enableWhen.d.ts +0 -0
- /package/{dist → lib}/utils/enableWhenExpression.d.ts +0 -0
- /package/{dist → lib}/utils/fhirpath.d.ts +0 -0
- /package/{dist → lib}/utils/initialiseForm.d.ts +0 -0
- /package/{dist → lib}/utils/itemControl.d.ts +0 -0
- /package/{dist → lib}/utils/mapItem.d.ts +0 -0
- /package/{dist → lib}/utils/openChoice.d.ts +0 -0
- /package/{dist → lib}/utils/parseInputs.d.ts +0 -0
- /package/{dist → lib}/utils/populate.d.ts +0 -0
- /package/{dist → lib}/utils/populateCallback.d.ts +0 -0
- /package/{dist → lib}/utils/populateContexts.d.ts +0 -0
- /package/{dist → lib}/utils/populateInputParams.d.ts +0 -0
- /package/{dist → lib}/utils/qItem.d.ts +0 -0
- /package/{dist → lib}/utils/qrItem.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/extractLaunchContext.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/extractTabs.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/extractVariables.d.ts +0 -0
- /package/{dist → lib}/utils/questionnaireStoreUtils/resolveValueSets.d.ts +0 -0
- /package/{dist → lib}/utils/removeHidden.d.ts +0 -0
- /package/{dist → lib}/utils/tabs.d.ts +0 -0
- /package/{dist → lib}/utils/valueSet.d.ts +0 -0
- /package/{dist/setup-jest.d.ts → src/setup-jest.ts} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { Grid } from '@mui/material';
|
|
20
|
+
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
21
|
+
import { TabContext, TabPanel } from '@mui/lab';
|
|
22
|
+
import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
23
|
+
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
24
|
+
import { updateQrGroup } from '../../utils/qrItem';
|
|
25
|
+
import FormBodyTabList from '../Tabs/FormBodyTabList';
|
|
26
|
+
import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
27
|
+
import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
|
|
28
|
+
|
|
29
|
+
interface FormBodyTabbedProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
|
|
30
|
+
topLevelQItem: QuestionnaireItem;
|
|
31
|
+
topLevelQRItem: QuestionnaireResponseItem;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function FormBodyTabbed(props: FormBodyTabbedProps) {
|
|
35
|
+
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
36
|
+
|
|
37
|
+
const tabs = useQuestionnaireStore((state) => state.tabs);
|
|
38
|
+
const currentTab = useQuestionnaireStore((state) => state.currentTabIndex);
|
|
39
|
+
|
|
40
|
+
const indexMap: Record<string, number> = useMemo(
|
|
41
|
+
() => mapQItemsIndex(topLevelQItem),
|
|
42
|
+
[topLevelQItem]
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const qItems = topLevelQItem.item;
|
|
46
|
+
const qrItems = topLevelQRItem.item;
|
|
47
|
+
|
|
48
|
+
function handleQrGroupChange(qrItem: QuestionnaireResponseItem) {
|
|
49
|
+
updateQrGroup(qrItem, null, topLevelQRItem, indexMap);
|
|
50
|
+
onQrItemChange(topLevelQRItem);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!qItems || !qrItems) {
|
|
54
|
+
return <>Unable to load form</>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, indexMap);
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<Grid container spacing={2}>
|
|
61
|
+
<TabContext value={currentTab.toString()}>
|
|
62
|
+
<Grid item xs={12} md={3.5} lg={3} xl={2.75}>
|
|
63
|
+
<FormBodyTabList qFormItems={qItems} currentTabIndex={currentTab} tabs={tabs} />
|
|
64
|
+
</Grid>
|
|
65
|
+
|
|
66
|
+
<Grid item xs={12} md={8.5} lg={9} xl={9.25}>
|
|
67
|
+
{qItems.map((qItem, i) => {
|
|
68
|
+
const qrItem = qrItemsByIndex[i];
|
|
69
|
+
|
|
70
|
+
const isNotRepeatGroup = !Array.isArray(qrItem);
|
|
71
|
+
const isTab = !!tabs[qItem.linkId];
|
|
72
|
+
|
|
73
|
+
if (!isTab || !isNotRepeatGroup) {
|
|
74
|
+
// Something has gone horribly wrong
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const isRepeated = qItem.repeats ?? false;
|
|
79
|
+
const tabIsMarkedAsComplete = tabs[qItem.linkId].isComplete ?? false;
|
|
80
|
+
|
|
81
|
+
return (
|
|
82
|
+
<TabPanel
|
|
83
|
+
key={qItem.linkId}
|
|
84
|
+
sx={{ p: 0 }}
|
|
85
|
+
value={i.toString()}
|
|
86
|
+
data-test="renderer-tab-panel">
|
|
87
|
+
<GroupItem
|
|
88
|
+
qItem={qItem}
|
|
89
|
+
qrItem={qrItem}
|
|
90
|
+
isRepeated={isRepeated}
|
|
91
|
+
groupCardElevation={1}
|
|
92
|
+
tabIsMarkedAsComplete={tabIsMarkedAsComplete}
|
|
93
|
+
tabs={tabs}
|
|
94
|
+
currentTabIndex={currentTab}
|
|
95
|
+
onQrItemChange={handleQrGroupChange}
|
|
96
|
+
/>
|
|
97
|
+
</TabPanel>
|
|
98
|
+
);
|
|
99
|
+
})}
|
|
100
|
+
</Grid>
|
|
101
|
+
</TabContext>
|
|
102
|
+
</Grid>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export default FormBodyTabbed;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { memo } from 'react';
|
|
18
|
+
import parse from 'html-react-parser';
|
|
19
|
+
import { getXHtmlStringFromQuestionnaire } from '../../utils/qItem';
|
|
20
|
+
import { FormTitleWrapper } from '../Box.styles';
|
|
21
|
+
import { Typography } from '@mui/material';
|
|
22
|
+
const FormTitle = memo(function FormTitle(props) {
|
|
23
|
+
const { questionnaire } = props;
|
|
24
|
+
const xHtmlString = getXHtmlStringFromQuestionnaire(questionnaire);
|
|
25
|
+
const formTitle = xHtmlString ? parse(xHtmlString) : questionnaire.title;
|
|
26
|
+
return (React.createElement(FormTitleWrapper, null,
|
|
27
|
+
React.createElement(Typography, { variant: "h3", "data-test": "form-heading" }, formTitle)));
|
|
28
|
+
});
|
|
29
|
+
export default FormTitle;
|
|
30
|
+
//# sourceMappingURL=FormTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTitle.js","sourceRoot":"","sources":["FormTitle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,KAAqB;IAC7D,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,WAAW,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;IAEzE,OAAO,CACL,oBAAC,gBAAgB;QACf,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,eAAW,cAAc,IAC9C,SAAS,CACC,CACI,CACpB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React, { memo } from 'react';
|
|
19
|
+
import type { Questionnaire } from 'fhir/r4';
|
|
20
|
+
import parse from 'html-react-parser';
|
|
21
|
+
import { getXHtmlStringFromQuestionnaire } from '../../utils/qItem';
|
|
22
|
+
import { FormTitleWrapper } from '../Box.styles';
|
|
23
|
+
import { Typography } from '@mui/material';
|
|
24
|
+
|
|
25
|
+
interface FormTitleProps {
|
|
26
|
+
questionnaire: Questionnaire;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const FormTitle = memo(function FormTitle(props: FormTitleProps) {
|
|
30
|
+
const { questionnaire } = props;
|
|
31
|
+
|
|
32
|
+
const xHtmlString = getXHtmlStringFromQuestionnaire(questionnaire);
|
|
33
|
+
const formTitle = xHtmlString ? parse(xHtmlString) : questionnaire.title;
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<FormTitleWrapper>
|
|
37
|
+
<Typography variant="h3" data-test="form-heading">
|
|
38
|
+
{formTitle}
|
|
39
|
+
</Typography>
|
|
40
|
+
</FormTitleWrapper>
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export default FormTitle;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
import FormBodyTabbed from './FormBodyTabbed';
|
|
19
|
+
import { containsTabs, isTabContainer } from '../../utils/tabs';
|
|
20
|
+
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
21
|
+
import SingleItem from '../FormComponents/SingleItem/SingleItem';
|
|
22
|
+
import FormBodyCollapsible from './FormBodyCollapsible';
|
|
23
|
+
import useResponsive from '../../hooks/useResponsive';
|
|
24
|
+
function FormTopLevelItem(props) {
|
|
25
|
+
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
26
|
+
const itemIsTabContainer = isTabContainer(topLevelQItem);
|
|
27
|
+
const itemContainsTabs = containsTabs(topLevelQItem);
|
|
28
|
+
const isDesktop = useResponsive('up', 'lg');
|
|
29
|
+
const itemIsGroup = topLevelQItem.type === 'group';
|
|
30
|
+
// If form is tabbed, it is rendered as a tabbed form
|
|
31
|
+
if (itemContainsTabs || itemIsTabContainer) {
|
|
32
|
+
if (isDesktop) {
|
|
33
|
+
return (React.createElement(FormBodyTabbed, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
|
|
34
|
+
}
|
|
35
|
+
return (React.createElement(FormBodyCollapsible, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
|
|
36
|
+
}
|
|
37
|
+
// If form is untabbed, it is rendered as a regular group
|
|
38
|
+
if (itemIsGroup) {
|
|
39
|
+
return (React.createElement(GroupItem, { key: topLevelQItem.linkId, qItem: topLevelQItem, qrItem: topLevelQRItem, groupCardElevation: 1, onQrItemChange: onQrItemChange, isRepeated: false }));
|
|
40
|
+
}
|
|
41
|
+
// Otherwise, it is rendered as a non-group item
|
|
42
|
+
return (React.createElement(SingleItem, { key: topLevelQItem.linkId, qItem: topLevelQItem, qrItem: topLevelQRItem, isTabled: false, onQrItemChange: onQrItemChange, isRepeated: false }));
|
|
43
|
+
}
|
|
44
|
+
export default FormTopLevelItem;
|
|
45
|
+
//# sourceMappingURL=FormTopLevelItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["FormTopLevelItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AAEjE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAOtD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEhE,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,KAAK,OAAO,CAAC;IAEnD,qDAAqD;IACrD,IAAI,gBAAgB,IAAI,kBAAkB,EAAE;QAC1C,IAAI,SAAS,EAAE;YACb,OAAO,CACL,oBAAC,cAAc,IACb,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;SACH;QAED,OAAO,CACL,oBAAC,mBAAmB,IAClB,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;KACH;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE;QACf,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,CAAC,EACrB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,KAAK,GACjB,CACH,CAAC;KACH;IAED,gDAAgD;IAChD,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,aAAa,CAAC,MAAM,EACzB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,KAAK,GACjB,CACH,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
20
|
+
import FormBodyTabbed from './FormBodyTabbed';
|
|
21
|
+
import { containsTabs, isTabContainer } from '../../utils/tabs';
|
|
22
|
+
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
23
|
+
import SingleItem from '../FormComponents/SingleItem/SingleItem';
|
|
24
|
+
import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
25
|
+
import FormBodyCollapsible from './FormBodyCollapsible';
|
|
26
|
+
import useResponsive from '../../hooks/useResponsive';
|
|
27
|
+
|
|
28
|
+
interface FormTopLevelItemProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem> {
|
|
29
|
+
topLevelQItem: QuestionnaireItem;
|
|
30
|
+
topLevelQRItem: QuestionnaireResponseItem;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function FormTopLevelItem(props: FormTopLevelItemProps) {
|
|
34
|
+
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
35
|
+
|
|
36
|
+
const itemIsTabContainer = isTabContainer(topLevelQItem);
|
|
37
|
+
const itemContainsTabs = containsTabs(topLevelQItem);
|
|
38
|
+
|
|
39
|
+
const isDesktop = useResponsive('up', 'lg');
|
|
40
|
+
|
|
41
|
+
const itemIsGroup = topLevelQItem.type === 'group';
|
|
42
|
+
|
|
43
|
+
// If form is tabbed, it is rendered as a tabbed form
|
|
44
|
+
if (itemContainsTabs || itemIsTabContainer) {
|
|
45
|
+
if (isDesktop) {
|
|
46
|
+
return (
|
|
47
|
+
<FormBodyTabbed
|
|
48
|
+
key={topLevelQItem.linkId}
|
|
49
|
+
topLevelQItem={topLevelQItem}
|
|
50
|
+
topLevelQRItem={topLevelQRItem}
|
|
51
|
+
onQrItemChange={onQrItemChange}
|
|
52
|
+
/>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<FormBodyCollapsible
|
|
58
|
+
key={topLevelQItem.linkId}
|
|
59
|
+
topLevelQItem={topLevelQItem}
|
|
60
|
+
topLevelQRItem={topLevelQRItem}
|
|
61
|
+
onQrItemChange={onQrItemChange}
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// If form is untabbed, it is rendered as a regular group
|
|
67
|
+
if (itemIsGroup) {
|
|
68
|
+
return (
|
|
69
|
+
<GroupItem
|
|
70
|
+
key={topLevelQItem.linkId}
|
|
71
|
+
qItem={topLevelQItem}
|
|
72
|
+
qrItem={topLevelQRItem}
|
|
73
|
+
groupCardElevation={1}
|
|
74
|
+
onQrItemChange={onQrItemChange}
|
|
75
|
+
isRepeated={false}
|
|
76
|
+
/>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Otherwise, it is rendered as a non-group item
|
|
81
|
+
return (
|
|
82
|
+
<SingleItem
|
|
83
|
+
key={topLevelQItem.linkId}
|
|
84
|
+
qItem={topLevelQItem}
|
|
85
|
+
qrItem={topLevelQRItem}
|
|
86
|
+
isTabled={false}
|
|
87
|
+
onQrItemChange={onQrItemChange}
|
|
88
|
+
isRepeated={false}
|
|
89
|
+
/>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export default FormTopLevelItem;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
|
|
19
|
+
import { Box, CircularProgress, Typography } from '@mui/material';
|
|
20
|
+
import { QueryClientProvider } from '@tanstack/react-query';
|
|
21
|
+
import useQueryClient from '../../hooks/useQueryClient';
|
|
22
|
+
import FormRenderer from './FormRenderer';
|
|
23
|
+
// TODO add terminiology server
|
|
24
|
+
function SmartFormsRenderer(props) {
|
|
25
|
+
const { questionnaire, questionnaireResponse, additionalVariables } = props;
|
|
26
|
+
const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables);
|
|
27
|
+
const queryClient = useQueryClient();
|
|
28
|
+
if (isLoading) {
|
|
29
|
+
return (React.createElement(Box, { display: "flex", alignItems: "center", columnGap: 2 },
|
|
30
|
+
React.createElement(CircularProgress, null),
|
|
31
|
+
React.createElement(Typography, null, "Loading questionnaire...")));
|
|
32
|
+
}
|
|
33
|
+
return (React.createElement(QueryClientProvider, { client: queryClient },
|
|
34
|
+
React.createElement(FormRenderer, null)));
|
|
35
|
+
}
|
|
36
|
+
export default SmartFormsRenderer;
|
|
37
|
+
//# sourceMappingURL=SmartFormsRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAQ1C,+BAA+B;AAC/B,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAE5E,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,qBAAqB,EACrB,mBAAmB,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YAClD,oBAAC,gBAAgB,OAAG;YACpB,oBAAC,UAAU,mCAAsC,CAC7C,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;QACtC,oBAAC,YAAY,OAAG,CACI,CACvB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
|
|
20
|
+
import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
|
|
21
|
+
import { Box, CircularProgress, Typography } from '@mui/material';
|
|
22
|
+
import { QueryClientProvider } from '@tanstack/react-query';
|
|
23
|
+
import useQueryClient from '../../hooks/useQueryClient';
|
|
24
|
+
import BaseRenderer from './BaseRenderer';
|
|
25
|
+
|
|
26
|
+
interface SmartFormsRendererProps {
|
|
27
|
+
questionnaire: Questionnaire;
|
|
28
|
+
questionnaireResponse?: QuestionnaireResponse;
|
|
29
|
+
additionalVariables?: Record<string, object>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// TODO add terminiology server
|
|
33
|
+
function SmartFormsRenderer(props: SmartFormsRendererProps) {
|
|
34
|
+
const { questionnaire, questionnaireResponse, additionalVariables } = props;
|
|
35
|
+
|
|
36
|
+
const isLoading = useInitialiseRenderer(
|
|
37
|
+
questionnaire,
|
|
38
|
+
questionnaireResponse,
|
|
39
|
+
additionalVariables
|
|
40
|
+
);
|
|
41
|
+
const queryClient = useQueryClient();
|
|
42
|
+
|
|
43
|
+
if (isLoading) {
|
|
44
|
+
return (
|
|
45
|
+
<Box display="flex" alignItems="center" columnGap={2}>
|
|
46
|
+
<CircularProgress />
|
|
47
|
+
<Typography>Loading questionnaire...</Typography>
|
|
48
|
+
</Box>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<QueryClientProvider client={queryClient}>
|
|
54
|
+
<BaseRenderer />
|
|
55
|
+
</QueryClientProvider>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export default SmartFormsRenderer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
export { default as SmartFormsRenderer } from './SmartFormsRenderer';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export { default as SmartFormsRenderer } from './SmartFormsRenderer';
|
|
19
|
+
export { default as BaseRenderer } from './BaseRenderer';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { forwardRef, memo } from 'react';
|
|
18
|
+
import { Icon } from '@iconify/react';
|
|
19
|
+
import { Box } from '@mui/material';
|
|
20
|
+
const Iconify = memo(forwardRef(function Iconify(props, ref) {
|
|
21
|
+
// eslint-disable-next-line react/prop-types
|
|
22
|
+
const { icon, width = 20, height = 20, sx } = props;
|
|
23
|
+
return React.createElement(Box, { ref: ref, component: Icon, icon: icon, sx: Object.assign({ width, height }, sx) });
|
|
24
|
+
}));
|
|
25
|
+
export default Iconify;
|
|
26
|
+
//# sourceMappingURL=Iconify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Iconify.js","sourceRoot":"","sources":["Iconify.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AASpC,MAAM,OAAO,GAAG,IAAI,CAClB,UAAU,CAAC,SAAS,OAAO,CAAC,KAAmB,EAAE,GAAG;IAClD,4CAA4C;IAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACpD,OAAO,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAI,KAAK,EAAE,MAAM,IAAK,EAAE,IAAM,CAAC;AACtF,CAAC,CAAC,CACH,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React, { forwardRef, memo } from 'react';
|
|
19
|
+
import { Icon } from '@iconify/react';
|
|
20
|
+
import type { SxProps, Theme } from '@mui/material';
|
|
21
|
+
import { Box } from '@mui/material';
|
|
22
|
+
|
|
23
|
+
interface IconifyProps {
|
|
24
|
+
icon: string;
|
|
25
|
+
width?: number;
|
|
26
|
+
height?: number;
|
|
27
|
+
sx?: SxProps<Theme>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const Iconify = memo(
|
|
31
|
+
forwardRef(function Iconify(props: IconifyProps, ref) {
|
|
32
|
+
// eslint-disable-next-line react/prop-types
|
|
33
|
+
const { icon, width = 20, height = 20, sx } = props;
|
|
34
|
+
return <Box ref={ref} component={Icon} icon={icon} sx={{ width, height, ...sx }} />;
|
|
35
|
+
})
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
export default Iconify;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { List, styled } from '@mui/material';
|
|
18
|
+
import { alpha } from '@mui/material/styles';
|
|
19
|
+
export const PrimarySelectableList = styled(List)(({ theme }) => ({
|
|
20
|
+
'&& .Mui-selected': {
|
|
21
|
+
color: theme.palette.primary.dark,
|
|
22
|
+
backgroundColor: alpha(theme.palette.primary.main, 0.2),
|
|
23
|
+
borderRadius: 30,
|
|
24
|
+
'& .MuiTypography-root': {
|
|
25
|
+
fontWeight: 'bold'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
'& .MuiListItemButton-root': {
|
|
29
|
+
color: '#444746',
|
|
30
|
+
borderRadius: 30
|
|
31
|
+
},
|
|
32
|
+
'& .MuiListItemButton-root:hover': {
|
|
33
|
+
color: theme.palette.primary.dark,
|
|
34
|
+
backgroundColor: alpha(theme.palette.primary.main, 0.09),
|
|
35
|
+
borderRadius: 30
|
|
36
|
+
}
|
|
37
|
+
}));
|
|
38
|
+
//# sourceMappingURL=Lists.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lists.styles.js","sourceRoot":"","sources":["Lists.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,kBAAkB,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACvD,YAAY,EAAE,EAAE;QAChB,uBAAuB,EAAE;YACvB,UAAU,EAAE,MAAM;SACnB;KACF;IACD,2BAA2B,EAAE;QAC3B,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,iCAAiC,EAAE;QACjC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QACxD,YAAY,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { List, styled } from '@mui/material';
|
|
19
|
+
import { alpha } from '@mui/material/styles';
|
|
20
|
+
|
|
21
|
+
export const PrimarySelectableList = styled(List)(({ theme }) => ({
|
|
22
|
+
'&& .Mui-selected': {
|
|
23
|
+
color: theme.palette.primary.dark,
|
|
24
|
+
backgroundColor: alpha(theme.palette.primary.main, 0.2),
|
|
25
|
+
borderRadius: 30,
|
|
26
|
+
'& .MuiTypography-root': {
|
|
27
|
+
fontWeight: 'bold'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
'& .MuiListItemButton-root': {
|
|
31
|
+
color: '#444746',
|
|
32
|
+
borderRadius: 30
|
|
33
|
+
},
|
|
34
|
+
'& .MuiListItemButton-root:hover': {
|
|
35
|
+
color: theme.palette.primary.dark,
|
|
36
|
+
backgroundColor: alpha(theme.palette.primary.main, 0.09),
|
|
37
|
+
borderRadius: 30
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { memo } from 'react';
|
|
18
|
+
import { IconButton, Tooltip } from '@mui/material';
|
|
19
|
+
import CheckCircleIcon from '@mui/icons-material/CheckCircle';
|
|
20
|
+
import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
|
|
21
|
+
const CompleteTabButton = memo(function CompleteTabButton(props) {
|
|
22
|
+
const { tabLinkId, tabIsMarkedAsComplete } = props;
|
|
23
|
+
const markTabAsComplete = useQuestionnaireStore((state) => state.markTabAsComplete);
|
|
24
|
+
return (React.createElement(Tooltip, { title: tabIsMarkedAsComplete ? 'Mark as incomplete' : 'Complete tab' },
|
|
25
|
+
React.createElement(IconButton, { onClick: () => markTabAsComplete(tabLinkId) },
|
|
26
|
+
React.createElement(CheckCircleIcon, { color: tabIsMarkedAsComplete ? 'success' : 'inherit' }))));
|
|
27
|
+
});
|
|
28
|
+
export default CompleteTabButton;
|
|
29
|
+
//# sourceMappingURL=CompleteTabButton.js.map
|