@mailstep/design-system 0.6.2 → 0.6.3-beta.10

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 (41) hide show
  1. package/package.json +1 -1
  2. package/ui/Blocks/CommonGrid/CommonGrid.d.ts +5 -2
  3. package/ui/Blocks/CommonGrid/CommonGrid.js +4 -22
  4. package/ui/Blocks/CommonGrid/CommonGridContainer.js +4 -3
  5. package/ui/Blocks/CommonGrid/components/HeadRow.d.ts +3 -3
  6. package/ui/Blocks/CommonGrid/components/HeadRow.js +1 -26
  7. package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.d.ts +3 -1
  8. package/ui/Blocks/CommonGrid/components/ManageColumnForm/ManageColumnForm.js +16 -4
  9. package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.d.ts +5 -1
  10. package/ui/Blocks/CommonGrid/components/ManageColumnForm/components/ActionRow.js +5 -4
  11. package/ui/Blocks/CommonGrid/hooks/useManageColumn.d.ts +7 -1
  12. package/ui/Blocks/CommonGrid/hooks/useManageColumn.js +77 -7
  13. package/ui/Blocks/CommonGrid/styles.d.ts +3 -1
  14. package/ui/Blocks/Modal/Modal.js +2 -2
  15. package/ui/Blocks/Modal/stories/Modal.stories.js +1 -5
  16. package/ui/Blocks/Modal/styles.d.ts +0 -4
  17. package/ui/Blocks/Modal/styles.js +3 -10
  18. package/ui/Blocks/Tabs/Tabs.js +2 -2
  19. package/ui/Blocks/Tabs/types.d.ts +0 -1
  20. package/ui/Elements/ErrorMessage/ErrorMessage.js +1 -1
  21. package/ui/Elements/Paragraph/Paragraph.d.ts +2 -0
  22. package/ui/Elements/Paragraph/Paragraph.js +3 -0
  23. package/ui/Elements/Paragraph/index.d.ts +3 -0
  24. package/ui/Elements/Paragraph/index.js +3 -0
  25. package/ui/Elements/Paragraph/stories/Paragraph.stories.d.ts +17 -0
  26. package/ui/Elements/Paragraph/stories/Paragraph.stories.js +34 -0
  27. package/ui/Elements/Select/themes/formStyles.d.ts +3 -0
  28. package/ui/Elements/Select/themes/formStyles.js +10 -1
  29. package/ui/Elements/Text/types.d.ts +2 -2
  30. package/ui/Forms/Checkbox/Checkbox.js +2 -3
  31. package/ui/Forms/Checkbox/stories/Checkbox.stories.js +1 -1
  32. package/ui/Forms/Checkbox/styles.d.ts +1 -1
  33. package/ui/Forms/Checkbox/styles.js +1 -1
  34. package/ui/Forms/RadioButton/RadioButton.js +1 -4
  35. package/ui/Forms/RadioButton/styles.d.ts +1 -1
  36. package/ui/Forms/RadioButton/styles.js +1 -1
  37. package/ui/ThemeProvider/themes/default.js +1 -1
  38. package/ui/index.d.ts +3 -1
  39. package/ui/index.es.js +9618 -9600
  40. package/ui/index.js +3 -1
  41. package/ui/index.umd.js +409 -416
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.6.2",
3
+ "version": "0.6.3-beta.10",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -1,6 +1,9 @@
1
- import { CommonGridProps, FiltersConfig } from './types';
1
+ import { CommonGridProps, FiltersConfig, ColumnDefinition } from './types';
2
+ import { DropResult } from 'react-beautiful-dnd';
2
3
  type Props = CommonGridProps & {
3
4
  filters?: FiltersConfig;
5
+ handleDragEnd: (item: DropResult) => void;
6
+ displayColumnsDefinitions: ColumnDefinition[];
4
7
  };
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;
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;
6
9
  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 { isColumnOn, getGroups } from './utils';
