flipper-ui 0.35.15 → 0.36.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/core/data-display/actions/styles.d.ts +4 -1
- package/core/data-display/actions/styles.js +2 -2
- package/core/data-display/advertise/styles.d.ts +7 -3
- package/core/data-display/advertise/styles.js +3 -3
- package/core/data-display/chapter/styles.d.ts +8 -2
- package/core/data-display/chapter/styles.js +3 -3
- package/core/data-display/data-table/styles.d.ts +15 -6
- package/core/data-display/data-table/styles.js +5 -5
- package/core/data-display/password-visibility/styles.d.ts +3 -1
- package/core/data-display/password-visibility/styles.js +2 -2
- package/core/data-display/table/table-cell.js +1 -3
- package/core/data-display/table-interactive/TableDialogPreferences.d.ts +4 -0
- package/core/data-display/table-interactive/TableDialogPreferences.js +63 -0
- package/core/data-display/table-interactive/TableInteractive.d.ts +36 -0
- package/core/data-display/table-interactive/TableInteractive.js +83 -0
- package/core/data-display/table-interactive/TableInteractiveHead.d.ts +4 -0
- package/core/data-display/table-interactive/TableInteractiveHead.js +26 -0
- package/core/data-display/table-interactive/TableInteractiveHeader.d.ts +4 -0
- package/core/data-display/table-interactive/TableInteractiveHeader.js +19 -0
- package/core/data-display/table-interactive/TablePaginationActions.d.ts +10 -0
- package/core/data-display/table-interactive/TablePaginationActions.js +51 -0
- package/core/data-display/table-interactive/index.d.ts +3 -0
- package/core/data-display/table-interactive/index.js +43 -0
- package/core/data-display/table-interactive/styles.d.ts +8 -0
- package/core/data-display/table-interactive/styles.js +14 -0
- package/core/data-display/table-interactive/table-interactive.spec.d.ts +1 -0
- package/core/data-display/table-interactive/table-interactive.stories.d.ts +6 -0
- package/core/data-display/table-interactive/utils.d.ts +18 -0
- package/core/data-display/table-interactive/utils.js +50 -0
- package/core/feedback/dialog/styles.d.ts +20 -5
- package/core/feedback/dialog/styles.js +6 -6
- package/core/feedback/loading/styles.d.ts +4 -1
- package/core/feedback/loading/styles.js +2 -2
- package/core/feedback/snackbar/index.js +2 -3
- package/core/feedback/snackbar/styles.d.ts +8 -2
- package/core/feedback/snackbar/styles.js +3 -3
- package/core/feedback/tooltip/styles.d.ts +4 -1
- package/core/feedback/tooltip/styles.js +2 -2
- package/core/feedback/validation-dialog/styles.d.ts +7 -2
- package/core/feedback/validation-dialog/styles.js +3 -3
- package/core/inputs/add-button/styles.d.ts +3 -1
- package/core/inputs/add-button/styles.js +2 -2
- package/core/inputs/checkbox/index.d.ts +2 -1
- package/core/inputs/checkbox/index.js +3 -1
- package/core/inputs/checkbox/styles.d.ts +4 -1
- package/core/inputs/checkbox/styles.js +2 -2
- package/core/inputs/date-time/styles.d.ts +4 -1
- package/core/inputs/date-time/styles.js +2 -2
- package/core/inputs/pin-input/index.js +5 -9
- package/core/inputs/pin-input/styles.d.ts +12 -3
- package/core/inputs/pin-input/styles.js +4 -4
- package/core/inputs/text-field/index.js +1 -3
- package/core/inputs/text-field/styles.d.ts +20 -5
- package/core/inputs/text-field/styles.js +6 -6
- package/core/navigation/breadcrumbs/styles.d.ts +4 -1
- package/core/navigation/breadcrumbs/styles.js +2 -2
- package/core/navigation/sidebar/styles.d.ts +12 -4
- package/core/navigation/sidebar/styles.js +4 -4
- package/core/surfaces/card/styles.d.ts +11 -3
- package/core/surfaces/card/styles.js +4 -4
- package/core/surfaces/expansion-panel/expansion-panel.spec.d.ts +1 -1
- package/core/surfaces/expansion-panel/index.js +6 -12
- package/core/surfaces/expansion-panel/styles.d.ts +4 -1
- package/core/surfaces/expansion-panel/styles.js +2 -2
- package/core/surfaces/header/styles.d.ts +4 -1
- package/core/surfaces/header/styles.js +2 -2
- package/core/surfaces/panel/styles.d.ts +7 -2
- package/core/surfaces/panel/styles.js +3 -3
- package/core/surfaces/step-card/step-card-details.js +3 -6
- package/core/surfaces/step-card/styles.d.ts +32 -8
- package/core/surfaces/step-card/styles.js +9 -9
- package/icons/specific/IconWorkPermission.js +1 -1
- package/package.json +26 -27
- package/test/mocks/table-interactive-mock.d.ts +22 -0
- /package/core/feedback/validation-dialog/{validaton-dialog.stories.d.ts → validation-dialog.stories.d.ts} +0 -0
|
@@ -3,5 +3,8 @@ interface IWrapper {
|
|
|
3
3
|
margin?: number | string;
|
|
4
4
|
align?: 'flex-end' | 'flex-start' | 'center';
|
|
5
5
|
}
|
|
6
|
-
export declare const Wrapper: import("
|
|
6
|
+
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme;
|
|
8
|
+
as?: React.ElementType;
|
|
9
|
+
} & IWrapper, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
7
10
|
export {};
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.Wrapper = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
10
|
var _templateObject;
|
|
11
|
-
var Wrapper = exports.Wrapper =
|
|
11
|
+
var Wrapper = exports.Wrapper = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: actions;\n display: flex;\n flex: 1;\n justify-content: ", ";\n padding: ", ";\n margin: ", ";\n"])), function (props) {
|
|
12
12
|
return props.align;
|
|
13
13
|
}, function (props) {
|
|
14
14
|
return props.padding;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export declare const AdvertiseTypography: import("
|
|
1
|
+
export declare const AdvertiseTypography: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
2
2
|
ref?: ((instance: HTMLSpanElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
3
3
|
}, "color" | "children" | "padding" | "margin" | "style" | "className" | "classes" | "sx" | "p" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "marginBlock" | "marginInline" | "overflow" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "align" | "variant" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & {
|
|
4
4
|
component?: React.ElementType;
|
|
5
|
-
} & import("../../types").DefaultProps
|
|
6
|
-
|
|
5
|
+
} & import("../../types").DefaultProps & {
|
|
6
|
+
theme?: import("@emotion/react").Theme;
|
|
7
|
+
}, {}, {}>;
|
|
8
|
+
export declare const AdvertiseContainer: import("@emotion/styled").StyledComponent<import("@/core/surfaces/paper").IPaperProps & {
|
|
9
|
+
theme?: import("@emotion/react").Theme;
|
|
10
|
+
}, {}, {}>;
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.AdvertiseTypography = exports.AdvertiseContainer = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
10
|
var _typography = _interopRequireDefault(require("../typography"));
|
|
11
11
|
var _paper = _interopRequireDefault(require("../../surfaces/paper"));
|
|
12
12
|
var _theme = require("../../../theme");
|
|
13
13
|
var _templateObject, _templateObject2;
|
|
14
14
|
var gray = _theme.theme.colors.gray;
|
|
15
|
-
var AdvertiseTypography = exports.AdvertiseTypography = (0,
|
|
16
|
-
var AdvertiseContainer = exports.AdvertiseContainer = (0,
|
|
15
|
+
var AdvertiseTypography = exports.AdvertiseTypography = (0, _styled["default"])(_typography["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n && {\n border-left: 1px solid ", ";\n }\n"])), gray[400]);
|
|
16
|
+
var AdvertiseContainer = exports.AdvertiseContainer = (0, _styled["default"])(_paper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"])));
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { LineProps } from '.';
|
|
2
|
-
export declare const Line: import("
|
|
3
|
-
|
|
2
|
+
export declare const Line: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme;
|
|
4
|
+
as?: React.ElementType;
|
|
5
|
+
} & LineProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
+
export declare const Container: import("@emotion/styled").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme;
|
|
8
|
+
as?: React.ElementType;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.Line = exports.Container = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
10
|
var _theme = require("../../../theme");
|
|
11
11
|
var _templateObject, _templateObject2;
|
|
12
12
|
var gray = _theme.theme.colors.gray;
|
|
13
|
-
var Line = exports.Line =
|
|
13
|
+
var Line = exports.Line = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: 1px;\n flex: 1;\n min-height: 0.75px;\n max-height: 3px;\n align-self: center;\n background-color: ", ";\n"])), function (props) {
|
|
14
14
|
return props.primary ? gray[500] : gray[300];
|
|
15
15
|
});
|
|
16
|
-
var Container = exports.Container =
|
|
16
|
+
var Container = exports.Container = _styled["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
1
|
+
export declare const FieldWrapper: import("@emotion/styled").StyledComponent<{
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
as?: React.ElementType;
|
|
4
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
|
|
5
|
+
export declare const PaginationWrapper: import("@emotion/styled").StyledComponent<{
|
|
6
|
+
theme?: import("@emotion/react").Theme;
|
|
7
|
+
as?: React.ElementType;
|
|
8
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
9
|
+
export declare const TableCellRows: import("@emotion/styled").StyledComponent<import("@mui/material/TableCell").TableCellProps & {
|
|
10
|
+
theme?: import("@emotion/react").Theme;
|
|
11
|
+
}, {}, {}>;
|
|
12
|
+
export declare const RowTable: import("@emotion/styled").StyledComponent<import("@mui/material/TableRow").TableRowOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "ref"> & {
|
|
6
13
|
ref?: ((instance: HTMLTableRowElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLTableRowElement> | null | undefined;
|
|
7
|
-
}, "children" | "style" | "className" | "classes" | "sx" | "selected" | "hover"
|
|
14
|
+
}, "children" | "style" | "className" | "classes" | "sx" | "selected" | "hover"> & {
|
|
15
|
+
theme?: import("@emotion/react").Theme;
|
|
16
|
+
}, {}, {}>;
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.TableCellRows = exports.RowTable = exports.PaginationWrapper = exports.FieldWrapper = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
10
|
var _TableCell = _interopRequireDefault(require("@mui/material/TableCell"));
|
|
10
11
|
var _TableRow = _interopRequireDefault(require("@mui/material/TableRow"));
|
|
11
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
12
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
13
|
-
var FieldWrapper = exports.FieldWrapper =
|
|
14
|
-
var PaginationWrapper = exports.PaginationWrapper =
|
|
15
|
-
var TableCellRows = exports.TableCellRows = (0,
|
|
16
|
-
var RowTable = exports.RowTable = (0,
|
|
13
|
+
var FieldWrapper = exports.FieldWrapper = _styled["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
14
|
+
var PaginationWrapper = exports.PaginationWrapper = _styled["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: 12px;\n"])));
|
|
15
|
+
var TableCellRows = exports.TableCellRows = (0, _styled["default"])(_TableCell["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n && {\n width: 400px;\n height: 60px;\n padding: 0 10px;\n }\n"])));
|
|
16
|
+
var RowTable = exports.RowTable = (0, _styled["default"])(_TableRow["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n cursor: pointer;\n\n &:hover {\n background: -moz-linear-gradient(\n left,\n rgba(189, 189, 189, 0) 0%,\n rgba(189, 189, 189, 1) 100%\n );\n background: -webkit-linear-gradient(\n left,\n rgba(189, 189, 189, 0) 0%,\n rgba(189, 189, 189, 1) 100%\n );\n background: linear-gradient(\n to right,\n rgba(189, 189, 189, 0) 0%,\n rgba(189, 189, 189, 1) 100%\n );\n }\n\n &.no-hover {\n background: none;\n }\n"])));
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
export declare const StyledButton: import("
|
|
1
|
+
export declare const StyledButton: import("@emotion/styled").StyledComponent<import("@/core/inputs/icon-button").IconButtonProps & {
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
}, {}, {}>;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.StyledButton = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
10
|
var _iconButton = _interopRequireDefault(require("../../inputs/icon-button"));
|
|
11
11
|
var _templateObject;
|
|
12
|
-
var StyledButton = exports.StyledButton = (0,
|
|
12
|
+
var StyledButton = exports.StyledButton = (0, _styled["default"])(_iconButton["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 36px !important;\n height: 36px !important;\n"])));
|
|
@@ -29,9 +29,7 @@ var TableCell = function TableCell(_ref) {
|
|
|
29
29
|
active = _useContext.active,
|
|
30
30
|
direction = _useContext.direction;
|
|
31
31
|
var handleSort = function handleSort() {
|
|
32
|
-
|
|
33
|
-
onSort(otherProps.name || '');
|
|
34
|
-
}
|
|
32
|
+
onSort === null || onSort === void 0 || onSort(otherProps.name || '');
|
|
35
33
|
};
|
|
36
34
|
return /*#__PURE__*/_react["default"].createElement(_TableCell["default"], (0, _extends2["default"])({}, otherProps, {
|
|
37
35
|
style: _objectSpread({
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ITableInteractive } from './TableInteractive';
|
|
3
|
+
export type ITableDialogPreferences = Pick<ITableInteractive, 'open' | 'headers' | 'columnsTemporary' | 'onCancel' | 'onConfirm' | 'setColumnsTemporary'>;
|
|
4
|
+
export declare const TableDialogPreferences: ({ open, headers, columnsTemporary, onCancel, onConfirm, setColumnsTemporary }: ITableDialogPreferences) => React.JSX.Element;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableDialogPreferences = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
|
|
11
|
+
var _dialog = _interopRequireDefault(require("../../feedback/dialog"));
|
|
12
|
+
var _actions = _interopRequireDefault(require("../actions"));
|
|
13
|
+
var _typography = _interopRequireDefault(require("../typography"));
|
|
14
|
+
var _styles = require("./styles");
|
|
15
|
+
var TableDialogPreferences = exports.TableDialogPreferences = function TableDialogPreferences(_ref) {
|
|
16
|
+
var _ref$open = _ref.open,
|
|
17
|
+
open = _ref$open === void 0 ? false : _ref$open,
|
|
18
|
+
headers = _ref.headers,
|
|
19
|
+
_ref$columnsTemporary = _ref.columnsTemporary,
|
|
20
|
+
columnsTemporary = _ref$columnsTemporary === void 0 ? [] : _ref$columnsTemporary,
|
|
21
|
+
onCancel = _ref.onCancel,
|
|
22
|
+
onConfirm = _ref.onConfirm,
|
|
23
|
+
setColumnsTemporary = _ref.setColumnsTemporary;
|
|
24
|
+
var handleChangeTemporaryColumns = function handleChangeTemporaryColumns(name) {
|
|
25
|
+
setColumnsTemporary === null || setColumnsTemporary === void 0 || setColumnsTemporary(function (prev) {
|
|
26
|
+
return prev.includes(name) ? prev.filter(function (col) {
|
|
27
|
+
return col !== name;
|
|
28
|
+
}) : [].concat((0, _toConsumableArray2["default"])(prev), [name]);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
return /*#__PURE__*/_react["default"].createElement(_dialog["default"], {
|
|
32
|
+
fullWidth: true,
|
|
33
|
+
open: open,
|
|
34
|
+
maxWidth: "sm",
|
|
35
|
+
title: "Prefer\xEAncias",
|
|
36
|
+
content: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_typography["default"], {
|
|
37
|
+
variant: "body1",
|
|
38
|
+
fontWeight: 500,
|
|
39
|
+
margin: "0 0 16px 0"
|
|
40
|
+
}, "Selecione o conte\xFAdo a ser exibido"), headers.map(function (it) {
|
|
41
|
+
return /*#__PURE__*/_react["default"].createElement(_styles.ContentWrapper, {
|
|
42
|
+
key: it.name
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement(_typography["default"], null, it.label), /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
44
|
+
color: "primary",
|
|
45
|
+
name: it.name,
|
|
46
|
+
slotProps: {
|
|
47
|
+
input: {
|
|
48
|
+
'aria-label': it.label
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
checked: columnsTemporary.includes(it.name),
|
|
52
|
+
onChange: function onChange() {
|
|
53
|
+
return handleChangeTemporaryColumns(it.name);
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
})),
|
|
57
|
+
actions: /*#__PURE__*/_react["default"].createElement(_actions["default"], {
|
|
58
|
+
margin: "0 16px 16px 16px",
|
|
59
|
+
onCancel: onCancel,
|
|
60
|
+
onConfirm: onConfirm !== null && onConfirm !== void 0 ? onConfirm : function () {}
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Dispatch, ReactNode, SetStateAction } from 'react';
|
|
3
|
+
export declare enum Direction {
|
|
4
|
+
ASCENDENT = "asc",
|
|
5
|
+
DESCENDENT = "desc"
|
|
6
|
+
}
|
|
7
|
+
export interface ITableInteractive {
|
|
8
|
+
name: string;
|
|
9
|
+
page?: number;
|
|
10
|
+
open?: boolean;
|
|
11
|
+
total?: number;
|
|
12
|
+
active?: string;
|
|
13
|
+
headers: {
|
|
14
|
+
name: string;
|
|
15
|
+
label: string;
|
|
16
|
+
}[];
|
|
17
|
+
paginated?: boolean;
|
|
18
|
+
rowsPerPage?: number;
|
|
19
|
+
direction?: Direction;
|
|
20
|
+
isInteractive?: boolean;
|
|
21
|
+
isCollapsible?: boolean;
|
|
22
|
+
visibleColumns?: string[];
|
|
23
|
+
columnsTemporary?: string[];
|
|
24
|
+
valuesInvoices?: Record<string, unknown>[];
|
|
25
|
+
headerActions?: React.JSX.Element | undefined;
|
|
26
|
+
onCancel?: () => void;
|
|
27
|
+
onConfirm?: () => void;
|
|
28
|
+
handleOpen?: () => void;
|
|
29
|
+
onSort?(id: string): void;
|
|
30
|
+
setPage?: Dispatch<SetStateAction<number>>;
|
|
31
|
+
setRowsPerPage?: Dispatch<SetStateAction<number>>;
|
|
32
|
+
children?: (item: Record<string, unknown>) => ReactNode;
|
|
33
|
+
setColumnsTemporary?: (value: SetStateAction<string[]>) => void;
|
|
34
|
+
rowsContent: () => React.JSX.Element | React.JSX.Element[] | undefined;
|
|
35
|
+
}
|
|
36
|
+
export declare const TableInteractive: (props: ITableInteractive) => React.JSX.Element;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableInteractive = exports.Direction = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _table = _interopRequireDefault(require("../table"));
|
|
11
|
+
var _tableBody = _interopRequireDefault(require("../table/table-body"));
|
|
12
|
+
var _tableFooter = _interopRequireDefault(require("../table/table-footer"));
|
|
13
|
+
var _tablePagination = _interopRequireDefault(require("../table/table-pagination"));
|
|
14
|
+
var _tableRow = _interopRequireDefault(require("../table/table-row"));
|
|
15
|
+
var _TableDialogPreferences = require("./TableDialogPreferences");
|
|
16
|
+
var _TableInteractiveHead = require("./TableInteractiveHead");
|
|
17
|
+
var _TableInteractiveHeader = require("./TableInteractiveHeader");
|
|
18
|
+
var _TablePaginationActions = require("./TablePaginationActions");
|
|
19
|
+
var Direction = exports.Direction = /*#__PURE__*/function (Direction) {
|
|
20
|
+
Direction["ASCENDENT"] = "asc";
|
|
21
|
+
Direction["DESCENDENT"] = "desc";
|
|
22
|
+
return Direction;
|
|
23
|
+
}({});
|
|
24
|
+
var TableInteractive = exports.TableInteractive = function TableInteractive(props) {
|
|
25
|
+
var _props$rowsPerPage, _props$page, _props$rowsPerPage2;
|
|
26
|
+
var handlePageCount = function handlePageCount() {
|
|
27
|
+
if (props.valuesInvoices) {
|
|
28
|
+
return Number(props.valuesInvoices.length);
|
|
29
|
+
}
|
|
30
|
+
return Number(props.total) || 0;
|
|
31
|
+
};
|
|
32
|
+
var count = handlePageCount();
|
|
33
|
+
var rowsPerPage = (_props$rowsPerPage = props.rowsPerPage) !== null && _props$rowsPerPage !== void 0 ? _props$rowsPerPage : 10;
|
|
34
|
+
var maxPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);
|
|
35
|
+
var page = Math.min((_props$page = props.page) !== null && _props$page !== void 0 ? _props$page : 0, maxPage);
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.isInteractive && /*#__PURE__*/_react["default"].createElement(_TableInteractiveHeader.TableInteractiveHeader, {
|
|
37
|
+
headerActions: props.headerActions,
|
|
38
|
+
handleOpen: props.handleOpen
|
|
39
|
+
}), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
40
|
+
sx: {
|
|
41
|
+
overflow: 'auto'
|
|
42
|
+
}
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
44
|
+
sx: {
|
|
45
|
+
width: '100%',
|
|
46
|
+
display: 'table',
|
|
47
|
+
tableLayout: 'fixed'
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(_table["default"], {
|
|
50
|
+
name: props.name,
|
|
51
|
+
id: 'list-' + props.name
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(_TableInteractiveHead.TableInteractiveHead, {
|
|
53
|
+
active: props.active,
|
|
54
|
+
headers: props.headers,
|
|
55
|
+
children: props.children,
|
|
56
|
+
direction: props.direction,
|
|
57
|
+
isCollapsible: props.isCollapsible,
|
|
58
|
+
visibleColumns: props.visibleColumns || [],
|
|
59
|
+
onSort: props.onSort
|
|
60
|
+
}), /*#__PURE__*/_react["default"].createElement(_tableBody["default"], null, props.rowsContent()), props.paginated && /*#__PURE__*/_react["default"].createElement(_tableFooter["default"], null, /*#__PURE__*/_react["default"].createElement(_tableRow["default"], null, /*#__PURE__*/_react["default"].createElement(_tablePagination["default"], {
|
|
61
|
+
page: page,
|
|
62
|
+
count: count,
|
|
63
|
+
rowsPerPage: (_props$rowsPerPage2 = props.rowsPerPage) !== null && _props$rowsPerPage2 !== void 0 ? _props$rowsPerPage2 : 10,
|
|
64
|
+
rowsPerPageOptions: [10, 25, 50, 100],
|
|
65
|
+
ActionsComponent: _TablePaginationActions.TablePaginationActions,
|
|
66
|
+
onPageChange: function onPageChange(_, page) {
|
|
67
|
+
var _props$setPage;
|
|
68
|
+
(_props$setPage = props.setPage) === null || _props$setPage === void 0 || _props$setPage.call(props, page);
|
|
69
|
+
},
|
|
70
|
+
onRowsPerPageChange: function onRowsPerPageChange(event) {
|
|
71
|
+
var _props$setPage2, _props$setRowsPerPage;
|
|
72
|
+
(_props$setPage2 = props.setPage) === null || _props$setPage2 === void 0 || _props$setPage2.call(props, 0);
|
|
73
|
+
(_props$setRowsPerPage = props.setRowsPerPage) === null || _props$setRowsPerPage === void 0 || _props$setRowsPerPage.call(props, parseInt(event.target.value, 10));
|
|
74
|
+
}
|
|
75
|
+
})))))), /*#__PURE__*/_react["default"].createElement(_TableDialogPreferences.TableDialogPreferences, {
|
|
76
|
+
open: props.open,
|
|
77
|
+
headers: props.headers,
|
|
78
|
+
columnsTemporary: props.columnsTemporary,
|
|
79
|
+
setColumnsTemporary: props.setColumnsTemporary,
|
|
80
|
+
onCancel: props.onCancel,
|
|
81
|
+
onConfirm: props.onConfirm
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ITableInteractive } from './TableInteractive';
|
|
3
|
+
export type ITableInteractiveHead = Pick<ITableInteractive, 'headers' | 'visibleColumns' | 'onSort' | 'active' | 'direction' | 'children' | 'isCollapsible'>;
|
|
4
|
+
export declare const TableInteractiveHead: (props: ITableInteractiveHead) => React.JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableInteractiveHead = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _tableCell = _interopRequireDefault(require("../table/table-cell"));
|
|
10
|
+
var _tableHead = _interopRequireDefault(require("../table/table-head"));
|
|
11
|
+
var _tableRow = _interopRequireDefault(require("../table/table-row"));
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
var TableInteractiveHead = exports.TableInteractiveHead = function TableInteractiveHead(props) {
|
|
14
|
+
var visibleColumns = (0, _utils.getVisibleColumns)(props.headers, props.visibleColumns);
|
|
15
|
+
var handleSort = function handleSort(name) {
|
|
16
|
+
var _props$onSort;
|
|
17
|
+
(_props$onSort = props.onSort) === null || _props$onSort === void 0 || _props$onSort.call(props, name);
|
|
18
|
+
};
|
|
19
|
+
return /*#__PURE__*/_react["default"].createElement(_tableHead["default"], {
|
|
20
|
+
active: props.active,
|
|
21
|
+
direction: props.direction,
|
|
22
|
+
onSort: props.onSort && handleSort
|
|
23
|
+
}, /*#__PURE__*/_react["default"].createElement(_tableRow["default"], null, props.headers.map(function (header) {
|
|
24
|
+
return (0, _utils.generateHeader)(header, visibleColumns);
|
|
25
|
+
}), (props.children || props.isCollapsible) && /*#__PURE__*/_react["default"].createElement(_tableCell["default"], null)));
|
|
26
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ITableInteractive } from './TableInteractive';
|
|
3
|
+
export type ITableInteractiveHeader = Pick<ITableInteractive, 'handleOpen' | 'headerActions'>;
|
|
4
|
+
export declare const TableInteractiveHeader: (props: ITableInteractiveHeader) => React.JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableInteractiveHeader = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _iconButton = _interopRequireDefault(require("../../inputs/icon-button"));
|
|
10
|
+
var _mui = require("../../../icons/mui");
|
|
11
|
+
var _styles = require("./styles");
|
|
12
|
+
var TableInteractiveHeader = exports.TableInteractiveHeader = function TableInteractiveHeader(props) {
|
|
13
|
+
return /*#__PURE__*/_react["default"].createElement(_styles.TableHeaderContent, null, /*#__PURE__*/_react["default"].createElement("div", null, props.headerActions), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
|
|
14
|
+
padding: "4px",
|
|
15
|
+
onClick: props.handleOpen
|
|
16
|
+
}, /*#__PURE__*/_react["default"].createElement(_mui.IconSettings, {
|
|
17
|
+
color: "primary"
|
|
18
|
+
})));
|
|
19
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MouseEvent } from 'react';
|
|
3
|
+
interface TablePaginationActionsProps {
|
|
4
|
+
page: number;
|
|
5
|
+
count: number;
|
|
6
|
+
rowsPerPage: number;
|
|
7
|
+
onPageChange: (event: MouseEvent<HTMLButtonElement>, newPage: number) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const TablePaginationActions: (props: TablePaginationActionsProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TablePaginationActions = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _iconButton = _interopRequireDefault(require("../../inputs/icon-button"));
|
|
11
|
+
var _mui = require("../../../icons/mui");
|
|
12
|
+
var TablePaginationActions = exports.TablePaginationActions = function TablePaginationActions(props) {
|
|
13
|
+
var count = props.count,
|
|
14
|
+
page = props.page,
|
|
15
|
+
rowsPerPage = props.rowsPerPage,
|
|
16
|
+
onPageChange = props.onPageChange;
|
|
17
|
+
var handleFirstPageButtonClick = function handleFirstPageButtonClick(event) {
|
|
18
|
+
onPageChange(event, 0);
|
|
19
|
+
};
|
|
20
|
+
var handleBackButtonClick = function handleBackButtonClick(event) {
|
|
21
|
+
onPageChange(event, page - 1);
|
|
22
|
+
};
|
|
23
|
+
var handleNextButtonClick = function handleNextButtonClick(event) {
|
|
24
|
+
onPageChange(event, page + 1);
|
|
25
|
+
};
|
|
26
|
+
var handleLastPageButtonClick = function handleLastPageButtonClick(event) {
|
|
27
|
+
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
|
28
|
+
};
|
|
29
|
+
return /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
30
|
+
sx: {
|
|
31
|
+
flexShrink: 0,
|
|
32
|
+
margin: '0 0 0 16px'
|
|
33
|
+
}
|
|
34
|
+
}, /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
|
|
35
|
+
"aria-label": "first page",
|
|
36
|
+
disabled: page === 0,
|
|
37
|
+
onClick: handleFirstPageButtonClick
|
|
38
|
+
}, /*#__PURE__*/_react["default"].createElement(_mui.IconFirstPage, null)), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
|
|
39
|
+
"aria-label": "previous page",
|
|
40
|
+
disabled: page === 0,
|
|
41
|
+
onClick: handleBackButtonClick
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement(_mui.IconNavigateBefore, null)), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
|
|
43
|
+
"aria-label": "next page",
|
|
44
|
+
disabled: page >= Math.ceil(count / rowsPerPage) - 1,
|
|
45
|
+
onClick: handleNextButtonClick
|
|
46
|
+
}, /*#__PURE__*/_react["default"].createElement(_mui.IconNavigateNext, null)), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
|
|
47
|
+
"aria-label": "last page",
|
|
48
|
+
disabled: page >= Math.ceil(count / rowsPerPage) - 1,
|
|
49
|
+
onClick: handleLastPageButtonClick
|
|
50
|
+
}, /*#__PURE__*/_react["default"].createElement(_mui.IconLastPage, null)));
|
|
51
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "TableInteractive", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _TableInteractive.TableInteractive;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "generateHeader", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _utils.generateHeader;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "getInitialColumns", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _utils.getInitialColumns;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "getOrderedVisibleColumns", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _utils.getOrderedVisibleColumns;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "getVisibleColumns", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _utils.getVisibleColumns;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "setVisibleColumns", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _utils.setVisibleColumns;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var _TableInteractive = require("./TableInteractive");
|
|
43
|
+
var _utils = require("./utils");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ContentWrapper: import("@emotion/styled").StyledComponent<{
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
as?: React.ElementType;
|
|
4
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
5
|
+
export declare const TableHeaderContent: import("@emotion/styled").StyledComponent<{
|
|
6
|
+
theme?: import("@emotion/react").Theme;
|
|
7
|
+
as?: React.ElementType;
|
|
8
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableHeaderContent = exports.ContentWrapper = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
+
var _theme = require("../../../theme");
|
|
11
|
+
var _templateObject, _templateObject2;
|
|
12
|
+
var gray = _theme.theme.colors.gray;
|
|
13
|
+
var ContentWrapper = exports.ContentWrapper = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 2px solid ", ";\n"])), gray[300]);
|
|
14
|
+
var TableHeaderContent = exports.TableHeaderContent = _styled["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin: 0 0 8px 0;\n\n & > div {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n }\n"])));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { TableInteractive } from '../table-interactive/TableInteractive';
|
|
3
|
+
declare const meta: Meta<typeof TableInteractive>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof TableInteractive>;
|
|
6
|
+
export declare const interactiveTable: Story;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ITableInteractive } from './TableInteractive';
|
|
3
|
+
export declare const STORAGE_KEY = "visible-columns";
|
|
4
|
+
export declare const getInitialColumns: (columns: {
|
|
5
|
+
name: string;
|
|
6
|
+
label: string;
|
|
7
|
+
show: boolean;
|
|
8
|
+
}[], key: string) => string[];
|
|
9
|
+
export declare const setVisibleColumns: (columns: string[], key: string) => void;
|
|
10
|
+
export declare const generateHeader: (header: ITableInteractive["headers"][number], visibleColumns?: string[] | undefined) => React.JSX.Element | null;
|
|
11
|
+
export declare const getVisibleColumns: (headers: {
|
|
12
|
+
name: string;
|
|
13
|
+
label: string;
|
|
14
|
+
}[], visibleColumns?: string[] | undefined) => string[];
|
|
15
|
+
export declare const getOrderedVisibleColumns: (headers: {
|
|
16
|
+
name: string;
|
|
17
|
+
label: string;
|
|
18
|
+
}[], visibleColumns?: string[] | undefined) => string[];
|