@mailstep/design-system 0.6.3-beta.8 → 0.6.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/package.json +1 -1
- package/ui/Blocks/CommonGrid/CommonGrid.d.ts +2 -5
- package/ui/Blocks/CommonGrid/CommonGrid.js +13 -4
- package/ui/Blocks/CommonGrid/CommonGridContainer.js +3 -4
- package/ui/Blocks/CommonGrid/components/HeadRow.d.ts +3 -3
- package/ui/Blocks/CommonGrid/components/HeadRow.js +26 -1
- package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.d.ts +1 -3
- package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.js +4 -16
- package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.d.ts +1 -5
- package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.js +4 -5
- package/ui/Blocks/CommonGrid/hooks/useManageColumn.d.ts +3 -9
- package/ui/Blocks/CommonGrid/hooks/useManageColumn.js +7 -75
- package/ui/Blocks/CommonGrid/styles.d.ts +1 -3
- package/ui/Blocks/Modal/Modal.js +2 -2
- package/ui/Blocks/Modal/stories/Modal.stories.js +5 -1
- package/ui/Blocks/Modal/styles.d.ts +4 -0
- package/ui/Blocks/Modal/styles.js +10 -3
- package/ui/Blocks/Tabs/Tabs.js +2 -2
- package/ui/Blocks/Tabs/styles.d.ts +1 -0
- package/ui/Blocks/Tabs/styles.js +4 -1
- package/ui/Blocks/Tabs/types.d.ts +1 -0
- package/ui/Elements/ErrorMessage/ErrorMessage.js +1 -1
- package/ui/Elements/Select/themes/formStyles.d.ts +0 -3
- package/ui/Elements/Select/themes/formStyles.js +1 -10
- package/ui/Elements/Text/types.d.ts +2 -2
- package/ui/Forms/Checkbox/Checkbox.js +3 -2
- package/ui/Forms/Checkbox/stories/Checkbox.stories.js +1 -1
- package/ui/Forms/Checkbox/styles.d.ts +1 -1
- package/ui/Forms/Checkbox/styles.js +1 -1
- package/ui/Forms/RadioButton/RadioButton.js +4 -1
- package/ui/Forms/RadioButton/styles.d.ts +1 -1
- package/ui/Forms/RadioButton/styles.js +1 -1
- package/ui/ThemeProvider/themes/default.js +1 -1
- package/ui/index.d.ts +1 -3
- package/ui/index.es.js +8783 -8812
- package/ui/index.js +1 -3
- package/ui/index.umd.js +433 -426
- package/ui/Elements/Paragraph/Paragraph.d.ts +0 -2
- package/ui/Elements/Paragraph/Paragraph.js +0 -3
- package/ui/Elements/Paragraph/index.d.ts +0 -3
- package/ui/Elements/Paragraph/index.js +0 -3
- package/ui/Elements/Paragraph/stories/Paragraph.stories.d.ts +0 -17
- package/ui/Elements/Paragraph/stories/Paragraph.stories.js +0 -34
package/package.json
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { CommonGridProps, FiltersConfig
|
|
2
|
-
import { DropResult } from 'react-beautiful-dnd';
|
|
1
|
+
import { CommonGridProps, FiltersConfig } from './types';
|
|
3
2
|
type Props = CommonGridProps & {
|
|
4
3
|
filters?: FiltersConfig;
|
|
5
|
-
handleDragEnd: (item: DropResult) => void;
|
|
6
|
-
displayColumnsDefinitions: ColumnDefinition[];
|
|
7
4
|
};
|
|
8
|
-
declare const CommonGrid: ({ filters,
|
|
5
|
+
declare const CommonGrid: ({ filters, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, hideColumnConfig, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: Props) => JSX.Element;
|
|
9
6
|
export default CommonGrid;
|
|
@@ -21,7 +21,7 @@ import HeadRow from './components/HeadRow';
|
|
|
21
21
|
import useUxReset from './hooks/useUxReset';
|
|
22
22
|
import useRowsKeyControls from './hooks/useRowsKeyControls';
|
|
23
23
|
import useColumnSizes from './hooks/useColumnSizes';
|
|
24
|
-
import { getGroups } from './utils';
|
|
24
|
+
import { isColumnOn, getGroups } from './utils';
|
|
25
25
|
import { initialState } from './store';
|
|
26
26
|
import { Trans } from '@lingui/react';
|
|
27
27
|
import FloatingButton from './components/FloatingButton/FloatingButton';
|
|
@@ -35,12 +35,13 @@ var defaultVoidFunction = function () {
|
|
|
35
35
|
};
|
|
36
36
|
var defaultUxState = initialState.uxState;
|
|
37
37
|
var defaultColumnsWidth = {};
|
|
38
|
+
var defaultPerPageOptions = [10, 20, 50, 100];
|
|
38
39
|
var CommonGrid = function (_a) {
|
|
39
|
-
var filters = _a.filters,
|
|
40
|
+
var filters = _a.filters,
|
|
40
41
|
// redux props
|
|
41
42
|
gridSelectors = _a.gridSelectors, gridActions = _a.gridActions,
|
|
42
43
|
// input props
|
|
43
|
-
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, columnsDefinitions = _a.columnsDefinitions, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowEditClick = _a.onRowEditClick, onRowReadClick = _a.onRowReadClick, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b,
|
|
44
|
+
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, columnsDefinitions = _a.columnsDefinitions, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowEditClick = _a.onRowEditClick, onRowReadClick = _a.onRowReadClick, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, hideColumnConfig = _a.hideColumnConfig, className = _a.className, gridRef = _a.gridRef, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps;
|
|
44
45
|
var _c = gridSelectors.uxState, uxState = _c === void 0 ? defaultUxState : _c, columnConfig = gridSelectors.columnConfig, _d = gridSelectors.columnsWidth, columnsWidth = _d === void 0 ? defaultColumnsWidth : _d, columnsWidthVariant = gridSelectors.columnsWidthVariant, _e = gridSelectors.page, page = _e === void 0 ? 1 : _e, filter = gridSelectors.filter, sorting = gridSelectors.sorting, _f = gridSelectors.rowsPerPage, rowsPerPage = _f === void 0 ? 10 : _f;
|
|
45
46
|
var clearUxState = gridActions.clearUxState, handleUxChange = gridActions.handleUxChange, _g = gridActions.addFilter, addFilter = _g === void 0 ? defaultVoidFunction : _g, _h = gridActions.addSorting, addSorting = _h === void 0 ? defaultVoidFunction : _h, _j = gridActions.setColumnWidth, setColumnWidth = _j === void 0 ? defaultVoidFunction : _j, _k = gridActions.setColumnsOrder, setColumnsOrder = _k === void 0 ? defaultVoidFunction : _k;
|
|
46
47
|
var handleRowsKeyDown = useRowsKeyControls(rowsData, uxState, handleUxChange);
|
|
@@ -67,6 +68,14 @@ var CommonGrid = function (_a) {
|
|
|
67
68
|
checksColumnsOrder(order);
|
|
68
69
|
return order;
|
|
69
70
|
}, [columnsDefinitions, gridSelectors.columnsOrder]);
|
|
71
|
+
// filtered and ordered columns definition, relevant columns definition to iterate over and render
|
|
72
|
+
var displayColumnsDefinitions = React.useMemo(function () {
|
|
73
|
+
return (!hideColumnConfig ? columnsDefinitions.filter(function (column) { return isColumnOn(column, columnConfig); }) : columnsDefinitions).sort(function (col1, col2) {
|
|
74
|
+
var i = (columnsOrder || []).indexOf(col1.name);
|
|
75
|
+
var j = (columnsOrder || []).indexOf(col2.name);
|
|
76
|
+
return i > j ? 1 : i < j ? -1 : 0;
|
|
77
|
+
});
|
|
78
|
+
}, [hideColumnConfig, columnConfig, columnsDefinitions, columnsOrder]);
|
|
70
79
|
var GridMessage;
|
|
71
80
|
var messageClass = 'info';
|
|
72
81
|
if (isLoading)
|
|
@@ -85,7 +94,7 @@ var CommonGrid = function (_a) {
|
|
|
85
94
|
gridBoxRef.current = node;
|
|
86
95
|
!!gridRef && (gridRef.current = node);
|
|
87
96
|
}, []);
|
|
88
|
-
return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, isLoading: isLoading, totalColumnsWidth: totalColumnsWidth, floatingChildren: GridMessage && (_jsx(Row, { className: "dataRow", align: "center", children: _jsx(MessageCell, { align: "center", className: "gridMessage ".concat(messageClass), children: GridMessage }) })), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [columnsDefinitions.find(function (col) { return col.group; }) && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onAddSort: addSorting, columnLayout: columnLayout, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups
|
|
97
|
+
return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, isLoading: isLoading, totalColumnsWidth: totalColumnsWidth, floatingChildren: GridMessage && (_jsx(Row, { className: "dataRow", align: "center", children: _jsx(MessageCell, { align: "center", className: "gridMessage ".concat(messageClass), children: GridMessage }) })), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [columnsDefinitions.find(function (col) { return col.group; }) && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onAddSort: addSorting, columnLayout: columnLayout, setColumnsOrder: setColumnsOrder, columnsOrder: columnsOrder, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups }), columnsDefinitions.find(function (col) { return col.filtering; }) && (_jsx(FilterRow, { filters: filters, columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onChange: addFilter, filterValues: filter, displayColumnsWidth: displayColumnsWidth, groups: groups, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange }))] }), _jsx("div", { className: "body flx_1", style: rowsStyles, tabIndex: -1, onKeyDown: handleRowsKeyDown, children: !isLoading &&
|
|
89
98
|
rowsData &&
|
|
90
99
|
displayColumnsDefinitions &&
|
|
91
100
|
rowsData.map(function (row, index) {
|
|
@@ -40,7 +40,7 @@ import ManageColumnForm from './components/ManageColumnForm';
|
|
|
40
40
|
import { Trans } from '@lingui/react';
|
|
41
41
|
import { Settings2 } from '../../Elements/Icon/icons/Settings2';
|
|
42
42
|
var StyledCommonGrid = function (props) {
|
|
43
|
-
var _a = props.optimizeFilters, optimizeFilters = _a === void 0 ? false : _a, extraControlButtons = props.extraControlButtons, eshopSelect = props.eshopSelect, onBatchAction = props.onBatchAction, processCheckedValues = props.processCheckedValues, processCheckedValuesTitle = props.processCheckedValuesTitle, hideControlButtons = props.hideControlButtons, floatingButtonProps = props.floatingButtonProps, queryRowsParam = props.queryRowsParam, customPaginationHandler = props.customPaginationHandler,
|
|
43
|
+
var _a = props.optimizeFilters, optimizeFilters = _a === void 0 ? false : _a, extraControlButtons = props.extraControlButtons, eshopSelect = props.eshopSelect, onBatchAction = props.onBatchAction, processCheckedValues = props.processCheckedValues, processCheckedValuesTitle = props.processCheckedValuesTitle, hideControlButtons = props.hideControlButtons, floatingButtonProps = props.floatingButtonProps, queryRowsParam = props.queryRowsParam, customPaginationHandler = props.customPaginationHandler, passDownProps = __rest(props, ["optimizeFilters", "extraControlButtons", "eshopSelect", "onBatchAction", "processCheckedValues", "processCheckedValuesTitle", "hideControlButtons", "floatingButtonProps", "queryRowsParam", "customPaginationHandler"]);
|
|
44
44
|
var gridActions = passDownProps.gridActions, gridSelectors = passDownProps.gridSelectors, rowsData = passDownProps.rowsData, actionColumnDefinition = passDownProps.actionColumnDefinition;
|
|
45
45
|
var _b = useGetGridHeight(), gridHeight = _b.gridHeight, gridRef = _b.gridRef, paginationRef = _b.paginationRef;
|
|
46
46
|
useEffect(function () {
|
|
@@ -60,8 +60,7 @@ var StyledCommonGrid = function (props) {
|
|
|
60
60
|
gridActions: gridActions,
|
|
61
61
|
gridSelectors: gridSelectors,
|
|
62
62
|
onClose: onClose,
|
|
63
|
-
|
|
64
|
-
}),
|
|
65
|
-
return (_jsxs(ContentContainer, { children: [_jsxs(CommonGridWrap, { children: [_jsx(HidePrint, { children: _jsxs(StyledButtonStrip, { className: "buttonsStrip", children: [!hideControlButtons && (_jsx(ControlButtons, { extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, eshopSelect: eshopSelect })), _jsx(StyledColumnButton, { type: "button", sizing: "iconLg", appearance: "ghost", icon: _jsx(Settings2, {}), onClick: openManageColumnForm, children: _jsx(H6, { variant: "semiBold", children: _jsx(Trans, { id: "manageColumn.title", message: "Manage column" }) }) })] }) }), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { filters: filters, gridRef: gridRef, height: gridHeight, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasColouredRows: true }))] }), _jsx(HidePrint, { children: _jsxs(BottomWrapper, { ref: paginationRef, isFixed: !!gridHeight, children: [processCheckedValues && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionColumn: actionColumnDefinition, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "center", alignItems: "center", className: "paginatorWrapper", w: "100%", h: window.innerWidth > 1204 ? '60px' : '32px', children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler })] })] }) }), manageColumnFormVisible && (_jsx(Modal, { title: _jsx(Trans, { id: "manageColumn.title", message: "Manage columns" }), onClose: onCloseForm, onCancel: onCloseForm, onExtraAction: resetColumnConfig, onConfirm: onConfirmForm, width: "auto", minWidth: "350px", hasFooter: true, extraActionLabel: _jsx(Trans, { id: "dataGrid.buttonClearConfig", message: "Reset config" }), cancelLabel: _jsx(Trans, { id: "form.buttonCancel", message: "Cancel" }), confirmLabel: _jsx(Trans, { id: "form.buttonConfirm", message: "Confirm" }), children: _jsx(ManageColumnForm, { columns: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true) }) }))] }));
|
|
63
|
+
}), columnsConfigValues = _d.columnsConfigValues, setColumnsConfigOptions = _d.setColumnsConfigOptions, onConfirmForm = _d.onConfirmForm, resetColumnConfig = _d.resetColumnConfig;
|
|
64
|
+
return (_jsxs(ContentContainer, { children: [_jsxs(CommonGridWrap, { children: [_jsx(HidePrint, { children: _jsxs(StyledButtonStrip, { className: "buttonsStrip", children: [!hideControlButtons && (_jsx(ControlButtons, { extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, eshopSelect: eshopSelect })), _jsx(StyledColumnButton, { type: "button", sizing: "iconLg", appearance: "ghost", icon: _jsx(Settings2, {}), onClick: openManageColumnForm, children: _jsx(H6, { variant: "semiBold", children: _jsx(Trans, { id: "manageColumn.title", message: "Manage column" }) }) })] }) }), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { filters: filters, gridRef: gridRef, height: gridHeight, floatingButtonProps: floatingButtonProps, hasColouredRows: true }))] }), _jsx(HidePrint, { children: _jsxs(BottomWrapper, { ref: paginationRef, isFixed: !!gridHeight, children: [processCheckedValues && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionColumn: actionColumnDefinition, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "center", alignItems: "center", className: "paginatorWrapper", w: "100%", h: window.innerWidth > 1204 ? '60px' : '32px', children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler })] })] }) }), manageColumnFormVisible && (_jsx(Modal, { title: _jsx(Trans, { id: "manageColumn.title", message: "Manage columns" }), onClose: onClose, onCancel: onClose, onExtraAction: resetColumnConfig, onConfirm: onConfirmForm, width: "auto", minWidth: "350px", hasFooter: true, extraActionLabel: _jsx(Trans, { id: "dataGrid.buttonClearConfig", message: "Reset config" }), cancelLabel: _jsx(Trans, { id: "form.buttonCancel", message: "Cancel" }), confirmLabel: _jsx(Trans, { id: "form.buttonConfirm", message: "Confirm" }), children: _jsx(ManageColumnForm, { columns: columns, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions }) }))] }));
|
|
66
65
|
};
|
|
67
66
|
export default StyledCommonGrid;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { DropResult } from 'react-beautiful-dnd';
|
|
2
1
|
import { Settings, ColumnDefinition, ActionColumn, GridSelectorsType, Group, CommonGridProps, GridActionsType } from '../types';
|
|
3
2
|
type HeadRowProps = {
|
|
4
3
|
actionColumn?: ActionColumn;
|
|
5
4
|
columns: ColumnDefinition[];
|
|
5
|
+
columnsOrder?: string[];
|
|
6
6
|
onAddSort: GridActionsType['addSorting'];
|
|
7
|
+
setColumnsOrder: (columnsOrder: string[]) => void;
|
|
7
8
|
sortingValues?: Settings['sorting'];
|
|
8
9
|
displayColumnsWidth: Required<GridSelectorsType>['columnsWidth'];
|
|
9
10
|
columnLayout: Required<CommonGridProps>['columnLayout'];
|
|
10
11
|
handleResizeDrag: (column: string, width: number) => void;
|
|
11
|
-
handleDragEnd: (item: DropResult) => void;
|
|
12
12
|
groups: Group[];
|
|
13
13
|
};
|
|
14
|
-
declare const HeadRow: ({ columns, actionColumn, onAddSort,
|
|
14
|
+
declare const HeadRow: ({ columns, actionColumn, onAddSort, setColumnsOrder, columnsOrder, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups, }: HeadRowProps) => JSX.Element;
|
|
15
15
|
export default HeadRow;
|
|
@@ -9,6 +9,15 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
+
if (ar || !(i in from)) {
|
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
+
ar[i] = from[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
+
};
|
|
12
21
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
22
|
import React, { useEffect, useState } from 'react';
|
|
14
23
|
import { DragDropContext, Droppable, Draggable, } from 'react-beautiful-dnd';
|
|
@@ -21,11 +30,27 @@ var getStickyComponent = function (columns, stickyTo, displayColumnsWidth) {
|
|
|
21
30
|
};
|
|
22
31
|
var HeadRow = function (_a) {
|
|
23
32
|
var _b;
|
|
24
|
-
var columns = _a.columns, actionColumn = _a.actionColumn, onAddSort = _a.onAddSort,
|
|
33
|
+
var columns = _a.columns, actionColumn = _a.actionColumn, onAddSort = _a.onAddSort, setColumnsOrder = _a.setColumnsOrder, columnsOrder = _a.columnsOrder, _c = _a.sortingValues, sortingValues = _c === void 0 ? [] : _c, displayColumnsWidth = _a.displayColumnsWidth, columnLayout = _a.columnLayout, handleResizeDrag = _a.handleResizeDrag, groups = _a.groups;
|
|
25
34
|
var _d = useState(false), showUIElements = _d[0], setShowUIElements = _d[1];
|
|
26
35
|
useEffect(function () {
|
|
27
36
|
setShowUIElements(true);
|
|
28
37
|
}, []);
|
|
38
|
+
var handleDragEnd = React.useCallback(function (item) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
var to = (_a = item.destination) === null || _a === void 0 ? void 0 : _a.index;
|
|
41
|
+
var from = (_b = item.source) === null || _b === void 0 ? void 0 : _b.index;
|
|
42
|
+
if (to === from || !item.destination) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
var newOrderColumns = __spreadArray([], (columnsOrder || []), true);
|
|
46
|
+
var fromIndex = newOrderColumns.findIndex(function (column) { return columns[from].name === column; });
|
|
47
|
+
var toIndex = newOrderColumns.findIndex(function (column) { return to && columns[to].name === column; });
|
|
48
|
+
// move column from a position to the new position
|
|
49
|
+
var column = newOrderColumns[fromIndex];
|
|
50
|
+
newOrderColumns.splice(fromIndex, 1);
|
|
51
|
+
newOrderColumns.splice(toIndex, 0, column);
|
|
52
|
+
setColumnsOrder(newOrderColumns);
|
|
53
|
+
}, [setColumnsOrder, columnsOrder, columns]);
|
|
29
54
|
var _e = useState(false), isDragDisabled = _e[0], setIsDragDisabled = _e[1];
|
|
30
55
|
var onResizeOver = React.useCallback(function () {
|
|
31
56
|
setIsDragDisabled(true);
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ColumnConfig, CommonGridProps } from '../../types';
|
|
3
|
-
import { DropResult } from 'react-beautiful-dnd';
|
|
4
3
|
type ManageColumnProps = {
|
|
5
4
|
columns?: CommonGridProps['columnsDefinitions'];
|
|
6
5
|
columnsConfigValues?: string[];
|
|
7
6
|
setColumnsConfigOptions: (value: React.SetStateAction<{
|
|
8
7
|
[x: string]: ColumnConfig | {};
|
|
9
8
|
}>) => void;
|
|
10
|
-
handleDragEnd: (item: DropResult) => void;
|
|
11
9
|
};
|
|
12
|
-
declare const ManageColumnForm: ({ columns, columnsConfigValues, setColumnsConfigOptions
|
|
10
|
+
declare const ManageColumnForm: ({ columns, columnsConfigValues, setColumnsConfigOptions }: ManageColumnProps) => JSX.Element;
|
|
13
11
|
export default ManageColumnForm;
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
2
|
import { useCallback, useState } from 'react';
|
|
14
3
|
import { x } from '@xstyled/styled-components';
|
|
15
4
|
import { ActionRow } from './components/ActionRow';
|
|
16
5
|
import { Input } from '../../../../Forms/Input/Input';
|
|
17
6
|
import { i18n } from '@lingui/core';
|
|
18
|
-
import { DragDropContext, Draggable, Droppable, } from 'react-beautiful-dnd';
|
|
19
7
|
var ManageColumnForm = function (_a) {
|
|
20
|
-
var columns = _a.columns, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions
|
|
8
|
+
var columns = _a.columns, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions;
|
|
21
9
|
var _b = useState(''), searchedValue = _b[0], setSearchedValue = _b[1];
|
|
22
10
|
var onChangeInputValue = useCallback(function (e) {
|
|
23
11
|
setSearchedValue(e.target.value);
|
|
@@ -25,8 +13,8 @@ var ManageColumnForm = function (_a) {
|
|
|
25
13
|
var clear = useCallback(function () {
|
|
26
14
|
setSearchedValue('');
|
|
27
15
|
}, [setSearchedValue]);
|
|
28
|
-
return (_jsxs(x.div, { children: [_jsx(Input, { icon: "search", type: "text", value: searchedValue, placeholder: i18n._({ id: 'manageColumn.searchPlaceholder', message: 'Find column...' }), onChange: onChangeInputValue, onClear: clear, variant: "gray" }), _jsx(
|
|
29
|
-
|
|
30
|
-
|
|
16
|
+
return (_jsxs(x.div, { children: [_jsx(Input, { icon: "search", type: "text", value: searchedValue, placeholder: i18n._({ id: 'manageColumn.searchPlaceholder', message: 'Find column...' }), onChange: onChangeInputValue, onClear: clear, variant: "gray" }), _jsx(x.div, { h: "400px", overflowY: "scroll", mt: "20px", children: columns === null || columns === void 0 ? void 0 : columns.map(function (column, index) {
|
|
17
|
+
return (_jsx(ActionRow, { column: column, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, searchedValue: searchedValue }, index));
|
|
18
|
+
}) })] }));
|
|
31
19
|
};
|
|
32
20
|
export default ManageColumnForm;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ColumnConfig, ColumnDefinition } from '../../../types';
|
|
3
|
-
import { DraggableProps, DraggableProvidedDragHandleProps } from 'react-beautiful-dnd';
|
|
4
3
|
type ActionRowProps = {
|
|
5
4
|
column: ColumnDefinition;
|
|
6
5
|
columnsConfigValues: string[] | undefined;
|
|
@@ -8,9 +7,6 @@ type ActionRowProps = {
|
|
|
8
7
|
[x: string]: ColumnConfig | {};
|
|
9
8
|
}>) => void;
|
|
10
9
|
searchedValue: string;
|
|
11
|
-
innerRef?: Function;
|
|
12
|
-
draggableProps?: DraggableProps | any;
|
|
13
|
-
dragHandleProps?: DraggableProvidedDragHandleProps | null;
|
|
14
10
|
};
|
|
15
|
-
export declare const ActionRow: ({ column, columnsConfigValues, setColumnsConfigOptions, searchedValue
|
|
11
|
+
export declare const ActionRow: ({ column, columnsConfigValues, setColumnsConfigOptions, searchedValue }: ActionRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
12
|
export {};
|
|
@@ -14,7 +14,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
14
14
|
return __assign.apply(this, arguments);
|
|
15
15
|
};
|
|
16
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
-
import { useCallback,
|
|
17
|
+
import { useCallback, useState } from 'react';
|
|
18
18
|
import { x, th } from '@xstyled/styled-components';
|
|
19
19
|
import styled from 'styled-components';
|
|
20
20
|
import Toggle from '../../../../../Elements/Toggle/Toggle';
|
|
@@ -22,15 +22,14 @@ import { Group } from '../../../../../Elements/Icon/icons/Group';
|
|
|
22
22
|
import { isObject } from 'lodash';
|
|
23
23
|
import { H6 } from '../../../../../Elements/Typography/Typography';
|
|
24
24
|
import { i18n } from '@lingui/core';
|
|
25
|
-
var RowLayout = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: ", ";\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n height: 52px;\n
|
|
25
|
+
var RowLayout = styled(x.div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: ", ";\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n height: 52px;\n border: 1px solid ", ";\n border-radius: 8px;\n margin-bottom: 15px;\n"], ["\n display: ", ";\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n height: 52px;\n border: 1px solid ", ";\n border-radius: 8px;\n margin-bottom: 15px;\n"])), function (_a) {
|
|
26
26
|
var $isVisible = _a.$isVisible;
|
|
27
27
|
return ($isVisible ? 'flex' : 'none');
|
|
28
28
|
}, th.color('lightGray6'));
|
|
29
29
|
export var ActionRow = function (_a) {
|
|
30
30
|
var _b, _c, _d, _e, _f;
|
|
31
|
-
var column = _a.column, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions, searchedValue = _a.searchedValue
|
|
31
|
+
var column = _a.column, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions, searchedValue = _a.searchedValue;
|
|
32
32
|
var _g = useState((_b = columnsConfigValues === null || columnsConfigValues === void 0 ? void 0 : columnsConfigValues.includes(column.name)) !== null && _b !== void 0 ? _b : false), isSelected = _g[0], setIsSelected = _g[1];
|
|
33
|
-
var style = useMemo(function () { return (__assign({}, draggableProps === null || draggableProps === void 0 ? void 0 : draggableProps.style)); }, [draggableProps]);
|
|
34
33
|
var translatedValue = isObject(column === null || column === void 0 ? void 0 : column.title) &&
|
|
35
34
|
'props' in column.title &&
|
|
36
35
|
((_c = column.title) === null || _c === void 0 ? void 0 : _c.props) &&
|
|
@@ -43,6 +42,6 @@ export var ActionRow = function (_a) {
|
|
|
43
42
|
});
|
|
44
43
|
setIsSelected(!isSelected);
|
|
45
44
|
}, [setColumnsConfigOptions, isSelected, column.name]);
|
|
46
|
-
return (_jsxs(RowLayout,
|
|
45
|
+
return (_jsxs(RowLayout, { "$isVisible": isVisible, children: [_jsxs(x.div, { display: "flex", alignItems: "center", children: [_jsx(x.div, { w: "28px", children: _jsx(Toggle, { name: "", variant: "grid", onChange: handleToggleChange, spaceAround: false, checked: isSelected }) }), _jsx(H6, { variant: "medium", ml: "8px", children: translatedValue })] }), _jsx(Group, {})] }));
|
|
47
46
|
};
|
|
48
47
|
var templateObject_1;
|
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { CommonGridProps, GridActionsType, GridSelectorsType } from '../types';
|
|
3
|
-
import React from 'react';
|
|
4
3
|
type Props = {
|
|
5
4
|
columns: CommonGridProps['columnsDefinitions'];
|
|
6
5
|
gridActions: GridActionsType;
|
|
7
6
|
gridSelectors: GridSelectorsType;
|
|
8
7
|
onClose?: () => void;
|
|
9
|
-
hideColumnConfig?: boolean;
|
|
10
8
|
};
|
|
11
|
-
declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose
|
|
9
|
+
declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose }: Props) => {
|
|
12
10
|
columnsConfigValues: string[];
|
|
13
|
-
setColumnsConfigOptions:
|
|
11
|
+
setColumnsConfigOptions: import("react").Dispatch<import("react").SetStateAction<{
|
|
14
12
|
[x: string]: {
|
|
15
13
|
isHidden?: boolean | undefined;
|
|
16
14
|
};
|
|
17
15
|
}>>;
|
|
18
16
|
onConfirmForm: () => void;
|
|
19
17
|
resetColumnConfig: () => void;
|
|
20
|
-
handleDragEnd: (isManageModal?: boolean) => (item: DropResult) => void;
|
|
21
|
-
onCloseForm: () => void;
|
|
22
|
-
displayColumnsDefinitions: import("../types").ColumnDefinition<string>[];
|
|
23
|
-
manageColumnsFormDefinitions: import("../types").ColumnDefinition<string>[];
|
|
24
18
|
};
|
|
25
19
|
export default useManageColumn;
|
|
@@ -9,27 +9,12 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
-
if (ar || !(i in from)) {
|
|
15
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
-
ar[i] = from[i];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
-
};
|
|
21
12
|
import { useCallback, useMemo, useState } from 'react';
|
|
22
|
-
import { isColumnOn } from '../utils';
|
|
23
13
|
var useManageColumn = function (_a) {
|
|
24
|
-
var columns = _a.columns, gridSelectors = _a.gridSelectors, gridActions = _a.gridActions, onClose = _a.onClose
|
|
25
|
-
var resetGrid = gridActions.resetGrid, setColumnConfig = gridActions.setColumnConfig
|
|
26
|
-
var columnConfig = gridSelectors.columnConfig
|
|
14
|
+
var columns = _a.columns, gridSelectors = _a.gridSelectors, gridActions = _a.gridActions, onClose = _a.onClose;
|
|
15
|
+
var resetGrid = gridActions.resetGrid, setColumnConfig = gridActions.setColumnConfig;
|
|
16
|
+
var columnConfig = gridSelectors.columnConfig;
|
|
27
17
|
var _b = useState(__assign({}, columnConfig)), columnsConfigOptions = _b[0], setColumnsConfigOptions = _b[1];
|
|
28
|
-
var _c = useState(columnsOrder !== null && columnsOrder !== void 0 ? columnsOrder : []), updatedColumnsOrder = _c[0], setUpdatedColumnsOrder = _c[1];
|
|
29
|
-
console.log(8, 'columnConfig', columnConfig);
|
|
30
|
-
console.log('columnsOrder', columnsOrder);
|
|
31
|
-
console.log('columnsConfigOptions', columnsConfigOptions);
|
|
32
|
-
console.log('updatedColumnsOrder', updatedColumnsOrder);
|
|
33
18
|
var columnsConfigValues = useMemo(function () {
|
|
34
19
|
return columns === null || columns === void 0 ? void 0 : columns.filter(function (column) {
|
|
35
20
|
var _a;
|
|
@@ -38,65 +23,12 @@ var useManageColumn = function (_a) {
|
|
|
38
23
|
}).map(function (column) { return column.name; });
|
|
39
24
|
}, [columnConfig, columns]);
|
|
40
25
|
var onConfirmForm = useCallback(function () {
|
|
41
|
-
setColumnConfig === null || setColumnConfig === void 0 ? void 0 : setColumnConfig(columnsConfigOptions);
|
|
42
|
-
|
|
43
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
44
|
-
}, [columnsConfigOptions, updatedColumnsOrder, onClose, setColumnConfig]);
|
|
26
|
+
(setColumnConfig === null || setColumnConfig === void 0 ? void 0 : setColumnConfig(columnsConfigOptions)) && (onClose === null || onClose === void 0 ? void 0 : onClose());
|
|
27
|
+
}, [columnsConfigOptions, onClose, setColumnConfig]);
|
|
45
28
|
var resetColumnConfig = useCallback(function () {
|
|
46
|
-
|
|
47
|
-
resetGrid === null || resetGrid === void 0 ? void 0 : resetGrid();
|
|
48
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
29
|
+
(resetGrid === null || resetGrid === void 0 ? void 0 : resetGrid()) && (onClose === null || onClose === void 0 ? void 0 : onClose());
|
|
49
30
|
setColumnsConfigOptions(columnConfig || {});
|
|
50
31
|
}, [onClose, resetGrid]);
|
|
51
|
-
|
|
52
|
-
setUpdatedColumnsOrder(columnsOrder !== null && columnsOrder !== void 0 ? columnsOrder : []);
|
|
53
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
54
|
-
}, []);
|
|
55
|
-
var handleDragEnd = useCallback(function (isManageModal) {
|
|
56
|
-
if (isManageModal === void 0) { isManageModal = false; }
|
|
57
|
-
return function (item) {
|
|
58
|
-
var destination = item.destination, source = item.source;
|
|
59
|
-
var to = destination === null || destination === void 0 ? void 0 : destination.index;
|
|
60
|
-
var from = source === null || source === void 0 ? void 0 : source.index;
|
|
61
|
-
if (to === from || !destination) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
var newOrderColumns = __spreadArray([], (isManageModal ? updatedColumnsOrder : columnsOrder !== null && columnsOrder !== void 0 ? columnsOrder : []), true);
|
|
65
|
-
var fromIndex = newOrderColumns.findIndex(function (column) { return columns[from].name === column; });
|
|
66
|
-
var toIndex = newOrderColumns.findIndex(function (column) { return to && columns[to].name === column; });
|
|
67
|
-
// move column from a position to the new position
|
|
68
|
-
var column = newOrderColumns[fromIndex];
|
|
69
|
-
newOrderColumns.splice(fromIndex, 1);
|
|
70
|
-
newOrderColumns.splice(toIndex < 0 ? 0 : toIndex, 0, column);
|
|
71
|
-
if (!isManageModal) {
|
|
72
|
-
setColumnsOrder === null || setColumnsOrder === void 0 ? void 0 : setColumnsOrder(newOrderColumns);
|
|
73
|
-
}
|
|
74
|
-
setUpdatedColumnsOrder(newOrderColumns);
|
|
75
|
-
};
|
|
76
|
-
}, [columns, updatedColumnsOrder]);
|
|
77
|
-
var displayColumnsDefinitions = useMemo(function () {
|
|
78
|
-
return (!hideColumnConfig ? columns.filter(function (column) { return isColumnOn(column, columnConfig); }) : columns).sort(function (col1, col2) {
|
|
79
|
-
var i = (columnsOrder || []).indexOf(col1.name);
|
|
80
|
-
var j = (columnsOrder || []).indexOf(col2.name);
|
|
81
|
-
return i > j ? 1 : i < j ? -1 : 0;
|
|
82
|
-
});
|
|
83
|
-
}, [hideColumnConfig, columnConfig, columns, columnsOrder]);
|
|
84
|
-
var manageColumnsFormDefinitions = useMemo(function () {
|
|
85
|
-
return (!hideColumnConfig ? columns.filter(function (column) { return isColumnOn(column, columnConfig); }) : columns).sort(function (col1, col2) {
|
|
86
|
-
var i = (updatedColumnsOrder || []).indexOf(col1.name);
|
|
87
|
-
var j = (updatedColumnsOrder || []).indexOf(col2.name);
|
|
88
|
-
return i > j ? 1 : i < j ? -1 : 0;
|
|
89
|
-
});
|
|
90
|
-
}, [hideColumnConfig, columnConfig, columns, columnsOrder]);
|
|
91
|
-
return {
|
|
92
|
-
columnsConfigValues: columnsConfigValues,
|
|
93
|
-
setColumnsConfigOptions: setColumnsConfigOptions,
|
|
94
|
-
onConfirmForm: onConfirmForm,
|
|
95
|
-
resetColumnConfig: resetColumnConfig,
|
|
96
|
-
handleDragEnd: handleDragEnd,
|
|
97
|
-
onCloseForm: onCloseForm,
|
|
98
|
-
displayColumnsDefinitions: displayColumnsDefinitions,
|
|
99
|
-
manageColumnsFormDefinitions: manageColumnsFormDefinitions,
|
|
100
|
-
};
|
|
32
|
+
return { columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, onConfirmForm: onConfirmForm, resetColumnConfig: resetColumnConfig };
|
|
101
33
|
};
|
|
102
34
|
export default useManageColumn;
|
|
@@ -6,10 +6,8 @@ export declare const ContentContainer: import("styled-components").StyledCompone
|
|
|
6
6
|
export declare const CommonGridWrap: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
|
|
7
7
|
export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
|
|
8
8
|
export declare const StyledColumnButton: import("styled-components").StyledComponent<({ isLoading, loadingText, icon, appearance, disabled, sizing, buttonRef, onClick, fullWidth, ...props }: import("../../Elements/Button/types").Props) => JSX.Element, import("@xstyled/system").Theme, {}, never>;
|
|
9
|
-
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters,
|
|
9
|
+
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, hideColumnConfig, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: import("./types").CommonGridProps & {
|
|
10
10
|
filters?: import("./types").FiltersConfig | undefined;
|
|
11
|
-
handleDragEnd: (item: import("react-beautiful-dnd").DropResult) => void;
|
|
12
|
-
displayColumnsDefinitions: import("./types").ColumnDefinition[];
|
|
13
11
|
}) => JSX.Element, import("@xstyled/system").Theme, {
|
|
14
12
|
onRowClick?: Function | undefined;
|
|
15
13
|
height?: number | undefined;
|
package/ui/Blocks/Modal/Modal.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { memo, useCallback, useMemo, useEffect } from 'react';
|
|
3
3
|
import { Icon, Cancel } from '../../Elements/Icon';
|
|
4
4
|
import { H2, H5 } from '../../Elements/Typography';
|
|
5
|
-
import { DialogOverlay, DialogWindow, HeaderContainer, ButtonsContainer, ContentContainer, TitleContainer, CloseButton, } from './styles';
|
|
5
|
+
import { DialogOverlay, DialogWindow, HeaderContainer, ButtonsContainer, ContentContainer, TitleContainer, CloseButton, ButtonsWrapper, } from './styles';
|
|
6
6
|
import { x } from '@xstyled/styled-components';
|
|
7
7
|
import { Button } from '../../Elements/Button';
|
|
8
8
|
import { Portal } from '../../Elements/Portal';
|
|
@@ -32,5 +32,5 @@ export var Modal = memo(function (_a) {
|
|
|
32
32
|
if (!isShown) {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$backgroundColor": background, top: top, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, variant: variant, children: [title && hasHeader && (_jsx(HeaderContainer, { variant: variant, children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), variant == 'default' ? (_jsx(H2, { mt: 0, mb: 0, variant: "bold", children: title })) : (_jsx(H5, { mt: 0, mb: 0, variant: "bold", children: title }))] }) })), withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Cancel, { width: "11px", height: "11px" }) })), _jsx(ContentContainer, { variant: variant, children: children }), hasFooter && (onExtraAction || onCancel || onConfirm) && (_jsxs(ButtonsContainer, { hasSpaceBetween: !!onExtraAction, children: [onExtraAction && (_jsx(Button, { type: "button", onClick: onExtraAction, isLoading: isLoading, "data-cy": "extraActionBtn", appearance: "ghostDanger", children: extraActionLabel })), _jsxs(
|
|
35
|
+
return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$backgroundColor": background, top: top, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, variant: variant, children: [title && hasHeader && (_jsx(HeaderContainer, { variant: variant, children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), variant == 'default' ? (_jsx(H2, { mt: 0, mb: 0, variant: "bold", children: title })) : (_jsx(H5, { mt: 0, mb: 0, variant: "bold", children: title }))] }) })), withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Cancel, { width: "11px", height: "11px" }) })), _jsx(ContentContainer, { variant: variant, children: children }), hasFooter && (onExtraAction || onCancel || onConfirm) && (_jsxs(ButtonsContainer, { hasSpaceBetween: !!onExtraAction, children: [onExtraAction && (_jsx(Button, { type: "button", onClick: onExtraAction, isLoading: isLoading, "data-cy": "extraActionBtn", appearance: "ghostDanger", children: extraActionLabel })), _jsxs(ButtonsWrapper, { hasExtraAction: !!onExtraAction, hasBothButtons: !!onCancel && !!onConfirm, children: [onCancel && (_jsx(Button, { type: "button", onClick: onCancel, isLoading: isLoading, "data-cy": "cancelBtn", appearance: "primaryLight", children: cancelLabel ? cancelLabel : 'Cancel' })), onConfirm && (_jsx(Button, { type: "button", onClick: onDialogConfirmClick, isLoading: isLoading, disabled: isConfirmDisabled, "data-cy": "submitBtn", children: confirmLabel ? confirmLabel : 'Submit' }))] })] }))] }) }) }));
|
|
36
36
|
});
|
|
@@ -32,7 +32,7 @@ export var ModalTopPosition = {
|
|
|
32
32
|
title: 'Modal default version',
|
|
33
33
|
children: _jsx(_Fragment, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed condimentum id eros ac consequat." }),
|
|
34
34
|
variant: 'default',
|
|
35
|
-
top: '0'
|
|
35
|
+
top: '0',
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
export var ModalWithCloseAndConfirmBtns = {
|
|
@@ -40,6 +40,10 @@ export var ModalWithCloseAndConfirmBtns = {
|
|
|
40
40
|
children: _jsx(_Fragment, { children: "Modal with narrow width" }),
|
|
41
41
|
title: 'Modal title',
|
|
42
42
|
width: 'narrow',
|
|
43
|
+
withCloseIcon: true,
|
|
44
|
+
onCancel: function () { return console.log('Cancel'); },
|
|
45
|
+
onConfirm: function () { return console.log('Confirm'); },
|
|
46
|
+
onExtraAction: undefined,
|
|
43
47
|
},
|
|
44
48
|
};
|
|
45
49
|
export var ModalWithoutCloseButton = {
|
|
@@ -21,4 +21,8 @@ export declare const TitleContainer: import("styled-components").StyledComponent
|
|
|
21
21
|
export declare const ButtonsContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
|
|
22
22
|
hasSpaceBetween: boolean;
|
|
23
23
|
}, never>;
|
|
24
|
+
export declare const ButtonsWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
|
|
25
|
+
hasExtraAction: boolean;
|
|
26
|
+
hasBothButtons: boolean;
|
|
27
|
+
}, never>;
|
|
24
28
|
export declare const CloseButton: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
@@ -67,9 +67,16 @@ export var ContentContainer = styled.div(templateObject_13 || (templateObject_13
|
|
|
67
67
|
return variantStyles(Component.ContentContainer, variant);
|
|
68
68
|
});
|
|
69
69
|
export var TitleContainer = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n flex-flow: row;\n align-items: center;\n color: typoPrimary;\n padding-right: 34px;\n\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"], ["\n display: flex;\n flex-flow: row;\n align-items: center;\n color: typoPrimary;\n padding-right: 34px;\n\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"])));
|
|
70
|
-
export var ButtonsContainer = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n padding: 1.5rem;\n border-top: 1px solid ", ";\n text-align: right;\n justify-content: ", ";\n
|
|
70
|
+
export var ButtonsContainer = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n padding: 1.5rem;\n border-top: 1px solid ", ";\n text-align: right;\n justify-content: ", ";\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"], ["\n display: flex;\n align-items: center;\n padding: 1.5rem;\n border-top: 1px solid ", ";\n text-align: right;\n justify-content: ", ";\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"])), th.color('lightGray6'), function (_a) {
|
|
71
71
|
var hasSpaceBetween = _a.hasSpaceBetween;
|
|
72
72
|
return (hasSpaceBetween ? 'space-between' : 'flex-end');
|
|
73
73
|
});
|
|
74
|
-
export var
|
|
75
|
-
var
|
|
74
|
+
export var ButtonsWrapper = styled.div(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n width: ", ";\n display: flex;\n justify-content: inherit;\n column-gap: 8px;\n\n @media (max-width: 576px) {\n & > button {\n width: ", ";\n }\n }\n"], ["\n width: ", ";\n display: flex;\n justify-content: inherit;\n column-gap: 8px;\n\n @media (max-width: 576px) {\n & > button {\n width: ", ";\n }\n }\n"])), function (_a) {
|
|
75
|
+
var hasExtraAction = _a.hasExtraAction;
|
|
76
|
+
return (hasExtraAction ? 'auto' : '100%');
|
|
77
|
+
}, function (_a) {
|
|
78
|
+
var hasBothButtons = _a.hasBothButtons;
|
|
79
|
+
return (hasBothButtons ? '50%' : 'auto');
|
|
80
|
+
});
|
|
81
|
+
export var CloseButton = styled.div(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n position: absolute;\n z-index: 2;\n background-color: bgLightGray1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n top: 11px;\n right: 20px;\n width: 34px;\n height: 34px;\n"], ["\n position: absolute;\n z-index: 2;\n background-color: bgLightGray1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n top: 11px;\n right: 20px;\n width: 34px;\n height: 34px;\n"])));
|
|
82
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17;
|
package/ui/Blocks/Tabs/Tabs.js
CHANGED
|
@@ -5,11 +5,11 @@ import { Text } from '../../Elements/Text';
|
|
|
5
5
|
import { Icon } from '../../Elements/Icon';
|
|
6
6
|
var Tab = function (_a) {
|
|
7
7
|
var tabDefinition = _a.tabDefinition, value = _a.value, isActive = _a.isActive, onTabSwitch = _a.onTabSwitch;
|
|
8
|
-
var icon = tabDefinition.icon, label = tabDefinition.label, badgeCount = tabDefinition.badgeCount;
|
|
8
|
+
var icon = tabDefinition.icon, label = tabDefinition.label, badgeCount = tabDefinition.badgeCount, disabled = tabDefinition.disabled;
|
|
9
9
|
var handleOnClick = useCallback(function () {
|
|
10
10
|
onTabSwitch(value);
|
|
11
11
|
}, [onTabSwitch, value]);
|
|
12
|
-
return (_jsx(StyledTabWrapper, { children: _jsxs(StyledTab, { onClick: handleOnClick, active: isActive, children: [icon && (_jsx(StyledImageBox, { children: _jsx(Icon, { icon: icon }) })), _jsx(Text, { children: label }), isActive && badgeCount && badgeCount > 0 && (_jsx(RoundedWrap, { children: _jsx(Text, { variant: "medium", children: badgeCount }) }))] }) }));
|
|
12
|
+
return (_jsx(StyledTabWrapper, { children: _jsxs(StyledTab, { onClick: !disabled ? handleOnClick : undefined, active: isActive, disabled: disabled, children: [icon && (_jsx(StyledImageBox, { children: _jsx(Icon, { icon: icon }) })), _jsx(Text, { children: label }), isActive && badgeCount && badgeCount > 0 && (_jsx(RoundedWrap, { children: _jsx(Text, { variant: "medium", children: badgeCount }) }))] }) }));
|
|
13
13
|
};
|
|
14
14
|
export var Tabs = function (_a) {
|
|
15
15
|
var tabsDefinition = _a.tabsDefinition, activeTab = _a.activeTab, onTabSwitch = _a.onTabSwitch, mb = _a.mb;
|
|
@@ -4,6 +4,7 @@ export declare const StyledTabWrapper: import("styled-components").StyledCompone
|
|
|
4
4
|
export declare const RoundedWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
|
|
5
5
|
export declare const Tab: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
|
|
6
6
|
active: boolean;
|
|
7
|
+
disabled?: boolean | undefined;
|
|
7
8
|
}, never>;
|
|
8
9
|
export declare const TabPanel: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
|
|
9
10
|
$mb?: string | undefined;
|
package/ui/Blocks/Tabs/styles.js
CHANGED
|
@@ -7,7 +7,10 @@ export var StyledImageBox = styled(x.div)(templateObject_1 || (templateObject_1
|
|
|
7
7
|
export var StyledTabWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: baseline;\n"], ["\n display: flex;\n flex-direction: row;\n align-items: baseline;\n"])));
|
|
8
8
|
export var RoundedWrap = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex !important;\n justify-content: center;\n align-items: center;\n height: 23px;\n background-color: ", ";\n border-radius: 29px;\n padding: 3px 10px;\n margin-left: 8px;\n"], ["\n display: flex !important;\n justify-content: center;\n align-items: center;\n height: 23px;\n background-color: ", ";\n border-radius: 29px;\n padding: 3px 10px;\n margin-left: 8px;\n"])), th.color('lightGray7'));
|
|
9
9
|
var activeTab = css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 2;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 4px;\n border-radius: 6px 6px 0px 0px;\n }\n & > div {\n display: inline;\n color: ", ";\n }\n"], ["\n color: ", ";\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 2;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 4px;\n border-radius: 6px 6px 0px 0px;\n }\n & > div {\n display: inline;\n color: ", ";\n }\n"])), th.color('red1'), th.color('red1'), th.color('typoPrimary'));
|
|
10
|
-
export var Tab = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"])), th.color('gray'), th.color('typoPrimary'),
|
|
10
|
+
export var Tab = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"])), th.color('gray'), th.color('typoPrimary'), function (_a) {
|
|
11
|
+
var disabled = _a.disabled;
|
|
12
|
+
return !disabled && activeTab;
|
|
13
|
+
}, function (_a) {
|
|
11
14
|
var active = _a.active;
|
|
12
15
|
return (active ? activeTab : '');
|
|
13
16
|
});
|
|
@@ -11,7 +11,7 @@ var ErrorWrap = styled.div(templateObject_2 || (templateObject_2 = __makeTemplat
|
|
|
11
11
|
var StyledWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n .inline {\n margin-top: 1;\n svg {\n margin-right: 2;\n }\n }\n .tooltip {\n ", "\n svg {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n"], ["\n .inline {\n margin-top: 1;\n svg {\n margin-right: 2;\n }\n }\n .tooltip {\n ", "\n svg {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n"])), tooltip);
|
|
12
12
|
var ErrorMessage = function (_a) {
|
|
13
13
|
var children = _a.children, appearance = _a.appearance;
|
|
14
|
-
return (_jsx(StyledWrapper, { children: _jsxs(ErrorWrap, { className: appearance, children: [_jsx(Icon, { icon: "
|
|
14
|
+
return (_jsx(StyledWrapper, { children: _jsxs(ErrorWrap, { className: appearance, children: [_jsx(Icon, { icon: "deleteX" }), _jsx("span", { children: children })] }) }));
|
|
15
15
|
};
|
|
16
16
|
export default ErrorMessage;
|
|
17
17
|
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -8,9 +8,6 @@ type CustomTheme = Omit<BaseStylesTheme, 'colors'> & {
|
|
|
8
8
|
inputBorderHoverColor: string;
|
|
9
9
|
menuHoverBackgroundColor: string;
|
|
10
10
|
dropdownIndicatorColor: string;
|
|
11
|
-
hoverToActiveOptionBackground: string;
|
|
12
|
-
scrollbarThumbColor: string;
|
|
13
|
-
scrollbarTrackColor: string;
|
|
14
11
|
};
|
|
15
12
|
textWeightRegular: string;
|
|
16
13
|
textWeightSemiBold: string;
|