24
+ import { 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,13 +35,12 @@ var defaultVoidFunction = function () {
35
35
  };
36
36
  var defaultUxState = initialState.uxState;
37
37
  var defaultColumnsWidth = {};
38
- var defaultPerPageOptions = [10, 20, 50, 100];
39
38
  var CommonGrid = function (_a) {
40
- var filters = _a.filters,
39
+ var filters = _a.filters, handleDragEnd = _a.handleDragEnd,
41
40
  // redux props
42
41
  gridSelectors = _a.gridSelectors, gridActions = _a.gridActions,
43
42
  // input props
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;
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;
45
44
  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;
46
45
  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;
47
46
  var handleRowsKeyDown = useRowsKeyControls(rowsData, uxState, handleUxChange);
@@ -59,23 +58,6 @@ var CommonGrid = function (_a) {
59
58
  console.error('The Right sticky column should be the last one in a row');
60
59
  }
61
60
  }, [columnsDefinitions]);
62
- // todo refactor as part of definitions
63
- var columnsOrder = React.useMemo(function () {
64
- var _a;
65
- var order = ((_a = gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.columnsOrder) === null || _a === void 0 ? void 0 : _a.length)
66
- ? gridSelectors.columnsOrder
67
- : columnsDefinitions.map(function (column) { return column.name; });
68
- checksColumnsOrder(order);
69
- return order;
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]);
79
61
  var GridMessage;
80
62
  var messageClass = 'info';
81
63
  if (isLoading)
@@ -94,7 +76,7 @@ var CommonGrid = function (_a) {
94
76
  gridBoxRef.current = node;
95
77
  !!gridRef && (gridRef.current = node);
96
78
  }, []);
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 &&
79
+ 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 &&
98
80
  rowsData &&
99
81
  displayColumnsDefinitions &&
100
82
  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, passDownProps = __rest(props, ["optimizeFilters", "extraControlButtons", "eshopSelect", "onBatchAction", "processCheckedValues", "processCheckedValuesTitle", "hideControlButtons", "floatingButtonProps", "queryRowsParam", "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, hideColumnConfig = props.hideColumnConfig, passDownProps = __rest(props, ["optimizeFilters", "extraControlButtons", "eshopSelect", "onBatchAction", "processCheckedValues", "processCheckedValuesTitle", "hideControlButtons", "floatingButtonProps", "queryRowsParam", "customPaginationHandler", "hideColumnConfig"]);
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,7 +60,8 @@ var StyledCommonGrid = function (props) {
60
60
  gridActions: gridActions,
61
61
  gridSelectors: gridSelectors,
62
62
  onClose: onClose,
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 }) }))] }));
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) }) }))] }));
65
66
  };
66
67
  export default StyledCommonGrid;
@@ -1,15 +1,15 @@
1
+ import { DropResult } from 'react-beautiful-dnd';
1
2
  import { Settings, ColumnDefinition, ActionColumn, GridSelectorsType, Group, CommonGridProps, GridActionsType } from '../types';
2
3
  type HeadRowProps = {
3
4
  actionColumn?: ActionColumn;
4
5
  columns: ColumnDefinition[];
5
- columnsOrder?: string[];
6
6
  onAddSort: GridActionsType['addSorting'];
7
- setColumnsOrder: (columnsOrder: string[]) => void;
8
7
  sortingValues?: Settings['sorting'];
9
8
  displayColumnsWidth: Required<GridSelectorsType>['columnsWidth'];
10
9
  columnLayout: Required<CommonGridProps>['columnLayout'];
11
10
  handleResizeDrag: (column: string, width: number) => void;
11
+ handleDragEnd: (item: DropResult) => void;
12
12
  groups: Group[];
13
13
  };
14
- declare const HeadRow: ({ columns, actionColumn, onAddSort, setColumnsOrder, columnsOrder, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups, }: HeadRowProps) => JSX.Element;
14
+ declare const HeadRow: ({ columns, actionColumn, onAddSort, handleDragEnd, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups, }: HeadRowProps) => JSX.Element;
15
15
  export default HeadRow;
