@aehrc/smart-forms-renderer 0.3.0 → 0.5.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 +39 -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/theme/Theme.d.ts +38 -0
- package/lib/theme/Theme.js +39 -0
- package/lib/theme/Theme.js.map +1 -0
- package/lib/theme/globalStyles.d.ts +2 -0
- package/lib/theme/globalStyles.js +64 -0
- package/lib/theme/globalStyles.js.map +1 -0
- package/lib/theme/overrides/Accordion.d.ts +14 -0
- package/lib/theme/overrides/Accordion.js +32 -0
- package/lib/theme/overrides/Accordion.js.map +1 -0
- package/lib/theme/overrides/Autocomplete.d.ts +10 -0
- package/lib/theme/overrides/Autocomplete.js +28 -0
- package/lib/theme/overrides/Autocomplete.js.map +1 -0
- package/lib/theme/overrides/Backdrop.d.ts +13 -0
- package/lib/theme/overrides/Backdrop.js +32 -0
- package/lib/theme/overrides/Backdrop.js.map +1 -0
- package/lib/theme/overrides/Button.d.ts +33 -0
- package/lib/theme/overrides/Button.js +52 -0
- package/lib/theme/overrides/Button.js.map +1 -0
- package/lib/theme/overrides/Card.d.ts +35 -0
- package/lib/theme/overrides/Card.js +49 -0
- package/lib/theme/overrides/Card.js.map +1 -0
- package/lib/theme/overrides/Input.d.ts +64 -0
- package/lib/theme/overrides/Input.js +81 -0
- package/lib/theme/overrides/Input.js.map +1 -0
- package/lib/theme/overrides/Overrides.d.ts +3 -0
- package/lib/theme/overrides/Overrides.js +31 -0
- package/lib/theme/overrides/Overrides.js.map +1 -0
- package/lib/theme/overrides/Paper.d.ts +12 -0
- package/lib/theme/overrides/Paper.js +31 -0
- package/lib/theme/overrides/Paper.js.map +1 -0
- package/lib/theme/overrides/SpeedDial.d.ts +16 -0
- package/lib/theme/overrides/SpeedDial.js +34 -0
- package/lib/theme/overrides/SpeedDial.js.map +1 -0
- package/lib/theme/overrides/Table.d.ts +11 -0
- package/lib/theme/overrides/Table.js +29 -0
- package/lib/theme/overrides/Table.js.map +1 -0
- package/lib/theme/overrides/Typography.d.ts +13 -0
- package/lib/theme/overrides/Typography.js +31 -0
- package/lib/theme/overrides/Typography.js.map +1 -0
- package/lib/theme/palette.d.ts +28 -0
- package/lib/theme/palette.js +67 -0
- package/lib/theme/palette.js.map +1 -0
- package/lib/theme/shadows.d.ts +2 -0
- package/lib/theme/shadows.js +52 -0
- package/lib/theme/shadows.js.map +1 -0
- package/lib/theme/typography.d.ts +139 -0
- package/lib/theme/typography.js +80 -0
- package/lib/theme/typography.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.ts +70 -0
- package/src/components/Alert.styles.ts +45 -0
- package/src/components/BackToTopButton/BackToTopButton.tsx +47 -0
- package/src/components/Box.styles.ts +33 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +44 -0
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +82 -0
- package/src/components/FormComponents/DateItem/DateField.tsx +56 -0
- package/src/components/FormComponents/DateItem/DateItem.tsx +95 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeField.tsx +58 -0
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +94 -0
- package/src/components/FormComponents/DecimalItem/DecimalField.tsx +76 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +152 -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.tsx +43 -0
- package/src/components/FormComponents/GridGroup/GridGroup.tsx +92 -0
- package/src/components/FormComponents/GridGroup/GridRow.tsx +88 -0
- package/src/components/FormComponents/GridGroup/GridTable.tsx +77 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +59 -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.tsx +150 -0
- package/src/components/FormComponents/GroupItem/NextTabButton.tsx +43 -0
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +76 -0
- package/src/components/FormComponents/IntegerItem/IntegerField.tsx +76 -0
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +140 -0
- package/src/components/FormComponents/Item.styles.ts +30 -0
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +38 -0
- package/src/components/FormComponents/ItemParts/FadingCheckIcon.tsx +36 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +47 -0
- package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +58 -0
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +47 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.tsx +44 -0
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.tsx +62 -0
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.tsx +54 -0
- package/src/components/FormComponents/Lists.styles.ts +39 -0
- package/src/components/FormComponents/QItemChoice/QItemChoice.tsx +130 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.tsx +178 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.tsx +131 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.tsx +126 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.tsx +125 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.tsx +129 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.tsx +41 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.tsx +130 -0
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.tsx +162 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.tsx +104 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.tsx +207 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.tsx +194 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.tsx +190 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.tsx +149 -0
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.tsx +138 -0
- package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +47 -0
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +46 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +125 -0
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +66 -0
- package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +47 -0
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.tsx +46 -0
- package/src/components/FormComponents/RepeatItem/RepeatField.tsx +61 -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.tsx +62 -0
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +171 -0
- package/src/components/FormComponents/StringItem/StringField.tsx +76 -0
- package/src/components/FormComponents/StringItem/StringItem.tsx +131 -0
- package/src/components/FormComponents/Tables/DeleteRowButton.tsx +47 -0
- package/src/components/FormComponents/Tables/QItemGroupTable.tsx +171 -0
- package/src/components/FormComponents/Tables/QItemGroupTableRow.tsx +77 -0
- package/src/components/FormComponents/Tables/Table.styles.tsx +51 -0
- package/src/components/FormComponents/TextItem/TextField.tsx +74 -0
- package/src/components/FormComponents/TextItem/TextItem.tsx +128 -0
- package/src/components/FormComponents/Textfield.styles.ts +28 -0
- package/src/components/FormComponents/TimeItem/TimeField.tsx +54 -0
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +94 -0
- package/src/components/FormComponents/Typography.styles.ts +24 -0
- package/src/components/FormComponents/UrlItem/UrlField.tsx +66 -0
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +118 -0
- package/src/components/FormRenderer/BaseRenderer.tsx +82 -0
- package/src/components/FormRenderer/FormBodyCollapsible.tsx +96 -0
- package/src/components/FormRenderer/FormBodySingleCollapsible.tsx +76 -0
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.tsx +60 -0
- package/src/components/FormRenderer/FormBodyTabbed.tsx +106 -0
- package/src/components/FormRenderer/FormTitle.tsx +44 -0
- package/src/components/FormRenderer/FormTopLevelItem.tsx +93 -0
- package/src/components/FormRenderer/SmartFormsRenderer.tsx +62 -0
- package/src/components/FormRenderer/index.ts +19 -0
- package/src/components/Iconify/Iconify.tsx +38 -0
- package/src/components/Lists.styles.ts +39 -0
- package/src/components/Tabs/CompleteTabButton.tsx +42 -0
- package/src/components/Tabs/FormBodySingleTab.tsx +67 -0
- package/src/components/Tabs/FormBodyTabList.tsx +83 -0
- package/src/components/index.ts +18 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useBackToTop.ts +29 -0
- package/src/hooks/useDebounce.ts +45 -0
- package/src/hooks/useDecimalCalculatedExpression.ts +80 -0
- package/src/hooks/useHidden.ts +40 -0
- package/src/hooks/useInitialiseGroupTable.ts +42 -0
- package/src/hooks/useInitialiseRenderer.ts +62 -0
- package/src/hooks/useInitialiseRepeatAnswers.ts +42 -0
- package/src/hooks/useInitialiseRepeatGroups.ts +42 -0
- package/src/hooks/useIntegerCalculatedExpression.ts +72 -0
- package/src/hooks/useQueryClient.ts +31 -0
- package/src/hooks/useRenderingExtensions.ts +52 -0
- package/src/hooks/useResponsive.ts +51 -0
- package/src/hooks/useStringCalculatedExpression.ts +71 -0
- package/src/hooks/useTerminologyServerQuery.ts +98 -0
- package/src/hooks/useValidationError.ts +48 -0
- package/src/hooks/useValueSetCodings.ts +150 -0
- package/src/index.ts +163 -0
- package/src/interfaces/answerExpression.interface.ts +23 -0
- package/src/interfaces/calculatedExpression.interface.ts +4 -0
- package/src/interfaces/choice.enum.ts +40 -0
- package/src/interfaces/enableWhen.interface.ts +40 -0
- package/src/interfaces/groupTable.interface.ts +23 -0
- package/src/interfaces/populate.interface.ts +218 -0
- package/src/interfaces/questionnaireStore.interface.ts +36 -0
- package/src/interfaces/regex.interface.ts +21 -0
- package/src/interfaces/renderProps.interface.ts +34 -0
- package/src/interfaces/repeatGroup.interface.ts +28 -0
- package/src/interfaces/repeatItem.interface.ts +6 -0
- package/src/interfaces/tab.interface.ts +18 -0
- package/src/interfaces/valueSet.interface.ts +23 -0
- package/src/interfaces/variables.interface.ts +28 -0
- package/src/stores/useConfigStore.ts +36 -0
- package/src/stores/useQuestionnaireResponseStore.ts +58 -0
- package/src/stores/useQuestionnaireStore.ts +232 -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/theme/Theme.tsx +107 -0
- package/src/theme/globalStyles.tsx +68 -0
- package/src/theme/overrides/Accordion.ts +34 -0
- package/src/theme/overrides/Autocomplete.ts +30 -0
- package/src/theme/overrides/Backdrop.ts +34 -0
- package/src/theme/overrides/Button.ts +54 -0
- package/src/theme/overrides/Card.ts +51 -0
- package/src/theme/overrides/Input.ts +83 -0
- package/src/theme/overrides/Overrides.ts +45 -0
- package/src/theme/overrides/Paper.ts +31 -0
- package/src/theme/overrides/SpeedDial.ts +36 -0
- package/src/theme/overrides/Table.ts +31 -0
- package/src/theme/overrides/Typography.ts +33 -0
- package/src/theme/palette.ts +100 -0
- package/src/theme/shadows.ts +54 -0
- package/src/theme/typography.ts +114 -0
- package/src/utils/calculatedExpression.ts +299 -0
- package/src/utils/choice.ts +194 -0
- package/src/utils/debounce.ts +20 -0
- package/src/utils/emptyResource.ts +28 -0
- package/src/utils/enableWhen.ts +303 -0
- package/src/utils/enableWhenExpression.ts +123 -0
- package/src/utils/fhirpath.ts +164 -0
- package/src/utils/initialiseForm.ts +81 -0
- package/src/utils/itemControl.ts +367 -0
- package/src/utils/mapItem.ts +97 -0
- package/src/utils/openChoice.ts +179 -0
- package/src/utils/parseInputs.ts +58 -0
- package/src/utils/populate.ts +117 -0
- package/src/utils/populateCallback.ts +53 -0
- package/src/utils/populateContexts.ts +112 -0
- package/src/utils/populateInputParams.ts +242 -0
- package/src/utils/qItem.ts +103 -0
- package/src/utils/qrItem.ts +250 -0
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +52 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +96 -0
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +74 -0
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.ts +21 -0
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +239 -0
- package/src/utils/questionnaireStoreUtils/extractTabs.ts +37 -0
- package/src/utils/questionnaireStoreUtils/extractVariables.ts +77 -0
- package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +68 -0
- package/src/utils/removeHidden.ts +162 -0
- package/src/utils/tabs.ts +255 -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,62 @@
|
|
|
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, { useMemo } from 'react';
|
|
18
|
+
import { getQrItemsIndex, mapQItemsIndex } from '../../../utils/mapItem';
|
|
19
|
+
import { createQrGroup, updateQrGroup } from '../../../utils/qrItem';
|
|
20
|
+
import { QGroupContainerBox } from '../../Box.styles';
|
|
21
|
+
import useHidden from '../../../hooks/useHidden';
|
|
22
|
+
import GroupHeading from './GroupHeading';
|
|
23
|
+
import { GroupCard } from './GroupItem.styles';
|
|
24
|
+
import NextTabButtonWrapper from './NextTabButtonWrapper';
|
|
25
|
+
import GroupItemSwitcher from './GroupItemSwitcher';
|
|
26
|
+
function GroupItem(props) {
|
|
27
|
+
const { qItem, qrItem, isRepeated, groupCardElevation, tabIsMarkedAsComplete, tabs, currentTabIndex, onQrItemChange } = props;
|
|
28
|
+
const qItemsIndexMap = useMemo(() => mapQItemsIndex(qItem), [qItem]);
|
|
29
|
+
const itemIsHidden = useHidden(qItem);
|
|
30
|
+
if (itemIsHidden) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const qItems = qItem.item;
|
|
34
|
+
const qrGroup = qrItem && qrItem.item ? qrItem : createQrGroup(qItem);
|
|
35
|
+
const qrItems = qrGroup.item;
|
|
36
|
+
// Event Handlers
|
|
37
|
+
function handleQrItemChange(newQrItem) {
|
|
38
|
+
const updatedQrGroup = Object.assign({}, qrGroup);
|
|
39
|
+
updateQrGroup(newQrItem, null, updatedQrGroup, qItemsIndexMap);
|
|
40
|
+
onQrItemChange(updatedQrGroup);
|
|
41
|
+
}
|
|
42
|
+
function handleQrRepeatGroupChange(qrRepeatGroup) {
|
|
43
|
+
const updatedQrGroup = Object.assign({}, qrGroup);
|
|
44
|
+
updateQrGroup(null, qrRepeatGroup, updatedQrGroup, qItemsIndexMap);
|
|
45
|
+
onQrItemChange(updatedQrGroup);
|
|
46
|
+
}
|
|
47
|
+
if (!qItems || !qrItems) {
|
|
48
|
+
return React.createElement(React.Fragment, null, "Unable to load group, something has gone terribly wrong.");
|
|
49
|
+
}
|
|
50
|
+
// If an item has multiple answers, it is a repeat group
|
|
51
|
+
const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, qItemsIndexMap);
|
|
52
|
+
return (React.createElement(QGroupContainerBox, { cardElevation: groupCardElevation, isRepeated: isRepeated, "data-test": "q-item-group-box" },
|
|
53
|
+
React.createElement(GroupCard, { elevation: groupCardElevation, isRepeated: isRepeated },
|
|
54
|
+
React.createElement(GroupHeading, { qItem: qItem, tabIsMarkedAsComplete: tabIsMarkedAsComplete, isRepeated: isRepeated }),
|
|
55
|
+
qItems.map((qItem, i) => {
|
|
56
|
+
const qrItemOrItems = qrItemsByIndex[i];
|
|
57
|
+
return (React.createElement(GroupItemSwitcher, { key: qItem.linkId, qItem: qItem, qrItemOrItems: qrItemOrItems, groupCardElevation: groupCardElevation, onQrItemChange: handleQrItemChange, onQrRepeatGroupChange: handleQrRepeatGroupChange }));
|
|
58
|
+
}),
|
|
59
|
+
React.createElement(NextTabButtonWrapper, { currentTabIndex: currentTabIndex, tabs: tabs }))));
|
|
60
|
+
}
|
|
61
|
+
export default GroupItem;
|
|
62
|
+
//# sourceMappingURL=GroupItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const GroupCard: import("@emotion/styled").StyledComponent<Omit<import("@mui/material").PaperOwnProps, "classes"> & {
|
|
3
|
-
classes?: Partial<import("@mui/material").CardClasses
|
|
4
|
-
raised?: boolean;
|
|
5
|
-
sx?: import("@mui/material").SxProps<import("@mui/material").Theme
|
|
3
|
+
classes?: Partial<import("@mui/material").CardClasses> | undefined;
|
|
4
|
+
raised?: boolean | undefined;
|
|
5
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
6
6
|
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
7
|
-
ref?: import("react").
|
|
8
|
-
}, keyof import("@mui/material/OverridableComponent").CommonProps | "
|
|
7
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
8
|
+
}, "children" | "sx" | keyof import("@mui/material/OverridableComponent").CommonProps | "variant" | "elevation" | "square" | "raised"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
|
|
9
9
|
elevation: number;
|
|
10
10
|
isRepeated: boolean;
|
|
11
11
|
}, {}, {}>;
|
|
@@ -0,0 +1,27 @@
|
|
|
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 { Card, styled } from '@mui/material';
|
|
18
|
+
export const GroupCard = styled(Card, {
|
|
19
|
+
shouldForwardProp: (prop) => prop !== 'elevation' && prop !== 'isRepeated'
|
|
20
|
+
})(({ elevation, isRepeated }) => ({
|
|
21
|
+
paddingTop: '20px',
|
|
22
|
+
paddingBottom: '20px',
|
|
23
|
+
paddingLeft: elevation === 1 ? '26px' : '24px',
|
|
24
|
+
paddingRight: elevation === 1 ? '26px' : '24px',
|
|
25
|
+
marginBottom: isRepeated ? 0 : '28px'
|
|
26
|
+
}));
|
|
27
|
+
//# sourceMappingURL=GroupItem.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupItem.styles.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE;IACpC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY;CAC3E,CAAC,CAA6C,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,WAAW,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;IAC9C,YAAY,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;IAC/C,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;CACtC,CAAC,CAAC,CAAC"}
|
|
@@ -6,5 +6,5 @@ interface GroupItemSwitcherProps extends PropsWithQrItemChangeHandler<Questionna
|
|
|
6
6
|
qrItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[];
|
|
7
7
|
groupCardElevation: number;
|
|
8
8
|
}
|
|
9
|
-
declare function GroupItemSwitcher(props: GroupItemSwitcherProps): React.JSX.Element;
|
|
9
|
+
declare function GroupItemSwitcher(props: GroupItemSwitcherProps): React.JSX.Element | null;
|
|
10
10
|
export default GroupItemSwitcher;
|
|
@@ -0,0 +1,73 @@
|
|
|
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 { isSpecificItemControl } from '../../../utils/itemControl';
|
|
19
|
+
import QItemGroupTable from '../Tables/QItemGroupTable';
|
|
20
|
+
import RepeatGroup from '../RepeatGroup/RepeatGroup';
|
|
21
|
+
import { isRepeatItemAndNotCheckbox } from '../../../utils/qItem';
|
|
22
|
+
import RepeatItem from '../RepeatItem/RepeatItem';
|
|
23
|
+
import SingleItem from '../SingleItem/SingleItem';
|
|
24
|
+
import useHidden from '../../../hooks/useHidden';
|
|
25
|
+
import GroupItem from './GroupItem';
|
|
26
|
+
import GridGroup from '../GridGroup/GridGroup';
|
|
27
|
+
function GroupItemSwitcher(props) {
|
|
28
|
+
const { qItem, qrItemOrItems, groupCardElevation, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
29
|
+
const itemIsHidden = useHidden(qItem);
|
|
30
|
+
if (itemIsHidden) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
// If there are multiple answers
|
|
34
|
+
const hasMultipleAnswers = Array.isArray(qrItemOrItems);
|
|
35
|
+
if (hasMultipleAnswers) {
|
|
36
|
+
const qrItems = qrItemOrItems;
|
|
37
|
+
// qItem should always be either a repeatGroup or a groupTable item
|
|
38
|
+
// groupTables item have qItem.repeats = true and qItem.type = 'group' as well
|
|
39
|
+
if (!qItem.repeats || qItem.type !== 'group') {
|
|
40
|
+
return React.createElement(React.Fragment, null, "Something went wrong here");
|
|
41
|
+
}
|
|
42
|
+
if (isSpecificItemControl(qItem, 'gtable')) {
|
|
43
|
+
return (React.createElement(QItemGroupTable, { qItem: qItem, qrItems: qrItems, groupCardElevation: groupCardElevation + 1, onQrRepeatGroupChange: onQrRepeatGroupChange }));
|
|
44
|
+
}
|
|
45
|
+
return (React.createElement(RepeatGroup, { qItem: qItem, qrItems: qrItems, groupCardElevation: groupCardElevation + 1, onQrRepeatGroupChange: onQrRepeatGroupChange }));
|
|
46
|
+
}
|
|
47
|
+
// If there is only one answer
|
|
48
|
+
const qrItem = qrItemOrItems;
|
|
49
|
+
const itemIsGrid = isSpecificItemControl(qItem, 'grid');
|
|
50
|
+
if (itemIsGrid) {
|
|
51
|
+
return (React.createElement(GridGroup, { qItem: qItem, qrItem: qrItem, groupCardElevation: groupCardElevation, onQrItemChange: onQrItemChange }));
|
|
52
|
+
}
|
|
53
|
+
const itemRepeatsAndIsNotCheckbox = isRepeatItemAndNotCheckbox(qItem);
|
|
54
|
+
if (itemRepeatsAndIsNotCheckbox) {
|
|
55
|
+
if (qItem.type === 'group') {
|
|
56
|
+
// If qItem is RepeatGroup or a groupTable item in this decision branch,
|
|
57
|
+
// their qrItem array should always be empty
|
|
58
|
+
if (isSpecificItemControl(qItem, 'gtable')) {
|
|
59
|
+
return (React.createElement(QItemGroupTable, { qItem: qItem, qrItems: [], groupCardElevation: groupCardElevation + 1, onQrRepeatGroupChange: onQrRepeatGroupChange }));
|
|
60
|
+
}
|
|
61
|
+
return (React.createElement(RepeatGroup, { qItem: qItem, qrItems: [], groupCardElevation: groupCardElevation + 1, onQrRepeatGroupChange: onQrRepeatGroupChange }));
|
|
62
|
+
}
|
|
63
|
+
return React.createElement(RepeatItem, { qItem: qItem, qrItem: qrItem, onQrItemChange: onQrItemChange });
|
|
64
|
+
}
|
|
65
|
+
// if qItem is not a repeating question or is a checkbox
|
|
66
|
+
if (qItem.type === 'group') {
|
|
67
|
+
return (React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem, isRepeated: false, groupCardElevation: groupCardElevation + 1, onQrItemChange: onQrItemChange }));
|
|
68
|
+
}
|
|
69
|
+
// Defaults to a normal QItemSwitcher
|
|
70
|
+
return (React.createElement(SingleItem, { qItem: qItem, qrItem: qrItem, isRepeated: false, isTabled: false, onQrItemChange: onQrItemChange }));
|
|
71
|
+
}
|
|
72
|
+
export default GroupItemSwitcher;
|
|
73
|
+
//# sourceMappingURL=GroupItemSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 { Button } from '@mui/material';
|
|
19
|
+
import Iconify from '../../Iconify/Iconify';
|
|
20
|
+
function NextTabButton(props) {
|
|
21
|
+
const { isDisabled, onNextTabClick } = props;
|
|
22
|
+
return (React.createElement(Button, { variant: "contained", size: "small", endIcon: React.createElement(Iconify, { icon: "material-symbols:arrow-forward" }), disabled: isDisabled, color: "secondary", onClick: onNextTabClick }, "Next tab"));
|
|
23
|
+
}
|
|
24
|
+
export default NextTabButton;
|
|
25
|
+
//# sourceMappingURL=NextTabButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextTabButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/NextTabButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAO5C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE7C,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,oBAAC,OAAO,IAAC,IAAI,EAAC,gCAAgC,GAAG,EAC1D,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,cAAc,eAEhB,CACV,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
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 { Box } from '@mui/material';
|
|
19
|
+
import { findNumOfVisibleTabs, getNextVisibleTabIndex } from '../../../utils/tabs';
|
|
20
|
+
import useQuestionnaireStore from '../../../stores/useQuestionnaireStore';
|
|
21
|
+
import NextTabButton from './NextTabButton';
|
|
22
|
+
const NextTabButtonWrapper = memo(function NextTabWrapper(props) {
|
|
23
|
+
const { currentTabIndex, tabs } = props;
|
|
24
|
+
const enableWhenIsActivated = useQuestionnaireStore((state) => state.enableWhenIsActivated);
|
|
25
|
+
const enableWhenItems = useQuestionnaireStore((state) => state.enableWhenItems);
|
|
26
|
+
const enableWhenExpressions = useQuestionnaireStore((state) => state.enableWhenExpressions);
|
|
27
|
+
const switchTab = useQuestionnaireStore((state) => state.switchTab);
|
|
28
|
+
const tabsNotDefined = currentTabIndex === undefined || tabs === undefined;
|
|
29
|
+
function handleNextTabClick() {
|
|
30
|
+
if (tabsNotDefined) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const nextVisibleTabIndex = getNextVisibleTabIndex({
|
|
34
|
+
tabs,
|
|
35
|
+
currentTabIndex,
|
|
36
|
+
enableWhenIsActivated,
|
|
37
|
+
enableWhenItems,
|
|
38
|
+
enableWhenExpressions
|
|
39
|
+
});
|
|
40
|
+
switchTab(nextVisibleTabIndex);
|
|
41
|
+
// Scroll to top of page
|
|
42
|
+
window.scrollTo(0, 0);
|
|
43
|
+
}
|
|
44
|
+
if (tabsNotDefined) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
if (currentTabIndex === Object.keys(tabs).length - 1) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const buttonIsDisabled = findNumOfVisibleTabs(tabs, enableWhenIsActivated, enableWhenItems, enableWhenExpressions) <= 1;
|
|
51
|
+
return (React.createElement(Box, { display: "flex", flexDirection: "row-reverse", mt: 3 },
|
|
52
|
+
React.createElement(NextTabButton, { isDisabled: buttonIsDisabled, onNextTabClick: handleNextTabClick })));
|
|
53
|
+
});
|
|
54
|
+
export default NextTabButtonWrapper;
|
|
55
|
+
//# sourceMappingURL=NextTabButtonWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextTabButtonWrapper.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,qBAAqB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,cAAc,CAAC,KAAgC;IACxF,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChF,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;IAE3E,SAAS,kBAAkB;QACzB,IAAI,cAAc,EAAE;YAClB,OAAO;SACR;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;YACjD,IAAI;YACJ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAC;QACH,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE/B,wBAAwB;QACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,eAAe,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjG,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC;QACnD,oBAAC,aAAa,IAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,GAAI,CAC/E,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|
|
@@ -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 from 'react';
|
|
18
|
+
import { InputAdornment } from '@mui/material';
|
|
19
|
+
import { StandardTextField } from '../Textfield.styles';
|
|
20
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
21
|
+
function IntegerField(props) {
|
|
22
|
+
const { linkId, value, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, isTabled, onInputChange } = props;
|
|
23
|
+
return (React.createElement(StandardTextField, { id: linkId, value: value.toString(), error: !!feedback, onChange: (event) => onInputChange(event.target.value), disabled: readOnly, label: displayPrompt, placeholder: entryFormat, fullWidth: true, isTabled: isTabled, size: "small", inputProps: { inputMode: 'numeric', pattern: '[0-9]*' }, InputProps: {
|
|
24
|
+
endAdornment: (React.createElement(InputAdornment, { position: 'end' },
|
|
25
|
+
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated }),
|
|
26
|
+
displayUnit))
|
|
27
|
+
}, "data-test": "q-item-integer-field" }));
|
|
28
|
+
}
|
|
29
|
+
export default IntegerField;
|
|
30
|
+
//# sourceMappingURL=IntegerField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/IntegerItem/IntegerField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAc3D,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EACvB,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvD,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,EAAE,KAAK;gBAC7B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,GAAI;gBAC1C,WAAW,CACG,CAClB;SACF,eACS,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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, { useCallback, useState } from 'react';
|
|
18
|
+
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
19
|
+
import useValidationError from '../../../hooks/useValidationError';
|
|
20
|
+
import debounce from 'lodash.debounce';
|
|
21
|
+
import { createEmptyQrItemWithUnit } from '../../../utils/qrItem';
|
|
22
|
+
import { DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
23
|
+
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
24
|
+
import IntegerField from './IntegerField';
|
|
25
|
+
import useIntegerCalculatedExpression from '../../../hooks/useIntegerCalculatedExpression';
|
|
26
|
+
import { parseValidInteger } from '../../../utils/parseInputs';
|
|
27
|
+
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
28
|
+
function IntegerItem(props) {
|
|
29
|
+
const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
|
|
30
|
+
// Get additional rendering extensions
|
|
31
|
+
const { displayUnit, displayPrompt, displayInstructions, readOnly, entryFormat, regexValidation, maxLength } = useRenderingExtensions(qItem);
|
|
32
|
+
// Init input value
|
|
33
|
+
let valueInteger = 0;
|
|
34
|
+
if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) {
|
|
35
|
+
if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueInteger) {
|
|
36
|
+
valueInteger = qrItem.answer[0].valueInteger;
|
|
37
|
+
}
|
|
38
|
+
if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueDecimal) {
|
|
39
|
+
valueInteger = Math.round(qrItem.answer[0].valueDecimal);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const [value, setValue] = useState(valueInteger);
|
|
43
|
+
// Perform validation checks
|
|
44
|
+
const feedback = useValidationError(value.toString(), regexValidation, maxLength);
|
|
45
|
+
// Process calculated expressions
|
|
46
|
+
const { calcExpUpdated } = useIntegerCalculatedExpression({
|
|
47
|
+
qItem: qItem,
|
|
48
|
+
inputValue: value,
|
|
49
|
+
displayUnit: displayUnit,
|
|
50
|
+
setInputValue: (newValue) => {
|
|
51
|
+
setValue(newValue);
|
|
52
|
+
},
|
|
53
|
+
onQrItemChange: onQrItemChange
|
|
54
|
+
});
|
|
55
|
+
// Event handlers
|
|
56
|
+
function handleInputChange(newInput) {
|
|
57
|
+
const newValue = parseValidInteger(newInput);
|
|
58
|
+
setValue(newValue);
|
|
59
|
+
updateQrItemWithDebounce(newValue);
|
|
60
|
+
}
|
|
61
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
+
const updateQrItemWithDebounce = useCallback(debounce((newValue) => {
|
|
63
|
+
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItemWithUnit(qItem, displayUnit)), { answer: [{ valueInteger: newValue }] }));
|
|
64
|
+
}, DEBOUNCE_DURATION), [onQrItemChange, qItem, displayUnit]); // Dependencies are tested, debounce is causing eslint to not recognise dependencies
|
|
65
|
+
if (isRepeated) {
|
|
66
|
+
return (React.createElement(IntegerField, { linkId: qItem.linkId, value: value, feedback: feedback, displayPrompt: displayPrompt, displayUnit: displayUnit, entryFormat: entryFormat, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, onInputChange: handleInputChange }));
|
|
67
|
+
}
|
|
68
|
+
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-integer-box" },
|
|
69
|
+
React.createElement(ItemFieldGrid, { qItem: qItem, displayInstructions: displayInstructions },
|
|
70
|
+
React.createElement(IntegerField, { linkId: qItem.linkId, value: value, feedback: feedback, displayPrompt: displayPrompt, displayUnit: displayUnit, entryFormat: entryFormat, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, onInputChange: handleInputChange }))));
|
|
71
|
+
}
|
|
72
|
+
export default IntegerItem;
|
|
73
|
+
//# sourceMappingURL=IntegerItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegerItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/IntegerItem/IntegerItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const QFormGroup: import("@emotion/styled").StyledComponent<import("@mui/material").FormGroupProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
3
|
+
export declare const QRadioGroup: import("@emotion/styled").StyledComponent<import("@mui/material").RadioGroupProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
4
|
+
export declare const QItemTypography: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
5
|
+
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
6
|
+
}, "display" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform" | "style" | "className" | "children" | "sx" | "classes" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variant" | "variantMapping"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
@@ -0,0 +1,27 @@
|
|
|
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 { FormGroup, RadioGroup, styled, Typography } from '@mui/material';
|
|
18
|
+
export const QFormGroup = styled(FormGroup)(() => ({
|
|
19
|
+
marginBottom: 4
|
|
20
|
+
}));
|
|
21
|
+
export const QRadioGroup = styled(RadioGroup)(() => ({
|
|
22
|
+
marginBottom: 4
|
|
23
|
+
}));
|
|
24
|
+
export const QItemTypography = styled(Typography)(() => ({
|
|
25
|
+
marginTop: 4
|
|
26
|
+
}));
|
|
27
|
+
//# sourceMappingURL=Item.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.styles.js","sourceRoot":"","sources":["../../../src/components/FormComponents/Item.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,YAAY,EAAE,CAAC;CAChB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC;CAChB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC;CACb,CAAC,CAAC,CAAC"}
|
|
@@ -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 useHidden from '../../../hooks/useHidden';
|
|
19
|
+
import ItemLabelText from './ItemLabelText';
|
|
20
|
+
const ContextDisplayItem = memo(function GroupHeadingIcon(props) {
|
|
21
|
+
const { displayItem } = props;
|
|
22
|
+
const itemIsHidden = useHidden(displayItem);
|
|
23
|
+
if (itemIsHidden) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return React.createElement(ItemLabelText, { qItem: displayItem });
|
|
27
|
+
});
|
|
28
|
+
export default ContextDisplayItem;
|
|
29
|
+
//# sourceMappingURL=ContextDisplayItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextDisplayItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ContextDisplayItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAM5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,gBAAgB,CAAC,KAA4B;IACpF,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,YAAY,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,WAAW,GAAI,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -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 from 'react';
|
|
18
|
+
import { Fade } from '@mui/material';
|
|
19
|
+
import CheckIcon from '@mui/icons-material/Check';
|
|
20
|
+
function FadingCheckIcon(props) {
|
|
21
|
+
const { fadeIn } = props;
|
|
22
|
+
return (React.createElement(Fade, { in: fadeIn, timeout: { enter: 100, exit: 300 } },
|
|
23
|
+
React.createElement(CheckIcon, { color: "success", fontSize: "small" })));
|
|
24
|
+
}
|
|
25
|
+
export default FadingCheckIcon;
|
|
26
|
+
//# sourceMappingURL=FadingCheckIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FadingCheckIcon.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/FadingCheckIcon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAMlD,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,OAAO,CACL,oBAAC,IAAI,IAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;QAClD,oBAAC,SAAS,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,GAAG,CACzC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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 { Grid } from '@mui/material';
|
|
19
|
+
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
20
|
+
import LabelWrapper from './ItemLabelWrapper';
|
|
21
|
+
function ItemFieldGrid(props) {
|
|
22
|
+
const { children, qItem, displayInstructions } = props;
|
|
23
|
+
return (React.createElement(Grid, { container: true, columnSpacing: 6 },
|
|
24
|
+
React.createElement(Grid, { item: true, xs: 5 },
|
|
25
|
+
React.createElement(LabelWrapper, { qItem: qItem })),
|
|
26
|
+
React.createElement(Grid, { item: true, xs: 7 },
|
|
27
|
+
children,
|
|
28
|
+
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions }))));
|
|
29
|
+
}
|
|
30
|
+
export default ItemFieldGrid;
|
|
31
|
+
//# sourceMappingURL=ItemFieldGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemFieldGrid.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemFieldGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAQ9C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAEvD,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;QAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;YACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB;QACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;YACb,QAAQ;YACT,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAC5D,CACF,CACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -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, { memo } from 'react';
|
|
18
|
+
import { getMarkdownString, getXHtmlString } from '../../../utils/itemControl';
|
|
19
|
+
import { QItemTypography } from '../Item.styles';
|
|
20
|
+
import parse from 'html-react-parser';
|
|
21
|
+
import { Box } from '@mui/material';
|
|
22
|
+
import ReactMarkdown from 'react-markdown';
|
|
23
|
+
const ItemLabelText = memo(function ItemLabelText(props) {
|
|
24
|
+
const { qItem } = props;
|
|
25
|
+
// parse xHTML if found
|
|
26
|
+
const xHtmlString = getXHtmlString(qItem);
|
|
27
|
+
if (xHtmlString) {
|
|
28
|
+
return React.createElement(Box, null, parse(xHtmlString));
|
|
29
|
+
}
|
|
30
|
+
// parse xHTML if found
|
|
31
|
+
const markdownString = getMarkdownString(qItem);
|
|
32
|
+
if (markdownString) {
|
|
33
|
+
return (React.createElement(Box, null,
|
|
34
|
+
React.createElement(ReactMarkdown, null, markdownString)));
|
|
35
|
+
}
|
|
36
|
+
// parse regular text
|
|
37
|
+
if (qItem.type === 'group') {
|
|
38
|
+
return React.createElement(React.Fragment, null, qItem.text);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return React.createElement(QItemTypography, null, qItem.text);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
export default ItemLabelText;
|
|
45
|
+
//# sourceMappingURL=ItemLabelText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemLabelText.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemLabelText.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAM3C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,KAAyB;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,uBAAuB;IACvB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,EAAE;QACf,OAAO,oBAAC,GAAG,QAAE,KAAK,CAAC,WAAW,CAAC,CAAO,CAAC;KACxC;IAED,uBAAuB;IACvB,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,cAAc,EAAE;QAClB,OAAO,CACL,oBAAC,GAAG;YACF,oBAAC,aAAa,QAAE,cAAc,CAAiB,CAC3C,CACP,CAAC;KACH;IAED,qBAAqB;IACrB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,OAAO,0CAAG,KAAK,CAAC,IAAI,CAAI,CAAC;KAC1B;SAAM;QACL,OAAO,oBAAC,eAAe,QAAE,KAAK,CAAC,IAAI,CAAmB,CAAC;KACxD;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|