@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.
Files changed (43) hide show
  1. package/package.json +1 -1
  2. package/ui/Blocks/CommonGrid/CommonGrid.d.ts +2 -5
  3. package/ui/Blocks/CommonGrid/CommonGrid.js +13 -4
  4. package/ui/Blocks/CommonGrid/CommonGridContainer.js +3 -4
  5. package/ui/Blocks/CommonGrid/components/HeadRow.d.ts +3 -3
  6. package/ui/Blocks/CommonGrid/components/HeadRow.js +26 -1
  7. package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.d.ts +1 -3
  8. package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.js +4 -16
  9. package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.d.ts +1 -5
  10. package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.js +4 -5
  11. package/ui/Blocks/CommonGrid/hooks/useManageColumn.d.ts +3 -9
  12. package/ui/Blocks/CommonGrid/hooks/useManageColumn.js +7 -75
  13. package/ui/Blocks/CommonGrid/styles.d.ts +1 -3
  14. package/ui/Blocks/Modal/Modal.js +2 -2
  15. package/ui/Blocks/Modal/stories/Modal.stories.js +5 -1
  16. package/ui/Blocks/Modal/styles.d.ts +4 -0
  17. package/ui/Blocks/Modal/styles.js +10 -3
  18. package/ui/Blocks/Tabs/Tabs.js +2 -2
  19. package/ui/Blocks/Tabs/styles.d.ts +1 -0
  20. package/ui/Blocks/Tabs/styles.js +4 -1
  21. package/ui/Blocks/Tabs/types.d.ts +1 -0
  22. package/ui/Elements/ErrorMessage/ErrorMessage.js +1 -1
  23. package/ui/Elements/Select/themes/formStyles.d.ts +0 -3
  24. package/ui/Elements/Select/themes/formStyles.js +1 -10
  25. package/ui/Elements/Text/types.d.ts +2 -2
  26. package/ui/Forms/Checkbox/Checkbox.js +3 -2
  27. package/ui/Forms/Checkbox/stories/Checkbox.stories.js +1 -1
  28. package/ui/Forms/Checkbox/styles.d.ts +1 -1
  29. package/ui/Forms/Checkbox/styles.js +1 -1
  30. package/ui/Forms/RadioButton/RadioButton.js +4 -1
  31. package/ui/Forms/RadioButton/styles.d.ts +1 -1
  32. package/ui/Forms/RadioButton/styles.js +1 -1
  33. package/ui/ThemeProvider/themes/default.js +1 -1
  34. package/ui/index.d.ts +1 -3
  35. package/ui/index.es.js +8783 -8812
  36. package/ui/index.js +1 -3
  37. package/ui/index.umd.js +433 -426
  38. package/ui/Elements/Paragraph/Paragraph.d.ts +0 -2
  39. package/ui/Elements/Paragraph/Paragraph.js +0 -3
  40. package/ui/Elements/Paragraph/index.d.ts +0 -3
  41. package/ui/Elements/Paragraph/index.js +0 -3
  42. package/ui/Elements/Paragraph/stories/Paragraph.stories.d.ts +0 -17
  43. package/ui/Elements/Paragraph/stories/Paragraph.stories.js +0 -34
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.6.3-beta.8",
3
+ "version": "0.6.3",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -1,9 +1,6 @@
1
- import { CommonGridProps, FiltersConfig, ColumnDefinition } from './types';
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, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, displayColumnsDefinitions, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: Props) => JSX.Element;
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, handleDragEnd = _a.handleDragEnd,
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, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, gridRef = _a.gridRef, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps;
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, handleDragEnd: handleDragEnd }), 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 &&
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, hideColumnConfig = props.hideColumnConfig, passDownProps = __rest(props, ["optimizeFilters", "extraControlButtons", "eshopSelect", "onBatchAction", "processCheckedValues", "processCheckedValuesTitle", "hideControlButtons", "floatingButtonProps", "queryRowsParam", "customPaginationHandler", "hideColumnConfig"]);
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
- hideColumnConfig: hideColumnConfig,
64
- }), columnsConfigValues = _d.columnsConfigValues, setColumnsConfigOptions = _d.setColumnsConfigOptions, onConfirmForm = _d.onConfirmForm, resetColumnConfig = _d.resetColumnConfig, handleDragEnd = _d.handleDragEnd, onCloseForm = _d.onCloseForm, displayColumnsDefinitions = _d.displayColumnsDefinitions, manageColumnsFormDefinitions = _d.manageColumnsFormDefinitions;
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, handleDragEnd, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups, }: HeadRowProps) => JSX.Element;
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, handleDragEnd = _a.handleDragEnd, _c = _a.sortingValues, sortingValues = _c === void 0 ? [] : _c, displayColumnsWidth = _a.displayColumnsWidth, columnLayout = _a.columnLayout, handleResizeDrag = _a.handleResizeDrag, groups = _a.groups;
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, handleDragEnd, }: ManageColumnProps) => JSX.Element;
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, handleDragEnd = _a.handleDragEnd;
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(DragDropContext, { onDragEnd: handleDragEnd, children: _jsx(Droppable, { droppableId: "droppable", direction: "vertical", children: function (droppableProvided) { return (_jsx(x.div, __assign({ h: "400px", overflowY: "scroll", mt: "20px", ref: droppableProvided.innerRef }, droppableProvided.droppableProps, { children: columns === null || columns === void 0 ? void 0 : columns.map(function (column, index) {
29
- return (_jsx(Draggable, { draggableId: column.name, index: index, isDragDisabled: !!searchedValue, children: function (draggableProvided, snapshot) { return (_jsx(ActionRow, { column: column, innerRef: draggableProvided.innerRef, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, searchedValue: searchedValue, draggableProps: draggableProvided.draggableProps, dragHandleProps: draggableProvided.dragHandleProps }, index)); } }, column.name));
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, innerRef, draggableProps, dragHandleProps, }: ActionRowProps) => import("react/jsx-runtime").JSX.Element;
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, useMemo, useState } from 'react';
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 background-color: white;\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 background-color: white;\n border: 1px solid ", ";\n border-radius: 8px;\n margin-bottom: 15px;\n"])), function (_a) {
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, innerRef = _a.innerRef, draggableProps = _a.draggableProps, dragHandleProps = _a.dragHandleProps;
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, __assign({ "$isVisible": isVisible }, draggableProps, dragHandleProps, { ref: innerRef, style: style, 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, {})] })));
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
- import { DropResult } from 'react-beautiful-dnd';
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, hideColumnConfig }: Props) => {
9
+ declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose }: Props) => {
12
10
  columnsConfigValues: string[];
13
- setColumnsConfigOptions: React.Dispatch<React.SetStateAction<{
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, hideColumnConfig = _a.hideColumnConfig;
25
- var resetGrid = gridActions.resetGrid, setColumnConfig = gridActions.setColumnConfig, setColumnsOrder = gridActions.setColumnsOrder;
26
- var columnConfig = gridSelectors.columnConfig, columnsOrder = gridSelectors.columnsOrder;
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
- setColumnsOrder === null || setColumnsOrder === void 0 ? void 0 : setColumnsOrder(updatedColumnsOrder);
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
- setUpdatedColumnsOrder([]);
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
- var onCloseForm = useCallback(function () {
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, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, displayColumnsDefinitions, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: import("./types").CommonGridProps & {
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;
@@ -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(x.div, { 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' }))] })] }))] }) }) }));
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 > div > * {\n margin: 0 0.5em;\n }\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 > div > * {\n margin: 0 0.5em;\n }\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) {
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 CloseButton = styled.div(templateObject_16 || (templateObject_16 = __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"])));
75
- 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;
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;
@@ -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;
@@ -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'), activeTab, function (_a) {
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
  });
@@ -4,6 +4,7 @@ export type TabDefinition = {
4
4
  icon?: string;
5
5
  badgeCount?: number;
6
6
  default?: true;
7
+ disabled?: boolean;
7
8
  };
8
9
  export type TabsProps = {
9
10
  tabsDefinition: TabDefinition[];
@@ -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: "danger" }), _jsx("span", { children: children })] }) }));
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;