@tecsinapse/react-web-kit 3.0.0 → 3.3.1
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/components/atoms/Button/styled.js +4 -4
- package/dist/cjs/components/atoms/Input/styled.js +2 -2
- package/dist/cjs/components/atoms/InputMask/styled.js +2 -2
- package/dist/cjs/components/atoms/Tooltip/styled.js +4 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +8 -0
- package/dist/cjs/components/molecules/DateTimePickerSelector/DateTimePickerSelector.js +98 -0
- package/dist/cjs/components/molecules/DateTimePickerSelector/components/MemoizedTimeCard.js +22 -0
- package/dist/cjs/components/molecules/DateTimePickerSelector/components/ScrollableDigit.js +84 -0
- package/dist/cjs/components/molecules/DateTimePickerSelector/styled.js +55 -0
- package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -2
- package/dist/cjs/components/molecules/LabeledSwitch/styled.js +4 -4
- package/dist/cjs/components/molecules/Menubar/MostUsed/styled.js +2 -2
- package/dist/cjs/components/molecules/Menubar/SearchResultItem/styled.js +2 -2
- package/dist/cjs/components/molecules/Menubar/styled.js +3 -3
- package/dist/cjs/components/molecules/ScrollableMonthYearPicker/ScrollableMonthYearPicker.js +83 -0
- package/dist/cjs/components/molecules/ScrollableMonthYearPicker/styled.js +18 -0
- package/dist/cjs/components/molecules/ScrollableTimePicker/ScrollableTimePicker.js +77 -0
- package/dist/cjs/components/molecules/ScrollableTimePicker/styled.js +18 -0
- package/dist/cjs/components/molecules/Select/Select.js +12 -1
- package/dist/cjs/components/molecules/Select/SelectItem/styled.js +1 -1
- package/dist/cjs/components/molecules/Snackbar/styled.js +5 -5
- package/dist/cjs/components/molecules/TextArea/styled.js +2 -2
- package/dist/cjs/components/organisms/DataGrid/Footer/styled.js +4 -4
- package/dist/esm/components/atoms/Accordion/Accordion.js +9 -9
- package/dist/esm/components/atoms/Badge/Badge.js +3 -3
- package/dist/esm/components/atoms/Button/Button.js +2 -2
- package/dist/esm/components/atoms/Button/styled.js +2 -2
- package/dist/esm/components/atoms/Dropdown/index.js +3 -3
- package/dist/esm/components/atoms/Input/Input.js +5 -5
- package/dist/esm/components/atoms/Input/styled.js +2 -2
- package/dist/esm/components/atoms/InputMask/InputMask.js +5 -5
- package/dist/esm/components/atoms/InputMask/styled.js +2 -2
- package/dist/esm/components/atoms/Modal/Modal.js +2 -2
- package/dist/esm/components/atoms/Overlay/Overlay.js +2 -2
- package/dist/esm/components/atoms/Skeleton/Skeleton.js +3 -3
- package/dist/esm/components/atoms/Switch/Switch.js +3 -3
- package/dist/esm/components/atoms/Table/Body/TBody.js +2 -2
- package/dist/esm/components/atoms/Table/Cell/Td.js +2 -2
- package/dist/esm/components/atoms/Table/Container/TableContainer.js +2 -2
- package/dist/esm/components/atoms/Table/Footer/TFoot.js +2 -2
- package/dist/esm/components/atoms/Table/Header/THead.js +2 -2
- package/dist/esm/components/atoms/Table/Header/Th.js +2 -2
- package/dist/esm/components/atoms/Table/Row/Tr.js +2 -2
- package/dist/esm/components/atoms/Table/Table.js +2 -2
- package/dist/esm/components/atoms/Table/Toolbar/TableToolbar.js +2 -2
- package/dist/esm/components/atoms/Tag/Tag.js +3 -3
- package/dist/esm/components/atoms/Tooltip/Tooltip.js +6 -6
- package/dist/esm/components/atoms/Tooltip/styled.js +4 -1
- package/dist/esm/components/molecules/Breadcrumbs/BreadcrumbItem/BreadcrumbItem.js +2 -2
- package/dist/esm/components/molecules/Breadcrumbs/Breadcrumbs.js +3 -3
- package/dist/esm/components/molecules/DatePicker/DatePicker.js +8 -8
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +12 -4
- package/dist/esm/components/molecules/DateTimePickerSelector/DateTimePickerSelector.js +77 -0
- package/dist/esm/components/molecules/DateTimePickerSelector/components/MemoizedTimeCard.js +20 -0
- package/dist/esm/components/molecules/DateTimePickerSelector/components/ScrollableDigit.js +63 -0
- package/dist/esm/components/molecules/DateTimePickerSelector/styled.js +47 -0
- package/dist/esm/components/molecules/Drawer/Drawer.js +2 -2
- package/dist/esm/components/molecules/Grid/Grid.js +6 -6
- package/dist/esm/components/molecules/Grid/Item/Item.js +4 -4
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +7 -7
- package/dist/esm/components/molecules/IconTextButton/TextComponent.js +4 -4
- package/dist/esm/components/molecules/IconTextButton/styled.js +2 -2
- package/dist/esm/components/molecules/InputPassword/InputPassword.js +4 -4
- package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +3 -3
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +5 -5
- package/dist/esm/components/molecules/LabeledSwitch/styled.js +2 -2
- package/dist/esm/components/molecules/Masonry/Masonry.js +6 -6
- package/dist/esm/components/molecules/Menubar/MenuBlock/MenuBlock.js +4 -4
- package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js +6 -6
- package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js +2 -2
- package/dist/esm/components/molecules/Menubar/Menubar.js +14 -14
- package/dist/esm/components/molecules/Menubar/MostUsed/MostUsed.js +5 -5
- package/dist/esm/components/molecules/Menubar/MostUsed/styled.js +2 -2
- package/dist/esm/components/molecules/Menubar/SearchResultItem/SearchResultItem.js +2 -2
- package/dist/esm/components/molecules/Menubar/SearchResultItem/styled.js +2 -2
- package/dist/esm/components/molecules/Menubar/SearchResultItem/utils.js +2 -2
- package/dist/esm/components/molecules/Menubar/styled.js +3 -3
- package/dist/esm/components/molecules/ScrollableMonthYearPicker/ScrollableMonthYearPicker.js +62 -0
- package/dist/esm/components/molecules/ScrollableMonthYearPicker/styled.js +15 -0
- package/dist/esm/components/molecules/ScrollableTimePicker/ScrollableTimePicker.js +56 -0
- package/dist/esm/components/molecules/ScrollableTimePicker/styled.js +15 -0
- package/dist/esm/components/molecules/Select/Dropdown/Dropdown.js +14 -14
- package/dist/esm/components/molecules/Select/Dropdown/components/SearchInput.js +4 -4
- package/dist/esm/components/molecules/Select/Select.js +22 -11
- package/dist/esm/components/molecules/Select/SelectItem/SelectItem.js +7 -7
- package/dist/esm/components/molecules/Select/SelectItem/styled.js +1 -1
- package/dist/esm/components/molecules/Select/styled.js +2 -2
- package/dist/esm/components/molecules/Snackbar/Snackbar.js +2 -2
- package/dist/esm/components/molecules/Snackbar/styled.js +2 -2
- package/dist/esm/components/molecules/TextArea/TextArea.js +3 -3
- package/dist/esm/components/molecules/TextArea/styled.js +2 -2
- package/dist/esm/components/organisms/DataGrid/DataGrid.js +9 -9
- package/dist/esm/components/organisms/DataGrid/Footer/Footer.js +12 -12
- package/dist/esm/components/organisms/DataGrid/Footer/styled.js +4 -4
- package/dist/esm/components/organisms/DataGrid/Header/Header.js +5 -5
- package/dist/esm/components/organisms/DataGrid/Row/Row.js +4 -4
- package/dist/esm/hooks/useClickAwayListener.js +2 -2
- package/dist/esm/hooks/useWindowSize.js +3 -3
- package/dist/types/components/molecules/DateTimePickerSelector/DateTimePickerSelector.d.ts +5 -0
- package/dist/types/components/molecules/DateTimePickerSelector/components/MemoizedTimeCard.d.ts +10 -0
- package/dist/types/components/molecules/DateTimePickerSelector/components/ScrollableDigit.d.ts +13 -0
- package/dist/types/components/molecules/DateTimePickerSelector/components/index.d.ts +2 -0
- package/dist/types/components/molecules/DateTimePickerSelector/index.d.ts +1 -0
- package/dist/types/components/molecules/DateTimePickerSelector/styled.d.ts +40 -0
- package/dist/types/components/molecules/ScrollableMonthYearPicker/ScrollableMonthYearPicker.d.ts +10 -0
- package/dist/types/components/molecules/ScrollableMonthYearPicker/index.d.ts +1 -0
- package/dist/types/components/molecules/ScrollableMonthYearPicker/styled.d.ts +9 -0
- package/dist/types/components/molecules/ScrollableTimePicker/ScrollableTimePicker.d.ts +10 -0
- package/dist/types/components/molecules/ScrollableTimePicker/index.d.ts +1 -0
- package/dist/types/components/molecules/ScrollableTimePicker/styled.d.ts +9 -0
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PressableInputContainer, Text } from '@tecsinapse/react-core';
|
|
2
|
-
import
|
|
2
|
+
import React__default, { useState, useId, useEffect } from 'react';
|
|
3
3
|
import { Transition } from 'react-transition-group';
|
|
4
4
|
import { useClickAwayListener } from '../../../hooks/useClickAwayListener.js';
|
|
5
5
|
import { defaultStyles, transition } from './animations.js';
|
|
@@ -26,10 +26,10 @@ const Select = ({
|
|
|
26
26
|
multiLabels,
|
|
27
27
|
...rest
|
|
28
28
|
}) => {
|
|
29
|
-
const [dropDownVisible, setDropDownVisible] =
|
|
29
|
+
const [dropDownVisible, setDropDownVisible] = React__default.useState(false);
|
|
30
30
|
const [selectOptions, setSelectOptions] = useState([]);
|
|
31
|
-
const refDropDown =
|
|
32
|
-
const transitionRef =
|
|
31
|
+
const refDropDown = React__default.useRef(null);
|
|
32
|
+
const transitionRef = React__default.useRef(null);
|
|
33
33
|
useClickAwayListener(refDropDown, setDropDownVisible);
|
|
34
34
|
const instanceid = useId();
|
|
35
35
|
useEffect(() => {
|
|
@@ -41,6 +41,8 @@ const Select = ({
|
|
|
41
41
|
const hasValue = type === "single" ? !!value : (value || []).length > 0;
|
|
42
42
|
const _placeholder = onlyLabel ? label : placeholder;
|
|
43
43
|
const _label = hasValue ? label : void 0;
|
|
44
|
+
const _valueColorVariant = disabled ? "secondary" : displayTextProps?.colorVariant;
|
|
45
|
+
const _valueColorTone = disabled ? "light" : displayTextProps?.colorTone;
|
|
44
46
|
const displayValue = getDisplayValue(
|
|
45
47
|
type,
|
|
46
48
|
value,
|
|
@@ -50,7 +52,7 @@ const Select = ({
|
|
|
50
52
|
labelExtractor,
|
|
51
53
|
multiLabels
|
|
52
54
|
);
|
|
53
|
-
const handleLazyFocus =
|
|
55
|
+
const handleLazyFocus = React__default.useCallback(async () => {
|
|
54
56
|
if (!dropDownVisible && typeof options === "function") {
|
|
55
57
|
try {
|
|
56
58
|
const result = await options();
|
|
@@ -61,7 +63,7 @@ const Select = ({
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
}, [options, setSelectOptions, dropDownVisible]);
|
|
64
|
-
const handleOnSearch =
|
|
66
|
+
const handleOnSearch = React__default.useCallback(
|
|
65
67
|
async (searchInput) => {
|
|
66
68
|
if (searchInput !== void 0 && onSearch && dropDownVisible) {
|
|
67
69
|
try {
|
|
@@ -96,11 +98,11 @@ const Select = ({
|
|
|
96
98
|
const handlePressInput = async () => {
|
|
97
99
|
await handleLazyFocus();
|
|
98
100
|
};
|
|
99
|
-
const onPress =
|
|
101
|
+
const onPress = React__default.useCallback(
|
|
100
102
|
() => setDropDownVisible((prev) => !prev),
|
|
101
103
|
[setDropDownVisible]
|
|
102
104
|
);
|
|
103
|
-
return /* @__PURE__ */
|
|
105
|
+
return /* @__PURE__ */ React__default.createElement(StyledContainer, { ref: refDropDown, ...rest }, /* @__PURE__ */ React__default.createElement(StyledInputContainer, { onFocus: handlePressInput }, /* @__PURE__ */ React__default.createElement(
|
|
104
106
|
PressableInputContainer,
|
|
105
107
|
{
|
|
106
108
|
label: _label,
|
|
@@ -108,8 +110,17 @@ const Select = ({
|
|
|
108
110
|
disabled,
|
|
109
111
|
rightComponent: RightComponent
|
|
110
112
|
},
|
|
111
|
-
/* @__PURE__ */
|
|
112
|
-
|
|
113
|
+
/* @__PURE__ */ React__default.createElement(
|
|
114
|
+
Text,
|
|
115
|
+
{
|
|
116
|
+
...displayTextProps,
|
|
117
|
+
colorTone: _valueColorTone,
|
|
118
|
+
colorVariant: _valueColorVariant,
|
|
119
|
+
fontWeight: "bold"
|
|
120
|
+
},
|
|
121
|
+
displayValue
|
|
122
|
+
)
|
|
123
|
+
)), /* @__PURE__ */ React__default.createElement(
|
|
113
124
|
Transition,
|
|
114
125
|
{
|
|
115
126
|
in: dropDownVisible,
|
|
@@ -117,7 +128,7 @@ const Select = ({
|
|
|
117
128
|
nodeRef: transitionRef,
|
|
118
129
|
key: instanceid
|
|
119
130
|
},
|
|
120
|
-
(state) => /* @__PURE__ */
|
|
131
|
+
(state) => /* @__PURE__ */ React__default.createElement(
|
|
121
132
|
Dropdown,
|
|
122
133
|
{
|
|
123
134
|
ref: transitionRef,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { Checkbox, Text } from '@tecsinapse/react-core';
|
|
3
3
|
import { ContainerItemSelect, StyledContainerTextLabel, StyledSpan } from './styled.js';
|
|
4
4
|
|
|
@@ -15,18 +15,18 @@ const SelectItem = ({
|
|
|
15
15
|
keyExtractor
|
|
16
16
|
}) => {
|
|
17
17
|
const isMulti = type === "multi";
|
|
18
|
-
const [checked, setChecked] =
|
|
18
|
+
const [checked, setChecked] = React__default.useState(
|
|
19
19
|
value !== void 0 && type === "multi" && value.find(
|
|
20
20
|
(data) => keyExtractor(data) === keyExtractor(item)
|
|
21
21
|
) !== void 0
|
|
22
22
|
);
|
|
23
|
-
|
|
23
|
+
React__default.useEffect(() => {
|
|
24
24
|
if (!checked && value !== void 0 && (type === "multi" && value.find(
|
|
25
25
|
(data) => keyExtractor(data) === keyExtractor(item)
|
|
26
26
|
) || type === "single" && keyExtractor(value) === keyExtractor(item)))
|
|
27
27
|
setChecked(true);
|
|
28
28
|
}, [value, keyExtractor, type]);
|
|
29
|
-
|
|
29
|
+
React__default.useEffect(() => {
|
|
30
30
|
if (type === "multi") {
|
|
31
31
|
checkedAll ? setChecked(true) : setChecked(
|
|
32
32
|
value.find(
|
|
@@ -35,7 +35,7 @@ const SelectItem = ({
|
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
}, [checkedAll]);
|
|
38
|
-
const clickItem =
|
|
38
|
+
const clickItem = React__default.useCallback(
|
|
39
39
|
(item2, _value) => {
|
|
40
40
|
const key = item2;
|
|
41
41
|
if (Array.isArray(_value)) {
|
|
@@ -60,8 +60,8 @@ const SelectItem = ({
|
|
|
60
60
|
},
|
|
61
61
|
[onSelect, setDropDownVisible, setCheckedAll, setChecked, checked]
|
|
62
62
|
);
|
|
63
|
-
return /* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ React__default.createElement(ContainerItemSelect, { onClick: () => clickItem(item, value) }, isMulti && /* @__PURE__ */ React__default.createElement(Checkbox, { checked, onChange: () => clickItem(item, value) }), /* @__PURE__ */ React__default.createElement(StyledContainerTextLabel, null, /* @__PURE__ */ React__default.createElement(Text, { fontWeight: "bold", ellipsizeMode: "tail", numberOfLines: 1 }, /* @__PURE__ */ React__default.createElement(StyledSpan, { singleHighligh: type === "single" && value === item }, labelExtractor(item)))));
|
|
64
64
|
};
|
|
65
|
-
var ItemSelect =
|
|
65
|
+
var ItemSelect = React__default.memo(SelectItem);
|
|
66
66
|
|
|
67
67
|
export { ItemSelect as default };
|
|
@@ -15,7 +15,7 @@ const ContainerItemSelect = styled("div")`
|
|
|
15
15
|
align-items: center;
|
|
16
16
|
`;
|
|
17
17
|
const StyledSpan = styled("span")`
|
|
18
|
-
color: ${({ theme, singleHighligh }) => singleHighligh ? theme.color.primary.
|
|
18
|
+
color: ${({ theme, singleHighligh }) => singleHighligh ? theme.color.primary.xlight : theme.color.secondary.xlight};
|
|
19
19
|
padding: ${({ theme }) => `${theme.spacing.mili} 0px`};
|
|
20
20
|
`;
|
|
21
21
|
const StyledContainerTextLabel = styled("div")`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled from '@emotion/styled';
|
|
2
2
|
import { Icon } from '@tecsinapse/react-core';
|
|
3
|
-
import
|
|
3
|
+
import React__default from 'react';
|
|
4
4
|
|
|
5
5
|
const StyledContainer = styled("div")`
|
|
6
6
|
display: flex;
|
|
@@ -13,7 +13,7 @@ const StyledContainer = styled("div")`
|
|
|
13
13
|
const StyledInputContainer = styled("div")`
|
|
14
14
|
width: 100%;
|
|
15
15
|
`;
|
|
16
|
-
const RightComponent = /* @__PURE__ */
|
|
16
|
+
const RightComponent = /* @__PURE__ */ React__default.createElement(
|
|
17
17
|
Icon,
|
|
18
18
|
{
|
|
19
19
|
name: "chevron-down",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { Text } from '@tecsinapse/react-core';
|
|
3
3
|
import { SnackbarStyled } from './styled.js';
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ const Snackbar = ({
|
|
|
7
7
|
textProps = { colorVariant: "primary", colorTone: "medium" },
|
|
8
8
|
...rest
|
|
9
9
|
}) => {
|
|
10
|
-
return /* @__PURE__ */
|
|
10
|
+
return /* @__PURE__ */ React__default.createElement(SnackbarStyled, { ...rest, showProgressBar: false }, /* @__PURE__ */ React__default.createElement(Text, { ...textProps, fontWeight: "bold", typography: "base" }, value));
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export { Snackbar as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import styled, { css } from '@emotion/native';
|
|
2
2
|
import { Snackbar } from '@tecsinapse/react-core';
|
|
3
3
|
|
|
4
4
|
const baseStyles = () => [
|
|
@@ -13,7 +13,7 @@ const webStyles = () => [
|
|
|
13
13
|
position: fixed;
|
|
14
14
|
`
|
|
15
15
|
];
|
|
16
|
-
const SnackbarStyled =
|
|
16
|
+
const SnackbarStyled = styled(Snackbar)(
|
|
17
17
|
() => css`
|
|
18
18
|
${baseStyles()}
|
|
19
19
|
${webStyles()}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { useInputFocus, TextArea as TextArea$1, Text } from '@tecsinapse/react-core';
|
|
3
3
|
import { StyledWebInput } from './styled.js';
|
|
4
4
|
|
|
@@ -33,7 +33,7 @@ const TextArea = ({
|
|
|
33
33
|
onBlur,
|
|
34
34
|
!disabled
|
|
35
35
|
);
|
|
36
|
-
return /* @__PURE__ */
|
|
36
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
37
37
|
TextArea$1,
|
|
38
38
|
{
|
|
39
39
|
label,
|
|
@@ -59,7 +59,7 @@ const TextArea = ({
|
|
|
59
59
|
TextComponent: Text,
|
|
60
60
|
maxLength
|
|
61
61
|
},
|
|
62
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ React__default.createElement(
|
|
63
63
|
StyledWebInput,
|
|
64
64
|
{
|
|
65
65
|
...rest,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import styled from '@emotion/native';
|
|
2
2
|
import { TextAreaInputBase } from '@tecsinapse/react-core';
|
|
3
3
|
|
|
4
|
-
const StyledWebInput =
|
|
4
|
+
const StyledWebInput = styled(TextAreaInputBase)`
|
|
5
5
|
font-weight: ${({ theme, fontWeight = "regular" }) => theme.font.weight[fontWeight]};
|
|
6
6
|
font-family: ${({ theme, fontStack = "default" }) => `'${theme.font.stack[fontStack]}'`};
|
|
7
7
|
outline-width: 0;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import TBody from '../../atoms/Table/Body/TBody.js';
|
|
3
3
|
import Td from '../../atoms/Table/Cell/Td.js';
|
|
4
4
|
import TableContainer from '../../atoms/Table/Container/TableContainer.js';
|
|
@@ -44,15 +44,15 @@ const DataGrid = ({
|
|
|
44
44
|
"[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)"
|
|
45
45
|
);
|
|
46
46
|
}
|
|
47
|
-
const rowsPerPageLabel =
|
|
47
|
+
const rowsPerPageLabel = React__default.useCallback(
|
|
48
48
|
(value) => _rowsPerPageLabel ? _rowsPerPageLabel(value) : `Exibir por p\xE1gina: ${value} itens`,
|
|
49
49
|
[_rowsPerPageLabel]
|
|
50
50
|
);
|
|
51
|
-
const rowsPerPageOptions =
|
|
51
|
+
const rowsPerPageOptions = React__default.useMemo(
|
|
52
52
|
() => _rowsPerPageOptions ?? [10, 25, 50],
|
|
53
53
|
[_rowsPerPageOptions]
|
|
54
54
|
);
|
|
55
|
-
const handleSelect =
|
|
55
|
+
const handleSelect = React__default.useCallback(
|
|
56
56
|
(current, checked) => {
|
|
57
57
|
if (checked) {
|
|
58
58
|
onSelectedRows?.((prevState) => [...prevState, current]);
|
|
@@ -67,14 +67,14 @@ const DataGrid = ({
|
|
|
67
67
|
},
|
|
68
68
|
[onSelectedRows, rowKeyExtractor]
|
|
69
69
|
);
|
|
70
|
-
return /* @__PURE__ */
|
|
70
|
+
return /* @__PURE__ */ React__default.createElement(TableContainer, { ...rest }, /* @__PURE__ */ React__default.createElement(
|
|
71
71
|
TableToolbar,
|
|
72
72
|
{
|
|
73
73
|
title: toolbarTitle,
|
|
74
74
|
rightIcons: toolbarRightIcons,
|
|
75
75
|
footer: toolbarFooter
|
|
76
76
|
}
|
|
77
|
-
), /* @__PURE__ */
|
|
77
|
+
), /* @__PURE__ */ React__default.createElement(Table, null, /* @__PURE__ */ React__default.createElement(
|
|
78
78
|
Header,
|
|
79
79
|
{
|
|
80
80
|
selectable,
|
|
@@ -85,8 +85,8 @@ const DataGrid = ({
|
|
|
85
85
|
selectedRows,
|
|
86
86
|
onSelected: onSelectedRows
|
|
87
87
|
}
|
|
88
|
-
), !loading ? /* @__PURE__ */
|
|
89
|
-
(item) => /* @__PURE__ */
|
|
88
|
+
), !loading ? /* @__PURE__ */ React__default.createElement(TBody, null, data.length > 0 ? getData(data, rowsCount, page, rowsPerPage, pagination).map(
|
|
89
|
+
(item) => /* @__PURE__ */ React__default.createElement(
|
|
90
90
|
Row,
|
|
91
91
|
{
|
|
92
92
|
key: rowKeyExtractor(item),
|
|
@@ -100,7 +100,7 @@ const DataGrid = ({
|
|
|
100
100
|
)
|
|
101
101
|
}
|
|
102
102
|
)
|
|
103
|
-
) : /* @__PURE__ */
|
|
103
|
+
) : /* @__PURE__ */ React__default.createElement("tr", null, /* @__PURE__ */ React__default.createElement("td", { colSpan: 99 }, emptyPlaceholder))) : /* @__PURE__ */ React__default.createElement(TBody, null, [...Array(rowsPerPage).keys()].map((idx) => /* @__PURE__ */ React__default.createElement(Tr, { key: `skeleton-${idx}` }, /* @__PURE__ */ React__default.createElement(Td, { colSpan: 99, style: { padding: 0 } }, skeletonComponent ?? /* @__PURE__ */ React__default.createElement(Skeleton, { height: 55, radius: "mili", animation: "wave" }, /* @__PURE__ */ React__default.createElement("div", { style: { width: "100%" } })))))), (Number(rowsCount) > 0 || data.length > 0) && /* @__PURE__ */ React__default.createElement(
|
|
104
104
|
Footer,
|
|
105
105
|
{
|
|
106
106
|
exportFunction,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import Button from '../../../atoms/Button/Button.js';
|
|
3
3
|
import { Text, Icon } from '@tecsinapse/react-core';
|
|
4
4
|
import Select from '../../../molecules/Select/Select.js';
|
|
@@ -42,7 +42,7 @@ const Footer = ({
|
|
|
42
42
|
}
|
|
43
43
|
return { start: page - 1, end: page + 2 };
|
|
44
44
|
};
|
|
45
|
-
const handleRowsPerPage =
|
|
45
|
+
const handleRowsPerPage = React__default.useCallback(
|
|
46
46
|
(value) => {
|
|
47
47
|
onRowsPerPageChange?.(value);
|
|
48
48
|
onPageChange?.(0);
|
|
@@ -51,7 +51,7 @@ const Footer = ({
|
|
|
51
51
|
);
|
|
52
52
|
const currentInitItem = page * rowsPerPage + 1;
|
|
53
53
|
const currentFinalItem = (page + 1) * rowsPerPage > rowsCount ? rowsCount : (page + 1) * rowsPerPage;
|
|
54
|
-
return /* @__PURE__ */
|
|
54
|
+
return /* @__PURE__ */ React__default.createElement(TFoot, null, /* @__PURE__ */ React__default.createElement(Tr, null, /* @__PURE__ */ React__default.createElement(TdFooterStyled, { colSpan: 99 }, /* @__PURE__ */ React__default.createElement(FooterContainer, null, /* @__PURE__ */ React__default.createElement(FooterContainerStart, null, pagination && /* @__PURE__ */ React__default.createElement(SelectContainer, null, /* @__PURE__ */ React__default.createElement(
|
|
55
55
|
Select,
|
|
56
56
|
{
|
|
57
57
|
options: rowsPerPageOptions,
|
|
@@ -62,20 +62,20 @@ const Footer = ({
|
|
|
62
62
|
labelExtractor: rowsPerPageLabel,
|
|
63
63
|
anchor: "top"
|
|
64
64
|
}
|
|
65
|
-
)), exportComponent && !exportFunction && /* @__PURE__ */
|
|
65
|
+
)), exportComponent && !exportFunction && /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, exportComponent), exportFunction && /* @__PURE__ */ React__default.createElement(HoveredText, null, /* @__PURE__ */ React__default.createElement(Button, { variant: "outlined", onPress: () => exportFunction() }, /* @__PURE__ */ React__default.createElement(Text, { fontColor: "orange", fontWeight: "bold" }, exportLabel)))), pagination && /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
|
|
66
66
|
TextPagination,
|
|
67
67
|
{
|
|
68
68
|
fontWeight: "bold",
|
|
69
69
|
fontColor: "medium"
|
|
70
70
|
},
|
|
71
71
|
`Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`
|
|
72
|
-
), /* @__PURE__ */
|
|
72
|
+
), /* @__PURE__ */ React__default.createElement(FooterContainerEnd, null, /* @__PURE__ */ React__default.createElement(
|
|
73
73
|
NavigationButton,
|
|
74
74
|
{
|
|
75
75
|
onPress: () => onPageChange?.(page - 1),
|
|
76
76
|
disabled: page === 0
|
|
77
77
|
},
|
|
78
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ React__default.createElement(
|
|
79
79
|
Icon,
|
|
80
80
|
{
|
|
81
81
|
name: "chevron-left",
|
|
@@ -83,23 +83,23 @@ const Footer = ({
|
|
|
83
83
|
fontColor: "light"
|
|
84
84
|
}
|
|
85
85
|
)
|
|
86
|
-
), /* @__PURE__ */
|
|
86
|
+
), /* @__PURE__ */ React__default.createElement(PagesContainer, null, [...Array(Math.ceil(rowsCount / rowsPerPage)).keys()].slice(
|
|
87
87
|
getPaginationSlice().start,
|
|
88
88
|
getPaginationSlice().end
|
|
89
|
-
).map((value) => /* @__PURE__ */
|
|
89
|
+
).map((value) => /* @__PURE__ */ React__default.createElement(HoveredText, { key: `page-${value}` }, /* @__PURE__ */ React__default.createElement(
|
|
90
90
|
PageButton,
|
|
91
91
|
{
|
|
92
92
|
variant: page === value ? "outlined" : "text",
|
|
93
93
|
onPress: () => onPageChange?.(value)
|
|
94
94
|
},
|
|
95
|
-
/* @__PURE__ */
|
|
96
|
-
)))), /* @__PURE__ */
|
|
95
|
+
/* @__PURE__ */ React__default.createElement(Text, { fontColor: "medium", fontWeight: "bold" }, value + 1)
|
|
96
|
+
)))), /* @__PURE__ */ React__default.createElement(
|
|
97
97
|
NavigationButton,
|
|
98
98
|
{
|
|
99
99
|
onPress: () => onPageChange?.(page + 1),
|
|
100
100
|
disabled: page === Math.ceil(rowsCount / rowsPerPage) - 1
|
|
101
101
|
},
|
|
102
|
-
/* @__PURE__ */
|
|
102
|
+
/* @__PURE__ */ React__default.createElement(
|
|
103
103
|
Icon,
|
|
104
104
|
{
|
|
105
105
|
name: "chevron-right",
|
|
@@ -109,6 +109,6 @@ const Footer = ({
|
|
|
109
109
|
)
|
|
110
110
|
)))))));
|
|
111
111
|
};
|
|
112
|
-
var Footer$1 =
|
|
112
|
+
var Footer$1 = React__default.memo(Footer);
|
|
113
113
|
|
|
114
114
|
export { Footer$1 as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import styled from '@emotion/styled';
|
|
2
|
-
import
|
|
2
|
+
import styled$1 from '@emotion/native';
|
|
3
3
|
import { Text } from '@tecsinapse/react-core';
|
|
4
4
|
import 'react';
|
|
5
5
|
import Td from '../../../atoms/Table/Cell/Td.js';
|
|
@@ -31,14 +31,14 @@ const FooterContainerEnd = styled(FlexContainer)`
|
|
|
31
31
|
const SelectContainer = styled("div")`
|
|
32
32
|
margin-right: ${({ theme }) => theme.spacing.deca};
|
|
33
33
|
`;
|
|
34
|
-
const NavigationButton =
|
|
34
|
+
const NavigationButton = styled$1(Button)`
|
|
35
35
|
border-radius: ${({ theme }) => theme.borderRadius.mili};
|
|
36
36
|
height: 44px;
|
|
37
37
|
justify-content: center;
|
|
38
38
|
padding: ${({ theme }) => theme.spacing.centi};
|
|
39
39
|
width: 44px;
|
|
40
40
|
`;
|
|
41
|
-
const PageButton =
|
|
41
|
+
const PageButton = styled$1(NavigationButton)`
|
|
42
42
|
padding-right: ${({ theme }) => theme.spacing.deca};
|
|
43
43
|
padding-left: ${({ theme }) => theme.spacing.deca};
|
|
44
44
|
border-radius: ${({ theme }) => theme.borderRadius.mili};
|
|
@@ -56,7 +56,7 @@ const HoveredText = styled("div")`
|
|
|
56
56
|
color: ${({ theme }) => theme.font.color.light};
|
|
57
57
|
}
|
|
58
58
|
`;
|
|
59
|
-
const TextPagination =
|
|
59
|
+
const TextPagination = styled$1(Text)`
|
|
60
60
|
padding-right: ${({ theme }) => theme.spacing.deca};
|
|
61
61
|
padding-left: ${({ theme }) => theme.spacing.deca};
|
|
62
62
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { Checkbox, PressableSurface, Icon } from '@tecsinapse/react-core';
|
|
3
3
|
import '../../../atoms/Table/Cell/styled.js';
|
|
4
4
|
import '../../../atoms/Table/Container/styled.js';
|
|
@@ -20,7 +20,7 @@ const Header = ({
|
|
|
20
20
|
selectedRows,
|
|
21
21
|
onSelected
|
|
22
22
|
}) => {
|
|
23
|
-
const [sortDirection, setSortDirection] =
|
|
23
|
+
const [sortDirection, setSortDirection] = React__default.useState(
|
|
24
24
|
NEXT_STATE.initial
|
|
25
25
|
);
|
|
26
26
|
const handleSortDirection = (sort) => {
|
|
@@ -52,13 +52,13 @@ const Header = ({
|
|
|
52
52
|
}
|
|
53
53
|
onSelected?.(selectedRows.concat(unselectedItemsOnData));
|
|
54
54
|
};
|
|
55
|
-
return /* @__PURE__ */
|
|
55
|
+
return /* @__PURE__ */ React__default.createElement(THead, null, /* @__PURE__ */ React__default.createElement(Tr, null, selectable && /* @__PURE__ */ React__default.createElement(CheckboxHeader, null, /* @__PURE__ */ React__default.createElement(
|
|
56
56
|
Checkbox,
|
|
57
57
|
{
|
|
58
58
|
checked: rowsCount === selectedRows?.length,
|
|
59
59
|
onChange: handleSelectAll
|
|
60
60
|
}
|
|
61
|
-
)), headers.map(({ label, sort, justifyContent = "flex-start" }) => /* @__PURE__ */
|
|
61
|
+
)), headers.map(({ label, sort, justifyContent = "flex-start" }) => /* @__PURE__ */ React__default.createElement(Th, { key: label }, /* @__PURE__ */ React__default.createElement(
|
|
62
62
|
"div",
|
|
63
63
|
{
|
|
64
64
|
style: {
|
|
@@ -68,7 +68,7 @@ const Header = ({
|
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
label,
|
|
71
|
-
sort && /* @__PURE__ */
|
|
71
|
+
sort && /* @__PURE__ */ React__default.createElement("div", { style: { marginLeft: 8 } }, /* @__PURE__ */ React__default.createElement(PressableSurface, { onPress: () => handleSortDirection(sort) }, /* @__PURE__ */ React__default.createElement(
|
|
72
72
|
Icon,
|
|
73
73
|
{
|
|
74
74
|
name: `sort-alphabetical-${getIconSuffix(sortDirection)}`,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { Checkbox } from '@tecsinapse/react-core';
|
|
3
3
|
import { CheckboxCell } from '../styled.js';
|
|
4
4
|
import Td from '../../../atoms/Table/Cell/Td.js';
|
|
@@ -17,14 +17,14 @@ const Row = ({
|
|
|
17
17
|
selectable,
|
|
18
18
|
headers
|
|
19
19
|
}) => {
|
|
20
|
-
return /* @__PURE__ */
|
|
20
|
+
return /* @__PURE__ */ React__default.createElement(Tr, { key: rowKeyExtractor(data) }, selectable && /* @__PURE__ */ React__default.createElement(CheckboxCell, null, /* @__PURE__ */ React__default.createElement(
|
|
21
21
|
Checkbox,
|
|
22
22
|
{
|
|
23
23
|
checked: _checked,
|
|
24
24
|
onChange: (checked) => handleSelect(data, checked)
|
|
25
25
|
}
|
|
26
|
-
)), headers.map(({ label, render }) => /* @__PURE__ */
|
|
26
|
+
)), headers.map(({ label, render }) => /* @__PURE__ */ React__default.createElement(Td, { key: `row-${rowKeyExtractor(data)}-column-${label}` }, render(data))));
|
|
27
27
|
};
|
|
28
|
-
var Row$1 =
|
|
28
|
+
var Row$1 = React__default.memo(Row);
|
|
29
29
|
|
|
30
30
|
export { Row$1 as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
const useClickAwayListener = (ref, setVisible, event = "mousedown", onClickAway) => {
|
|
4
|
-
|
|
4
|
+
React__default.useEffect(() => {
|
|
5
5
|
const handleClickOutside = (event2) => {
|
|
6
6
|
if (ref.current && !ref.current.contains(event2.target)) {
|
|
7
7
|
onClickAway?.();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
const useWindowSize = () => {
|
|
4
|
-
const [windowSize, setWindowSize] =
|
|
4
|
+
const [windowSize, setWindowSize] = React__default.useState({
|
|
5
5
|
width: void 0,
|
|
6
6
|
height: void 0
|
|
7
7
|
});
|
|
8
|
-
|
|
8
|
+
React__default.useEffect(() => {
|
|
9
9
|
const handleResize = () => {
|
|
10
10
|
setWindowSize({
|
|
11
11
|
width: window.innerWidth,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ControlledSelectorComponentProps, DateTimeSelectorProps } from '@tecsinapse/react-core';
|
|
3
|
+
type DateTimePickerSelectorProps = ControlledSelectorComponentProps & DateTimeSelectorProps;
|
|
4
|
+
declare const DateTimePickerSelector: React.FC<DateTimePickerSelectorProps>;
|
|
5
|
+
export default DateTimePickerSelector;
|
package/dist/types/components/molecules/DateTimePickerSelector/components/MemoizedTimeCard.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextProps } from '../../../../index';
|
|
3
|
+
interface MemoizedTimeCardProps {
|
|
4
|
+
time: string;
|
|
5
|
+
isSelected: boolean;
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
TextComponent: React.FC<TextProps>;
|
|
8
|
+
}
|
|
9
|
+
declare const MemoizedTimeCard: React.MemoExoticComponent<({ time, isSelected, onPress, TextComponent, }: MemoizedTimeCardProps) => JSX.Element>;
|
|
10
|
+
export default MemoizedTimeCard;
|
package/dist/types/components/molecules/DateTimePickerSelector/components/ScrollableDigit.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TextProps } from '@tecsinapse/react-core/src/components/atoms/Text';
|
|
3
|
+
export interface ScrollableDigitProps {
|
|
4
|
+
TextComponent?: React.FC<TextProps>;
|
|
5
|
+
updateType: 'hour' | 'minute' | 'year' | 'month';
|
|
6
|
+
currentTime: string;
|
|
7
|
+
data: string[];
|
|
8
|
+
timeLabel: string;
|
|
9
|
+
initialScrollIndex: number;
|
|
10
|
+
handleTimeChange: (newTime: string, updateType: string) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const ScrollableDigit: React.FC<ScrollableDigitProps>;
|
|
13
|
+
export default ScrollableDigit;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DateTimePickerSelector } from './DateTimePickerSelector';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FlatList } from 'react-native';
|
|
3
|
+
export declare const StyledTextLabel: import("@emotion/native").StyledComponent<import("@tecsinapse/react-core").TextProps & {
|
|
4
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
5
|
+
as?: import("react").ElementType<any> | undefined;
|
|
6
|
+
}, {}, {}>;
|
|
7
|
+
export declare const TimeDigitContainer: import("@emotion/native").StyledComponent<import("react-native").FlatListProps<string> & {
|
|
8
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
9
|
+
as?: import("react").ElementType<any> | undefined;
|
|
10
|
+
}, {}, {
|
|
11
|
+
ref?: import("react").Ref<FlatList<string>> | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const TimeCard: import("@emotion/native").StyledComponent<import("@tecsinapse/react-core").PressableSurfaceProps & {
|
|
14
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
15
|
+
as?: import("react").ElementType<any> | undefined;
|
|
16
|
+
} & Partial<import("@tecsinapse/react-core").ThemeProviderProps> & {
|
|
17
|
+
isSelected?: boolean | undefined;
|
|
18
|
+
}, {}, {}>;
|
|
19
|
+
export declare const Root: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
|
|
20
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
21
|
+
as?: import("react").ElementType<any> | undefined;
|
|
22
|
+
} & Partial<import("@tecsinapse/react-core").ThemeProviderProps>, {}, {
|
|
23
|
+
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const Content: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
|
|
26
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
27
|
+
as?: import("react").ElementType<any> | undefined;
|
|
28
|
+
} & Partial<import("@tecsinapse/react-core").ThemeProviderProps>, {}, {
|
|
29
|
+
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const BackButton: import("@emotion/native").StyledComponent<import("@tecsinapse/react-core").PressableSurfaceProps & {
|
|
32
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
33
|
+
as?: import("react").ElementType<any> | undefined;
|
|
34
|
+
} & Partial<import("@tecsinapse/react-core").ThemeProviderProps>, {}, {}>;
|
|
35
|
+
export declare const Header: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
|
|
36
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
37
|
+
as?: import("react").ElementType<any> | undefined;
|
|
38
|
+
} & Partial<import("@tecsinapse/react-core").ThemeProviderProps>, {}, {
|
|
39
|
+
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
40
|
+
}>;
|
package/dist/types/components/molecules/ScrollableMonthYearPicker/ScrollableMonthYearPicker.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface ScrollableMonthYearProps {
|
|
3
|
+
date: Date;
|
|
4
|
+
setDate: React.Dispatch<React.SetStateAction<Date>>;
|
|
5
|
+
yearLabel?: string;
|
|
6
|
+
monthLabel?: string;
|
|
7
|
+
locale?: Locale;
|
|
8
|
+
}
|
|
9
|
+
declare const ScrollableMonthYearPicker: React.FC<ScrollableMonthYearProps>;
|
|
10
|
+
export default ScrollableMonthYearPicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ScrollableMonthYearPicker } from './ScrollableMonthYearPicker';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const DivStyledColumn: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
+
export declare const DivStyledRow: import("@emotion/styled").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
+
as?: import("react").ElementType<any> | undefined;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface DateTimeSelectorProps {
|
|
3
|
+
setDate: React.Dispatch<React.SetStateAction<Date>>;
|
|
4
|
+
date: Date;
|
|
5
|
+
locale?: Locale;
|
|
6
|
+
minuteLabel?: string;
|
|
7
|
+
hourLabel?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const ScrollableTimePicker: React.FC<DateTimeSelectorProps>;
|
|
10
|
+
export default ScrollableTimePicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ScrollableTimePicker } from './ScrollableTimePicker';
|