@@ -9,15 +9,6 @@ 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 { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
22
13
  import React, { useEffect, useState } from 'react';
23
14
  import { DragDropContext, Droppable, Draggable, } from 'react-beautiful-dnd';
@@ -30,27 +21,11 @@ var getStickyComponent = function (columns, stickyTo, displayColumnsWidth) {
30
21
  };
31
22
  var HeadRow = function (_a) {
32
23
  var _b;
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;
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;
34
25
  var _d = useState(false), showUIElements = _d[0], setShowUIElements = _d[1];
35
26
  useEffect(function () {
36
27
  setShowUIElements(true);
37
28
  }, []);
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]);
54
29
  var _e = useState(false), isDragDisabled = _e[0], setIsDragDisabled = _e[1];
55
30
  var onResizeOver = React.useCallback(function () {
56
31
  setIsDragDisabled(true);
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  import { ColumnConfig, CommonGridProps } from '../../types';
3
+ import { DropResult } from 'react-beautiful-dnd';
3
4
  type ManageColumnProps = {
4
5
  columns?: CommonGridProps['columnsDefinitions'];
5
6
  columnsConfigValues?: string[];
6
7
  setColumnsConfigOptions: (value: React.SetStateAction<{
7
8
  [x: string]: ColumnConfig | {};
8
9
  }>) => void;
10
+ handleDragEnd: (item: DropResult) => void;
9
11
  };
10
- declare const ManageColumnForm: ({ columns, columnsConfigValues, setColumnsConfigOptions }: ManageColumnProps) => JSX.Element;
12
+ declare const ManageColumnForm: ({ columns, columnsConfigValues, setColumnsConfigOptions, handleDragEnd, }: ManageColumnProps) => JSX.Element;
11
13
  export default ManageColumnForm;
@@ -1,11 +1,23 @@
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
+ };
1
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
13
  import { useCallback, useState } from 'react';
3
14
  import { x } from '@xstyled/styled-components';
4
15
  import { ActionRow } from './components/ActionRow';
5
16
  import { Input } from '../../../../Forms/Input/Input';
6
17
  import { i18n } from '@lingui/core';
18
+ import { DragDropContext, Draggable, Droppable, } from 'react-beautiful-dnd';
7
19
  var ManageColumnForm = function (_a) {
8
- var columns = _a.columns, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions;
20
+ var columns = _a.columns, columnsConfigValues = _a.columnsConfigValues, setColumnsConfigOptions = _a.setColumnsConfigOptions, handleDragEnd = _a.handleDragEnd;
9
21
  var _b = useState(''), searchedValue = _b[0], setSearchedValue = _b[1];
10
22
  var onChangeInputValue = useCallback(function (e) {
11
23
  setSearchedValue(e.target.value);
@@ -13,8 +25,8 @@ var ManageColumnForm = function (_a) {
13
25
  var clear = useCallback(function () {
14
26
  setSearchedValue('');
15
27
  }, [setSearchedValue]);
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
- }) })] }));
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
+ }) }))); } }) })] }));
19
31
  };
20
32
  export default ManageColumnForm;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ColumnConfig, ColumnDefinition } from '../../../types';
3
+ import { DraggableProps, DraggableProvidedDragHandleProps } from 'react-beautiful-dnd';
3
4
  type ActionRowProps = {
4
5
  column: ColumnDefinition;
5
6
  columnsConfigValues: string[] | undefined;
@@ -7,6 +8,9 @@ type ActionRowProps = {
7
8
  [x: string]: ColumnConfig | {};
8
9
  }>) => void;
9
10
  searchedValue: string;
11
+ innerRef?: Function;
12
+ draggableProps?: DraggableProps | any;
13
+ dragHandleProps?: DraggableProvidedDragHandleProps | null;
10
14
  };
11
- export declare const ActionRow: ({ column, columnsConfigValues, setColumnsConfigOptions, searchedValue }: ActionRowProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const ActionRow: ({ column, columnsConfigValues, setColumnsConfigOptions, searchedValue, innerRef, draggableProps, dragHandleProps, }: ActionRowProps) => import("react/jsx-runtime").JSX.Element;
12
16
  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, useState } from 'react';
