-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSection.tsx
More file actions
83 lines (76 loc) · 2.1 KB
/
Copy pathSection.tsx
File metadata and controls
83 lines (76 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import React from 'react';
import { Flex } from '../Flex';
import { Divider } from '../Divider';
import { ListItem } from '../ListItem';
import { TButtonOnPress, TPropsSection } from '../types';
const Section_: React.ForwardRefRenderFunction<unknown, TPropsSection> = (
{
// unused
select = null,
// header
size = null,
sizeText = null,
icons = null,
label = null,
lines = null,
children = null,
header = null,
flexText = null,
font = null,
shadowText = null,
colors = null,
href = null,
onPress = null,
isActive = null,
isDisabled = null,
buttonGroup = null,
justify = null,
align = null,
divider = null,
...propsFlex
}: TPropsSection,
ref,
) => {
const press: TButtonOnPress = React.useCallback(
(e, name) => {
if (typeof name === 'string' && onPress) {
onPress(e, name);
}
},
[onPress],
);
return (
<>
<Flex
ref={ref}
{...propsFlex}
>
<ListItem
size={size || 'xsm'}
icons={icons}
label={label}
lines={lines}
flexText={flexText}
font={font || 'semi'}
sizeText={sizeText || 'lg'}
shadowText={shadowText}
colors={colors}
href={href}
isActive={isActive}
isDisabled={isDisabled}
justify={justify}
align={align}
buttonGroup={buttonGroup}
onPress={onPress && press}
>
{header}
</ListItem>
{children}
</Flex>
{!!divider && (
<Divider {...divider} />
)}
</>
);
};
export const Section = React.memo(React.forwardRef(Section_));