@coveord/plasma-mantine 48.18.1 → 48.22.3
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/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +7 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js +66 -37
- package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js +1 -4
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js +2 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.js +16 -5
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/definitions/components/modal-wizard/ModalWizard.d.ts +8 -2
- package/dist/definitions/components/modal-wizard/ModalWizard.d.ts.map +1 -1
- package/dist/definitions/components/modal-wizard/ModalWizardStep.d.ts +1 -0
- package/dist/definitions/components/modal-wizard/ModalWizardStep.d.ts.map +1 -1
- package/dist/definitions/components/table/TableFilter.d.ts +8 -1
- package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js +67 -38
- package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizardStep.js +1 -4
- package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js +2 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/table/TableFilter.js +16 -5
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/package.json +1 -1
- package/src/components/modal-wizard/ModalWizard.tsx +68 -37
- package/src/components/modal-wizard/ModalWizardStep.tsx +2 -3
- package/src/components/sticky-footer/StickyFooter.tsx +1 -1
- package/src/components/table/TableFilter.tsx +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Box className={classes.footer}>\n <Group position=\"right\" spacing=\"xs\"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Box className={classes.footer}>\n <Group position=\"right\" spacing=\"xs\" pt=\"md\" pb=\"md\" px=\"xl\" {...others}>\n {children}\n </Group>\n </Box>\n </>\n );\n};\n"],"names":["Box","createStyles","Divider","Group","useStyles","footer","position","bottom","zIndex","backgroundColor","StickyFooter","borderTop","children","others","classes","size","className","spacing","pt","pb","px"],"mappings":"AAAA;;;;AAAA,SAAQA,GAAG,EAAEC,YAAY,EAAgBC,OAAO,EAAEC,KAAK,QAAO,gBAAgB;AAU9E,IAAMC,YAAYH,aAAa;WAAO;QAClCI,QAAQ;YACJC,UAAU;YACVC,QAAQ;YACRC,QAAQ;YACRC,iBAAiB;QACrB;IACJ;;AAEA,OAAO,IAAMC,eAAwE,iBAI/E;QAHFC,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAM,AAACE,UAAWV,YAAXU;IAEP,qBACI;;YACKH,0BAAY,KAACT;gBAAQa,MAAK;iBAAU,IAAI;0BACzC,KAACf;gBAAIgB,WAAWF,QAAQT,MAAM;0BAC1B,cAAA,KAACF;oBAAMG,UAAS;oBAAQW,SAAQ;oBAAKC,IAAG;oBAAKC,IAAG;oBAAKC,IAAG;mBAASP;8BAC5DD;;;;;AAKrB,EAAE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _define_property from "@swc/helpers/src/_define_property.mjs";
|
|
2
2
|
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
3
3
|
import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
|
|
4
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
import { SearchSize16Px } from "@coveord/plasma-react-icons";
|
|
6
7
|
import { createStyles, TextInput } from "@mantine/core";
|
|
@@ -15,9 +16,19 @@ var useStyles = createStyles(function(theme) {
|
|
|
15
16
|
}
|
|
16
17
|
};
|
|
17
18
|
});
|
|
18
|
-
export var TableFilter = function(
|
|
19
|
-
var _param_placeholder =
|
|
20
|
-
|
|
19
|
+
export var TableFilter = function(_param) {
|
|
20
|
+
var _param_placeholder = _param.placeholder, placeholder = _param_placeholder === void 0 ? "Search by any field" : _param_placeholder, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
|
|
21
|
+
"placeholder",
|
|
22
|
+
"classNames",
|
|
23
|
+
"styles",
|
|
24
|
+
"unstyled"
|
|
25
|
+
]);
|
|
26
|
+
var _useStyles = useStyles(null, {
|
|
27
|
+
name: "TableHeader",
|
|
28
|
+
classNames: classNames,
|
|
29
|
+
styles: styles,
|
|
30
|
+
unstyled: unstyled
|
|
31
|
+
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
21
32
|
var _useTable = useTable(), state = _useTable.state, setState = _useTable.setState;
|
|
22
33
|
var handleSearchChange = function(event) {
|
|
23
34
|
var value = event.currentTarget.value;
|
|
@@ -27,7 +38,7 @@ export var TableFilter = function(param) {
|
|
|
27
38
|
});
|
|
28
39
|
});
|
|
29
40
|
};
|
|
30
|
-
return /*#__PURE__*/ _jsx(TextInput, {
|
|
41
|
+
return /*#__PURE__*/ _jsx(TextInput, _object_spread({
|
|
31
42
|
className: classes.wrapper,
|
|
32
43
|
placeholder: placeholder,
|
|
33
44
|
mb: "md",
|
|
@@ -37,7 +48,7 @@ export var TableFilter = function(param) {
|
|
|
37
48
|
}),
|
|
38
49
|
value: state.globalFilter,
|
|
39
50
|
onChange: handleSearchChange
|
|
40
|
-
});
|
|
51
|
+
}, others));
|
|
41
52
|
};
|
|
42
53
|
|
|
43
54
|
//# sourceMappingURL=TableFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, TextInput} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {ChangeEvent, FunctionComponent} from 'react';\nimport {useTable} from './useTable';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ninterface TableFilterProps {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({placeholder = 'Search by any field'}) => {\n const {classes, cx} = useStyles();\n const {state, setState} = useTable();\n\n const handleSearchChange = (event: ChangeEvent<HTMLInputElement>) => {\n const {value} = event.currentTarget;\n setState((prevState: TableState) => ({...prevState, globalFilter: value}));\n };\n\n return (\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={<SearchSize16Px height={14} className={cx({[classes.empty]: !state.globalFilter})} />}\n value={state.globalFilter}\n onChange={handleSearchChange}\n />\n );\n};\n"],"names":["SearchSize16Px","createStyles","TextInput","useTable","useStyles","theme","wrapper","marginBottom","empty","color","colors","gray","TableFilter","placeholder","classes","cx","state","setState","handleSearchChange","event","value","currentTarget","prevState","globalFilter","className","mb","rightSection","height","onChange"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, TextInput, Selectors, DefaultProps} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {ChangeEvent, FunctionComponent} from 'react';\nimport {useTable} from './useTable';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ntype TableFilterStylesNames = Selectors<typeof useStyles>;\ninterface TableFilterProps extends DefaultProps<TableFilterStylesNames> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({\n placeholder = 'Search by any field',\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes, cx} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const {state, setState} = useTable();\n\n const handleSearchChange = (event: ChangeEvent<HTMLInputElement>) => {\n const {value} = event.currentTarget;\n setState((prevState: TableState) => ({...prevState, globalFilter: value}));\n };\n\n return (\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={<SearchSize16Px height={14} className={cx({[classes.empty]: !state.globalFilter})} />}\n value={state.globalFilter}\n onChange={handleSearchChange}\n {...others}\n />\n );\n};\n"],"names":["SearchSize16Px","createStyles","TextInput","useTable","useStyles","theme","wrapper","marginBottom","empty","color","colors","gray","TableFilter","placeholder","classNames","styles","unstyled","others","name","classes","cx","state","setState","handleSearchChange","event","value","currentTarget","prevState","globalFilter","className","mb","rightSection","height","onChange"],"mappings":"AAAA;;;;;AAAA,SAAQA,cAAc,QAAO,8BAA8B;AAC3D,SAAQC,YAAY,EAAEC,SAAS,QAAgC,gBAAgB;AAG/E,SAAQC,QAAQ,QAAO,aAAa;AAEpC,IAAMC,YAAYH,aAAa,SAACI;WAAW;QACvCC,SAAS;YACLC,cAAc;QAClB;QACAC,OAAO;YACHC,OAAOJ,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;QAC/B;IACJ;;AAYA,OAAO,IAAMC,cAAmD,iBAM1D;oCALFC,aAAAA,8CAAc,4CACdC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAsBZ,aAAAA,UAAU,IAAI,EAAE;QAACc,MAAM;QAAeJ,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,IAAjFG,UAAef,WAAfe,SAASC,KAAMhB,WAANgB;IAChB,IAA0BjB,YAAAA,YAAnBkB,QAAmBlB,UAAnBkB,OAAOC,WAAYnB,UAAZmB;IAEd,IAAMC,qBAAqB,SAACC,OAAyC;QACjE,IAAM,AAACC,QAASD,MAAME,aAAa,CAA5BD;QACPH,SAAS,SAACK;mBAA2B,wCAAIA;gBAAWC,cAAcH;;;IACtE;IAEA,qBACI,KAACvB;QACG2B,WAAWV,QAAQb,OAAO;QAC1BO,aAAaA;QACbiB,IAAG;QACHC,4BAAc,KAAC/B;YAAegC,QAAQ;YAAIH,WAAWT,GAAI,qBAACD,QAAQX,KAAK,EAAG,CAACa,MAAMO,YAAY;;QAC7FH,OAAOJ,MAAMO,YAAY;QACzBK,UAAUV;OACNN;AAGhB,EAAE"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
|
-
import {Button, Modal, ModalProps, Progress} from '@mantine/core';
|
|
1
|
+
import {Box, Button, createStyles, DefaultProps, Modal, ModalProps, Progress, Selectors} from '@mantine/core';
|
|
2
2
|
import {Children, ReactElement, useMemo, useState} from 'react';
|
|
3
3
|
import {StickyFooter} from '../sticky-footer';
|
|
4
4
|
import {ModalWizardStep} from './ModalWizardStep';
|
|
5
5
|
import {Header} from '../header';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const useStyles = createStyles(() => ({
|
|
8
|
+
modal: {
|
|
9
|
+
display: 'flex',
|
|
10
|
+
flexDirection: 'column',
|
|
11
|
+
},
|
|
12
|
+
body: {
|
|
13
|
+
flex: 1,
|
|
14
|
+
display: 'flex',
|
|
15
|
+
flexDirection: 'column',
|
|
16
|
+
},
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
type ModalWizardStylesNames = Selectors<typeof useStyles>;
|
|
20
|
+
|
|
21
|
+
interface ModalWizardProps
|
|
22
|
+
extends Omit<DefaultProps<ModalWizardStylesNames>, 'classNames' | 'styles'>,
|
|
23
|
+
Omit<ModalProps, 'centered' | 'title'> {
|
|
8
24
|
/**
|
|
9
25
|
* The label of the cancel button
|
|
10
26
|
*
|
|
@@ -85,9 +101,22 @@ export const ModalWizard: ModalWizardType = ({
|
|
|
85
101
|
isDirty,
|
|
86
102
|
handleDirtyState,
|
|
87
103
|
classNames,
|
|
104
|
+
className,
|
|
105
|
+
styles,
|
|
106
|
+
unstyled,
|
|
88
107
|
children,
|
|
89
108
|
...modalProps
|
|
90
109
|
}) => {
|
|
110
|
+
const {
|
|
111
|
+
classes: {modal, body},
|
|
112
|
+
cx,
|
|
113
|
+
} = useStyles(null, {
|
|
114
|
+
name: 'ModalWizard',
|
|
115
|
+
classNames,
|
|
116
|
+
styles,
|
|
117
|
+
unstyled,
|
|
118
|
+
});
|
|
119
|
+
|
|
91
120
|
const [currentStepIndex, setCurrentStepIndex] = useState(0);
|
|
92
121
|
const modalSteps = (Children.toArray(children) as ReactElement[]).filter((child) => child.type === ModalWizardStep);
|
|
93
122
|
|
|
@@ -116,11 +145,10 @@ export const ModalWizard: ModalWizardType = ({
|
|
|
116
145
|
};
|
|
117
146
|
|
|
118
147
|
const getProgressMemo = useMemo(() => getProgress(currentStepIndex), [currentStepIndex]);
|
|
119
|
-
|
|
120
148
|
return (
|
|
121
149
|
<Modal
|
|
122
150
|
opened={opened}
|
|
123
|
-
classNames={classNames}
|
|
151
|
+
classNames={{modal: cx(modal, classNames?.modal), body: cx(body, classNames?.body)}}
|
|
124
152
|
centered
|
|
125
153
|
title={
|
|
126
154
|
<Header
|
|
@@ -143,39 +171,42 @@ export const ModalWizard: ModalWizardType = ({
|
|
|
143
171
|
>
|
|
144
172
|
{currentStep.props.showProgressBar && <Progress color="teal" size="lg" value={getProgressMemo} />}
|
|
145
173
|
{currentStep}
|
|
146
|
-
<
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
<Box
|
|
175
|
+
sx={(theme) => ({
|
|
176
|
+
marginTop: 'auto',
|
|
177
|
+
})}
|
|
178
|
+
>
|
|
179
|
+
<StickyFooter px={0} pt="sm" pb={0} borderTop>
|
|
180
|
+
<Button
|
|
181
|
+
name={isFirstStep ? cancelButtonLabel : previousButtonLabel}
|
|
182
|
+
variant="outline"
|
|
183
|
+
onClick={() => {
|
|
184
|
+
if (isFirstStep) {
|
|
185
|
+
closeModalWizard();
|
|
186
|
+
} else {
|
|
187
|
+
onPrevious?.();
|
|
188
|
+
setCurrentStepIndex(currentStepIndex - 1);
|
|
189
|
+
}
|
|
190
|
+
}}
|
|
191
|
+
>
|
|
192
|
+
{isFirstStep ? cancelButtonLabel : previousButtonLabel}
|
|
193
|
+
</Button>
|
|
194
|
+
|
|
195
|
+
<Button
|
|
196
|
+
disabled={!isValid}
|
|
197
|
+
onClick={() => {
|
|
198
|
+
if (isLastStep) {
|
|
199
|
+
onFinish ? onFinish() : onClose();
|
|
200
|
+
} else {
|
|
201
|
+
onNext?.();
|
|
202
|
+
setCurrentStepIndex(currentStepIndex + 1);
|
|
203
|
+
}
|
|
204
|
+
}}
|
|
205
|
+
>
|
|
206
|
+
{isLastStep ? finishButtonLabel : nextButtonLabel}
|
|
207
|
+
</Button>
|
|
208
|
+
</StickyFooter>
|
|
209
|
+
</Box>
|
|
179
210
|
</Modal>
|
|
180
211
|
);
|
|
181
212
|
};
|
|
@@ -41,11 +41,10 @@ export interface ModalWizardStepProps {
|
|
|
41
41
|
* @default true
|
|
42
42
|
*/
|
|
43
43
|
countsAsProgress?: boolean;
|
|
44
|
+
children: ReactElement<any, any>;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
const ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) =>
|
|
47
|
-
<div>{children}</div>
|
|
48
|
-
);
|
|
47
|
+
const ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) => children;
|
|
49
48
|
|
|
50
49
|
ModalWizardStep.defaultProps = {
|
|
51
50
|
showProgressBar: true,
|
|
@@ -28,7 +28,7 @@ export const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps
|
|
|
28
28
|
<>
|
|
29
29
|
{borderTop ? <Divider size="xs" /> : null}
|
|
30
30
|
<Box className={classes.footer}>
|
|
31
|
-
<Group position="right" spacing="xs"
|
|
31
|
+
<Group position="right" spacing="xs" pt="md" pb="md" px="xl" {...others}>
|
|
32
32
|
{children}
|
|
33
33
|
</Group>
|
|
34
34
|
</Box>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {SearchSize16Px} from '@coveord/plasma-react-icons';
|
|
2
|
-
import {createStyles, TextInput} from '@mantine/core';
|
|
2
|
+
import {createStyles, TextInput, Selectors, DefaultProps} from '@mantine/core';
|
|
3
3
|
import {TableState} from '@tanstack/react-table';
|
|
4
4
|
import {ChangeEvent, FunctionComponent} from 'react';
|
|
5
5
|
import {useTable} from './useTable';
|
|
@@ -13,7 +13,8 @@ const useStyles = createStyles((theme) => ({
|
|
|
13
13
|
},
|
|
14
14
|
}));
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
type TableFilterStylesNames = Selectors<typeof useStyles>;
|
|
17
|
+
interface TableFilterProps extends DefaultProps<TableFilterStylesNames> {
|
|
17
18
|
/**
|
|
18
19
|
* The placeholder for the filter input
|
|
19
20
|
*
|
|
@@ -22,8 +23,14 @@ interface TableFilterProps {
|
|
|
22
23
|
placeholder?: string;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
export const TableFilter: FunctionComponent<TableFilterProps> = ({
|
|
26
|
-
|
|
26
|
+
export const TableFilter: FunctionComponent<TableFilterProps> = ({
|
|
27
|
+
placeholder = 'Search by any field',
|
|
28
|
+
classNames,
|
|
29
|
+
styles,
|
|
30
|
+
unstyled,
|
|
31
|
+
...others
|
|
32
|
+
}) => {
|
|
33
|
+
const {classes, cx} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});
|
|
27
34
|
const {state, setState} = useTable();
|
|
28
35
|
|
|
29
36
|
const handleSearchChange = (event: ChangeEvent<HTMLInputElement>) => {
|
|
@@ -39,6 +46,7 @@ export const TableFilter: FunctionComponent<TableFilterProps> = ({placeholder =
|
|
|
39
46
|
rightSection={<SearchSize16Px height={14} className={cx({[classes.empty]: !state.globalFilter})} />}
|
|
40
47
|
value={state.globalFilter}
|
|
41
48
|
onChange={handleSearchChange}
|
|
49
|
+
{...others}
|
|
42
50
|
/>
|
|
43
51
|
);
|
|
44
52
|
};
|