17
+ import { useCallback, useMemo, 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,14 +22,15 @@ 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(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) {
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) {
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, innerRef = _a.innerRef, draggableProps = _a.draggableProps, dragHandleProps = _a.dragHandleProps;
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]);
33
34
  var translatedValue = isObject(column === null || column === void 0 ? void 0 : column.title) &&
34
35
  'props' in column.title &&
35
36
  ((_c = column.title) === null || _c === void 0 ? void 0 : _c.props) &&
@@ -42,6 +43,6 @@ export var ActionRow = function (_a) {
42
43
  });
43
44
  setIsSelected(!isSelected);
44
45
  }, [setColumnsConfigOptions, isSelected, column.name]);
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, {})] }));
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, {})] })));
46
47
  };
47
48
  var templateObject_1;
@@ -1,12 +1,14 @@
1
1
  /// <reference types="react" />
2
+ import { DropResult } from 'react-beautiful-dnd';
2
3
  import { CommonGridProps, GridActionsType, GridSelectorsType } from '../types';
3
4
  type Props = {
4
5
  columns: CommonGridProps['columnsDefinitions'];
5
6
  gridActions: GridActionsType;
6
7
  gridSelectors: GridSelectorsType;
7
8
  onClose?: () => void;
9
+ hideColumnConfig?: boolean;
8
10
  };
