@onewelcome/react-lib-components 8.16.0 → 9.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/cjs/Breadcrumbs/Breadcrumbs.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/BaseButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/Button.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/IconButton.module.scss.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.module.scss.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenuItem.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGrid.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridActions/DataGridActions.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridBody.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterService.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterService.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterValueSelect.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterValueSelect.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.cjs.js +1 -1
- package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Fieldset/Fieldset.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Form.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormControl/FormControl.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormErrorText/FormErrorText.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormGroup/FormGroup.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Label/Label.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/useAddNewBtn.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Toggle/Toggle.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Icon/Icon.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/ContentHeader/ContentHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Link/Link.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Banner/Banner.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModal.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/Dialog.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheet.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.scss.cjs.js +1 -1
- package/dist/cjs/Pagination/Pagination.module.scss.cjs.js +1 -1
- package/dist/cjs/Popover/Popover.module.scss.cjs.js +1 -1
- package/dist/cjs/ProgressBar/ProgressBar.module.scss.cjs.js +1 -1
- package/dist/cjs/Skeleton/Skeleton.module.scss.cjs.js +1 -1
- package/dist/cjs/Spinner/Spinner.module.scss.cjs.js +1 -1
- package/dist/cjs/Stepper/Step.module.scss.cjs.js +1 -1
- package/dist/cjs/Stepper/Stepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/Tab.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/TabButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/Tabs.module.scss.cjs.js +1 -1
- package/dist/cjs/Tag/RemoveButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Tag/Tag.module.scss.cjs.js +1 -1
- package/dist/cjs/TextEllipsis/TextEllipsis.module.scss.cjs.js +1 -1
- package/dist/cjs/Tiles/Tile.module.scss.cjs.js +1 -1
- package/dist/cjs/Tiles/Tiles.module.scss.cjs.js +1 -1
- package/dist/cjs/Tooltip/Tooltip.module.scss.cjs.js +1 -1
- package/dist/cjs/Typography/Typography.module.scss.cjs.js +1 -1
- package/dist/cjs/admin/layout/LeftNav/LeftNav.module.scss.cjs.js +1 -1
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.cjs.js +1 -1
- package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.cjs.js +1 -1
- package/dist/cjs/miscellaneous/IdentityProviderButton.module.scss.cjs.js +1 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +5 -5
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterService.d.ts +5 -5
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterValueSelect.d.ts +4 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterValueSelect.test.d.ts +1 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +7 -9
- package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +0 -4
- package/dist/cjs/src/readyclasses.module.scss.cjs.js +1 -1
- package/dist/esm/Breadcrumbs/Breadcrumbs.module.scss.esm.js +2 -2
- package/dist/esm/Button/BaseButton.module.scss.esm.js +2 -2
- package/dist/esm/Button/Button.module.scss.esm.js +2 -2
- package/dist/esm/Button/IconButton.module.scss.esm.js +2 -2
- package/dist/esm/ContextMenu/ContextMenu.module.scss.esm.js +2 -2
- package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGrid.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridActions/DataGridActions.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridBody.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js +35 -31
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterService.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterService.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +8 -6
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterValueSelect.esm.js +18 -8
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterValueSelect.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js +7 -8
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.esm.js +2 -2
- package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
- package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +2 -2
- package/dist/esm/Form/Fieldset/Fieldset.module.scss.esm.js +2 -2
- package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +2 -2
- package/dist/esm/Form/FileUpload/FileUpload.esm.js +1 -2
- package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
- package/dist/esm/Form/Form.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormControl/FormControl.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormErrorText/FormErrorText.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormGroup/FormGroup.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
- package/dist/esm/Form/Label/Label.module.scss.esm.js +2 -2
- package/dist/esm/Form/Radio/Radio.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/SelectButton.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/useAddNewBtn.module.scss.esm.js +2 -2
- package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +2 -2
- package/dist/esm/Form/Toggle/Toggle.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +2 -2
- package/dist/esm/Icon/Icon.module.scss.esm.js +2 -2
- package/dist/esm/Layout/ContentHeader/ContentHeader.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.esm.js +2 -2
- package/dist/esm/Link/Link.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Banner/Banner.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModal.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/Dialog.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheet.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SlideInModal/SlideInModal.module.scss.esm.js +2 -2
- package/dist/esm/Pagination/Pagination.module.scss.esm.js +2 -2
- package/dist/esm/Popover/Popover.module.scss.esm.js +2 -2
- package/dist/esm/ProgressBar/ProgressBar.module.scss.esm.js +2 -2
- package/dist/esm/Skeleton/Skeleton.module.scss.esm.js +2 -2
- package/dist/esm/Spinner/Spinner.module.scss.esm.js +2 -2
- package/dist/esm/Stepper/Step.module.scss.esm.js +2 -2
- package/dist/esm/Stepper/Stepper.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/Tab.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/TabButton.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/Tabs.module.scss.esm.js +2 -2
- package/dist/esm/Tag/RemoveButton.module.scss.esm.js +2 -2
- package/dist/esm/Tag/Tag.module.scss.esm.js +2 -2
- package/dist/esm/TextEllipsis/TextEllipsis.module.scss.esm.js +2 -2
- package/dist/esm/Tiles/Tile.module.scss.esm.js +2 -2
- package/dist/esm/Tiles/Tiles.module.scss.esm.js +2 -2
- package/dist/esm/Tooltip/Tooltip.module.scss.esm.js +2 -2
- package/dist/esm/Typography/Typography.module.scss.esm.js +2 -2
- package/dist/esm/admin/layout/LeftNav/LeftNav.module.scss.esm.js +2 -2
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.esm.js +2 -2
- package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.esm.js +2 -2
- package/dist/esm/miscellaneous/IdentityProviderButton.module.scss.esm.js +2 -2
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +5 -5
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterService.d.ts +5 -5
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterValueSelect.d.ts +4 -1
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterValueSelect.test.d.ts +1 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +7 -9
- package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +0 -4
- package/dist/esm/src/readyclasses.module.scss.esm.js +2 -2
- package/package.json +1 -1
- package/src/components/DataGrid/DataGridFilters/DataGridFilter.tsx +1 -0
- package/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.tsx +81 -69
- package/src/components/DataGrid/DataGridFilters/DataGridFilterService.ts +4 -3
- package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +28 -4
- package/src/components/DataGrid/DataGridFilters/DataGridFilterValueSelect.tsx +27 -9
- package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +14 -9
- package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +6 -7
- package/src/components/DataGrid/testUtils.ts +2 -2
- package/src/components/Form/FileUpload/FileUpload.tsx +1 -6
|
@@ -24,6 +24,7 @@ import { DataGridFilterValueSelect } from "./DataGridFilterValueSelect";
|
|
|
24
24
|
import {
|
|
25
25
|
DataGridColumnMetadata,
|
|
26
26
|
DefaultOperators,
|
|
27
|
+
FilterOperator,
|
|
27
28
|
PopoverTranslations
|
|
28
29
|
} from "./DataGridFilters.interfaces";
|
|
29
30
|
import { useRepeatFocus } from "../../../hooks/useRepeatFocus";
|
|
@@ -36,14 +37,14 @@ export type Props = {
|
|
|
36
37
|
columnsMetadata: DataGridColumnMetadata[];
|
|
37
38
|
values: string[];
|
|
38
39
|
pickedValues: string[];
|
|
39
|
-
operator:
|
|
40
|
-
operators:
|
|
40
|
+
operator: FilterOperator | null;
|
|
41
|
+
operators: FilterOperator[];
|
|
41
42
|
onFilterSubmit: () => void;
|
|
42
43
|
resetFields: () => void;
|
|
43
44
|
setFilterOpen: (value: React.SetStateAction<boolean>) => void;
|
|
44
45
|
setColumn: (column: React.SetStateAction<string>) => void;
|
|
45
|
-
setOperator: (operator: React.SetStateAction<
|
|
46
|
-
setOperators: (operators: React.SetStateAction<
|
|
46
|
+
setOperator: (operator: React.SetStateAction<FilterOperator | null>) => void;
|
|
47
|
+
setOperators: (operators: React.SetStateAction<FilterOperator[]>) => void;
|
|
47
48
|
setValues: (values: React.SetStateAction<string[]>) => void;
|
|
48
49
|
setPickedValues: (pickedValues: React.SetStateAction<string[]>) => void;
|
|
49
50
|
translations?: PopoverTranslations;
|
|
@@ -77,6 +78,9 @@ export const DataGridFilterPopover = ({
|
|
|
77
78
|
} = translations || {};
|
|
78
79
|
useRepeatFocus(popoverRef);
|
|
79
80
|
|
|
81
|
+
const isValueRequired = operator && !operator.allowEmptyValues;
|
|
82
|
+
const hasValidationError = Boolean(isValueRequired && pickedValues.length === 0);
|
|
83
|
+
|
|
80
84
|
useEffect(() => {
|
|
81
85
|
if (isOpen) {
|
|
82
86
|
popoverRef.current?.focus();
|
|
@@ -92,74 +96,82 @@ export const DataGridFilterPopover = ({
|
|
|
92
96
|
placement={{ horizontal: "left", vertical: "bottom" }}
|
|
93
97
|
transformOrigin={{ horizontal: "left", vertical: "top" }}
|
|
94
98
|
>
|
|
95
|
-
|
|
96
|
-
<div className={classes["
|
|
97
|
-
<
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
{isOpen && (
|
|
100
|
+
<div className={classes["popover"]}>
|
|
101
|
+
<div className={classes["controls"]}>
|
|
102
|
+
<SelectWrapper
|
|
103
|
+
label={columnSelectLabel}
|
|
104
|
+
value={column}
|
|
105
|
+
name={"column"}
|
|
106
|
+
onChange={e => {
|
|
107
|
+
setColumn(e.target.value);
|
|
108
|
+
const columnMetadata = columnsMetadata.find(({ name }) => name === e.target.value);
|
|
104
109
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
if (columnMetadata?.operators) {
|
|
111
|
+
setOperator(columnMetadata.operators[0]);
|
|
112
|
+
setOperators(columnMetadata.operators);
|
|
113
|
+
} else {
|
|
114
|
+
setOperator(Object.values(DefaultOperators)[0]);
|
|
115
|
+
setOperators(Object.values(DefaultOperators));
|
|
116
|
+
}
|
|
112
117
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
118
|
+
if (columnMetadata?.defaultValues) {
|
|
119
|
+
setPickedValues([]);
|
|
120
|
+
setValues(columnMetadata.defaultValues);
|
|
121
|
+
} else {
|
|
122
|
+
setPickedValues([]);
|
|
123
|
+
setValues([]);
|
|
124
|
+
}
|
|
125
|
+
}}
|
|
126
|
+
>
|
|
127
|
+
{columnsMetadata.map(({ name, headline }) => (
|
|
128
|
+
<Option className={classes["column-select-option"]} key={name} value={name}>
|
|
129
|
+
{headline}
|
|
130
|
+
</Option>
|
|
131
|
+
))}
|
|
132
|
+
</SelectWrapper>
|
|
133
|
+
<SelectWrapper
|
|
134
|
+
label={operatorSelectLabel}
|
|
135
|
+
value={operator?.name || ""}
|
|
136
|
+
name={"operator"}
|
|
137
|
+
onChange={e => {
|
|
138
|
+
const selectedOperator = operators.find(op => op.name === e.target.value);
|
|
139
|
+
setOperator(selectedOperator || null);
|
|
140
|
+
}}
|
|
141
|
+
>
|
|
142
|
+
{operators.map(operator => (
|
|
143
|
+
<Option key={operator.name} value={operator.name}>
|
|
144
|
+
{operator.name}
|
|
145
|
+
</Option>
|
|
146
|
+
))}
|
|
147
|
+
</SelectWrapper>
|
|
148
|
+
<DataGridFilterValueSelect
|
|
149
|
+
column={column}
|
|
150
|
+
columnsMetadata={columnsMetadata}
|
|
151
|
+
values={values}
|
|
152
|
+
pickedValues={pickedValues}
|
|
153
|
+
setValues={setValues}
|
|
154
|
+
setPickedValues={setPickedValues}
|
|
155
|
+
translations={translations}
|
|
156
|
+
operator={operator}
|
|
157
|
+
/>
|
|
158
|
+
</div>
|
|
159
|
+
<div className={classes["actions"]}>
|
|
160
|
+
<Button onClick={onFilterSubmit} disabled={hasValidationError}>
|
|
161
|
+
{submitButtonTitle}
|
|
162
|
+
</Button>
|
|
163
|
+
<Button
|
|
164
|
+
variant="text"
|
|
165
|
+
onClick={() => {
|
|
166
|
+
resetFields();
|
|
167
|
+
setFilterOpen(false);
|
|
168
|
+
}}
|
|
169
|
+
>
|
|
170
|
+
{cancelButtonTitle}
|
|
171
|
+
</Button>
|
|
172
|
+
</div>
|
|
161
173
|
</div>
|
|
162
|
-
|
|
174
|
+
)}
|
|
163
175
|
</Popover>
|
|
164
176
|
);
|
|
165
177
|
};
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
DefaultOperators,
|
|
21
21
|
Filter,
|
|
22
22
|
FilterEditorMode,
|
|
23
|
+
FilterOperator,
|
|
23
24
|
FiltersState
|
|
24
25
|
} from "./DataGridFilters.interfaces";
|
|
25
26
|
|
|
@@ -29,8 +30,8 @@ export const useDataGridFilter = (
|
|
|
29
30
|
filterState: FiltersState
|
|
30
31
|
) => {
|
|
31
32
|
const [column, setColumn] = useState("");
|
|
32
|
-
const [operator, setOperator] = useState(
|
|
33
|
-
const [operators, setOperators] = useState<
|
|
33
|
+
const [operator, setOperator] = useState<FilterOperator | null>(null);
|
|
34
|
+
const [operators, setOperators] = useState<FilterOperator[]>(Object.values(DefaultOperators));
|
|
34
35
|
const [values, setValues] = useState<string[]>([]);
|
|
35
36
|
const [pickedValues, setPickedValues] = useState<string[]>([]);
|
|
36
37
|
const [allowedColumnsMetaData, setAllowedColumnsMetaData] = useState<DataGridColumnMetadata[]>(
|
|
@@ -44,7 +45,7 @@ export const useDataGridFilter = (
|
|
|
44
45
|
|
|
45
46
|
const resetFields = () => {
|
|
46
47
|
setColumn("");
|
|
47
|
-
setOperator(
|
|
48
|
+
setOperator(null);
|
|
48
49
|
setValues([]);
|
|
49
50
|
setPickedValues([]);
|
|
50
51
|
};
|
|
@@ -19,7 +19,12 @@ import { Icon, Icons } from "../../Icon/Icon";
|
|
|
19
19
|
import { RemoveButton } from "../../Tag/RemoveButton";
|
|
20
20
|
import { Typography } from "../../Typography/Typography";
|
|
21
21
|
import classes from "./DataGridFilter.module.scss";
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
Filter,
|
|
24
|
+
FilterEditorMode,
|
|
25
|
+
TagTranslations,
|
|
26
|
+
DataGridColumnMetadata
|
|
27
|
+
} from "./DataGridFilters.interfaces";
|
|
23
28
|
|
|
24
29
|
export interface DataGridFilterTagProps extends ComponentPropsWithRef<"div"> {
|
|
25
30
|
customEditTagContent?: React.ReactElement;
|
|
@@ -30,14 +35,27 @@ export interface DataGridFilterTagProps extends ComponentPropsWithRef<"div"> {
|
|
|
30
35
|
onFilterOpen: () => void;
|
|
31
36
|
translations?: TagTranslations;
|
|
32
37
|
dateTagCaption?: string;
|
|
38
|
+
columnsMetadata?: DataGridColumnMetadata[];
|
|
33
39
|
}
|
|
34
40
|
|
|
35
|
-
const EditTagContent = ({
|
|
41
|
+
const EditTagContent = ({
|
|
42
|
+
filter,
|
|
43
|
+
or,
|
|
44
|
+
other,
|
|
45
|
+
columnsMetadata
|
|
46
|
+
}: {
|
|
47
|
+
filter: Filter;
|
|
48
|
+
or: string;
|
|
49
|
+
other: string;
|
|
50
|
+
columnsMetadata?: DataGridColumnMetadata[];
|
|
51
|
+
}) => {
|
|
36
52
|
const { column, operator, value } = filter;
|
|
53
|
+
const columnHeadlineWithFallback =
|
|
54
|
+
columnsMetadata?.find(meta => meta.name === column)?.headline || column;
|
|
37
55
|
|
|
38
56
|
return (
|
|
39
57
|
<Fragment>
|
|
40
|
-
{
|
|
58
|
+
{columnHeadlineWithFallback} {operator?.name} {value.length > 0 && <b>{value[0]}</b>}
|
|
41
59
|
{value.length >= 2 && (
|
|
42
60
|
<>
|
|
43
61
|
{" "}
|
|
@@ -64,6 +82,7 @@ export const DataGridFilterTagComponent: ForwardRefRenderFunction<
|
|
|
64
82
|
translations,
|
|
65
83
|
dateTagCaption,
|
|
66
84
|
customEditTagContent,
|
|
85
|
+
columnsMetadata,
|
|
67
86
|
...rest
|
|
68
87
|
}: DataGridFilterTagProps,
|
|
69
88
|
ref
|
|
@@ -99,7 +118,12 @@ export const DataGridFilterTagComponent: ForwardRefRenderFunction<
|
|
|
99
118
|
{customEditTagContent ? (
|
|
100
119
|
React.cloneElement(customEditTagContent, { filter })
|
|
101
120
|
) : (
|
|
102
|
-
<EditTagContent
|
|
121
|
+
<EditTagContent
|
|
122
|
+
filter={filter}
|
|
123
|
+
or={or}
|
|
124
|
+
other={other}
|
|
125
|
+
columnsMetadata={columnsMetadata}
|
|
126
|
+
/>
|
|
103
127
|
)}
|
|
104
128
|
</Typography>
|
|
105
129
|
)}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import React from "react";
|
|
17
|
+
import React, { useCallback, useState } from "react";
|
|
18
18
|
import { Option } from "../../Form/Select/SingleSelect/Option";
|
|
19
19
|
import { MultiOption } from "../../Form/Select/MultiSelect/MultiOption";
|
|
20
20
|
import { MultiSelectWrapper } from "../../Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper";
|
|
@@ -33,6 +33,7 @@ export type Props = {
|
|
|
33
33
|
setValues: (values: React.SetStateAction<string[]>) => void;
|
|
34
34
|
setPickedValues: (pickedValues: React.SetStateAction<string[]>) => void;
|
|
35
35
|
translations?: PopoverTranslations;
|
|
36
|
+
operator?: { allowEmptyValues: boolean } | null;
|
|
36
37
|
};
|
|
37
38
|
|
|
38
39
|
export const DataGridFilterValueSelect = ({
|
|
@@ -42,8 +43,11 @@ export const DataGridFilterValueSelect = ({
|
|
|
42
43
|
pickedValues,
|
|
43
44
|
setValues,
|
|
44
45
|
setPickedValues,
|
|
45
|
-
translations
|
|
46
|
+
translations,
|
|
47
|
+
operator
|
|
46
48
|
}: Props) => {
|
|
49
|
+
const [touched, setTouched] = useState(false);
|
|
50
|
+
|
|
47
51
|
const {
|
|
48
52
|
valueSelectLabel = "Value",
|
|
49
53
|
addNewValueLabel = "Create new",
|
|
@@ -54,18 +58,30 @@ export const DataGridFilterValueSelect = ({
|
|
|
54
58
|
const disableAddNew = columnMetadata?.disableAddNew;
|
|
55
59
|
const valueSelectType = columnMetadata?.valueSelectType;
|
|
56
60
|
|
|
61
|
+
const isValueRequired = operator && !operator.allowEmptyValues;
|
|
62
|
+
const hasValidationError = Boolean(isValueRequired && pickedValues.length === 0 && touched);
|
|
63
|
+
|
|
57
64
|
const addNewBtnProps: React.ButtonHTMLAttributes<HTMLButtonElement> = {
|
|
58
65
|
title: addNewValueButtonTitle,
|
|
59
66
|
type: "button"
|
|
60
67
|
};
|
|
61
68
|
|
|
62
|
-
const onChangeHandler = (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
const onChangeHandler = useCallback(
|
|
70
|
+
(e: React.ChangeEvent<HTMLSelectElement>) => {
|
|
71
|
+
const { selectedOptions, value } = e.target;
|
|
72
|
+
|
|
73
|
+
let newValues: string[];
|
|
74
|
+
|
|
75
|
+
if (valueSelectType === ValueSelectType.single) {
|
|
76
|
+
newValues = value ? [value] : [];
|
|
77
|
+
} else {
|
|
78
|
+
newValues = Array.from(selectedOptions, option => option.value);
|
|
79
|
+
}
|
|
80
|
+
setPickedValues(newValues);
|
|
81
|
+
setTouched(true);
|
|
82
|
+
},
|
|
83
|
+
[valueSelectType]
|
|
84
|
+
);
|
|
69
85
|
|
|
70
86
|
const selectProps = {
|
|
71
87
|
addNew: disableAddNew
|
|
@@ -93,6 +109,7 @@ export const DataGridFilterValueSelect = ({
|
|
|
93
109
|
value={pickedValues[0]}
|
|
94
110
|
onChange={onChangeHandler}
|
|
95
111
|
selectProps={selectProps}
|
|
112
|
+
error={hasValidationError}
|
|
96
113
|
>
|
|
97
114
|
{values.map(value => (
|
|
98
115
|
<Option key={value} value={value}>
|
|
@@ -107,6 +124,7 @@ export const DataGridFilterValueSelect = ({
|
|
|
107
124
|
value={pickedValues}
|
|
108
125
|
onChange={onChangeHandler}
|
|
109
126
|
selectProps={selectProps}
|
|
127
|
+
error={hasValidationError}
|
|
110
128
|
>
|
|
111
129
|
{values.map(value => (
|
|
112
130
|
<MultiOption key={value} value={value}>
|
|
@@ -14,10 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
export interface FilterOperator {
|
|
18
|
+
name: string;
|
|
19
|
+
allowEmptyValues: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
export interface Filter {
|
|
18
23
|
id: string;
|
|
19
24
|
column: string;
|
|
20
|
-
operator:
|
|
25
|
+
operator: FilterOperator | null;
|
|
21
26
|
value: string[];
|
|
22
27
|
}
|
|
23
28
|
|
|
@@ -48,18 +53,18 @@ export type FiltersState = {
|
|
|
48
53
|
|
|
49
54
|
export type FilterEditorMode = "ADD" | "EDIT" | "ADD_DATE";
|
|
50
55
|
|
|
51
|
-
export
|
|
52
|
-
is
|
|
53
|
-
isNot
|
|
54
|
-
contains
|
|
55
|
-
doesNotContain
|
|
56
|
-
isEmpty
|
|
57
|
-
}
|
|
56
|
+
export const DefaultOperators: Record<string, FilterOperator> = {
|
|
57
|
+
is: { name: "is", allowEmptyValues: false },
|
|
58
|
+
isNot: { name: "is not", allowEmptyValues: false },
|
|
59
|
+
contains: { name: "contains", allowEmptyValues: false },
|
|
60
|
+
doesNotContain: { name: "does not contain", allowEmptyValues: false },
|
|
61
|
+
isEmpty: { name: "is empty", allowEmptyValues: true }
|
|
62
|
+
};
|
|
58
63
|
|
|
59
64
|
export interface DataGridColumnMetadata {
|
|
60
65
|
name: string;
|
|
61
66
|
headline: string;
|
|
62
|
-
operators?:
|
|
67
|
+
operators?: FilterOperator[];
|
|
63
68
|
defaultValues?: string[];
|
|
64
69
|
disableAddNew?: boolean;
|
|
65
70
|
allowSingleFilterOnly?: boolean;
|
|
@@ -70,6 +70,12 @@ export const DataGridToolbar = ({
|
|
|
70
70
|
const { clearButtonCaption = "Clear all filters" } = translations?.toolbar || {};
|
|
71
71
|
return (
|
|
72
72
|
<Fragment>
|
|
73
|
+
{dateFilterValue && (
|
|
74
|
+
<DataGridDateFilter
|
|
75
|
+
dateFilterValue={dateFilterValue}
|
|
76
|
+
onDateFilterValueChange={onDateFilterValueChange}
|
|
77
|
+
/>
|
|
78
|
+
)}
|
|
73
79
|
{columnsMetadata &&
|
|
74
80
|
state.filters.map(filter => (
|
|
75
81
|
<DataGridFilter
|
|
@@ -120,13 +126,6 @@ export const DataGridToolbar = ({
|
|
|
120
126
|
</Typography>
|
|
121
127
|
</button>
|
|
122
128
|
)}
|
|
123
|
-
|
|
124
|
-
{dateFilterValue && (
|
|
125
|
-
<DataGridDateFilter
|
|
126
|
-
dateFilterValue={dateFilterValue}
|
|
127
|
-
onDateFilterValueChange={onDateFilterValueChange}
|
|
128
|
-
/>
|
|
129
|
-
)}
|
|
130
129
|
</div>
|
|
131
130
|
</Fragment>
|
|
132
131
|
);
|
|
@@ -51,8 +51,8 @@ export const useMockFilteringLogic = <T extends { [k: string]: string }>(
|
|
|
51
51
|
const filterRow = (row: T) => {
|
|
52
52
|
let shouldBeDiscarded: boolean[] = [];
|
|
53
53
|
state.filters.forEach(filter => {
|
|
54
|
-
const reduce = filter.operator == "is" ? reduceDisjunction : reduceConjunction;
|
|
55
|
-
const operatorPredicate = operatorPredicateMap[filter.operator];
|
|
54
|
+
const reduce = filter.operator?.name == "is" ? reduceDisjunction : reduceConjunction;
|
|
55
|
+
const operatorPredicate = operatorPredicateMap[filter.operator?.name || ""];
|
|
56
56
|
shouldBeDiscarded = [
|
|
57
57
|
...shouldBeDiscarded,
|
|
58
58
|
!reduce(filter.value, val => operatorPredicate(row[filter.column], val))
|
|
@@ -45,10 +45,6 @@ export interface Props extends FileUploadType {
|
|
|
45
45
|
maxFileSizeInBytes?: number;
|
|
46
46
|
selectButtonText?: string;
|
|
47
47
|
dragAndDropText?: string;
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated use the `helperText` prop instead
|
|
50
|
-
*/
|
|
51
|
-
subText?: string;
|
|
52
48
|
onDragOver?: DragEventHandler;
|
|
53
49
|
onDragEnter?: DragEventHandler;
|
|
54
50
|
onDragLeave?: DragEventHandler;
|
|
@@ -84,7 +80,6 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
|
|
|
84
80
|
onDragLeave,
|
|
85
81
|
wrapperProps,
|
|
86
82
|
onDrop,
|
|
87
|
-
subText, // @deprecated
|
|
88
83
|
onRequestedFileAction,
|
|
89
84
|
exceedingMaxSizeErrorText,
|
|
90
85
|
fileList,
|
|
@@ -93,7 +88,7 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
|
|
|
93
88
|
isRequired = true,
|
|
94
89
|
invalidDropErrorMessage = "Invalid file format. Supported formats are: $accept.",
|
|
95
90
|
noMultipleFileDropErrorMessage = "You can upload only a single file.",
|
|
96
|
-
helperText
|
|
91
|
+
helperText,
|
|
97
92
|
...rest
|
|
98
93
|
}: Props,
|
|
99
94
|
ref
|