@campxdev/react-blueprint 1.2.6 → 1.2.8

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/export.ts CHANGED
@@ -1,2 +1,4 @@
1
- export * from "./src/components/export";
2
- export * from "./src/themes/export";
1
+ export * from './src/components/export';
2
+ export * from './src/hooks/export';
3
+ export * from './src/state/export';
4
+ export * from './src/themes/export';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/react-blueprint",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "main": "./export.ts",
5
5
  "private": false,
6
6
  "dependencies": {
@@ -11,6 +11,7 @@
11
11
  "@mui/material": "^5.15.20",
12
12
  "@mui/x-data-grid": "^7.5.1",
13
13
  "@mui/x-date-pickers": "^7.12.1",
14
+ "@reduxjs/toolkit": "^2.2.7",
14
15
  "@storybook/addon-backgrounds": "^8.2.6",
15
16
  "@storybook/addon-designs": "^8.0.3",
16
17
  "@testing-library/jest-dom": "^5.14.1",
@@ -35,9 +36,11 @@
35
36
  "react-hook-form": "^7.52.0",
36
37
  "react-joyride": "^2.8.2",
37
38
  "react-query": "^3.39.3",
39
+ "react-redux": "^9.1.2",
38
40
  "react-router-dom": "^6.24.0",
39
41
  "react-scripts": "^5.0.1",
40
42
  "recharts": "^2.12.7",
43
+ "redux": "^5.0.1",
41
44
  "storybook-dark-mode": "^4.0.1",
42
45
  "typescript": "^5.5.2",
43
46
  "web-vitals": "^2.1.0",
package/src/App.tsx CHANGED
@@ -1,12 +1,8 @@
1
- import { Stack } from '@mui/material';
2
- import { ReactNode, useState } from 'react';
3
1
  import './App.css';
4
- import { Tags } from './components/Input/Tags/Tags';
5
- import { AppHeader, SearchBar } from './components/export';
2
+ import { AppHeader, Icons } from './components/export';
6
3
  import Providers from './contexts/Providers';
7
4
 
8
5
  function App() {
9
- const [selected, setSelected] = useState<ReactNode[]>([]);
10
6
  const sampleChips = [
11
7
  { label: 'Chip1', value: 1 },
12
8
  { label: 'Chip2', value: 2 },
@@ -22,15 +18,7 @@ function App() {
22
18
  collapsed={false}
23
19
  institutionsData={[]}
24
20
  />
25
- <SearchBar onSearch={() => {}} value={''} placeholder="Search by Name" />
26
-
27
- <Tags tags={sampleChips} />
28
-
29
- <Stack>
30
- {selected.map((item) => {
31
- return <>{item}</>;
32
- })}
33
- </Stack>
21
+ <Icons.WhatsappIcon />
34
22
  </Providers>
35
23
  );
36
24
  }
@@ -0,0 +1,22 @@
1
+ export const EmailIcon = () => {
2
+ return (
3
+ <div>
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="24"
7
+ height="25"
8
+ viewBox="0 0 24 25"
9
+ fill="none"
10
+ >
11
+ <path
12
+ d="M19 20.5H5C4.20459 20.4992 3.44199 20.1829 2.87956 19.6204C2.31712 19.058 2.00079 18.2954 2 17.5V7.5C2.00079 6.70459 2.31712 5.94199 2.87956 5.37956C3.44199 4.81712 4.20459 4.50079 5 4.5H19C19.7954 4.50079 20.558 4.81712 21.1204 5.37956C21.6829 5.94199 21.9992 6.70459 22 7.5V17.5C21.9992 18.2954 21.6829 19.058 21.1204 19.6204C20.558 20.1829 19.7954 20.4992 19 20.5Z"
13
+ fill="#B2B1FF"
14
+ />
15
+ <path
16
+ d="M22 7.5C21.9992 6.70459 21.6829 5.94199 21.1204 5.37956C20.558 4.81712 19.7954 4.50079 19 4.5H5C4.20459 4.50079 3.44199 4.81712 2.87956 5.37956C2.31712 5.94199 2.00079 6.70459 2 7.5V8.561L11.479 14.353C11.6361 14.4489 11.8165 14.4996 12.0005 14.4996C12.1845 14.4996 12.3649 14.4489 12.522 14.353L22 8.561V7.5Z"
17
+ fill="#6563FF"
18
+ />
19
+ </svg>
20
+ </div>
21
+ );
22
+ };
@@ -0,0 +1,22 @@
1
+ export const SmsIcon = () => {
2
+ return (
3
+ <div>
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="24"
7
+ height="25"
8
+ viewBox="0 0 24 25"
9
+ fill="none"
10
+ >
11
+ <path
12
+ d="M12 2.75C6.624 2.75 2.25 7.124 2.25 12.5C2.25 14.13 2.666 15.74 3.455 17.178L2.279 21.294C2.204 21.556 2.277 21.838 2.47 22.03C2.613 22.173 2.804 22.25 3 22.25C3.069 22.25 3.138 22.241 3.206 22.221L7.322 21.045C8.76 21.835 10.37 22.25 12 22.25C17.376 22.25 21.75 17.876 21.75 12.5C21.75 7.124 17.376 2.75 12 2.75Z"
13
+ fill="#BAD7FF"
14
+ />
15
+ <path
16
+ d="M13 12.5C13 13.052 12.552 13.5 12 13.5C11.448 13.5 11 13.052 11 12.5C11 11.948 11.448 11.5 12 11.5C12.552 11.5 13 11.948 13 12.5ZM8 11.5C7.448 11.5 7 11.948 7 12.5C7 13.052 7.448 13.5 8 13.5C8.552 13.5 9 13.052 9 12.5C9 11.948 8.552 11.5 8 11.5ZM16 11.5C15.448 11.5 15 11.948 15 12.5C15 13.052 15.448 13.5 16 13.5C16.552 13.5 17 13.052 17 12.5C17 11.948 16.552 11.5 16 11.5Z"
17
+ fill="#549BFF"
18
+ />
19
+ </svg>
20
+ </div>
21
+ );
22
+ };
@@ -0,0 +1,8 @@
1
+ import { ReactComponent as TextlocalLogo } from './TextlocalLogo.svg';
2
+ export const TextLocalIcon = ({ width = 50, height = 50 }) => {
3
+ return (
4
+ <>
5
+ <TextlocalLogo width={width} height={height} />
6
+ </>
7
+ );
8
+ };
@@ -0,0 +1,9 @@
1
+ <svg width="316" height="316" viewBox="0 0 316 316" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <path d="M0 0H316V316H0V0Z" fill="url(#pattern0_4854_62318)"/>
3
+ <defs>
4
+ <pattern id="pattern0_4854_62318" patternContentUnits="objectBoundingBox" width="1" height="1">
5
+ <use xlink:href="#image0_4854_62318" transform="scale(0.00316456)"/>
6
+ </pattern>
7
+ <image id="image0_4854_62318" width="316" height="316" xlink:href="data:image/png;base64,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"/>
8
+ </defs>
9
+ </svg>
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+
3
+ interface WhatsappIconProps {
4
+ width?: string | number;
5
+ height?: string | number;
6
+ }
7
+
8
+ export const WhatsappIcon: React.FC<WhatsappIconProps> = ({
9
+ width = 24,
10
+ height = 25,
11
+ }) => {
12
+ return (
13
+ <div>
14
+ <svg
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ width={width}
17
+ height={height}
18
+ viewBox="0 0 24 25"
19
+ fill="none"
20
+ >
21
+ <path
22
+ fillRule="evenodd"
23
+ clipRule="evenodd"
24
+ d="M11.9971 3C6.48459 3 2.00001 7.48541 2.00001 13C1.99682 15.1063 2.66369 17.159 3.90418 18.8612L2.65834 22.5766L6.50168 21.3483C8.13244 22.4293 10.0464 23.0039 12.0029 23C17.5154 23 22 18.5142 22 13C22 7.48583 17.5158 3 12.0029 3H11.9971ZM9.20542 8.07916C9.01126 7.615 8.86459 7.5975 8.57084 7.58541C8.45931 7.57835 8.34759 7.5746 8.23584 7.57416C7.85334 7.57416 7.45376 7.68583 7.21293 7.9325C6.91918 8.23249 6.19043 8.93166 6.19043 10.3662C6.19043 11.8008 7.23626 13.1883 7.37751 13.3825C7.52459 13.5762 9.41709 16.5625 12.3554 17.7796C14.6533 18.7321 15.3354 18.6437 15.8583 18.5321C16.6225 18.3675 17.5804 17.8029 17.8213 17.1212C18.0625 16.4392 18.0625 15.8571 17.9921 15.7337C17.9213 15.6104 17.7271 15.54 17.4338 15.3929C17.1396 15.2458 15.7113 14.5404 15.4408 14.4462C15.1767 14.3462 14.9242 14.3817 14.7242 14.6637C14.4421 15.0579 14.1658 15.4575 13.9425 15.6983C13.7663 15.8867 13.4779 15.9104 13.2371 15.81C12.9138 15.675 12.0088 15.3575 10.8921 14.3642C10.0279 13.5937 9.44042 12.6358 9.27001 12.3475C9.09917 12.0537 9.25251 11.8833 9.38751 11.7246C9.53459 11.5421 9.67542 11.4129 9.82251 11.2425C9.96917 11.0717 10.0517 10.9837 10.1458 10.7842C10.2458 10.59 10.175 10.39 10.1042 10.2425C10.0342 10.0958 9.44626 8.66124 9.20542 8.07958V8.07916Z"
25
+ fill="#67C15E"
26
+ />
27
+ </svg>
28
+ </div>
29
+ );
30
+ };
@@ -28,6 +28,7 @@ import { DeviceIcon } from './IconComponents/DeviceIcon';
28
28
  import { DocumentIcon } from './IconComponents/DocumentIcon';
29
29
  import { DownloadIcon } from './IconComponents/DownloadIcon';
30
30
  import { EditIcon } from './IconComponents/EditIcon';
31
+ import { EmailIcon } from './IconComponents/EmailIcon';
31
32
  import { EnrollxIcon } from './IconComponents/EnrollxIcon';
32
33
  import { ExamResultIcon } from './IconComponents/ExamResultIcon';
33
34
  import { ExamxIcon } from './IconComponents/ExamxIcon';
@@ -60,8 +61,10 @@ import { RightIcon } from './IconComponents/RightIcon';
60
61
  import { SaveIcon } from './IconComponents/SaveIcon';
61
62
  import { SearchIcon } from './IconComponents/SearchIcon';
62
63
  import { ShareIcon } from './IconComponents/ShareIcon';
64
+ import { SmsIcon } from './IconComponents/SmsIcon';
63
65
  import { StandardIcon } from './IconComponents/StandardIcon';
64
66
  import { SuccessFilledIcon } from './IconComponents/SuccessFilledIcon';
67
+ import { TextLocalIcon } from './IconComponents/TextLocalIcon';
65
68
  import { TicketsIcon } from './IconComponents/TicketsIcon';
66
69
  import { UmsIcon } from './IconComponents/UmsIcon';
67
70
  import { UnCheckedCheckboxIcon } from './IconComponents/UncheckCheckBoxIcon';
@@ -70,10 +73,15 @@ import { ViewIcon } from './IconComponents/ViewIcon';
70
73
  import { VisibilityOffIcon } from './IconComponents/VisibiityOffIcon';
71
74
  import { VisibilityIcon } from './IconComponents/VisibilityIcon';
72
75
  import { WarningFilledIcon } from './IconComponents/WarningFilledIcon';
76
+ import { WhatsappIcon } from './IconComponents/WhatsappIcon';
73
77
 
74
78
  export const Icons = {
75
79
  NoteIcon,
76
80
  RedoIcon,
81
+ WhatsappIcon,
82
+ SmsIcon,
83
+ EmailIcon,
84
+ TextLocalIcon,
77
85
  ArrowBackIcon,
78
86
  CollapseIcon,
79
87
  ExpandIcon,
@@ -44,7 +44,7 @@ export interface CardProps {
44
44
  };
45
45
  status?: string;
46
46
  imageSrc?: string;
47
- titleImgUrl?: string;
47
+ titleImgIcon?: ReactNode;
48
48
  checkBox?: boolean;
49
49
  moreOptions?: boolean;
50
50
  menu?: Array<ReactNode>;
@@ -56,7 +56,7 @@ export interface CardProps {
56
56
 
57
57
  export const Card = ({
58
58
  title,
59
- titleImgUrl,
59
+ titleImgIcon,
60
60
  caption,
61
61
  status,
62
62
  footer,
@@ -94,9 +94,7 @@ export const Card = ({
94
94
  </StyledStack>
95
95
  )} */}
96
96
 
97
- {titleImgUrl && (
98
- <img src={titleImgUrl} alt={title} height={'50px'} width={'50px'} />
99
- )}
97
+ {titleImgIcon && titleImgIcon}
100
98
 
101
99
  <Stack justifyContent={'center'}>
102
100
  <Typography variant={titleProps.variant} sx={titleProps.sx}>
@@ -7,13 +7,28 @@ import './ButtonLoader.css';
7
7
  export type ButtonProps = {
8
8
  loading?: boolean;
9
9
  color?: string;
10
+ background?: string;
11
+ hoverBackground?: string;
10
12
  } & Omit<MuiButtonProps, 'color'>;
11
13
 
12
- export const Button = ({ loading = false, color, ...props }: ButtonProps) => {
14
+ export const Button = ({
15
+ loading = false,
16
+ color,
17
+ background,
18
+ hoverBackground,
19
+ ...props
20
+ }: ButtonProps) => {
13
21
  return (
14
22
  <MuiButton
15
- sx={{ color, ...props.sx }}
16
23
  {...props}
24
+ sx={{
25
+ color,
26
+ background,
27
+ ':hover': {
28
+ background: hoverBackground,
29
+ },
30
+ ...props.sx,
31
+ }}
17
32
  endIcon={loading ? <div className="buttonLoader"></div> : props.endIcon}
18
33
  disabled={props.disabled || loading}
19
34
  >
@@ -87,7 +87,9 @@ export const DropdownMenu = ({
87
87
  {menuItems.map((item, index) => (
88
88
  <Fragment key={index}>
89
89
  {item}
90
- <Divider flexItem sx={{ margin: '0 !important' }} />
90
+ {index < menuItems.length - 1 && (
91
+ <Divider flexItem sx={{ margin: '0 !important' }} />
92
+ )}
91
93
  </Fragment>
92
94
  ))}
93
95
  </Stack>
@@ -1,7 +1,9 @@
1
1
  import { KeyboardArrowDown } from '@mui/icons-material';
2
2
  import { MenuListProps, MenuProps, Typography, useTheme } from '@mui/material';
3
- import { GridColDef } from '@mui/x-data-grid';
3
+ import { GridColDef, GridColumnVisibilityModel } from '@mui/x-data-grid';
4
4
  import { useState } from 'react';
5
+ import { useDispatch } from 'react-redux';
6
+ import { setColumnVisibilityModel } from '../../../state/export';
5
7
  import { Button, Icons, SearchBar, SingleCheckBox } from '../../export';
6
8
  import { DropdownMenu } from '../export';
7
9
 
@@ -9,16 +11,26 @@ export type TableColumnFiltersProps = {
9
11
  columns: GridColDef[];
10
12
  menuProps?: Omit<MenuProps, 'open'>;
11
13
  menuListProps?: MenuListProps;
12
- onChange: (values: string[]) => void;
14
+ uniqueId: string;
13
15
  };
14
16
 
15
17
  export const TableColumnFilters = ({
16
18
  columns,
17
- onChange,
19
+ uniqueId,
18
20
  ...props
19
21
  }: TableColumnFiltersProps) => {
20
- const [values, setValues] = useState<GridColDef[]>([]);
22
+ const dispatch = useDispatch();
23
+
24
+ const [columnVisibilityModel, setGridColumnVisibilityModels] =
25
+ useState<GridColumnVisibilityModel>(
26
+ columns.reduce((acc, column) => {
27
+ acc[column.field] = true;
28
+ return acc;
29
+ }, {} as GridColumnVisibilityModel),
30
+ );
31
+
21
32
  const [search, setSearch] = useState<string>('');
33
+
22
34
  const theme = useTheme();
23
35
 
24
36
  const filteredOptions = columns.filter((option) =>
@@ -26,11 +38,19 @@ export const TableColumnFilters = ({
26
38
  );
27
39
 
28
40
  const handleCheckboxChange = (column: GridColDef, checked: boolean) => {
29
- const updatedValues = checked
30
- ? [...values, column]
31
- : values.filter((v) => v.field !== column.field);
32
- setValues(updatedValues);
33
- onChange(updatedValues.map((v) => v.field));
41
+ const newColumnVisibilityModel = {
42
+ ...columnVisibilityModel,
43
+ [column.field]: !checked,
44
+ };
45
+ setGridColumnVisibilityModels(newColumnVisibilityModel);
46
+ if (uniqueId) {
47
+ dispatch(
48
+ setColumnVisibilityModel({
49
+ uniqueId: uniqueId,
50
+ columnVisibilityModel: newColumnVisibilityModel,
51
+ }),
52
+ );
53
+ }
34
54
  };
35
55
  return (
36
56
  <>
@@ -50,6 +70,9 @@ export const TableColumnFilters = ({
50
70
  borderRadius: '20px',
51
71
  }}
52
72
  variant="contained"
73
+ background={theme.palette.surface.grey}
74
+ hoverBackground={theme.palette.surface.grey}
75
+ color={theme.palette.text.primary}
53
76
  endIcon={<KeyboardArrowDown />}
54
77
  >
55
78
  Columns
@@ -84,11 +107,11 @@ export const TableColumnFilters = ({
84
107
  }}
85
108
  icon={<Icons.VisibilityIcon />}
86
109
  checkedIcon={<Icons.VisibilityOffIcon />}
87
- checked={values.includes(item)}
110
+ checked={!columnVisibilityModel[item.field]}
88
111
  label={
89
112
  <Typography
90
113
  color={
91
- values.includes(item)
114
+ !columnVisibilityModel[item.field]
92
115
  ? theme.palette.text.tertiary
93
116
  : theme.palette.text.primary
94
117
  }
@@ -1,6 +1,8 @@
1
1
  import { Box, MenuListProps, MenuProps, styled, useTheme } from '@mui/material';
2
2
  import { GridDensity } from '@mui/x-data-grid';
3
3
  import { useState } from 'react';
4
+ import { useDispatch } from 'react-redux';
5
+ import { setDensity } from '../../../state/export';
4
6
  import {
5
7
  Button,
6
8
  DropDownIcon,
@@ -12,14 +14,16 @@ import {
12
14
  export type TableDensityFilterProps = {
13
15
  menuProps?: Omit<MenuProps, 'open'>;
14
16
  menuListProps?: MenuListProps;
15
- onChange: (value: GridDensity) => void;
17
+ uniqueId: string;
16
18
  };
17
19
 
18
20
  export const TableDensityFilter = ({
19
- onChange,
21
+ uniqueId,
20
22
  ...props
21
23
  }: TableDensityFilterProps) => {
22
- const [density, setDensity] = useState<GridDensity>('standard');
24
+ const dispatch = useDispatch();
25
+
26
+ const [density, setGridDensity] = useState<GridDensity>('standard');
23
27
 
24
28
  const gridDensity: GridDensity[] = ['compact', 'standard', 'comfortable'];
25
29
 
@@ -37,8 +41,15 @@ export const TableDensityFilter = ({
37
41
  };
38
42
 
39
43
  const handleClick = (value: GridDensity, close: () => void) => {
40
- setDensity(value);
41
- onChange(value);
44
+ setGridDensity(value);
45
+ if (uniqueId) {
46
+ dispatch(
47
+ setDensity({
48
+ uniqueId: uniqueId,
49
+ density: value,
50
+ }),
51
+ );
52
+ }
42
53
  close();
43
54
  };
44
55
 
@@ -1,6 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
+ import { Provider } from 'react-redux';
3
+
4
+ import store from '../state/store';
2
5
  import { MuiThemeProvider } from '../themes/MuiThemeProvider';
3
6
 
4
7
  export default function Providers({ children }: { children: ReactNode }) {
5
- return <MuiThemeProvider>{children}</MuiThemeProvider>;
8
+ return (
9
+ <MuiThemeProvider>
10
+ <Provider store={store}>{children}</Provider>
11
+ </MuiThemeProvider>
12
+ );
6
13
  }
@@ -0,0 +1 @@
1
+ export * from './usePageHeader';
@@ -0,0 +1,27 @@
1
+ import { useRef } from 'react';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
+ import { v4 } from 'uuid';
4
+ import {
5
+ FilterState,
6
+ resetStateForUniqueId,
7
+ } from '../state/filters/filtersSlice';
8
+ import { RootState } from '../state/store';
9
+
10
+ export const usePageHeader = () => {
11
+ const uuidRef = useRef(v4());
12
+ const dispatch = useDispatch();
13
+ const filterState = useSelector(
14
+ (state: RootState) => state.filters[uuidRef.current] || ({} as FilterState),
15
+ );
16
+
17
+ const resetState = () => {
18
+ dispatch(resetStateForUniqueId({ uniqueId: uuidRef.current }));
19
+ };
20
+
21
+ return {
22
+ columnVisibilityModel: filterState.columnVisibilityModel,
23
+ density: filterState.density,
24
+ uniqueId: uuidRef.current,
25
+ resetState,
26
+ };
27
+ };
package/src/index.tsx CHANGED
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom/client';
3
- import './index.css';
4
3
  import App from './App';
4
+ import Providers from './contexts/Providers';
5
+ import './index.css';
5
6
  import reportWebVitals from './reportWebVitals';
6
7
 
7
8
  const root = ReactDOM.createRoot(
@@ -9,7 +10,9 @@ const root = ReactDOM.createRoot(
9
10
  );
10
11
  root.render(
11
12
  <React.StrictMode>
12
- <App />
13
+ <Providers>
14
+ <App />
15
+ </Providers>
13
16
  </React.StrictMode>,
14
17
  );
15
18
 
@@ -0,0 +1,2 @@
1
+ export * from './filters/filtersSlice';
2
+ export * from './store';
@@ -0,0 +1,41 @@
1
+ import { GridColumnVisibilityModel, GridDensity } from '@mui/x-data-grid';
2
+ import { createSlice } from '@reduxjs/toolkit';
3
+
4
+ export type FilterState = {
5
+ [uniqueId: string]: {
6
+ density: GridDensity;
7
+ columnVisibilityModel: GridColumnVisibilityModel;
8
+ };
9
+ };
10
+
11
+ const initialState: FilterState = {};
12
+
13
+ const filtersSlice = createSlice({
14
+ name: 'filters',
15
+ initialState,
16
+ reducers: {
17
+ setColumnVisibilityModel: (state, action) => {
18
+ const { uniqueId, columnVisibilityModel } = action.payload;
19
+ if (!state[uniqueId]) {
20
+ state[uniqueId] = { density: 'standard', columnVisibilityModel: {} };
21
+ }
22
+ state[uniqueId].columnVisibilityModel = columnVisibilityModel;
23
+ },
24
+ setDensity: (state, action) => {
25
+ const { uniqueId, density } = action.payload;
26
+ if (!state[uniqueId]) {
27
+ state[uniqueId] = { density: 'standard', columnVisibilityModel: {} };
28
+ }
29
+ state[uniqueId].density = density;
30
+ },
31
+ resetStateForUniqueId: (state, action) => {
32
+ const { uniqueId } = action.payload;
33
+ state[uniqueId] = { density: 'standard', columnVisibilityModel: {} };
34
+ },
35
+ },
36
+ });
37
+
38
+ export const { setColumnVisibilityModel, setDensity, resetStateForUniqueId } =
39
+ filtersSlice.actions;
40
+
41
+ export default filtersSlice.reducer;
@@ -0,0 +1,13 @@
1
+ import { configureStore } from '@reduxjs/toolkit';
2
+ import filtersSlice from './filters/filtersSlice';
3
+
4
+ const store = configureStore({
5
+ reducer: {
6
+ filters: filtersSlice,
7
+ },
8
+ });
9
+
10
+ export type RootState = ReturnType<typeof store.getState>;
11
+ export type AppDispatch = typeof store.dispatch;
12
+
13
+ export default store;
@@ -1,3 +1,4 @@
1
+ import { GridColumnVisibilityModel } from '@mui/x-data-grid';
1
2
  import { Meta, StoryFn } from '@storybook/react';
2
3
  import { useState } from 'react';
3
4
  import {
@@ -13,10 +14,6 @@ const meta: Meta<typeof TableColumnFilters> = {
13
14
  control: { type: 'object' },
14
15
  description: 'Array of filter options with labels and values.',
15
16
  },
16
- onChange: {
17
- action: 'changed',
18
- description: 'Callback when the selected values change.',
19
- },
20
17
  menuProps: {
21
18
  control: { type: 'object' },
22
19
  description: 'Props to customize the MUI Menu component.',
@@ -34,23 +31,16 @@ const meta: Meta<typeof TableColumnFilters> = {
34
31
  export default meta;
35
32
 
36
33
  const Template: StoryFn<TableColumnFiltersProps> = (args) => {
37
- const [selectedValues, setSelectedValues] = useState<string[]>([]);
34
+ const [selectedValues, setSelectedValues] =
35
+ useState<GridColumnVisibilityModel>();
38
36
 
39
- const handleOnChange = (values: string[]) => {
37
+ const handleOnChange = (values: GridColumnVisibilityModel) => {
40
38
  setSelectedValues(values);
41
- args.onChange(values);
42
39
  };
43
40
 
44
41
  return (
45
42
  <>
46
- <TableColumnFilters {...args} onChange={handleOnChange} />
47
- <div>
48
- {selectedValues.length > 0 ? (
49
- <ul>{selectedValues.map((value) => value)}</ul>
50
- ) : (
51
- <p>No values selected.</p>
52
- )}
53
- </div>
43
+ <TableColumnFilters {...args} />
54
44
  </>
55
45
  );
56
46
  };
@@ -9,10 +9,6 @@ const meta: Meta<typeof TableDensityFilter> = {
9
9
  title: 'Navigation/TableDensityFilter',
10
10
  component: TableDensityFilter,
11
11
  argTypes: {
12
- onChange: {
13
- action: 'changed',
14
- description: 'Callback when the selected values change.',
15
- },
16
12
  menuProps: {
17
13
  control: { type: 'object' },
18
14
  description: 'Props to customize the MUI Menu component.',
@@ -30,13 +26,11 @@ const meta: Meta<typeof TableDensityFilter> = {
30
26
  export default meta;
31
27
 
32
28
  const Template: StoryFn<TableDensityFilterProps> = (args) => {
33
- const handleOnChange = (value: GridDensity) => {
34
- args.onChange(value);
35
- };
29
+ const handleOnChange = (value: GridDensity) => {};
36
30
 
37
31
  return (
38
32
  <>
39
- <TableDensityFilter {...args} onChange={handleOnChange} />
33
+ <TableDensityFilter {...args} />
40
34
  </>
41
35
  );
42
36
  };