9
- declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose }: Props) => {
11
+ declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose, hideColumnConfig }: Props) => {
10
12
  columnsConfigValues: string[];
11
13
  setColumnsConfigOptions: import("react").Dispatch<import("react").SetStateAction<{
12
14
  [x: string]: {
@@ -15,5 +17,9 @@ declare const useManageColumn: ({ columns, gridSelectors, gridActions, onClose }
15
17
  }>>;
16
18
  onConfirmForm: () => void;
17
19
  resetColumnConfig: () => void;
20
+ handleDragEnd: (isManageModal?: boolean) => (item: DropResult) => void;
21
+ onCloseForm: () => void;
22
+ displayColumnsDefinitions: import("../types").ColumnDefinition<string>[];
23
+ manageColumnsFormDefinitions: import("../types").ColumnDefinition<string>[];
18
24
  };
19
25
  export default useManageColumn;
@@ -9,12 +9,29 @@ 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 { useCallback, useMemo, useState } from 'react';
22
+ import { isColumnOn } from '../utils';
13
23
  var useManageColumn = function (_a) {
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;
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;
27
+ var initialColumnsOrder = useMemo(function () { return columns.map(function (col) { return col.name; }); }, []);
28
+ var columnsOrderValue = (columnsOrder === null || columnsOrder === void 0 ? void 0 : columnsOrder.length) ? columnsOrder : initialColumnsOrder;
17
29
  var _b = useState(__assign({}, columnConfig)), columnsConfigOptions = _b[0], setColumnsConfigOptions = _b[1];
30
+ var _c = useState(columnsOrderValue), updatedColumnsOrder = _c[0], setUpdatedColumnsOrder = _c[1];
31
+ console.log(9, 'columnConfig', columnConfig);
32
+ console.log('columnsOrder', columnsOrder);
33
+ console.log('columnsConfigOptions', columnsConfigOptions);
34
+ console.log('updatedColumnsOrder', updatedColumnsOrder);
18
35
  var columnsConfigValues = useMemo(function () {
19
36
  return columns === null || columns === void 0 ? void 0 : columns.filter(function (column) {
20
37
  var _a;
@@ -23,12 +40,65 @@ var useManageColumn = function (_a) {
23
40
  }).map(function (column) { return column.name; });
24
41
  }, [columnConfig, columns]);
25
42
  var onConfirmForm = useCallback(function () {
26
- (setColumnConfig === null || setColumnConfig === void 0 ? void 0 : setColumnConfig(columnsConfigOptions)) && (onClose === null || onClose === void 0 ? void 0 : onClose());
27
- }, [columnsConfigOptions, onClose, setColumnConfig]);
43
+ setColumnConfig === null || setColumnConfig === void 0 ? void 0 : setColumnConfig(columnsConfigOptions);
44
+ setColumnsOrder === null || setColumnsOrder === void 0 ? void 0 : setColumnsOrder(updatedColumnsOrder);
45
+ onClose === null || onClose === void 0 ? void 0 : onClose();
46
+ }, [columnsConfigOptions, updatedColumnsOrder, onClose, setColumnConfig]);
28
47
  var resetColumnConfig = useCallback(function () {
29
- (resetGrid === null || resetGrid === void 0 ? void 0 : resetGrid()) && (onClose === null || onClose === void 0 ? void 0 : onClose());
48
+ setUpdatedColumnsOrder(initialColumnsOrder);
49
+ resetGrid === null || resetGrid === void 0 ? void 0 : resetGrid();
50
+ onClose === null || onClose === void 0 ? void 0 : onClose();
30
51
  setColumnsConfigOptions(columnConfig || {});
31
52
  }, [onClose, resetGrid]);
32
- return { columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, onConfirmForm: onConfirmForm, resetColumnConfig: resetColumnConfig };
53
+ var onCloseForm = useCallback(function () {
54
+ setUpdatedColumnsOrder(columnsOrder !== null && columnsOrder !== void 0 ? columnsOrder : []);
55
+ onClose === null || onClose === void 0 ? void 0 : onClose();
56
+ }, []);
57
+ var handleDragEnd = useCallback(function (isManageModal) {
58
+ if (isManageModal === void 0) { isManageModal = false; }
59
+ return function (item) {
60
+ var destination = item.destination, source = item.source;
61
+ var to = destination === null || destination === void 0 ? void 0 : destination.index;
62
+ var from = source === null || source === void 0 ? void 0 : source.index;
63
+ if (to === from || !destination) {
64
+ return;
65
+ }
66
+ var newOrderColumns = __spreadArray([], (isManageModal ? updatedColumnsOrder : columnsOrderValue), true);
67
+ var fromIndex = newOrderColumns.findIndex(function (column) { return columns[from].name === column; });
68
+ var toIndex = newOrderColumns.findIndex(function (column) { return to && columns[to].name === column; });
69
+ // move column from a position to the new position
70
+ var column = newOrderColumns[fromIndex];
71
+ newOrderColumns.splice(fromIndex, 1);
72
+ newOrderColumns.splice(toIndex < 0 ? 0 : toIndex, 0, column);
73
+ if (!isManageModal) {
74
+ setColumnsOrder === null || setColumnsOrder === void 0 ? void 0 : setColumnsOrder(newOrderColumns);
75
+ }
76
+ setUpdatedColumnsOrder(newOrderColumns);
77
+ };
78
+ }, [columns, updatedColumnsOrder]);
79
+ var displayColumnsDefinitions = useMemo(function () {
80
+ return (!hideColumnConfig ? columns.filter(function (column) { return isColumnOn(column, columnConfig); }) : columns).sort(function (col1, col2) {
81
+ var i = (columnsOrder || []).indexOf(col1.name);
82
+ var j = (columnsOrder || []).indexOf(col2.name);
83
+ return i > j ? 1 : i < j ? -1 : 0;
84
+ });
85
+ }, [hideColumnConfig, columnConfig, columns, columnsOrder]);
86
+ var manageColumnsFormDefinitions = useMemo(function () {
87
+ return (!hideColumnConfig ? columns.filter(function (column) { return isColumnOn(column, columnConfig); }) : columns).sort(function (col1, col2) {
88
+ var i = (updatedColumnsOrder || []).indexOf(col1.name);
89
+ var j = (updatedColumnsOrder || []).indexOf(col2.name);
90
+ return i > j ? 1 : i < j ? -1 : 0;
91
+ });
92
+ }, [hideColumnConfig, columnConfig, columns, columnsOrder]);
93
+ return {
94
+ columnsConfigValues: columnsConfigValues,
95
+ setColumnsConfigOptions: setColumnsConfigOptions,
96
+ onConfirmForm: onConfirmForm,
97
+ resetColumnConfig: resetColumnConfig,
98
+ handleDragEnd: handleDragEnd,
99
+ onCloseForm: onCloseForm,
100
+ displayColumnsDefinitions: displayColumnsDefinitions,
101
+ manageColumnsFormDefinitions: manageColumnsFormDefinitions,
102
+ };
33
103
  };
34
104
  export default useManageColumn;
@@ -6,8 +6,10 @@ 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, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, hideColumnConfig, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: import("./types").CommonGridProps & {
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 & {
10
10
  filters?: import("./types").FiltersConfig | undefined;
11
+ handleDragEnd: (item: import("react-beautiful-dnd").DropResult) => void;
12
+ displayColumnsDefinitions: import("./types").ColumnDefinition[];
11
13
  }) => JSX.Element, import("@xstyled/system").Theme, {
12
14
  onRowClick?: Function | undefined;
13
15
  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, ButtonsWrapper, } from './styles';
5
+ import { DialogOverlay, DialogWindow, HeaderContainer, ButtonsContainer, ContentContainer, TitleContainer, CloseButton, } 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(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' }))] })] }))] }) }) }));
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' }))] })] }))] }) }) }));
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,10 +40,6 @@ 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,
47
43
  },
48
44
  };
