@flipdish/portal-library 1.0.77 → 2.0.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/dist/Icons/AccessTimeIcon/index.d.ts +2 -0
- package/dist/Icons/AccessTimeIcon/index.js +2 -0
- package/dist/Icons/CalenderTodayIcon/index.d.ts +2 -0
- package/dist/Icons/CalenderTodayIcon/index.js +2 -0
- package/dist/Icons/CalenderTodayIcon/index.js.map +1 -0
- package/dist/Icons/DoneIcon/index.d.ts +2 -0
- package/dist/Icons/DoneIcon/index.js +2 -0
- package/dist/Icons/DoneIcon/index.js.map +1 -0
- package/dist/Icons/SearchIcon/index.d.ts +2 -0
- package/dist/Icons/SearchIcon/index.js +2 -0
- package/dist/Icons/SearchIcon/index.js.map +1 -0
- package/dist/Icons/logo/Deliveroo/index.d.ts +8 -0
- package/dist/Icons/logo/Deliveroo/index.js +2 -0
- package/dist/Icons/logo/Deliveroo/index.js.map +1 -0
- package/dist/components/Chip/index.js +2 -0
- package/dist/components/Chip/index.js.map +1 -0
- package/dist/components/FDErrorBoundary/index.d.ts +9 -0
- package/dist/components/FDErrorBoundary/index.js +2 -0
- package/dist/components/FDErrorBoundary/index.js.map +1 -0
- package/dist/components/FlipdishLogoLoader/index.js +2 -0
- package/dist/components/FlipdishLogoLoader/index.js.map +1 -0
- package/dist/components/FlipdishStaffContainer/index.js +2 -0
- package/dist/components/FlipdishStaffContainer/index.js.map +1 -0
- package/dist/components/Form/FormItemLayout/index.d.ts +16 -0
- package/dist/components/{ui/Form/FormItemLayout.js → Form/FormItemLayout/index.js} +1 -1
- package/dist/components/Form/FormItemLayout/index.js.map +1 -0
- package/dist/components/Form/GenericAutocompleteField/index.js +2 -0
- package/dist/components/Form/GenericAutocompleteField/index.js.map +1 -0
- package/dist/components/{ui/Form/GenericFormContainer.js → Form/GenericFormContainer/index.js} +1 -1
- package/dist/components/Form/GenericFormContainer/index.js.map +1 -0
- package/dist/components/Form/GenericTextField/index.js +2 -0
- package/dist/components/Form/GenericTextField/index.js.map +1 -0
- package/dist/components/{components/ui/Form/PaginatedAutocompleteField.d.ts → Form/PaginatedAutocompleteField/index.d.ts} +1 -1
- package/dist/components/Form/PaginatedAutocompleteField/index.js +2 -0
- package/dist/components/Form/PaginatedAutocompleteField/index.js.map +1 -0
- package/dist/components/{components/ui/GenericDatePickerField → GenericDatePickerField}/GenericDateFieldBase.d.ts +3 -1
- package/dist/components/GenericDatePickerField/GenericDateFieldBase.js +2 -0
- package/dist/components/GenericDatePickerField/GenericDateFieldBase.js.map +1 -0
- package/dist/components/{ui/GenericDatePickerField/GenericDatePickerField.js → GenericDatePickerField/index.js} +1 -1
- package/dist/components/GenericDatePickerField/index.js.map +1 -0
- package/dist/components/{ui/GenericDateTimePickerField/GenericDateTimePickerField.js → GenericDateTimePickerField/index.js} +1 -1
- package/dist/components/GenericDateTimePickerField/index.js.map +1 -0
- package/dist/components/GenericRadioButtons/index.js +2 -0
- package/dist/components/GenericRadioButtons/index.js.map +1 -0
- package/dist/components/GenericTable/HighlightScrollbar.d.ts +11 -0
- package/dist/components/GenericTable/HighlightScrollbar.js.map +1 -0
- package/dist/components/{components/ui/GenericTable/GenericTable.d.ts → GenericTable/index.d.ts} +1 -1
- package/dist/components/{ui/GenericTable/GenericTable.js → GenericTable/index.js} +3 -3
- package/dist/components/GenericTable/index.js.map +1 -0
- package/dist/components/GenericTableBody/index.d.ts +37 -0
- package/dist/components/GenericTableBody/index.js +2 -0
- package/dist/components/GenericTableBody/index.js.map +1 -0
- package/dist/components/{ui/GenericTableBodyRow/GenericTableBodyRow.js → GenericTableBodyRow/index.js} +1 -1
- package/dist/components/GenericTableBodyRow/index.js.map +1 -0
- package/dist/components/{ui/GenericTableTitle/GenericTableTitle.js → GenericTableTitle/index.js} +1 -1
- package/dist/components/GenericTableTitle/index.js.map +1 -0
- package/dist/components/{ui/LazyComponent/LazyComponent.js → LazyComponent/index.js} +1 -1
- package/dist/components/LazyComponent/index.js.map +1 -0
- package/dist/components/{ui/ListItemLink/ListItemLink.js → ListItemLink/index.js} +1 -1
- package/dist/components/ListItemLink/index.js.map +1 -0
- package/dist/components/ListItemLinkButton/index.js +2 -0
- package/dist/components/ListItemLinkButton/index.js.map +1 -0
- package/dist/components/{ui/NoResults/NoResults.js → NoResults/index.js} +1 -1
- package/dist/components/NoResults/index.js.map +1 -0
- package/dist/components/NotFoundPage/index.js +2 -0
- package/dist/components/NotFoundPage/index.js.map +1 -0
- package/dist/components/PageLayout/DocumentTitle.d.ts +6 -0
- package/dist/components/PageLayout/DocumentTitle.js +2 -0
- package/dist/components/PageLayout/DocumentTitle.js.map +1 -0
- package/dist/components/PageLayout/FullWidthContainer.d.ts +13 -0
- package/dist/components/PageLayout/FullWidthContainer.js.map +1 -0
- package/dist/components/PageLayout/GlobalSpacingStyles.d.ts +5 -0
- package/dist/components/PageLayout/GlobalSpacingStyles.js +2 -0
- package/dist/components/PageLayout/GlobalSpacingStyles.js.map +1 -0
- package/dist/components/{components/ui/PageLayout/PageLayout.d.ts → PageLayout/index.d.ts} +9 -1
- package/dist/components/PageLayout/index.js +2 -0
- package/dist/components/PageLayout/index.js.map +1 -0
- package/dist/components/{ui/PortalMock/PortalMock.js → PortalMock/index.js} +1 -1
- package/dist/components/PortalMock/index.js.map +1 -0
- package/dist/components/{ui/Spacer/Spacer.js → Spacer/index.js} +1 -1
- package/dist/components/Spacer/index.js.map +1 -0
- package/dist/components/{ui/Switch/Switch.js → Switch/index.js} +1 -1
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Tooltip/index.js +2 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/custom-hooks/useMicroFrontendAttributes.js.map +1 -0
- package/dist/custom-hooks/useRenderValidText.js +2 -0
- package/dist/custom-hooks/useRenderValidText.js.map +1 -0
- package/dist/custom-hooks/useToasts.js.map +1 -0
- package/dist/localization/de.json.js +2 -0
- package/dist/localization/de.json.js.map +1 -0
- package/dist/localization/dev-lang.json.js +2 -0
- package/dist/localization/dev-lang.json.js.map +1 -0
- package/dist/localization/en-US.json.js +2 -0
- package/dist/localization/en-US.json.js.map +1 -0
- package/dist/localization/en.json.d.ts +63 -0
- package/dist/localization/es-MX.json.js +2 -0
- package/dist/localization/es-MX.json.js.map +1 -0
- package/dist/localization/es.json.js +2 -0
- package/dist/localization/es.json.js.map +1 -0
- package/dist/localization/fr.json.js +2 -0
- package/dist/localization/fr.json.js.map +1 -0
- package/dist/localization/it.json.js +2 -0
- package/dist/localization/it.json.js.map +1 -0
- package/dist/localization/nl.json.js +2 -0
- package/dist/localization/nl.json.js.map +1 -0
- package/dist/localization/pt.json.js +2 -0
- package/dist/localization/pt.json.js.map +1 -0
- package/dist/providers/DateTimeLocalizationProvider.js.map +1 -0
- package/dist/providers/TranslationProvider.d.ts +25 -0
- package/dist/providers/TranslationProvider.js +1 -1
- package/dist/providers/TranslationProvider.js.map +1 -1
- package/dist/stories/utilities/MockPageContent.d.ts +5 -0
- package/dist/stories/utilities/MockPageContent.js +2 -0
- package/dist/stories/utilities/MockPageContent.js.map +1 -0
- package/dist/themes/flipdishPublicTheme.d.ts +5 -0
- package/dist/themes/flipdishPublicTheme.js +2 -0
- package/dist/themes/flipdishPublicTheme.js.map +1 -0
- package/dist/utilities/formValidation.d.ts +6 -0
- package/dist/utilities/formValidation.js.map +1 -0
- package/dist/{components/genericUtilities/index.js → utilities/genericUtilities.js} +1 -1
- package/dist/utilities/genericUtilities.js.map +1 -0
- package/dist/{components/components/renderUtilities → utilities}/renderUtilities.d.ts +4 -4
- package/dist/utilities/renderUtilities.js +2 -0
- package/dist/utilities/renderUtilities.js.map +1 -0
- package/dist/utilities/validation.d.ts +3 -0
- package/package.json +30 -1
- package/dist/assets/images/fd-loader.gif.cjs.js +0 -2
- package/dist/assets/images/fd-loader.gif.cjs.js.map +0 -1
- package/dist/components/components/index.d.ts +0 -38
- package/dist/components/components/themes/flipdishPublicTheme.d.ts +0 -28
- package/dist/components/components/ui/Form/utilities/formValidation.d.ts +0 -6
- package/dist/components/components/ui/GenericTable/types.d.ts +0 -13
- package/dist/components/components/ui/GenericTableBody/GenericTableBody.d.ts +0 -16
- package/dist/components/custom-hooks/useMicroFrontendAttributes.cjs.js +0 -2
- package/dist/components/custom-hooks/useMicroFrontendAttributes.cjs.js.map +0 -1
- package/dist/components/custom-hooks/useMicroFrontendAttributes.js.map +0 -1
- package/dist/components/custom-hooks/useRenderValidText.cjs.js +0 -2
- package/dist/components/custom-hooks/useRenderValidText.cjs.js.map +0 -1
- package/dist/components/custom-hooks/useRenderValidText.js +0 -2
- package/dist/components/custom-hooks/useRenderValidText.js.map +0 -1
- package/dist/components/custom-hooks/useToasts.cjs.js +0 -2
- package/dist/components/custom-hooks/useToasts.cjs.js.map +0 -1
- package/dist/components/custom-hooks/useToasts.js.map +0 -1
- package/dist/components/genericUtilities/index.cjs.js +0 -2
- package/dist/components/genericUtilities/index.cjs.js.map +0 -1
- package/dist/components/genericUtilities/index.js.map +0 -1
- package/dist/components/index.cjs.js +0 -2
- package/dist/components/index.cjs.js.map +0 -1
- package/dist/components/index.js +0 -2
- package/dist/components/renderUtilities/renderUtilities.cjs.js +0 -2
- package/dist/components/renderUtilities/renderUtilities.cjs.js.map +0 -1
- package/dist/components/renderUtilities/renderUtilities.js +0 -2
- package/dist/components/renderUtilities/renderUtilities.js.map +0 -1
- package/dist/components/themes/flipdishPublicTheme.cjs.js +0 -2
- package/dist/components/themes/flipdishPublicTheme.cjs.js.map +0 -1
- package/dist/components/themes/flipdishPublicTheme.js +0 -2
- package/dist/components/themes/flipdishPublicTheme.js.map +0 -1
- package/dist/components/ui/Chip/Chip.cjs.js +0 -2
- package/dist/components/ui/Chip/Chip.cjs.js.map +0 -1
- package/dist/components/ui/Chip/Chip.js +0 -2
- package/dist/components/ui/Chip/Chip.js.map +0 -1
- package/dist/components/ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.cjs.js +0 -2
- package/dist/components/ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.cjs.js.map +0 -1
- package/dist/components/ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.js.map +0 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.cjs.js +0 -2
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.cjs.js.map +0 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.js +0 -2
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.js.map +0 -1
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.cjs.js +0 -2
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.cjs.js.map +0 -1
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.js +0 -2
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.js.map +0 -1
- package/dist/components/ui/FlipdishStaffContainer/FlipdishStaffContainer.cjs.js +0 -2
- package/dist/components/ui/FlipdishStaffContainer/FlipdishStaffContainer.cjs.js.map +0 -1
- package/dist/components/ui/FlipdishStaffContainer/FlipdishStaffContainer.js +0 -2
- package/dist/components/ui/FlipdishStaffContainer/FlipdishStaffContainer.js.map +0 -1
- package/dist/components/ui/Form/FormItemLayout.cjs.js +0 -2
- package/dist/components/ui/Form/FormItemLayout.cjs.js.map +0 -1
- package/dist/components/ui/Form/FormItemLayout.js.map +0 -1
- package/dist/components/ui/Form/GenericAutocompleteField.cjs.js +0 -2
- package/dist/components/ui/Form/GenericAutocompleteField.cjs.js.map +0 -1
- package/dist/components/ui/Form/GenericAutocompleteField.js +0 -2
- package/dist/components/ui/Form/GenericAutocompleteField.js.map +0 -1
- package/dist/components/ui/Form/GenericFormContainer.cjs.js +0 -2
- package/dist/components/ui/Form/GenericFormContainer.cjs.js.map +0 -1
- package/dist/components/ui/Form/GenericFormContainer.js.map +0 -1
- package/dist/components/ui/Form/GenericTextField.cjs.js +0 -2
- package/dist/components/ui/Form/GenericTextField.cjs.js.map +0 -1
- package/dist/components/ui/Form/GenericTextField.js +0 -2
- package/dist/components/ui/Form/GenericTextField.js.map +0 -1
- package/dist/components/ui/Form/PaginatedAutocompleteField.cjs.js +0 -2
- package/dist/components/ui/Form/PaginatedAutocompleteField.cjs.js.map +0 -1
- package/dist/components/ui/Form/PaginatedAutocompleteField.js +0 -2
- package/dist/components/ui/Form/PaginatedAutocompleteField.js.map +0 -1
- package/dist/components/ui/Form/utilities/formValidation.cjs.js +0 -2
- package/dist/components/ui/Form/utilities/formValidation.cjs.js.map +0 -1
- package/dist/components/ui/Form/utilities/formValidation.js.map +0 -1
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.cjs.js +0 -2
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.cjs.js.map +0 -1
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.js +0 -2
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.js.map +0 -1
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.cjs.js +0 -2
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.cjs.js.map +0 -1
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.js.map +0 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js +0 -2
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js.map +0 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.js.map +0 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.cjs.js +0 -2
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.cjs.js.map +0 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.js +0 -2
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.js.map +0 -1
- package/dist/components/ui/GenericTable/GenericTable.cjs.js +0 -18
- package/dist/components/ui/GenericTable/GenericTable.cjs.js.map +0 -1
- package/dist/components/ui/GenericTable/GenericTable.js.map +0 -1
- package/dist/components/ui/GenericTable/HighlightScrollbar.cjs.js +0 -2
- package/dist/components/ui/GenericTable/HighlightScrollbar.cjs.js.map +0 -1
- package/dist/components/ui/GenericTable/HighlightScrollbar.js.map +0 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.cjs.js +0 -2
- package/dist/components/ui/GenericTableBody/GenericTableBody.cjs.js.map +0 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.js +0 -2
- package/dist/components/ui/GenericTableBody/GenericTableBody.js.map +0 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js +0 -2
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js.map +0 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.js.map +0 -1
- package/dist/components/ui/GenericTableTitle/GenericTableTitle.cjs.js +0 -2
- package/dist/components/ui/GenericTableTitle/GenericTableTitle.cjs.js.map +0 -1
- package/dist/components/ui/GenericTableTitle/GenericTableTitle.js.map +0 -1
- package/dist/components/ui/LazyComponent/LazyComponent.cjs.js +0 -2
- package/dist/components/ui/LazyComponent/LazyComponent.cjs.js.map +0 -1
- package/dist/components/ui/LazyComponent/LazyComponent.js.map +0 -1
- package/dist/components/ui/ListItemLink/ListItemLink.cjs.js +0 -2
- package/dist/components/ui/ListItemLink/ListItemLink.cjs.js.map +0 -1
- package/dist/components/ui/ListItemLink/ListItemLink.js.map +0 -1
- package/dist/components/ui/ListItemLinkButton/ListItemLinkButton.cjs.js +0 -2
- package/dist/components/ui/ListItemLinkButton/ListItemLinkButton.cjs.js.map +0 -1
- package/dist/components/ui/ListItemLinkButton/ListItemLinkButton.js +0 -2
- package/dist/components/ui/ListItemLinkButton/ListItemLinkButton.js.map +0 -1
- package/dist/components/ui/NoResults/NoResults.cjs.js +0 -2
- package/dist/components/ui/NoResults/NoResults.cjs.js.map +0 -1
- package/dist/components/ui/NoResults/NoResults.js.map +0 -1
- package/dist/components/ui/NotFoundPage/NotFoundPage.cjs.js +0 -2
- package/dist/components/ui/NotFoundPage/NotFoundPage.cjs.js.map +0 -1
- package/dist/components/ui/NotFoundPage/NotFoundPage.js +0 -2
- package/dist/components/ui/NotFoundPage/NotFoundPage.js.map +0 -1
- package/dist/components/ui/PageLayout/DocumentTitle.cjs.js +0 -2
- package/dist/components/ui/PageLayout/DocumentTitle.cjs.js.map +0 -1
- package/dist/components/ui/PageLayout/DocumentTitle.js +0 -2
- package/dist/components/ui/PageLayout/DocumentTitle.js.map +0 -1
- package/dist/components/ui/PageLayout/FullWidthContainer.cjs.js +0 -2
- package/dist/components/ui/PageLayout/FullWidthContainer.cjs.js.map +0 -1
- package/dist/components/ui/PageLayout/FullWidthContainer.js.map +0 -1
- package/dist/components/ui/PageLayout/PageLayout.cjs.js +0 -2
- package/dist/components/ui/PageLayout/PageLayout.cjs.js.map +0 -1
- package/dist/components/ui/PageLayout/PageLayout.js +0 -2
- package/dist/components/ui/PageLayout/PageLayout.js.map +0 -1
- package/dist/components/ui/PortalMock/PortalMock.cjs.js +0 -2
- package/dist/components/ui/PortalMock/PortalMock.cjs.js.map +0 -1
- package/dist/components/ui/PortalMock/PortalMock.js.map +0 -1
- package/dist/components/ui/Spacer/Spacer.cjs.js +0 -2
- package/dist/components/ui/Spacer/Spacer.cjs.js.map +0 -1
- package/dist/components/ui/Spacer/Spacer.js.map +0 -1
- package/dist/components/ui/Switch/Switch.cjs.js +0 -2
- package/dist/components/ui/Switch/Switch.cjs.js.map +0 -1
- package/dist/components/ui/Switch/Switch.js.map +0 -1
- package/dist/components/ui/Tooltip/Tooltip.cjs.js +0 -2
- package/dist/components/ui/Tooltip/Tooltip.cjs.js.map +0 -1
- package/dist/components/ui/Tooltip/Tooltip.js +0 -2
- package/dist/components/ui/Tooltip/Tooltip.js.map +0 -1
- package/dist/localization/en.json.cjs.js +0 -2
- package/dist/localization/en.json.cjs.js.map +0 -1
- package/dist/providers/ToastProvider.cjs.js +0 -2
- package/dist/providers/ToastProvider.cjs.js.map +0 -1
- package/dist/providers/TranslationProvider.cjs.js +0 -2
- package/dist/providers/TranslationProvider.cjs.js.map +0 -1
- package/dist/utilities/validation.cjs.js +0 -2
- package/dist/utilities/validation.cjs.js.map +0 -1
- /package/dist/{components → Icons/AccessTimeIcon}/index.js.map +0 -0
- /package/dist/components/{components/ui/Chip/Chip.d.ts → Chip/index.d.ts} +0 -0
- /package/dist/components/{components/ui/FlipdishLogoLoader/FlipdishLogoLoader.d.ts → FlipdishLogoLoader/index.d.ts} +0 -0
- /package/dist/components/{components/ui/FlipdishStaffContainer/FlipdishStaffContainer.d.ts → FlipdishStaffContainer/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Form/GenericAutocompleteField.d.ts → Form/GenericAutocompleteField/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Form/GenericFormContainer.d.ts → Form/GenericFormContainer/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Form/GenericTextField.d.ts → Form/GenericTextField/index.d.ts} +0 -0
- /package/dist/components/{components/ui/GenericDatePickerField/GenericDatePickerField.d.ts → GenericDatePickerField/index.d.ts} +0 -0
- /package/dist/components/{components/ui/GenericDateTimePickerField/GenericDateTimePickerField.d.ts → GenericDateTimePickerField/index.d.ts} +0 -0
- /package/dist/components/{components/ui/GenericRadioButtons/GenericRadioButtons.d.ts → GenericRadioButtons/index.d.ts} +0 -0
- /package/dist/components/{ui/GenericTable → GenericTable}/HighlightScrollbar.js +0 -0
- /package/dist/components/{components/ui/GenericTableBodyRow/GenericTableBodyRow.d.ts → GenericTableBodyRow/index.d.ts} +0 -0
- /package/dist/components/{components/ui/GenericTableTitle/GenericTableTitle.d.ts → GenericTableTitle/index.d.ts} +0 -0
- /package/dist/components/{components/ui/LazyComponent/LazyComponent.d.ts → LazyComponent/index.d.ts} +0 -0
- /package/dist/components/{components/ui/ListItemLink/ListItemLink.d.ts → ListItemLink/index.d.ts} +0 -0
- /package/dist/components/{components/ui/ListItemLinkButton/ListItemLinkButton.d.ts → ListItemLinkButton/index.d.ts} +0 -0
- /package/dist/components/{components/ui/NoResults/NoResults.d.ts → NoResults/index.d.ts} +0 -0
- /package/dist/components/{components/ui/NotFoundPage/NotFoundPage.d.ts → NotFoundPage/index.d.ts} +0 -0
- /package/dist/components/{ui/PageLayout → PageLayout}/FullWidthContainer.js +0 -0
- /package/dist/components/{components/ui/PortalMock/PortalMock.d.ts → PortalMock/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Spacer/Spacer.d.ts → Spacer/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Switch/Switch.d.ts → Switch/index.d.ts} +0 -0
- /package/dist/components/{components/ui/Tooltip/Tooltip.d.ts → Tooltip/index.d.ts} +0 -0
- /package/dist/{components/components/custom-hooks → custom-hooks}/useMicroFrontendAttributes.d.ts +0 -0
- /package/dist/{components/custom-hooks → custom-hooks}/useMicroFrontendAttributes.js +0 -0
- /package/dist/{components/components/custom-hooks → custom-hooks}/useRenderValidText.d.ts +0 -0
- /package/dist/{components/components/custom-hooks → custom-hooks}/useToasts.d.ts +0 -0
- /package/dist/{components/custom-hooks → custom-hooks}/useToasts.js +0 -0
- /package/dist/{components/components/ui/DateTimeLocalizationProvider → providers}/DateTimeLocalizationProvider.d.ts +0 -0
- /package/dist/{components/ui/DateTimeLocalizationProvider → providers}/DateTimeLocalizationProvider.js +0 -0
- /package/dist/{components/providers → providers}/ToastProvider.d.ts +0 -0
- /package/dist/{components/ui/Form/utilities → utilities}/formValidation.js +0 -0
- /package/dist/{components/components/genericUtilities/index.d.ts → utilities/genericUtilities.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as C}from"react/jsx-runtime";const t=({width:t=24,height:i=24,fill:L="#00CDBC"})=>C("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:i,viewBox:"0 0 24 24",fill:"none",children:C("path",{d:"M16.0509 2L15.1117 10.82L13.5084 3.38333L8.48088 4.43833L10.0842 11.8733L2.83838 13.3917L4.11755 19.3308L16.86 22L19.775 15.5467L21.1617 2.53L16.0509 2ZM11.4917 13.3417C11.5841 13.3401 11.6757 13.3588 11.76 13.3967C11.9334 13.4742 12.2267 13.6383 12.285 13.89C12.3709 14.2517 12.2884 14.5558 12.025 14.7933V14.795C11.7625 15.0317 11.415 15.01 11.0467 14.8892C10.6792 14.7683 10.5159 14.3292 10.655 13.7983C10.7584 13.4042 11.2467 13.3458 11.4917 13.3417ZM14.9434 13.7983C15.3159 13.7883 15.6367 13.9533 15.8184 14.2508C15.9992 14.5483 15.9075 14.8758 15.7167 15.2033H15.715C15.5242 15.53 15.0234 15.5742 14.53 15.3367C14.1975 15.1758 14.1992 14.7667 14.2359 14.5175C14.2551 14.3812 14.3107 14.2525 14.3967 14.145C14.515 13.9975 14.7142 13.805 14.9434 13.7983Z",fill:L})});export{t as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/Icons/logo/Deliveroo/index.tsx"],"sourcesContent":["type DeliverooLogoProps = {\n width?: number;\n height?: number;\n fill?: string;\n};\n\nconst DeliverooLogo: React.FC<DeliverooLogoProps> = ({ width = 24, height = 24, fill = '#00CDBC' }) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M16.0509 2L15.1117 10.82L13.5084 3.38333L8.48088 4.43833L10.0842 11.8733L2.83838 13.3917L4.11755 19.3308L16.86 22L19.775 15.5467L21.1617 2.53L16.0509 2ZM11.4917 13.3417C11.5841 13.3401 11.6757 13.3588 11.76 13.3967C11.9334 13.4742 12.2267 13.6383 12.285 13.89C12.3709 14.2517 12.2884 14.5558 12.025 14.7933V14.795C11.7625 15.0317 11.415 15.01 11.0467 14.8892C10.6792 14.7683 10.5159 14.3292 10.655 13.7983C10.7584 13.4042 11.2467 13.3458 11.4917 13.3417ZM14.9434 13.7983C15.3159 13.7883 15.6367 13.9533 15.8184 14.2508C15.9992 14.5483 15.9075 14.8758 15.7167 15.2033H15.715C15.5242 15.53 15.0234 15.5742 14.53 15.3367C14.1975 15.1758 14.1992 14.7667 14.2359 14.5175C14.2551 14.3812 14.3107 14.2525 14.3967 14.145C14.515 13.9975 14.7142 13.805 14.9434 13.7983Z\"\n fill={fill}\n />\n </svg>\n );\n};\n\nexport default DeliverooLogo;\n"],"names":["DeliverooLogo","width","height","fill","_jsx","xmlns","viewBox","children","d"],"mappings":"wCAMA,MAAMA,EAA8C,EAAGC,QAAQ,GAAIC,SAAS,GAAIC,OAAO,aAE/EC,EAAA,MAAA,CAAKC,MAAM,6BAA6BJ,MAAOA,EAAOC,OAAQA,EAAQI,QAAQ,YAAYH,KAAK,OAAMI,SACjGH,UACII,EAAE,0vBACFL,KAAMA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import r from"@mui/material/Chip";import{styled as l}from"@mui/material/styles";const o=["default","blue","success","warning","error"],t=["filled","outlined"],a=(e,r,l)=>({blue:{filled:{backgroundColor:r.palette.flippyBlue.light,color:r.palette.flippyBlue.dark},outlined:{borderColor:r.palette.flippyBlue.dark,color:r.palette.flippyBlue.dark}},success:{filled:{backgroundColor:r.palette.success.light,color:r.palette.success.dark},outlined:{borderColor:r.palette.success.main,color:r.palette.success.main}},warning:{filled:{backgroundColor:r.palette.warning.light,color:r.palette.warning.dark},outlined:{borderColor:r.palette.warning.main,color:r.palette.warning.dark}},error:{filled:{backgroundColor:r.palette.error.light,color:r.palette.error.dark},outlined:{borderColor:r.palette.error.main,color:r.palette.error.main}},default:{filled:{},outlined:{}}}[e][l]),i=l(r,{shouldForwardProp:e=>"colour"!==e&&"rounded"!==e})((({theme:e,colour:r,rounded:l,variant:o=t[0]})=>({borderRadius:l?"100px":"5px","& .MuiChip-icon":{color:"inherit"},...a(r,e,o)}))),d=({label:r,color:l="default",size:o="medium",variant:t="filled",icon:a,rounded:d=!0})=>e(i,{icon:a,label:r,colour:l,size:o,variant:t,rounded:d});export{o as CHIP_COLORS,t as CHIP_VARIANTS,d as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Chip/index.tsx"],"sourcesContent":["import MuiChip, { type ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled, type Theme } from '@mui/material/styles';\n\nexport const CHIP_COLORS = ['default', 'blue', 'success', 'warning', 'error'] as const;\nexport type ChipColor = (typeof CHIP_COLORS)[number];\n\nexport const CHIP_VARIANTS = ['filled', 'outlined'] as const;\nexport type ChipVariant = (typeof CHIP_VARIANTS)[number];\n\nexport type ChipProps = {\n label: string;\n color?: ChipColor;\n size?: MuiChipProps['size'];\n variant?: ChipVariant;\n icon?: MuiChipProps['icon'];\n rounded?: boolean;\n};\n\ntype StyledChipProps = {\n colour: ChipColor;\n rounded: boolean;\n variant?: ChipVariant;\n};\n\nconst getColorStyles = (colour: ChipColor, theme: Theme, variant: ChipVariant) => {\n const colorMap = {\n blue: {\n filled: {\n backgroundColor: theme.palette.flippyBlue.light,\n color: theme.palette.flippyBlue.dark,\n },\n outlined: {\n borderColor: theme.palette.flippyBlue.dark,\n color: theme.palette.flippyBlue.dark,\n },\n },\n success: {\n filled: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.success.dark,\n },\n outlined: {\n borderColor: theme.palette.success.main,\n color: theme.palette.success.main,\n },\n },\n warning: {\n filled: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.warning.dark,\n },\n outlined: {\n borderColor: theme.palette.warning.main,\n color: theme.palette.warning.dark,\n },\n },\n error: {\n filled: {\n backgroundColor: theme.palette.error.light,\n color: theme.palette.error.dark,\n },\n outlined: {\n borderColor: theme.palette.error.main,\n color: theme.palette.error.main,\n },\n },\n default: {\n filled: {},\n outlined: {},\n },\n } satisfies Record<ChipColor, Record<ChipVariant, object>>;\n\n return colorMap[colour][variant];\n};\n\nconst StyledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<StyledChipProps>(({ theme, colour, rounded, variant = CHIP_VARIANTS[0] }) => ({\n borderRadius: rounded ? '100px' : '5px',\n '& .MuiChip-icon': {\n color: 'inherit',\n },\n ...getColorStyles(colour, theme, variant),\n}));\n\nconst Chip = ({ label, color = 'default', size = 'medium', variant = 'filled', icon, rounded = true }: ChipProps) => (\n <StyledChip icon={icon} label={label} colour={color} size={size} variant={variant} rounded={rounded} />\n);\n\nexport default Chip;\n"],"names":["CHIP_COLORS","CHIP_VARIANTS","getColorStyles","colour","theme","variant","blue","filled","backgroundColor","palette","flippyBlue","light","color","dark","outlined","borderColor","success","main","warning","error","default","StyledChip","styled","MuiChip","shouldForwardProp","prop","rounded","borderRadius","Chip","label","size","icon","_jsx"],"mappings":"wHAGO,MAAMA,EAAc,CAAC,UAAW,OAAQ,UAAW,UAAW,SAGxDC,EAAgB,CAAC,SAAU,YAkBlCC,EAAiB,CAACC,EAAmBC,EAAcC,KACpC,CACbC,KAAM,CACFC,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQC,WAAWC,MAC1CC,MAAOR,EAAMK,QAAQC,WAAWG,MAEpCC,SAAU,CACNC,YAAaX,EAAMK,QAAQC,WAAWG,KACtCD,MAAOR,EAAMK,QAAQC,WAAWG,OAGxCG,QAAS,CACLT,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQO,QAAQL,MACvCC,MAAOR,EAAMK,QAAQO,QAAQH,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQO,QAAQC,KACnCL,MAAOR,EAAMK,QAAQO,QAAQC,OAGrCC,QAAS,CACLX,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQS,QAAQP,MACvCC,MAAOR,EAAMK,QAAQS,QAAQL,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQS,QAAQD,KACnCL,MAAOR,EAAMK,QAAQS,QAAQL,OAGrCM,MAAO,CACHZ,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQU,MAAMR,MACrCC,MAAOR,EAAMK,QAAQU,MAAMN,MAE/BC,SAAU,CACNC,YAAaX,EAAMK,QAAQU,MAAMF,KACjCL,MAAOR,EAAMK,QAAQU,MAAMF,OAGnCG,QAAS,CACLb,OAAQ,CAAE,EACVO,SAAU,CAAE,IAIJX,GAAQE,IAGtBgB,EAAaC,EAAOC,EAAS,CAC/BC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GADnCH,EAEC,EAAGlB,QAAOD,SAAQuB,UAASrB,UAAUJ,EAAc,OAAU,CAC7E0B,aAAcD,EAAU,QAAU,MAClC,kBAAmB,CACfd,MAAO,cAERV,EAAeC,EAAQC,EAAOC,OAG/BuB,EAAO,EAAGC,QAAOjB,QAAQ,UAAWkB,OAAO,SAAUzB,UAAU,SAAU0B,OAAML,WAAU,KAC3FM,EAACX,EAAU,CAACU,KAAMA,EAAMF,MAAOA,EAAO1B,OAAQS,EAAOkB,KAAMA,EAAMzB,QAASA,EAASqB,QAASA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const FDErrorBoundary: ({ identifier, children }: {
|
|
5
|
+
identifier: string;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { FDErrorBoundary as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{ErrorBoundary as e}from"react-error-boundary";import{useTranslation as t}from"../../providers/TranslationProvider.js";import"react";import{styled as o}from"@mui/material/styles";const n=o("div")((({theme:r})=>({marginTop:r.spacing(2),display:"flex",justifyContent:"center",alignItems:"center"}))),i=()=>{const{translate:e}=t();return r(n,{children:e("Something_went_wrong_please_refresh_the_page")})},a=({identifier:t,children:o})=>r(e,{FallbackComponent:i,onError:(r,e)=>{window.fdlogger?.error(`${t?.toString()} Error Boundary`,{message:r?.message,stack:e})},children:o});export{a as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/FDErrorBoundary/index.tsx"],"sourcesContent":["import { ErrorBoundary } from 'react-error-boundary';\nimport { useTranslation } from '../../providers/TranslationProvider';\nimport { type ReactNode } from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n}));\n\nconst FallbackComponent = () => {\n const { translate } = useTranslation();\n return <StyledTextContainer>{translate('Something_went_wrong_please_refresh_the_page')}</StyledTextContainer>;\n};\n\nconst FDErrorBoundary = ({ identifier, children }: { identifier: string; children: ReactNode }) => {\n return (\n <ErrorBoundary\n FallbackComponent={FallbackComponent}\n onError={(error, info) => {\n window.fdlogger?.error(`${identifier?.toString()} Error Boundary`, {\n message: error?.message,\n stack: info,\n });\n }}\n >\n {children}\n </ErrorBoundary>\n );\n};\n\nexport default FDErrorBoundary;\n"],"names":["StyledTextContainer","styled","theme","marginTop","spacing","display","justifyContent","alignItems","FallbackComponent","translate","useTranslation","_jsx","children","FDErrorBoundary","identifier","ErrorBoundary","onError","error","info","window","fdlogger","toString","message","stack"],"mappings":"iOAKA,MAAMA,EAAsBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACtDC,UAAWD,EAAME,QAAQ,GACzBC,QAAS,OACTC,eAAgB,SAChBC,WAAY,aAGVC,EAAoB,KACtB,MAAMC,UAAEA,GAAcC,IACtB,OAAOC,EAACX,EAAqB,CAAAY,SAAAH,EAAU,iDAAsE,EAG3GI,EAAkB,EAAGC,aAAYF,cAE/BD,EAACI,EAAa,CACVP,kBAAmBA,EACnBQ,QAAS,CAACC,EAAOC,KACbC,OAAOC,UAAUH,MAAM,GAAGH,GAAYO,4BAA6B,CAC/DC,QAASL,GAAOK,QAChBC,MAAOL,GACT,EAGLN,SAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{styled as i}from"@mui/material/styles";import r from"../../assets/images/fd-loader.gif.js";import a from"@mui/material/Typography";const l=i("div")((({theme:e,fullscreen:t})=>({display:"flex",alignItems:"center",justifyContent:"center",background:e.palette.white.main,flexDirection:"column",...t&&{width:"100vw",height:"100vh",position:"absolute",top:0,left:0}}))),o=i("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"center",width:"160px",height:"160px",borderRadius:"80px",background:e.palette.white.main,boxShadow:"0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 8px 10px 1px rgba(0, 0, 0, 0.14)",marginBottom:"32px"}))),n=i("img")({height:"96px",width:"96px"}),p=i(a)((({theme:e})=>({color:e.palette.flippyBlue.dark,lineHeight:"1.2",marginBottom:"4px"}))),d=i(a)({fontSize:"20px",color:"rgba(0, 0, 0, 0.54)",lineHeight:"1.4",letterSpacing:"normal"}),m=({headline:i,subHeadline:a,fullscreen:m=!1})=>e(l,{fullscreen:m,"data-testid":"FlipdishLogoLoader",children:[t(o,{children:t(n,{src:r,alt:"Flipdish Logo Loader"})}),t(p,{variant:"h2",children:i}),a&&t(d,{children:a})]});export{m as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/FlipdishLogoLoader/index.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport FdLoader from '../../assets/images/fd-loader.gif';\nimport Typography from '@mui/material/Typography';\n\nconst StyledContainer = styled('div')<{ fullscreen?: boolean }>(({ theme, fullscreen }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: theme.palette.white.main,\n flexDirection: 'column',\n ...(fullscreen && {\n width: '100vw',\n height: '100vh',\n position: 'absolute',\n top: 0,\n left: 0,\n }),\n}));\n\nconst ImageContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '160px',\n height: '160px',\n borderRadius: '80px',\n background: theme.palette.white.main,\n boxShadow: '0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 8px 10px 1px rgba(0, 0, 0, 0.14)',\n marginBottom: '32px',\n}));\n\nconst StyledImage = styled('img')({\n height: '96px',\n width: '96px',\n});\n\nconst StyledHeadline = styled(Typography)(({ theme }) => ({\n color: theme.palette.flippyBlue.dark,\n lineHeight: '1.2',\n marginBottom: '4px',\n}));\n\nconst StyledSubHeadline = styled(Typography)({\n fontSize: '20px',\n color: 'rgba(0, 0, 0, 0.54)',\n lineHeight: '1.4',\n letterSpacing: 'normal',\n});\n\ntype FlipdishLogoLoaderProps = {\n headline: string;\n subHeadline?: string;\n fullscreen?: boolean;\n};\n\nconst FlipdishLogoLoader = ({ headline, subHeadline, fullscreen = false }: FlipdishLogoLoaderProps) => {\n return (\n <StyledContainer fullscreen={fullscreen} data-testid=\"FlipdishLogoLoader\">\n <ImageContainer>\n <StyledImage src={FdLoader} alt=\"Flipdish Logo Loader\" />\n </ImageContainer>\n <StyledHeadline variant=\"h2\">{headline}</StyledHeadline>\n {subHeadline && <StyledSubHeadline>{subHeadline}</StyledSubHeadline>}\n </StyledContainer>\n );\n};\n\nexport default FlipdishLogoLoader;\n"],"names":["StyledContainer","styled","theme","fullscreen","display","alignItems","justifyContent","background","palette","white","main","flexDirection","width","height","position","top","left","ImageContainer","borderRadius","boxShadow","marginBottom","StyledImage","StyledHeadline","Typography","color","flippyBlue","dark","lineHeight","StyledSubHeadline","fontSize","letterSpacing","FlipdishLogoLoader","headline","subHeadline","_jsxs","children","_jsx","src","FdLoader","alt","variant"],"mappings":"4LAIA,MAAMA,EAAkBC,EAAO,MAAPA,EAAwC,EAAGC,QAAOC,iBAAkB,CACxFC,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,WAAYL,EAAMM,QAAQC,MAAMC,KAChCC,cAAe,YACXR,GAAc,CACdS,MAAO,QACPC,OAAQ,QACRC,SAAU,WACVC,IAAK,EACLC,KAAM,OAIRC,EAAiBhB,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACjDE,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBM,MAAO,QACPC,OAAQ,QACRK,aAAc,OACdX,WAAYL,EAAMM,QAAQC,MAAMC,KAChCS,UAAW,4GACXC,aAAc,WAGZC,EAAcpB,EAAO,MAAPA,CAAc,CAC9BY,OAAQ,OACRD,MAAO,SAGLU,EAAiBrB,EAAOsB,EAAPtB,EAAmB,EAAGC,YAAa,CACtDsB,MAAOtB,EAAMM,QAAQiB,WAAWC,KAChCC,WAAY,MACZP,aAAc,UAGZQ,EAAoB3B,EAAOsB,EAAPtB,CAAmB,CACzC4B,SAAU,OACVL,MAAO,sBACPG,WAAY,MACZG,cAAe,WASbC,EAAqB,EAAGC,WAAUC,cAAa9B,cAAa,KAE1D+B,EAAClC,EAAe,CAACG,WAAYA,gBAAwB,qBAAoBgC,SAAA,CACrEC,EAACnB,EAAc,CAAAkB,SACXC,EAACf,EAAW,CAACgB,IAAKC,EAAUC,IAAI,2BAEpCH,EAACd,GAAekB,QAAQ,KAAML,SAAAH,IAC7BC,GAAeG,EAACR,YAAmBK"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as r,jsx as t}from"react/jsx-runtime";import"react";import{useTranslation as i}from"../../providers/TranslationProvider.js";import e from"@mui/icons-material/SupportAgentOutlined";import a from"@mui/material/Grid";import{styled as o}from"@mui/material/styles";import m from"@mui/material/Typography";import n from"@mui/material/Box";const l=o(n)((({theme:r})=>({backgroundColor:r.palette.grey[200],borderRadius:"4px",padding:r.spacing(2)}))),p=o(a)((({theme:r})=>({alignItems:"center",display:"flex",marginBottom:r.spacing(1.5)}))),s=o(m)((({theme:r})=>({fontWeight:500,marginLeft:r.spacing(1)}))),d=({titleOverride:a,children:o})=>{const{translate:m}=i();return r(l,{"data-testid":"flipdish-staff-only-container",children:[r(p,{children:[t(e,{}),t(s,{children:a||m("Flipdish_staff_only")})]}),o]})};export{d as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/FlipdishStaffContainer/index.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport { useTranslation } from '../../providers/TranslationProvider';\nimport SupportAgentOutlinedIcon from '@mui/icons-material/SupportAgentOutlined';\nimport Grid from '@mui/material/Grid';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\n\nconst StyledContainer = styled(Box)(({ theme }) => ({\n backgroundColor: theme.palette.grey[200],\n borderRadius: '4px',\n padding: theme.spacing(2),\n}));\n\nconst TitleContainer = styled(Grid)(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n marginBottom: theme.spacing(1.5),\n}));\n\nconst Title = styled(Typography)(({ theme }) => ({\n fontWeight: 500,\n marginLeft: theme.spacing(1),\n}));\n\ntype Props = {\n titleOverride?: string;\n children: ReactNode;\n};\n\nconst FlipdishStaffContainer = ({ titleOverride, children }: Props) => {\n const { translate } = useTranslation();\n\n return (\n <StyledContainer data-testid=\"flipdish-staff-only-container\">\n <TitleContainer>\n <SupportAgentOutlinedIcon />\n <Title>{titleOverride || translate('Flipdish_staff_only')}</Title>\n </TitleContainer>\n\n {children}\n </StyledContainer>\n );\n};\n\nexport default FlipdishStaffContainer;\n"],"names":["StyledContainer","styled","Box","theme","backgroundColor","palette","grey","borderRadius","padding","spacing","TitleContainer","Grid","alignItems","display","marginBottom","Title","Typography","fontWeight","marginLeft","FlipdishStaffContainer","titleOverride","children","translate","useTranslation","_jsxs","_jsx","SupportAgentOutlinedIcon"],"mappings":"yVAQA,MAAMA,EAAkBC,EAAOC,EAAPD,EAAY,EAAGE,YAAa,CAChDC,gBAAiBD,EAAME,QAAQC,KAAK,KACpCC,aAAc,MACdC,QAASL,EAAMM,QAAQ,OAGrBC,EAAiBT,EAAOU,EAAPV,EAAa,EAAGE,YAAa,CAChDS,WAAY,SACZC,QAAS,OACTC,aAAcX,EAAMM,QAAQ,SAG1BM,EAAQd,EAAOe,EAAPf,EAAmB,EAAGE,YAAa,CAC7Cc,WAAY,IACZC,WAAYf,EAAMM,QAAQ,OAQxBU,EAAyB,EAAGC,gBAAeC,eAC7C,MAAMC,UAAEA,GAAcC,IAEtB,OACIC,EAACxB,EAAe,CAAA,cAAa,gCAA+BqB,SAAA,CACxDG,EAACd,EACG,CAAAW,SAAA,CAAAI,EAACC,EAAwB,IACzBD,EAACV,EAAK,CAAAM,SAAED,GAAiBE,EAAU,4BAGtCD,IAEP"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
interface FormItemLayoutProps {
|
|
5
|
+
children: React__default.ReactNode;
|
|
6
|
+
description?: React__default.ReactNode;
|
|
7
|
+
descriptionTranslated?: string;
|
|
8
|
+
label?: React__default.ReactNode;
|
|
9
|
+
labelTranslated?: string;
|
|
10
|
+
mdProportion?: '4x8' | '8x4' | '10x2' | '12x12';
|
|
11
|
+
smProportion?: '4x8' | '8x4' | '10x2' | '12x12';
|
|
12
|
+
}
|
|
13
|
+
type Props = FormItemLayoutProps;
|
|
14
|
+
declare const FormItemLayout: (props: Props) => react_jsx_runtime.JSX.Element;
|
|
15
|
+
|
|
16
|
+
export { type FormItemLayoutProps, FormItemLayout as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{jsxs as r,jsx as t}from"react/jsx-runtime";import"react";import i from"@mui/material/Grid";import{styled as e}from"@mui/material/styles";import a from"@mui/material/Typography";const n=e(i)((({theme:r})=>({padding:r.spacing(4.75,0,2.5,0),alignItems:"flex-start",flexWrap:"wrap",borderBottom:"1px solid rgba(0,0,0,0.2)"}))),o=e("div")((({theme:r})=>({paddingBottom:r.spacing(2),paddingRight:r.spacing(1.75)}))),l=e=>{const{children:l,description:m,descriptionTranslated:p,label:d,labelTranslated:s,mdProportion:c,smProportion:h}=e,[x,g]=c?c.split("x").map((r=>parseInt(r,10))):[4,8],[u,f]=h?h.split("x").map((r=>parseInt(r,10))):[];return r(n,{container:!0,children:[r(i,{item:!0,xs:12,sm:u,md:x,children:[t(a,{variant:"subtitle1",component:"h3",color:"textPrimary",children:s||d||null}),p||m?t(o,{children:t(a,{variant:"caption",color:"textSecondary",children:p||m||null})}):null]}),t(i,{item:!0,xs:12,sm:f,md:g,children:l})]})};export{l as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/FormItemLayout/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport Grid, { type GridSize } from '@mui/material/Grid';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nconst StyledGrid = styled(Grid)(({ theme }) => ({\n padding: theme.spacing(4.75, 0, 2.5, 0),\n alignItems: 'flex-start',\n flexWrap: 'wrap',\n borderBottom: '1px solid rgba(0,0,0,0.2)',\n}));\n\nconst StyledDescription = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(2),\n paddingRight: theme.spacing(1.75),\n}));\n\nexport interface FormItemLayoutProps {\n children: React.ReactNode;\n description?: React.ReactNode;\n descriptionTranslated?: string;\n label?: React.ReactNode;\n labelTranslated?: string;\n mdProportion?: '4x8' | '8x4' | '10x2' | '12x12';\n smProportion?: '4x8' | '8x4' | '10x2' | '12x12';\n}\n\ntype Props = FormItemLayoutProps;\nconst FormItemLayout = (props: Props) => {\n const { children, description, descriptionTranslated, label, labelTranslated, mdProportion, smProportion } = props;\n\n const [titleProportion, dataProportion] = mdProportion ? mdProportion.split('x').map((m) => parseInt(m, 10)) : [4, 8];\n const [titleProportionSm, dataProportionSm] = smProportion ? smProportion.split('x').map((m) => parseInt(m, 10)) : [];\n const castToGridSize = (data: unknown) => data as GridSize;\n\n return (\n <StyledGrid container>\n <Grid item xs={12} sm={castToGridSize(titleProportionSm)} md={castToGridSize(titleProportion)}>\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {labelTranslated || label || null}\n </Typography>\n\n {descriptionTranslated || description ? (\n <StyledDescription>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {descriptionTranslated || description || null}\n </Typography>\n </StyledDescription>\n ) : null}\n </Grid>\n <Grid item xs={12} sm={castToGridSize(dataProportionSm)} md={castToGridSize(dataProportion)}>\n {children}\n </Grid>\n </StyledGrid>\n );\n};\n\nexport default FormItemLayout;\n"],"names":["StyledGrid","styled","Grid","theme","padding","spacing","alignItems","flexWrap","borderBottom","StyledDescription","paddingBottom","paddingRight","FormItemLayout","props","children","description","descriptionTranslated","label","labelTranslated","mdProportion","smProportion","titleProportion","dataProportion","split","map","m","parseInt","titleProportionSm","dataProportionSm","_jsxs","container","item","xs","sm","md","_jsx","Typography","variant","component","color"],"mappings":"wLAMA,MAAMA,EAAaC,EAAOC,EAAPD,EAAa,EAAGE,YAAa,CAC5CC,QAASD,EAAME,QAAQ,KAAM,EAAG,IAAK,GACrCC,WAAY,aACZC,SAAU,OACVC,aAAc,gCAGZC,EAAoBR,EAAO,MAAPA,EAAc,EAAGE,YAAa,CACpDO,cAAeP,EAAME,QAAQ,GAC7BM,aAAcR,EAAME,QAAQ,UAc1BO,EAAkBC,IACpB,MAAMC,SAAEA,EAAQC,YAAEA,EAAWC,sBAAEA,EAAqBC,MAAEA,EAAKC,gBAAEA,EAAeC,aAAEA,EAAYC,aAAEA,GAAiBP,GAEtGQ,EAAiBC,GAAkBH,EAAeA,EAAaI,MAAM,KAAKC,KAAKC,GAAMC,SAASD,EAAG,MAAO,CAAC,EAAG,IAC5GE,EAAmBC,GAAoBR,EAAeA,EAAaG,MAAM,KAAKC,KAAKC,GAAMC,SAASD,EAAG,MAAO,GAGnH,OACII,EAAC7B,EAAW,CAAA8B,uBACRD,EAAC3B,EAAK,CAAA6B,MAAK,EAAAC,GAAI,GAAIC,GAAmBN,EAAoBO,GAAmBb,EACzEP,SAAA,CAAAqB,EAACC,EAAU,CAACC,QAAQ,YAAYC,UAAU,KAAKC,MAAM,cAAazB,SAC7DI,GAAmBD,GAAS,OAGhCD,GAAyBD,EACtBoB,EAAC1B,EAAiB,CAAAK,SACdqB,EAACC,GAAWC,QAAQ,UAAUE,MAAM,gBAC/BzB,SAAAE,GAAyBD,GAAe,SAGjD,QAERoB,EAACjC,EAAK,CAAA6B,MAAK,EAAAC,GAAI,GAAIC,GAAmBL,EAAmBM,GAAmBZ,EAAeR,SACtFA,MAGX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,Fragment as o,jsx as l}from"react/jsx-runtime";import t from"@mui/material/Autocomplete";import i from"@mui/material/CircularProgress";import r from"@mui/material/TextField";import a from"@mui/material/Typography";import{Field as n}from"formik";import"react";import d from"../../../custom-hooks/useRenderValidText.js";import m from"../FormItemLayout/index.js";const u=({field:a,form:n,fieldName:m,options:u,label:p,variant:s,placeholder:h,getOptionLabel:c,isOptionEqualToValue:g,onChange:f,onInputChange:b,onScroll:v,layout:T="horizontal",disabled:x=!1,loading:y=!1,required:C=!1,multiple:q=!1,limitTags:I})=>{const{errors:O,touched:E,isSubmitting:P}=n,V=O[a.name],L=!!V&&E[a.name],S=d({fieldError:V,showError:L,touched:!!E[a.name],value:a.value});return l(t,{options:u,getOptionLabel:c,isOptionEqualToValue:g,onChange:(e,o)=>{n.setFieldValue(m,o),f&&f(e,o)},onInputChange:b,disabled:P||x,fullWidth:!0,value:a.value||(q?[]:null),loading:y,renderInput:t=>l(r,{...t,label:"standard"===s?void 0:p,variant:s,"data-testid":`text-field-${m}`,fullWidth:!0,style:{paddingRight:"horizontal"===T?16:0},placeholder:h||void 0,required:C,error:L,helperText:S,slotProps:{input:{...t.InputProps,endAdornment:e(o,{children:[y&&l(i,{color:"inherit",size:25}),t.InputProps.endAdornment]})},formHelperText:{children:" ",style:{textAlign:"right"}}}}),multiple:q,limitTags:q?I??2:void 0,slotProps:{listbox:{onScroll:v}}})},p=({label:t,fieldName:i,options:r,placeholder:d,getOptionLabel:p,validation:s,onChange:h,onInputChange:c,isOptionEqualToValue:g,onScroll:f,layout:b="horizontal",variant:v="outlined",disabled:T=!1,loading:x=!1,required:y=!1,multiple:C=!1,limitTags:q})=>{const I=()=>l(n,{name:i,validate:s,children:e=>l(u,{...e,fieldName:i,options:r,label:t,variant:v,placeholder:d,getOptionLabel:p,isOptionEqualToValue:g,onChange:h,onInputChange:c,onScroll:f,layout:b,disabled:T,loading:x,required:y,multiple:C,limitTags:q})});return"vertical"===b?e(o,{children:["standard"===v&&l(a,{variant:"subtitle1",component:"h3",color:"textPrimary",children:t}),I()]}):l(m,{label:t,children:I()})};export{p as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/GenericAutocompleteField/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Autocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { Field, type FieldProps } from 'formik';\nimport { type SyntheticEvent } from 'react';\nimport useRenderValidText from '../../../custom-hooks/useRenderValidText';\nimport FormItemLayout from '../FormItemLayout';\n\nexport type Props<T> = {\n label: string;\n fieldName: string;\n options: T[];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n validation?: (value: T | T[]) => string | undefined;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\ntype AutocompleteFieldProps<T> = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n options: T[];\n label: string;\n variant: TextFieldProps['variant'];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\nconst AutocompleteFieldComponent = <T,>({\n field,\n form,\n fieldName,\n options,\n label,\n variant,\n placeholder,\n getOptionLabel,\n isOptionEqualToValue,\n onChange,\n onInputChange,\n onScroll,\n layout = 'horizontal',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags,\n}: AutocompleteFieldProps<T>) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Autocomplete\n options={options}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={(e: SyntheticEvent, value: T[]) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, value);\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={onInputChange}\n disabled={isSubmitting || disabled}\n fullWidth\n value={field.value || (multiple ? [] : null)}\n loading={loading}\n renderInput={(params) => (\n <TextField\n {...params}\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n data-testid={`text-field-${fieldName}`}\n fullWidth\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n required={required}\n error={showError}\n helperText={helperText}\n slotProps={{\n input: {\n ...params.InputProps,\n endAdornment: (\n <>\n {loading && <CircularProgress color=\"inherit\" size={25} />}\n {params.InputProps.endAdornment}\n </>\n ),\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n />\n )}\n multiple={multiple}\n limitTags={multiple ? (limitTags ?? 2) : undefined}\n slotProps={{\n listbox: {\n onScroll,\n },\n }}\n />\n );\n};\n\nconst GenericAutocompleteField = <T,>({\n label,\n fieldName,\n options,\n placeholder,\n getOptionLabel,\n validation,\n onChange,\n onInputChange,\n isOptionEqualToValue,\n onScroll,\n layout = 'horizontal',\n variant = 'outlined',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags = undefined,\n}: Props<T>) => {\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <AutocompleteFieldComponent<T>\n {...fieldProps}\n fieldName={fieldName}\n options={options}\n label={label}\n variant={variant}\n placeholder={placeholder}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={onChange}\n onInputChange={onInputChange}\n onScroll={onScroll}\n layout={layout}\n disabled={disabled}\n loading={loading}\n required={required}\n multiple={multiple}\n limitTags={limitTags}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericAutocompleteField;\n"],"names":["AutocompleteFieldComponent","field","form","fieldName","options","label","variant","placeholder","getOptionLabel","isOptionEqualToValue","onChange","onInputChange","onScroll","layout","disabled","loading","required","multiple","limitTags","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","value","_jsx","Autocomplete","e","setFieldValue","fullWidth","renderInput","params","TextField","undefined","style","paddingRight","error","slotProps","input","InputProps","endAdornment","_jsxs","_Fragment","children","CircularProgress","color","size","formHelperText","textAlign","listbox","GenericAutocompleteField","validation","renderField","Field","validate","fieldProps","Typography","component","FormItemLayout"],"mappings":"yXAmDA,MAAMA,EAA6B,EAC/BC,QACAC,OACAC,YACAC,UACAC,QACAC,UACAC,cACAC,iBACAC,uBACAC,WACAC,gBACAC,WACAC,SAAS,aACTC,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBnB,EACpCoB,EAAaH,EAAOlB,EAAMsB,MAC1BC,IAAcF,GAAeF,EAAQnB,EAAMsB,MAC3CE,EAAaC,EAAmB,CAClCJ,aACAE,YACAJ,UAAWA,EAAQnB,EAAMsB,MACzBI,MAAO1B,EAAM0B,QAGjB,OACIC,EAACC,EAAY,CACTzB,QAASA,EACTI,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAU,CAACoB,EAAmBH,KAE1BzB,EAAK6B,cAAc5B,EAAWwB,GAC1BjB,GACAA,EAASoB,EAAGH,EACf,EAELhB,cAAeA,EACfG,SAAUO,GAAgBP,EAC1BkB,aACAL,MAAO1B,EAAM0B,QAAUV,EAAW,GAAK,MACvCF,QAASA,EACTkB,YAAcC,GACVN,EAACO,EACO,IAAAD,EACJ7B,MAAmB,aAAZC,OAAyB8B,EAAY/B,EAC5CC,QAASA,EAAO,cACH,cAAcH,IAC3B6B,WACA,EAAAK,MAAO,CAAEC,aAAyB,eAAXzB,EAA0B,GAAK,GACtDN,YAAaA,QAAe6B,EAC5BpB,SAAUA,EACVuB,MAAOf,EACPC,WAAYA,EACZe,UAAW,CACPC,MAAO,IACAP,EAAOQ,WACVC,aACIC,EACKC,EAAA,CAAAC,SAAA,CAAA/B,GAAWa,EAACmB,EAAiB,CAAAC,MAAM,UAAUC,KAAM,KACnDf,EAAOQ,WAAWC,iBAI/BO,eAAgB,CACZJ,SAAU,IACVT,MAAO,CAAEc,UAAW,aAKpClC,SAAUA,EACVC,UAAWD,EAAYC,GAAa,OAAKkB,EACzCI,UAAW,CACPY,QAAS,CACLxC,cAId,EAGAyC,EAA2B,EAC7BhD,QACAF,YACAC,UACAG,cACAC,iBACA8C,aACA5C,WACAC,gBACAF,uBACAG,WACAC,SAAS,aACTP,UAAU,WACVQ,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMqC,EAAc,IAEZ3B,EAAC4B,GAAMjC,KAAMpB,EAAWsD,SAAUH,EAAUR,SACtCY,GACE9B,EAAC5B,EAA0B,IACnB0D,EACJvD,UAAWA,EACXC,QAASA,EACTC,MAAOA,EACPC,QAASA,EACTC,YAAaA,EACbC,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAUA,EACVC,cAAeA,EACfC,SAAUA,EACVC,OAAQA,EACRC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVC,SAAUA,EACVC,UAAWA,MAO/B,MAAe,aAAXL,EAEI+B,EAAAC,EAAA,CAAAC,SAAA,CACiB,aAAZxC,GACGsB,EAAC+B,EAAU,CAACrD,QAAQ,YAAYsD,UAAU,KAAKZ,MAAM,cAChDF,SAAAzC,IAGRkD,OAKN3B,EAACiC,EAAc,CAACxD,MAAOA,EAAQyC,SAAAS,KAA+B"}
|
package/dist/components/{ui/Form/GenericFormContainer.js → Form/GenericFormContainer/index.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{jsx as t,jsxs as i}from"react/jsx-runtime";import e from"@mui/material/Button";import{Formik as r,Form as a}from"formik";const n=({fields:n,onSubmit:m,handleError:o,submitButtonText:d})=>{const u=n.reduce(((t,i)=>(t[i.fieldName]=i.defaultValue,t)),{});return t(r,{initialValues:u,onSubmit:async t=>{try{await m(t)}catch(t){o&&o(t)}},children:({isSubmitting:r})=>i(a,{children:[n.map(((i,e)=>t("div",{children:i.component},`field_${i.fieldName}_${e}`))),t(e,{variant:"contained",type:"submit",disabled:r,sx:{marginTop:4},"data-testid":"submit-form-button",children:d})]})})};export{n as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/GenericFormContainer/index.tsx"],"sourcesContent":["import Button from '@mui/material/Button';\nimport { Form, Formik } from 'formik';\n\ntype GenericFormContainerProps = {\n fields: {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n defaultValue: any;\n component: React.ReactNode;\n }[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSubmit: (values: any) => Promise<void>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleError?: (error: any) => void;\n submitButtonText: string;\n};\n\nconst GenericFormContainer = ({ fields, onSubmit, handleError, submitButtonText }: GenericFormContainerProps) => {\n const initialValues = fields.reduce((acc, field) => {\n acc[field.fieldName] = field.defaultValue;\n return acc;\n }, {});\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={async (values) => {\n try {\n await onSubmit(values);\n } catch (error) {\n if (handleError) {\n handleError(error);\n }\n }\n }}\n >\n {({ isSubmitting }) => (\n <Form>\n {fields.map((field, index) => (\n <div key={`field_${field.fieldName}_${index}`}>{field.component}</div>\n ))}\n\n <Button variant=\"contained\" type=\"submit\" disabled={isSubmitting} sx={{ marginTop: 4 }} data-testid=\"submit-form-button\">\n {submitButtonText}\n </Button>\n </Form>\n )}\n </Formik>\n );\n};\n\nexport default GenericFormContainer;\n"],"names":["GenericFormContainer","fields","onSubmit","handleError","submitButtonText","initialValues","reduce","acc","field","fieldName","defaultValue","_jsx","Formik","async","values","error","children","isSubmitting","_jsxs","Form","map","index","component","Button","variant","type","disabled","sx","marginTop"],"mappings":"gIAiBA,MAAMA,EAAuB,EAAGC,SAAQC,WAAUC,cAAaC,uBAC3D,MAAMC,EAAgBJ,EAAOK,QAAO,CAACC,EAAKC,KACtCD,EAAIC,EAAMC,WAAaD,EAAME,aACtBH,IACR,CAAE,GAEL,OACII,EAACC,EAAM,CACHP,cAAeA,EACfH,SAAUW,MAAOC,IACb,UACUZ,EAASY,EAClB,CAAC,MAAOC,GACDZ,GACAA,EAAYY,EAEnB,GAGJC,SAAA,EAAGC,kBACAC,EAACC,EACI,CAAAH,SAAA,CAAAf,EAAOmB,KAAI,CAACZ,EAAOa,IAChBV,EAAA,MAAA,CAAAK,SAAgDR,EAAMc,WAA5C,SAASd,EAAMC,aAAaY,OAG1CV,EAACY,EAAO,CAAAC,QAAQ,YAAYC,KAAK,SAASC,SAAUT,EAAcU,GAAI,CAAEC,UAAW,GAAG,cAAc,qBAAoBZ,SACnHZ,QAKnB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import"react";import{Field as i}from"formik";import r from"@mui/material/TextField";import a from"../../../custom-hooks/useRenderValidText.js";import l from"../FormItemLayout/index.js";import n from"@mui/material/Typography";import d from"@mui/material/InputAdornment";const s=({field:e,form:t,fieldName:i,label:l,placeholder:n,onChange:s,multiline:m,minRows:u,maxRows:h,layout:p="horizontal",variant:c="standard",disabled:v=!1,required:f=!1,showHelperTextWhenValid:g=!1,startIcon:x,endIcon:w,value:y,type:b="text"})=>{const{errors:R,touched:I,isSubmitting:T}=t,C=R[e.name],A=!!C&&I[e.name],N=a({fieldError:C,showError:A,touched:!!I[e.name],value:e.value});return o(r,{label:"standard"===c?void 0:l,variant:c,value:y??e.value,"data-testid":`text-field-${i??l.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:m,minRows:u??(m?3:void 0),maxRows:h??(m?10:void 0),style:{paddingRight:"horizontal"===p?16:0},placeholder:n||void 0,disabled:T||v,required:f,error:A,helperText:A||g?N:void 0,onChange:e=>{"number"===b&&isNaN(Number(e.target.value))||(t.setFieldValue(i,e.target.value),s&&s(e))},slotProps:{htmlInput:{style:{paddingTop:"outlined"!==c?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:x?o(d,{position:"start",children:x}):void 0,endAdornment:w?o(d,{position:"end",children:w}):void 0}})},m=({label:a,fieldName:m,placeholder:u,validation:h,onChange:p,multiline:c,minRows:v,maxRows:f,layout:g="horizontal",variant:x="standard",disabled:w=!1,required:y=!1,showHelperTextWhenValid:b=!1,startIcon:R,endIcon:I,value:T,type:C="text"})=>{const A=!!m,N=()=>A?o(i,{name:m,validate:h,children:e=>o(s,{...e,fieldName:m,label:a,placeholder:u,onChange:p,multiline:c,minRows:v,maxRows:f,layout:g,variant:x,disabled:w,required:y,showHelperTextWhenValid:b,startIcon:R,endIcon:I,value:T,type:C})}):o(r,{label:"standard"===x?void 0:a,variant:x,value:T,"data-testid":`text-field-${m??a.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:c,minRows:v??(c?3:void 0),maxRows:f??(c?10:void 0),style:{paddingRight:"horizontal"===g?16:0},placeholder:u||void 0,disabled:w,required:y,onChange:p,slotProps:{htmlInput:{style:{paddingTop:"outlined"!==x?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:R?o(d,{position:"start",children:R}):void 0,endAdornment:I?o(d,{position:"end",children:I}):void 0}});return"vertical"===g?e(t,{children:["standard"===x&&o(n,{variant:"subtitle1",component:"h3",color:"textPrimary",children:a}),N()]}):o(l,{label:a,children:N()})};export{m as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/GenericTextField/index.tsx"],"sourcesContent":["import { type ChangeEvent } from 'react';\n\nimport { type FieldProps, Field } from 'formik';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport useRenderValidText from '../../../custom-hooks/useRenderValidText';\nimport FormItemLayout from '../FormItemLayout';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\n\ntype Props = {\n label: string;\n fieldName?: string;\n placeholder?: string;\n validation?: (value: string) => string | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\ntype TextFieldComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n label: string;\n placeholder?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\nconst TextFieldComponent = ({\n field,\n form,\n fieldName,\n label,\n placeholder,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon,\n endIcon,\n value,\n type = 'text',\n}: TextFieldComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value ?? field.value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={isSubmitting || disabled}\n required={required}\n error={showError}\n helperText={(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (type === 'number' && isNaN(Number(e.target.value))) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n};\n\nconst GenericTextField = ({\n label,\n fieldName = undefined,\n placeholder,\n validation,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon = undefined,\n endIcon = undefined,\n value,\n type = 'text',\n}: Props) => {\n const useFormik = !!fieldName;\n\n const renderField = () => {\n if (!useFormik) {\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={disabled}\n required={required}\n onChange={onChange}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n }\n\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <TextFieldComponent\n {...fieldProps}\n fieldName={fieldName}\n label={label}\n placeholder={placeholder}\n onChange={onChange}\n multiline={multiline}\n minRows={minRows}\n maxRows={maxRows}\n layout={layout}\n variant={variant}\n disabled={disabled}\n required={required}\n showHelperTextWhenValid={showHelperTextWhenValid}\n startIcon={startIcon}\n endIcon={endIcon}\n value={value}\n type={type}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericTextField;\n"],"names":["TextFieldComponent","field","form","fieldName","label","placeholder","onChange","multiline","minRows","maxRows","layout","variant","disabled","required","showHelperTextWhenValid","startIcon","endIcon","value","type","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","_jsx","TextField","undefined","toLowerCase","replace","autoComplete","fullWidth","style","paddingRight","error","e","isNaN","Number","target","setFieldValue","slotProps","htmlInput","paddingTop","height","formHelperText","children","textAlign","InputProps","startAdornment","InputAdornment","position","endAdornment","GenericTextField","validation","useFormik","renderField","Field","validate","fieldProps","_jsxs","_Fragment","Typography","component","color","FormItemLayout"],"mappings":"6UAkDA,MAAMA,EAAqB,EACvBC,QACAC,OACAC,YACAC,QACAC,cACAC,WACAC,YACAC,UACAC,UACAC,SAAS,aACTC,UAAU,WACVC,YAAW,EACXC,YAAW,EACXC,2BAA0B,EAC1BC,YACAC,UACAC,QACAC,OAAO,WAEP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBnB,EACpCoB,EAAaH,EAAOlB,EAAMsB,MAC1BC,IAAcF,GAAeF,EAAQnB,EAAMsB,MAC3CE,EAAaC,EAAmB,CAClCJ,aACAE,YACAJ,UAAWA,EAAQnB,EAAMsB,MACzBN,MAAOhB,EAAMgB,QAGjB,OACIU,EAACC,EAAS,CACNxB,MAAmB,aAAZO,OAAyBkB,EAAYzB,EAC5CO,QAASA,EACTM,MAAOA,GAAShB,EAAMgB,MACT,cAAA,cAAcd,GAAaC,EAAM0B,cAAcC,QAAQ,OAAQ,OAC5EC,aAAa,MACbC,WAAS,EACT1B,UAAWA,EACXC,QAASA,IAAYD,EAAY,OAAIsB,GACrCpB,QAASA,IAAYF,EAAY,QAAKsB,GACtCK,MAAO,CAAEC,aAAyB,eAAXzB,EAA0B,GAAK,GACtDL,YAAaA,QAAewB,EAC5BjB,SAAUS,GAAgBT,EAC1BC,SAAUA,EACVuB,MAAOZ,EACPC,WACQD,GACAV,EADkBW,OACtB,EAGJnB,SAAW+B,IACM,WAATnB,GAAqBoB,MAAMC,OAAOF,EAAEG,OAAOvB,UAK/Cf,EAAKuC,cAActC,EAAWkC,EAAEG,OAAOvB,OACnCX,GACAA,EAAS+B,GACZ,EAELK,UAAW,CACPC,UAAW,CACPT,MAAO,CACHU,WAAwB,aAAZjC,EAAyB,OAAIkB,EACzCgB,OAAQ,aAGhBC,eAAgB,CACZC,SAAU,IACVb,MAAO,CAAEc,UAAW,WAG5BC,WAAY,CACRC,eAAgBnC,EAAYY,EAACwB,EAAc,CAACC,SAAS,QAASL,SAAAhC,SAA8Bc,EAC5FwB,aAAcrC,EAAUW,EAACwB,EAAc,CAACC,SAAS,MAAOL,SAAA/B,SAA4Ba,IAG9F,EAGAyB,EAAmB,EACrBlD,QACAD,YACAE,cACAkD,aACAjD,WACAC,YACAC,UACAC,UACAC,SAAS,aACTC,UAAU,WACVC,YAAW,EACXC,YAAW,EACXC,2BAA0B,EAC1BC,YACAC,UACAC,QACAC,OAAO,WAEP,MAAMsC,IAAcrD,EAEdsD,EAAc,IACXD,EAsCD7B,EAAC+B,GAAMnC,KAAMpB,EAAWwD,SAAUJ,EAAUR,SACtCa,GACEjC,EAAC3B,EAAkB,IACX4D,EACJzD,UAAWA,EACXC,MAAOA,EACPC,YAAaA,EACbC,SAAUA,EACVC,UAAWA,EACXC,QAASA,EACTC,QAASA,EACTC,OAAQA,EACRC,QAASA,EACTC,SAAUA,EACVC,SAAUA,EACVC,wBAAyBA,EACzBC,UAAWA,EACXC,QAASA,EACTC,MAAOA,EACPC,KAAMA,MAvDdS,EAACC,EACG,CAAAxB,MAAmB,aAAZO,OAAyBkB,EAAYzB,EAC5CO,QAASA,EACTM,MAAOA,EACM,cAAA,cAAcd,GAAaC,EAAM0B,cAAcC,QAAQ,OAAQ,OAC5EC,aAAa,MACbC,WAAS,EACT1B,UAAWA,EACXC,QAASA,IAAYD,EAAY,OAAIsB,GACrCpB,QAASA,IAAYF,EAAY,QAAKsB,GACtCK,MAAO,CAAEC,aAAyB,eAAXzB,EAA0B,GAAK,GACtDL,YAAaA,QAAewB,EAC5BjB,SAAUA,EACVC,SAAUA,EACVP,SAAUA,EACVoC,UAAW,CACPC,UAAW,CACPT,MAAO,CACHU,WAAwB,aAAZjC,EAAyB,OAAIkB,EACzCgB,OAAQ,aAGhBC,eAAgB,CACZC,SAAU,IACVb,MAAO,CAAEc,UAAW,WAG5BC,WAAY,CACRC,eAAgBnC,EAAYY,EAACwB,EAAc,CAACC,SAAS,QAASL,SAAAhC,SAA8Bc,EAC5FwB,aAAcrC,EAAUW,EAACwB,EAAc,CAACC,SAAS,MAAOL,SAAA/B,SAA4Ba,KAiCxG,MAAe,aAAXnB,EAEImD,EAAAC,EAAA,CAAAf,SAAA,CACiB,aAAZpC,GACGgB,EAACoC,EAAU,CAACpD,QAAQ,YAAYqD,UAAU,KAAKC,MAAM,cAChDlB,SAAA3C,IAGRqD,OAKN9B,EAACuC,EAAc,CAAC9D,MAAOA,EAAQ2C,SAAAU,KAA+B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { Props as Props$1 } from '
|
|
2
|
+
import { Props as Props$1 } from '../GenericAutocompleteField/index.js';
|
|
3
3
|
|
|
4
4
|
type Props<T> = Omit<Props$1<T>, 'options'> & {
|
|
5
5
|
fetch: (page: number, search: string) => Promise<T[]>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useFormikContext as o}from"formik";import{useState as t,useEffect as r,useCallback as n}from"react";import a from"../GenericAutocompleteField/index.js";import c from"lodash.debounce";import{useQuery as i}from"@tanstack/react-query";const l=l=>{const{fieldName:m,fetch:s,onChange:p,onInputChange:u,onScroll:d}=l,{values:g}=o(),[f,h]=t(g[m]?[g[m]]:[]),[y,C]=t(1),[q,x]=t(""),[F,j]=t(!0),{data:k,isLoading:A}=i({queryKey:[`PaginatedAutocompleteField-${m}`,y,q],queryFn:()=>s(y,q),retry:1});r((()=>{k&&0!==k.length?(j(!0),h(1===y?k:e=>[...e,...k])):j(!1)}),[k]);const H=n((()=>{!A&&F&&C((e=>e+1))}),[A,F]),I=c((e=>{C(1),x(e),j(!0)}),500);return r((()=>()=>{I.cancel()}),[I]),e(a,{...l,options:f,loading:A,onChange:(e,o)=>{x(""),p&&p(e,o)},onInputChange:(e,o)=>{I(o),u&&u(e,o)},onScroll:e=>{(e=>{const o=e.currentTarget;o.scrollTop+o.clientHeight>=o.scrollHeight-100&&H()})(e),d&&d(e)}})};export{l as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/PaginatedAutocompleteField/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormikContext } from 'formik';\nimport { type SyntheticEvent, useCallback, useEffect, useState } from 'react';\nimport GenericAutocompleteField, { type Props as GenericAutocompleteFieldProps } from '../GenericAutocompleteField';\nimport debounce from 'lodash.debounce';\nimport { useQuery } from '@tanstack/react-query';\n\ntype Props<T> = Omit<GenericAutocompleteFieldProps<T>, 'options'> & {\n fetch: (page: number, search: string) => Promise<T[]>;\n};\n\nconst PaginatedAutocompleteField = <T,>(props: Props<T>) => {\n const { fieldName, fetch, onChange, onInputChange, onScroll } = props;\n const { values } = useFormikContext<{ [key: string]: any }>();\n\n const [options, setOptions] = useState<T[]>(values[fieldName] ? [values[fieldName]] : []);\n const [page, setPage] = useState(1);\n const [searchQuery, setSearchQuery] = useState('');\n const [hasMore, setHasMore] = useState(true);\n\n const { data: queryResult, isLoading } = useQuery({\n queryKey: [`PaginatedAutocompleteField-${fieldName}`, page, searchQuery],\n queryFn: () => fetch(page, searchQuery),\n retry: 1,\n });\n\n useEffect(() => {\n if (!queryResult || queryResult.length === 0) {\n setHasMore(false);\n return;\n }\n setHasMore(true);\n if (page === 1) {\n setOptions(queryResult);\n } else {\n setOptions((prevVouchers) => [...prevVouchers, ...queryResult]);\n }\n }, [queryResult]);\n\n const loadMore = useCallback(() => {\n if (isLoading || !hasMore) {\n return;\n }\n setPage((prevPage) => prevPage + 1);\n }, [isLoading, hasMore]);\n\n const handleScroll = (event: React.UIEvent<HTMLUListElement, UIEvent>) => {\n const listboxNode = event.currentTarget;\n if (\n listboxNode.scrollTop + listboxNode.clientHeight >=\n listboxNode.scrollHeight - 100 // Trigger 100px before the bottom\n ) {\n loadMore();\n }\n };\n\n const handleInputChange = debounce((value: string) => {\n setPage(1);\n setSearchQuery(value);\n setHasMore(true);\n }, 500);\n\n useEffect(() => {\n return () => {\n handleInputChange.cancel();\n };\n }, [handleInputChange]);\n\n return (\n <GenericAutocompleteField\n {...props}\n options={options}\n loading={isLoading}\n onChange={(e: SyntheticEvent, value: T[]) => {\n setSearchQuery('');\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={(e: SyntheticEvent, value: string) => {\n handleInputChange(value);\n if (onInputChange) {\n onInputChange(e, value);\n }\n }}\n onScroll={(e: React.UIEvent<HTMLUListElement, UIEvent>) => {\n handleScroll(e);\n if (onScroll) {\n onScroll(e);\n }\n }}\n />\n );\n};\n\nexport default PaginatedAutocompleteField;\n"],"names":["PaginatedAutocompleteField","props","fieldName","fetch","onChange","onInputChange","onScroll","values","useFormikContext","options","setOptions","useState","page","setPage","searchQuery","setSearchQuery","hasMore","setHasMore","data","queryResult","isLoading","useQuery","queryKey","queryFn","retry","useEffect","length","prevVouchers","loadMore","useCallback","prevPage","handleInputChange","debounce","value","cancel","_jsx","GenericAutocompleteField","loading","e","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","handleScroll"],"mappings":"uRAWA,MAAMA,EAAkCC,IACpC,MAAMC,UAAEA,EAASC,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,SAAEA,GAAaL,GAC1DM,OAAEA,GAAWC,KAEZC,EAASC,GAAcC,EAAcJ,EAAOL,GAAa,CAACK,EAAOL,IAAc,KAC/EU,EAAMC,GAAWF,EAAS,IAC1BG,EAAaC,GAAkBJ,EAAS,KACxCK,EAASC,GAAcN,GAAS,IAE/BO,KAAMC,EAAWC,UAAEA,GAAcC,EAAS,CAC9CC,SAAU,CAAC,8BAA8BpB,IAAaU,EAAME,GAC5DS,QAAS,IAAMpB,EAAMS,EAAME,GAC3BU,MAAO,IAGXC,GAAU,KACDN,GAAsC,IAAvBA,EAAYO,QAIhCT,GAAW,GAEPP,EADS,IAATE,EACWO,EAECQ,GAAiB,IAAIA,KAAiBR,KAPlDF,GAAW,EAQd,GACF,CAACE,IAEJ,MAAMS,EAAWC,GAAY,MACrBT,GAAcJ,GAGlBH,GAASiB,GAAaA,EAAW,GAAE,GACpC,CAACV,EAAWJ,IAYTe,EAAoBC,GAAUC,IAChCpB,EAAQ,GACRE,EAAekB,GACfhB,GAAW,EAAK,GACjB,KAQH,OANAQ,GAAU,IACC,KACHM,EAAkBG,QAAQ,GAE/B,CAACH,IAGAI,EAACC,EAAwB,IACjBnC,EACJQ,QAASA,EACT4B,QAASjB,EACThB,SAAU,CAACkC,EAAmBL,KAC1BlB,EAAe,IACXX,GACAA,EAASkC,EAAGL,EACf,EAEL5B,cAAe,CAACiC,EAAmBL,KAC/BF,EAAkBE,GACd5B,GACAA,EAAciC,EAAGL,EACpB,EAEL3B,SAAWgC,IAvCE,CAACC,IAClB,MAAMC,EAAcD,EAAME,cAEtBD,EAAYE,UAAYF,EAAYG,cACpCH,EAAYI,aAAe,KAE3BhB,GACH,EAiCOiB,CAAaP,GACThC,GACAA,EAASgC,EACZ,GAGX"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
1
2
|
import { TextFieldVariants } from '@mui/material/TextField';
|
|
2
3
|
import moment from 'moment';
|
|
3
4
|
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
|
@@ -18,5 +19,6 @@ type GenericDateFieldBaseProps = {
|
|
|
18
19
|
showHelperTextWhenValid?: boolean;
|
|
19
20
|
pickerComponent: typeof DatePicker | typeof DateTimePicker;
|
|
20
21
|
};
|
|
22
|
+
declare const GenericDateFieldBase: ({ label, fieldName, description, validation, variant, layout, onChange, disabled, disablePast, disablefuture, placeholder, showHelperTextWhenValid, pickerComponent: PickerComponent, }: GenericDateFieldBaseProps) => react_jsx_runtime.JSX.Element;
|
|
21
23
|
|
|
22
|
-
export type
|
|
24
|
+
export { type GenericDateFieldBaseProps, GenericDateFieldBase as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import{Field as i}from"formik";import a from"../Form/FormItemLayout/index.js";import{styled as o,useTheme as l}from"@mui/material/styles";import"@mui/material/TextField";import m from"@mui/material/Box";import n from"@mui/material/Typography";import d from"../../custom-hooks/useRenderValidText.js";import s from"moment";import"@mui/x-date-pickers/DatePicker";import"@mui/x-date-pickers/DateTimePicker";const p=o("div")((({theme:e})=>({marginTop:e.spacing(2),"& > div":{width:"100%"}}))),c=({label:o,fieldName:c,description:u,validation:h,variant:x="standard",layout:v,onChange:f,disabled:b=!1,disablePast:g=!1,disablefuture:y=!1,placeholder:T,showHelperTextWhenValid:k=!1,pickerComponent:F})=>{const P=l(),j=()=>t(i,{name:c,validate:h,children:({field:r,form:i})=>{const{errors:a,touched:l,isSubmitting:h}=i,j=a[r.name],w=!!j&&l[r.name],C=d({fieldError:j,showError:w,touched:!!l[r.name],value:r.value});return e(m,{sx:{paddingRight:"horizontal"===v?"16px":0},children:[t(p,{children:t(F,{label:"standard"===x?void 0:o,value:s.isMoment(r.value)?r.value:s(r.value),onChange:e=>{const t=s.isMoment(e)?e:s(e);i.setFieldValue(r.name,t),f&&f(t)},name:c,slotProps:{textField:{variant:x,placeholder:T,error:w,helperText:w||k?C:void 0,FormHelperTextProps:{children:" ",style:{textAlign:"right"}}}},disabled:h||b,disablePast:g,disableFuture:y})}),u&&t(n,{variant:"caption",sx:{color:P.palette.text.secondary},children:u})]})}});return"vertical"===v?e(r,{children:["standard"===x&&t(n,{variant:"subtitle1",component:"h3",color:"textPrimary",children:o}),j()]}):t(a,{label:o,children:j()})};export{c as default};
|
|
2
|
+
//# sourceMappingURL=GenericDateFieldBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericDateFieldBase.js","sources":["../../../src/components/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","GenericDateFieldBase","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","component","FormItemLayout"],"mappings":"mdAWA,MAAMA,EAAmBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,YAoBTC,EAAuB,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMlB,EAAQmB,IAERC,EAAc,IAEZC,EAACC,GAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EAAmB,CAClCH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,QAGjB,OACIC,EAACC,GAAIC,GAAI,CAAEC,aAAyB,eAAX7B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAACvB,EAAgB,CAAA2B,SACbJ,EAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyB+B,EAAYnC,EAE5C8B,MAAOM,EAAOC,SAAShB,EAAMS,OAAST,EAAMS,MAAQM,EAAOf,EAAMS,OACjExB,SAAWwB,IAEP,MAAMQ,EAAcF,EAAOC,SAASP,GAASA,EAAQM,EAAON,GAE5DR,EAAKiB,cAAclB,EAAMH,KAAMoB,GAC3BhC,GACAA,EAASgC,EACZ,EAELpB,KAAMjB,EACNuC,UAAW,CACPC,UAAW,CACPrC,UACAM,cACAgC,MAAOf,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJe,oBAAqB,CACjBvB,SAAU,IACVwB,MAAO,CAAEC,UAAW,YAIhCtC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbsC,cAAerC,MAGtBP,GACGc,EAAC+B,EAAU,CAAC3C,QAAQ,UAAU6B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAW/B,SACpElB,MAIf,IAMlB,MAAe,aAAXG,EAEI0B,EAAAqB,EAAA,CAAAhC,SAAA,CACiB,aAAZhB,GACGY,EAAC+B,EAAU,CAAC3C,QAAQ,YAAYiD,UAAU,KAAKL,MAAM,cAChD5B,SAAApB,IAGRe,OAKNC,EAACsC,EAAc,CAACtD,MAAOA,EAAQoB,SAAAL,KAA+B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{jsx as e}from"react/jsx-runtime";import{DatePicker as r}from"@mui/x-date-pickers/DatePicker";import t from"./GenericDateFieldBase.js";const i=i=>e(t,{...i,pickerComponent:r});export{i as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericDatePickerField/index.tsx"],"sourcesContent":["import { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from './GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDatePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DatePicker} />;\n};\n\nexport default GenericDatePickerField;\n"],"names":["GenericDatePickerField","props","_jsx","GenericDateFieldBase","pickerComponent","DatePicker"],"mappings":"6IAKA,MAAMA,EAA0BC,GACrBC,EAACC,EAAyB,IAAAF,EAAOG,gBAAiBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{jsx as e}from"react/jsx-runtime";import{DateTimePicker as r}from"@mui/x-date-pickers/DateTimePicker";import i from"../GenericDatePickerField/GenericDateFieldBase.js";const t=t=>e(i,{...t,pickerComponent:r});export{t as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericDateTimePickerField/index.tsx"],"sourcesContent":["import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from '../GenericDatePickerField/GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDateTimePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DateTimePicker} />;\n};\n\nexport default GenericDateTimePickerField;\n"],"names":["GenericDateTimePickerField","props","_jsx","GenericDateFieldBase","pickerComponent","DateTimePicker"],"mappings":"6KAKA,MAAMA,EAA8BC,GACzBC,EAACC,EAAyB,IAAAF,EAAOG,gBAAiBC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,Fragment as r,jsx as o}from"react/jsx-runtime";import{Field as t}from"formik";import i from"../Form/FormItemLayout/index.js";import a from"@mui/material/Box";import l from"@mui/material/Typography";import m from"../../custom-hooks/useRenderValidText.js";import n from"@mui/material/Radio";import d from"@mui/material/FormControlLabel";import h from"@mui/material/RadioGroup";import"react";import s from"../Spacer/index.js";import{styled as u}from"@mui/material/styles";const p=u(a)((({theme:e})=>({marginLeft:e.spacing(4)}))),c=u(l,{shouldForwardProp:e=>"showError"!==e})((({theme:e,showError:r})=>({color:r?e.palette.error.main:"inherit",textAlign:"right"}))),f=({field:r,form:t,onChange:i,options:l,layout:u,showHelperTextWhenValid:f=!1})=>{const{errors:v,touched:g,isSubmitting:x}=t,b=v[r.name],w=!!b&&g[r.name],y=m({fieldError:b,showError:w,touched:!!g[r.name],value:r.value});return e(a,{sx:{paddingRight:"horizontal"===u?"16px":0},children:[o(h,{name:"radio-buttons-group",value:r.value,onChange:e=>{t.setFieldValue(r.name,e.target.value),i&&i(e)},children:l.map((t=>e("div",{children:[o(d,{value:t.value,control:o(n,{}),label:t.label,disabled:x||t.disabled}),t.selectedContent&&r.value===t.value&&e(p,{children:[t.selectedContent,o(s,{size:8,variant:"horizontal"})]})]},t.value)))}),o(c,{showError:w,children:w||f?y:void 0})]})},v=({label:a,fieldName:m,layout:n,onChange:d,options:h,showHelperTextWhenValid:s=!1})=>{const u=()=>o(t,{name:m,children:e=>o(f,{...e,onChange:d,options:h,layout:n,showHelperTextWhenValid:s})});return"vertical"===n?e(r,{children:[a&&o(l,{variant:"subtitle1",component:"h3",color:"textPrimary",children:a}),u()]}):o(i,{label:a,children:u()})};export{v as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericRadioButtons/index.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { type ChangeEvent, type ReactNode } from 'react';\nimport Spacer from '../Spacer';\nimport { styled } from '@mui/material/styles';\n\ntype Props = {\n label?: string;\n fieldName: string;\n layout?: 'horizontal' | 'vertical';\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: {\n label: string;\n value: string;\n disabled?: boolean;\n selectedContent?: ReactNode;\n }[];\n};\n\ntype RadioButtonsComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: Props['options'];\n layout?: 'horizontal' | 'vertical';\n};\n\nconst StyledSelectedContent = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(4),\n}));\n\nconst StyledHelperText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'showError',\n})<{ showError: boolean }>(({ theme, showError }) => ({\n color: showError ? theme.palette.error.main : 'inherit',\n textAlign: 'right',\n}));\n\nconst RadioButtonsComponent = ({ field, form, onChange, options, layout, showHelperTextWhenValid = false }: RadioButtonsComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <RadioGroup\n name=\"radio-buttons-group\"\n value={field.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n >\n {options.map((option) => (\n <div key={option.value}>\n <FormControlLabel value={option.value} control={<Radio />} label={option.label} disabled={isSubmitting || option.disabled} />\n {option.selectedContent && field.value === option.value && (\n <StyledSelectedContent>\n {option.selectedContent}\n <Spacer size={8} variant=\"horizontal\" />\n </StyledSelectedContent>\n )}\n </div>\n ))}\n </RadioGroup>\n <StyledHelperText showError={showError}>\n {(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n </StyledHelperText>\n </Box>\n );\n};\n\nconst GenericRadioButtons = ({ label, fieldName, layout, onChange, options, showHelperTextWhenValid = false }: Props) => {\n const renderField = () => (\n <Field name={fieldName}>\n {(fieldProps: FieldProps) => (\n <RadioButtonsComponent\n {...fieldProps}\n onChange={onChange}\n options={options}\n layout={layout}\n showHelperTextWhenValid={showHelperTextWhenValid}\n />\n )}\n </Field>\n );\n\n if (layout === 'vertical') {\n return (\n <>\n {label && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericRadioButtons;\n"],"names":["StyledSelectedContent","styled","Box","theme","marginLeft","spacing","StyledHelperText","Typography","shouldForwardProp","prop","showError","color","palette","error","main","textAlign","RadioButtonsComponent","field","form","onChange","options","layout","showHelperTextWhenValid","errors","touched","isSubmitting","fieldError","name","helperText","useRenderValidText","value","_jsxs","sx","paddingRight","children","_jsx","RadioGroup","e","setFieldValue","target","map","option","FormControlLabel","control","Radio","label","disabled","selectedContent","Spacer","size","variant","GenericRadioButtons","fieldName","renderField","Field","fieldProps","_Fragment","component","FormItemLayout"],"mappings":"seAmCA,MAAMA,EAAwBC,EAAOC,EAAPD,EAAY,EAAGE,YAAa,CACtDC,WAAYD,EAAME,QAAQ,OAGxBC,EAAmBL,EAAOM,EAAY,CACxCC,kBAAoBC,GAAkB,cAATA,GADRR,EAEE,EAAGE,QAAOO,gBAAiB,CAClDC,MAAOD,EAAYP,EAAMS,QAAQC,MAAMC,KAAO,UAC9CC,UAAW,YAGTC,EAAwB,EAAGC,QAAOC,OAAMC,WAAUC,UAASC,SAAQC,2BAA0B,MAC/F,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBP,EACpCQ,EAAaH,EAAON,EAAMU,MAC1BjB,IAAcgB,GAAeF,EAAQP,EAAMU,MAC3CC,EAAaC,EAAmB,CAClCH,aACAhB,YACAc,UAAWA,EAAQP,EAAMU,MACzBG,MAAOb,EAAMa,QAGjB,OACIC,EAAC7B,GAAI8B,GAAI,CAAEC,aAAyB,eAAXZ,EAA0B,OAAS,GAAGa,SAAA,CAC3DC,EAACC,EAAU,CACPT,KAAK,sBACLG,MAAOb,EAAMa,MACbX,SAAWkB,IAEPnB,EAAKoB,cAAcrB,EAAMU,KAAMU,EAAEE,OAAOT,OACpCX,GACAA,EAASkB,EACZ,EACJH,SAEAd,EAAQoB,KAAKC,GACVV,EACI,MAAA,CAAAG,SAAA,CAAAC,EAACO,EAAiB,CAAAZ,MAAOW,EAAOX,MAAOa,QAASR,EAACS,MAAUC,MAAOJ,EAAOI,MAAOC,SAAUrB,GAAgBgB,EAAOK,WAChHL,EAAOM,iBAAmB9B,EAAMa,QAAUW,EAAOX,OAC9CC,EAAC/B,EAAqB,CAAAkC,SAAA,CACjBO,EAAOM,gBACRZ,EAACa,GAAOC,KAAM,EAAGC,QAAQ,oBAL3BT,EAAOX,WAWzBK,EAAC7B,EAAiB,CAAAI,UAAWA,EAASwB,SAE1BxB,GACAY,EADkBM,OACtB,MAKd,EAGAuB,EAAsB,EAAGN,QAAOO,YAAW/B,SAAQF,WAAUC,UAASE,2BAA0B,MAClG,MAAM+B,EAAc,IAChBlB,EAACmB,EAAK,CAAC3B,KAAMyB,WACPG,GACEpB,EAACnB,MACOuC,EACJpC,SAAUA,EACVC,QAASA,EACTC,OAAQA,EACRC,wBAAyBA,MAMzC,MAAe,aAAXD,EAEIU,EAAAyB,EAAA,CAAAtB,SAAA,CACKW,GACGV,EAAC5B,EAAU,CAAC2C,QAAQ,YAAYO,UAAU,KAAK9C,MAAM,cAAauB,SAC7DW,IAGRQ,OAKNlB,EAACuB,EAAc,CAACb,MAAOA,EAAQX,SAAAmB,KAA+B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
|
|
3
|
+
type HighlightScrollbarProps = {
|
|
4
|
+
children: React__default.ReactNode;
|
|
5
|
+
onScroll?: () => void;
|
|
6
|
+
setIsScrolling?: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
7
|
+
setScrollStarted?: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
8
|
+
};
|
|
9
|
+
declare const HighlightScrollbar: React__default.FC<React__default.PropsWithChildren<HighlightScrollbarProps>>;
|
|
10
|
+
|
|
11
|
+
export { HighlightScrollbar as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighlightScrollbar.js","sources":["../../../src/components/GenericTable/HighlightScrollbar.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport React, { useState } from 'react';\n\ntype HighlightScrollbarProps = {\n children: React.ReactNode;\n onScroll?: () => void;\n setIsScrolling?: React.Dispatch<React.SetStateAction<boolean>>;\n setScrollStarted?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\ninterface ContainerProps {\n hovered: boolean;\n isScrolling: boolean;\n}\n\nconst StyledContainer = styled('div')<ContainerProps>(({ hovered, isScrolling }) => ({\n overflowX: 'auto',\n '&::-webkit-scrollbar': {\n padding: '2px 0',\n height: '6px',\n border: '1px solid #d5d5d5',\n },\n '&::-webkit-scrollbar-track': {\n background: '#f1f1f1',\n },\n '&::-webkit-scrollbar-thumb': {\n background: hovered ? 'rgba(5, 20, 158, 0.3)' : '#f5f5f5',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb:horizontal:active, &::-webkit-scrollbar-thumb:vertical:active': {\n background: hovered ? 'rgba(5, 20, 158, 0.6)' : '#f5f5f5',\n },\n '&:hover .sticky': {\n boxShadow: isScrolling ? '0px 2px 6px rgba(0, 0, 0, 0.5)' : 'none',\n transition: 'box-shadow 200ms',\n },\n}));\n\nconst HighlightScrollbar: React.FC<React.PropsWithChildren<HighlightScrollbarProps>> = (props) => {\n const { children, onScroll, setIsScrolling, setScrollStarted } = props;\n const [hoveredTable, setHoveredTable] = useState(false);\n\n const highlightScrollbar = () => setHoveredTable(true);\n\n const fadeScrollbar = () => {\n setHoveredTable(false);\n if (setIsScrolling) setIsScrolling(false);\n if (setScrollStarted) setScrollStarted(false);\n };\n\n return (\n <StyledContainer\n hovered={hoveredTable}\n isScrolling={!!setIsScrolling}\n onMouseEnter={highlightScrollbar}\n onMouseLeave={fadeScrollbar}\n onScroll={onScroll}\n >\n {children}\n </StyledContainer>\n );\n};\n\nexport default HighlightScrollbar;\n"],"names":["StyledContainer","styled","hovered","isScrolling","overflowX","padding","height","border","background","borderRadius","boxShadow","transition","HighlightScrollbar","props","children","onScroll","setIsScrolling","setScrollStarted","hoveredTable","setHoveredTable","useState","_jsx","onMouseEnter","onMouseLeave"],"mappings":"uHAeA,MAAMA,EAAkBC,EAAO,MAAPA,EAA8B,EAAGC,UAASC,kBAAmB,CACjFC,UAAW,OACX,uBAAwB,CACpBC,QAAS,QACTC,OAAQ,MACRC,OAAQ,qBAEZ,6BAA8B,CAC1BC,WAAY,WAEhB,6BAA8B,CAC1BA,WAAYN,EAAU,wBAA0B,UAChDO,aAAc,OAElB,2FAA4F,CACxFD,WAAYN,EAAU,wBAA0B,WAEpD,kBAAmB,CACfQ,UAAWP,EAAc,iCAAmC,OAC5DQ,WAAY,wBAIdC,EAAkFC,IACpF,MAAMC,SAAEA,EAAQC,SAAEA,EAAQC,eAAEA,EAAcC,iBAAEA,GAAqBJ,GAC1DK,EAAcC,GAAmBC,GAAS,GAUjD,OACIC,EAACrB,EAAe,CACZE,QAASgB,EACTf,cAAea,EACfM,aAZmB,IAAMH,GAAgB,GAazCI,aAXc,KAClBJ,GAAgB,GACZH,GAAgBA,GAAe,GAC/BC,GAAkBA,GAAiB,EAAM,EASzCF,SAAUA,EAAQD,SAEjBA,GAEP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{styled as e,useTheme as r}from"@mui/material/styles";import a from"@mui/material/Table";import o from"@mui/material/TableCell";import l from"@mui/material/TableHead";import m from"@mui/material/TableRow";import n from"@mui/material/useMediaQuery";import d from"../GenericTableTitle/
|
|
1
|
+
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{styled as e,useTheme as r}from"@mui/material/styles";import a from"@mui/material/Table";import o from"@mui/material/TableCell";import l from"@mui/material/TableHead";import m from"@mui/material/TableRow";import n from"@mui/material/useMediaQuery";import d from"../GenericTableTitle/index.js";import c from"./HighlightScrollbar.js";import p from"../GenericTableBody/index.js";import s from"@mui/material/Card";import u from"@mui/icons-material/InfoOutlined";import f from"@mui/material/Tooltip";import h from"@mui/material/IconButton";const b=e("div")`
|
|
2
2
|
overflow-x: auto;
|
|
3
3
|
&::-webkit-scrollbar {
|
|
4
4
|
padding: 2px 0;
|
|
@@ -14,5 +14,5 @@ import{jsxs as i,jsx as t}from"react/jsx-runtime";import{styled as e,useTheme as
|
|
|
14
14
|
}
|
|
15
15
|
`,g=e(o,{shouldForwardProp:i=>"isSticky"!==i&&"titleVariant"!==i})((({theme:i,isSticky:t,titleVariant:e})=>({fontSize:13,fontWeight:"light"===e?400:i.typography.fontWeightMedium,color:"light"===e?"rgba(0, 0, 0, 0.54)":i.palette.text.primary,padding:i.spacing(1.25,2),whiteSpace:"nowrap",position:t?"sticky":"relative",zIndex:t?1:"auto"}))),y=e(s)`
|
|
16
16
|
overflow: hidden;
|
|
17
|
-
`,
|
|
18
|
-
//# sourceMappingURL=
|
|
17
|
+
`,k=e(f)((({theme:i})=>({marginLeft:i.spacing(.5),svg:{fontSize:i.typography.body1.fontSize}}))),w=({data:e,title:o,subTitle:s,showTitle:f=!0,onRowClick:w,loading:T,metadata:x,titleVariant:S="default"})=>{const v=new Set(x.filter((i=>i.isVisible)).sort(((i,t)=>i.ordinal-t.ordinal)).map((i=>i.columnName))),z=x.reduce(((i,t)=>(i[t.columnName]=t,i)),{}),C=r(),V=!n(C.breakpoints.up("sm")),j=V?"normal":"sticky";return i(b,{children:[f&&t(d,{title:o,subTitle:s}),t(y,{children:t(c,{children:i(a,{"aria-label":o,"data-testid":"generic-table"+(f?`-${o.replace(" ","-").toLowerCase()}`:""),children:[t(l,{children:t(m,{children:Array.from(v).map(((e,r)=>{const{columnName:a,columnTitle:o,align:l="left",tooltip:m}=z[e];return t(g,{align:l,isSticky:0===r&&!V,titleVariant:S,children:i("div",{children:[t("span",{children:o}),m&&t(k,{title:m,placement:"right-start",children:t(h,{size:"small",children:t(u,{fontSize:"small"})})})]})},a)}))})}),t(p,{type:j,data:e,columns:v,onRowClick:w,loading:T,meta:z})]})})})]})};export{w as default};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTable/index.tsx"],"sourcesContent":["import { styled, useTheme } from '@mui/material/styles';\n\nimport Table from '@mui/material/Table';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport GenericTableTitle from '../GenericTableTitle';\nimport HighlightScrollbar from './HighlightScrollbar';\nimport GenericTableBody, { type GenericTableColumns } from '../GenericTableBody';\nimport Card from '@mui/material/Card';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\ntype GenericTableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n metadata: GenericTableColumns[];\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n showTitle?: boolean;\n subTitle?: string;\n title?: string;\n titleVariant?: 'default' | 'light';\n};\n\nconst StyledContainer = styled('div')`\n overflow-x: auto;\n &::-webkit-scrollbar {\n padding: 2px 0;\n height: 6px;\n border: 1px solid #d5d5d5;\n }\n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n &::-webkit-scrollbar-thumb {\n background: #f5f5f5;\n border-radius: 3px;\n }\n`;\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'isSticky' && prop !== 'titleVariant',\n})<{ isSticky: boolean; titleVariant: 'default' | 'light' }>(({ theme, isSticky, titleVariant }) => ({\n fontSize: 13,\n fontWeight: titleVariant === 'light' ? 400 : theme.typography.fontWeightMedium,\n color: titleVariant === 'light' ? 'rgba(0, 0, 0, 0.54)' : theme.palette.text.primary,\n padding: theme.spacing(1.25, 2),\n whiteSpace: 'nowrap',\n position: isSticky ? 'sticky' : 'relative',\n zIndex: isSticky ? 1 : 'auto',\n}));\n\nconst StyledPaper = styled(Card)`\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n svg: {\n fontSize: theme.typography.body1.fontSize,\n },\n}));\n\nconst GenericTable = ({ data, title, subTitle, showTitle = true, onRowClick, loading, metadata, titleVariant = 'default' }: GenericTableProps) => {\n const columns = new Set(\n metadata\n .filter((m) => m.isVisible)\n .sort((a, b) => a.ordinal - b.ordinal)\n .map((m) => m.columnName),\n );\n const tableMeta = metadata.reduce<{ [key: string]: GenericTableColumns }>((obj, mData) => {\n obj[mData.columnName] = mData;\n return obj;\n }, {});\n\n const theme = useTheme();\n const isMobile = !useMediaQuery(theme.breakpoints.up('sm'));\n\n // We never want sticky on mobile - only on desktop\n const firstColumnStylePosition = isMobile ? 'normal' : 'sticky';\n\n const renderTableHeader = () => (\n <TableHead>\n <TableRow>\n {Array.from(columns).map((prop, idx) => {\n const { columnName, columnTitle, align = 'left', tooltip } = tableMeta[prop];\n return (\n <StyledTableCell key={columnName} align={align} isSticky={idx === 0 && !isMobile} titleVariant={titleVariant}>\n <div>\n <span>{columnTitle}</span>\n {tooltip && (\n <StyledTooltip title={tooltip} placement=\"right-start\">\n <IconButton size=\"small\">\n <InfoOutlinedIcon fontSize=\"small\" />\n </IconButton>\n </StyledTooltip>\n )}\n </div>\n </StyledTableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n\n return (\n <StyledContainer>\n {showTitle && <GenericTableTitle title={title} subTitle={subTitle}></GenericTableTitle>}\n <StyledPaper>\n <HighlightScrollbar>\n <Table aria-label={title} data-testid={`generic-table` + (showTitle ? `-${title.replace(' ', '-').toLowerCase()}` : '')}>\n {renderTableHeader()}\n <GenericTableBody\n type={firstColumnStylePosition}\n data={data}\n columns={columns}\n onRowClick={onRowClick}\n loading={loading}\n meta={tableMeta}\n />\n </Table>\n </HighlightScrollbar>\n </StyledPaper>\n </StyledContainer>\n );\n};\n\nexport default GenericTable;\n"],"names":["StyledContainer","styled","StyledTableCell","TableCell","shouldForwardProp","prop","theme","isSticky","titleVariant","fontSize","fontWeight","typography","fontWeightMedium","color","palette","text","primary","padding","spacing","whiteSpace","position","zIndex","StyledPaper","Card","StyledTooltip","Tooltip","marginLeft","svg","body1","GenericTable","data","title","subTitle","showTitle","onRowClick","loading","metadata","columns","Set","filter","m","isVisible","sort","a","b","ordinal","map","columnName","tableMeta","reduce","obj","mData","useTheme","isMobile","useMediaQuery","breakpoints","up","firstColumnStylePosition","_jsxs","_jsx","GenericTableTitle","children","HighlightScrollbar","Table","replace","toLowerCase","TableHead","TableRow","Array","from","idx","columnTitle","align","tooltip","placement","IconButton","size","InfoOutlinedIcon","GenericTableBody","type","meta"],"mappings":"+kBA4BA,MAAMA,EAAkBC,EAAO,MAAM;;;;;;;;;;;;;;EAgB/BC,EAAkBD,EAAOE,EAAW,CACtCC,kBAAoBC,GAAkB,aAATA,GAAgC,iBAATA,GADhCJ,EAEqC,EAAGK,QAAOC,WAAUC,mBAAoB,CACjGC,SAAU,GACVC,WAA6B,UAAjBF,EAA2B,IAAMF,EAAMK,WAAWC,iBAC9DC,MAAwB,UAAjBL,EAA2B,sBAAwBF,EAAMQ,QAAQC,KAAKC,QAC7EC,QAASX,EAAMY,QAAQ,KAAM,GAC7BC,WAAY,SACZC,SAAUb,EAAW,SAAW,WAChCc,OAAQd,EAAW,EAAI,WAGrBe,EAAcrB,EAAOsB,EAAK;;EAI1BC,EAAgBvB,EAAOwB,EAAPxB,EAAgB,EAAGK,YAAa,CAClDoB,WAAYpB,EAAMY,QAAQ,IAC1BS,IAAK,CACDlB,SAAUH,EAAMK,WAAWiB,MAAMnB,cAInCoB,EAAe,EAAGC,OAAMC,QAAOC,WAAUC,aAAY,EAAMC,aAAYC,UAASC,WAAU5B,eAAe,cAC3G,MAAM6B,EAAU,IAAIC,IAChBF,EACKG,QAAQC,GAAMA,EAAEC,YAChBC,MAAK,CAACC,EAAGC,IAAMD,EAAEE,QAAUD,EAAEC,UAC7BC,KAAKN,GAAMA,EAAEO,cAEhBC,EAAYZ,EAASa,QAA+C,CAACC,EAAKC,KAC5ED,EAAIC,EAAMJ,YAAcI,EACjBD,IACR,CAAE,GAEC5C,EAAQ8C,IACRC,GAAYC,EAAchD,EAAMiD,YAAYC,GAAG,OAG/CC,EAA2BJ,EAAW,SAAW,SA0BvD,OACIK,EAAC1D,aACIiC,GAAa0B,EAACC,EAAiB,CAAC7B,MAAOA,EAAOC,SAAUA,IACzD2B,EAACrC,EAAW,CAAAuC,SACRF,EAACG,EAAkB,CAAAD,SACfH,EAACK,EAAK,CAAA,aAAahC,EAAoB,cAAA,iBAAmBE,EAAY,IAAIF,EAAMiC,QAAQ,IAAK,KAAKC,gBAAkB,IAC/GJ,SAAA,CA7BjBF,EAACO,EAAS,CAAAL,SACNF,EAACQ,EACI,CAAAN,SAAAO,MAAMC,KAAKhC,GAASS,KAAI,CAACzC,EAAMiE,KAC5B,MAAMvB,WAAEA,EAAUwB,YAAEA,EAAWC,MAAEA,EAAQ,OAAMC,QAAEA,GAAYzB,EAAU3C,GACvE,OACIsD,EAACzD,EAAe,CAAkBsE,MAAOA,EAAOjE,SAAkB,IAAR+D,IAAcjB,EAAU7C,aAAcA,EAC5FqD,SAAAH,EAAA,MAAA,CAAAG,SAAA,CACIF,EAAO,OAAA,CAAAE,SAAAU,IACNE,GACGd,EAACnC,EAAc,CAAAO,MAAO0C,EAASC,UAAU,cACrCb,SAAAF,EAACgB,EAAU,CAACC,KAAK,QAAOf,SACpBF,EAACkB,EAAiB,CAAApE,SAAS,kBANzBsC,EAYxB,QAaEY,EAACmB,EACG,CAAAC,KAAMtB,EACN3B,KAAMA,EACNO,QAASA,EACTH,WAAYA,EACZC,QAASA,EACT6C,KAAMhC,aAM5B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
|
|
3
|
+
type GenericTableColumns = {
|
|
4
|
+
columnName: string;
|
|
5
|
+
columnTitle: string;
|
|
6
|
+
columnType: 'String' | 'Custom';
|
|
7
|
+
align?: 'left' | 'right';
|
|
8
|
+
isVisible: boolean;
|
|
9
|
+
ordinal: number;
|
|
10
|
+
customComponent?: (data: any, row: any) => JSX.Element;
|
|
11
|
+
tooltip?: string;
|
|
12
|
+
hideWhenEmpty?: boolean;
|
|
13
|
+
};
|
|
14
|
+
type TableCellProps = {
|
|
15
|
+
colIdx: number;
|
|
16
|
+
colName: string;
|
|
17
|
+
hasWarning?: boolean;
|
|
18
|
+
hasTitle?: boolean;
|
|
19
|
+
meta: {
|
|
20
|
+
[key: string]: GenericTableColumns;
|
|
21
|
+
};
|
|
22
|
+
row: Record<string, any>;
|
|
23
|
+
type: 'sticky' | 'normal';
|
|
24
|
+
};
|
|
25
|
+
type TableBodyProps = {
|
|
26
|
+
columns: Set<string>;
|
|
27
|
+
data?: any[];
|
|
28
|
+
loading?: boolean;
|
|
29
|
+
meta?: {
|
|
30
|
+
[key: string]: GenericTableColumns;
|
|
31
|
+
};
|
|
32
|
+
onRowClick?: Function;
|
|
33
|
+
type: 'sticky' | 'normal';
|
|
34
|
+
};
|
|
35
|
+
declare const GenericTableBody: React__default.FC<TableBodyProps>;
|
|
36
|
+
|
|
37
|
+
export { type GenericTableColumns, type TableCellProps, GenericTableBody as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import i from"react";import{styled as e}from"@mui/material/styles";import r from"@mui/material/TableBody";import l from"@mui/material/TableCell";import o from"@mui/material/TableRow";import a from"@mui/material/Skeleton";import n from"../GenericTableBodyRow/index.js";const m=e(l,{shouldForwardProp:t=>"align"!==t&&"titleCell"!==t&&"warning"!==t&&"sticky"!==t&&"isTitleRow"!==t})((({align:t,titleCell:i,warning:e,sticky:r,isTitleRow:l})=>({textAlign:t,fontWeight:i||l?"bold":"normal",backgroundColor:e?"#ffcccb":"inherit",position:r?"sticky":"static"}))),c=({colIdx:e,colName:r,hasWarning:l,hasTitle:o,meta:a,row:n,type:c})=>{const s=n[r],d=a[r].align??"left",w=a[r].hideWhenEmpty??!1?"":"-",p={align:d,warning:l,titleCell:o,sticky:"sticky"===c&&0===e,"data-testid":`col-${r}`,isTitleRow:n.isTitleRow??!1};if(i.isValidElement(s))return t(m,{...p,children:s});switch(a[r].columnType){case"String":default:return t(m,{...p,children:s??w});case"Custom":return t(m,{...p,children:s?a[r].customComponent(s,n):w})}},s=({columns:i,data:e,loading:l,type:s,onRowClick:d,meta:w})=>t(r,{children:l?Array.from(Array(5)).map(((e,r)=>t(o,{"data-testid":"row-loader",children:Array.from(i).map(((i,e)=>t(m,{align:"left",titleCell:!1,warning:!1,sticky:!1,"data-testid":`col-${i}`,isTitleRow:!1,children:t(a,{width:"90%",height:22})},`col-${i}-loader-${e}`)))},`row-loader-${r}`))):e?.map(((e,r)=>t(n,{onRowClick:d,row:e,tableRowTestKey:r.toString(),children:Array.from(i).map(((i,r)=>t(c,{colIdx:r,colName:i,row:e,type:s,meta:w},`cell-${i}-${r}`)))},`row-${r}`)))});export{s as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport type GenericTableColumns = {\n columnName: string;\n columnTitle: string;\n columnType: 'String' | 'Custom';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n};\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'align' && prop !== 'titleCell' && prop !== 'warning' && prop !== 'sticky' && prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport type TableCellProps = {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'sticky' | 'normal';\n};\n\nconst RenderTableCell: React.FC<TableCellProps> = ({ colIdx, colName, hasWarning, hasTitle, meta, row, type }) => {\n const prop = row[colName];\n const align = meta[colName].align ?? 'left';\n const hideWhenEmpty = meta[colName].hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning,\n titleCell: hasTitle,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n isTitleRow: row.isTitleRow ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName].columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return <StyledTableCell {...tableCellProps}>{prop ? meta[colName].customComponent(prop, row) : fallbackValue}</StyledTableCell>;\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ntype TableBodyProps = {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'sticky' | 'normal';\n};\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n titleCell={false}\n warning={false}\n sticky={false}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n >\n <Skeleton width=\"90%\" height={22} />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow key={`row-${rowIdx}`} onRowClick={onRowClick} row={row} tableRowTestKey={rowIdx.toString()}>\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n row={row}\n type={type}\n meta={meta}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","customComponent","GenericTableBody","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","width","height","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"oTAsBA,MAAMA,EAAkBC,EAAOC,EAAW,CACtCC,kBAAoBC,GAAkB,UAATA,GAA6B,cAATA,GAAiC,YAATA,GAA+B,WAATA,GAA8B,eAATA,GADhGH,EAGpB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACpDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAehCM,EAA4C,EAAGC,SAAQC,UAASC,aAAYC,WAAUC,OAAMC,MAAKC,WACnG,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,GAASX,OAAS,OAE/BiB,EADgBH,EAAKH,GAASO,gBAAiB,EACf,GAAK,IACrCC,EAAiB,CACnBnB,QACAE,QAASU,EACTX,UAAWY,EACXV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IACtBP,WAAYW,EAAIX,aAAc,GAKlC,GAAIgB,EAAMC,eAAetB,GACrB,OAAOuB,EAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAGjD,OAAQe,EAAKH,GAASa,YAClB,IAAK,SAIL,QACI,OAAOF,EAAC3B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAHzD,IAAK,SACD,OAAOK,EAAC3B,EAAe,IAAKwB,EAAcI,SAAGxB,EAAOe,EAAKH,GAASc,gBAAgB1B,EAAMgB,GAAOE,IAGtG,EAcCS,EAA6C,EAAGC,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAGxFQ,EAACS,EAAY,CAAAR,SACRM,EACKG,MAAMC,KAAKD,MAJL,IAIyBE,KAAI,CAACC,EAAGC,IACnCd,EAACe,iBAA+C,aAAYd,SACvDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IAClCY,EAAC3B,EAAe,CAEZK,MAAO,OACPC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACK,cAAA,OAAOmC,IACpBlC,YAAY,EAEZmB,SAAAD,EAACiB,EAAQ,CAACC,MAAM,MAAMC,OAAQ,MARzB,OAAOH,YAAqB5B,QAH9B,cAAc0B,OAgBjCR,GAAMM,KAAI,CAACnB,EAAK2B,IACZpB,EAACqB,GAA0Cb,WAAYA,EAAYf,IAAKA,EAAK6B,gBAAiBF,EAAOG,WAChGtB,SAAAS,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IAC/BY,EAACb,EAEG,CAAAC,OAAQA,EACRC,QAASA,EACTI,IAAKA,EACLC,KAAMA,EACNF,KAAMA,GALD,QAAQH,KAAWD,QAHV,OAAOgC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{jsx as e}from"react/jsx-runtime";import"react";import t from"@mui/material/TableRow";import{styled as o}from"@mui/material/styles";const r=o(t,{shouldForwardProp:e=>"isTitleRow"!==e})((({theme:e,isTitleRow:t})=>t?{backgroundColor:e.palette.grey[100]}:{})),i=o=>{const{onRowClick:i,row:l,children:a,tableRowTestKey:s}=o,m=e=>{e.preventDefault(),i?.(l)};return i?e(r,{onClick:m,hover:void 0!==m,"data-testid":`row-clickable-${s}`,isTitleRow:l.isTitleRow??!1,children:a}):e(t,{"data-testid":`row-${s}`,children:a})};export{i as default};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport TableRow from '@mui/material/TableRow';\nimport { styled } from '@mui/material/styles';\n\nexport type TableBodyRowProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n};\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.grey[100],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (e) => {\n e.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n onClick={onClick}\n hover={onClick !== undefined}\n data-testid={`row-clickable-${tableRowTestKey}`}\n isTitleRow={row.isTitleRow ?? false}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","grey","GenericTableBodyRow","props","onRowClick","row","children","tableRowTestKey","onClick","e","preventDefault","_jsx","hover","undefined"],"mappings":"0IAaA,MAAMA,EAAiBC,EAAOC,EAAU,CACpCC,kBAAoBC,GAAkB,eAATA,GADVH,EAEK,EAAGI,QAAOC,gBAC7BA,EAIE,CACHC,gBAAiBF,EAAMG,QAAQC,KAAK,MAJ7B,KAUTC,EAA4EC,IAC9E,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IACbA,EAAEC,iBACFN,IAAaC,EAAI,EAGrB,OAAID,EAEIO,EAACnB,EAAc,CACXgB,QAASA,EACTI,WAAmBC,IAAZL,EAAqB,cACf,iBAAiBD,IAC9BT,WAAYO,EAAIP,aAAc,EAAKQ,SAElCA,IAKNK,EAACjB,EAAsB,CAAA,cAAA,OAAOa,IAAiBD,SAAGA,GAAoB"}
|