49
45
  export var ModalWithoutCloseButton = {
@@ -21,8 +21,4 @@ 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>;
28
24
  export declare const CloseButton: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
@@ -67,16 +67,9 @@ 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\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) {
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) {
71
71
  var hasSpaceBetween = _a.hasSpaceBetween;
72
72
  return (hasSpaceBetween ? 'space-between' : 'flex-end');
73
73
  });
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;
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;
@@ -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, disabled = tabDefinition.disabled;
8
+ var icon = tabDefinition.icon, label = tabDefinition.label, badgeCount = tabDefinition.badgeCount;
9
9
  var handleOnClick = useCallback(function () {
10
10
  onTabSwitch(value);
11
11
  }, [onTabSwitch, value]);
12
- return (_jsx(StyledTabWrapper, { children: _jsxs(StyledTab, { onClick: !disabled ? handleOnClick : undefined, 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: 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 }) }))] }) }));
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,7 +4,6 @@ export type TabDefinition = {
4
4
  icon?: string;
5
5
  badgeCount?: number;
6
6
  default?: true;
7
- disabled?: boolean;
8
7
  };
9
8
  export type TabsProps = {
10
9
  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: "deleteX" }), _jsx("span", { children: children })] }) }));
14
+ return (_jsx(StyledWrapper, { children: _jsxs(ErrorWrap, { className: appearance, children: [_jsx(Icon, { icon: "danger" }), _jsx("span", { children: children })] }) }));
15
15
  };
16
16
  export default ErrorMessage;
17
17
  var templateObject_1, templateObject_2, templateObject_3;
@@ -0,0 +1,2 @@
1
+ declare const Paragraph: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Paragraph;
@@ -0,0 +1,3 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ var Paragraph = function () { return _jsx("p", { children: "paragraph" }); };
3
+ export default Paragraph;
@@ -0,0 +1,3 @@
1
+ import Paragraph from './Paragraph';
2
+ export { Paragraph };
3
+ export default Paragraph;
@@ -0,0 +1,3 @@
1
+ import Paragraph from './Paragraph';
2
+ export { Paragraph };
3
+ export default Paragraph;
@@ -0,0 +1,17 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: () => import("react/jsx-runtime").JSX.Element;
5
+ tags: string[];
6
+ argTypes: {
7
+ backgroundColor: {
8
+ control: string;
9
+ };
10
+ };
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Primary: Story;
15
+ export declare const Secondary: Story;
16
+ export declare const Large: Story;
17
+ export declare const Small: Story;