@mailstep/design-system 0.8.9 → 0.8.11-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.8.9",
3
+ "version": "0.8.11-beta.1",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -74,6 +74,6 @@ var CommonGridContainer = function (props) {
74
74
  allowSortingOnlyUnderTotalRows: allowSortingOnlyUnderTotalRows,
75
75
  totalRowsCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount
76
76
  }), isSortTerminatedAppeal = _l.isSortTerminatedAppeal, isSortTerminated = _l.isSortTerminated;
77
- return (_jsxs(_Fragment, { children: [_jsxs(ContentContainer, { ref: gridRef, children: [_jsxs(CommonGridWrap, { withPagination: withPagination, children: [withButtonStrip && (_jsx(HidePrint, { children: _jsx(StyledButtonStrip, { className: "buttonsStrip", children: _jsx(ControlButtons, { hideControlButtons: hideControlButtons, extraControlButtons: extendedExtraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, quickFilter: quickFilter, displayColumnsDefinitions: displayColumnsDefinitions, filters: filters, setDisplayManageColumnButton: setDisplayManageColumnButton, displayManageColumnButton: displayManageColumnButton, openManageColumnForm: openManageColumnForm, onOpenPresetsModal: onOpenPresetsModal, selectedPresetName: selectedPresetName, withPresets: withPresets, gridName: gridName, withManageColumnButton: withManageColumnButton }) }) })), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { withButtonStrip: withButtonStrip, hasGroupsOrFilters: hasGroupsOrFilters, filters: filters, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasFilters: hasFilters, hasGroups: hasGroups, isSortTerminated: isSortTerminated, hasColouredRows: true }))] }), _jsxs(BottomWrapper, { withPagination: withPagination, children: [(processCheckedValues || !!((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length)) && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionOptions: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "space-between", alignItems: "center", w: "100%", children: [_jsx(GridInfo, { isSortTerminatedAppeal: isSortTerminatedAppeal, isSortTerminated: isSortTerminated }), withPagination && (_jsxs(x.div, { display: "flex", alignItems: "center", className: "paginatorWrapper", 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, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler, autoRowsPerPage: autoRowsPerPage })] }))] })] })] }), _jsx(GridModals, { manageColumnFormVisible: manageColumnFormVisible, onCloseForm: onCloseForm, resetColumnConfig: resetColumnConfig, onConfirmForm: onConfirmForm, manageColumnsFormDefinitions: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true), gridName: gridName, gridActions: gridActions, gridSelectors: gridSelectors, onClosePresetsModal: onClosePresetsModal, isPresetsModalOpen: isPresetsModalOpen, selectedPresetName: selectedPresetName, setSelectedPresetName: setSelectedPresetName })] }));
77
+ return (_jsxs(_Fragment, { children: [_jsxs(ContentContainer, { ref: gridRef, children: [_jsxs(CommonGridWrap, { withPagination: withPagination, children: [withButtonStrip && (_jsx(HidePrint, { children: _jsx(StyledButtonStrip, { className: "buttonsStrip", children: _jsx(ControlButtons, { hideControlButtons: hideControlButtons, extraControlButtons: extendedExtraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, quickFilter: quickFilter, columns: columns, filters: filters, setDisplayManageColumnButton: setDisplayManageColumnButton, displayManageColumnButton: displayManageColumnButton, openManageColumnForm: openManageColumnForm, onOpenPresetsModal: onOpenPresetsModal, selectedPresetName: selectedPresetName, withPresets: withPresets, gridName: gridName, withManageColumnButton: withManageColumnButton }) }) })), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { withButtonStrip: withButtonStrip, hasGroupsOrFilters: hasGroupsOrFilters, filters: filters, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasFilters: hasFilters, hasGroups: hasGroups, isSortTerminated: isSortTerminated, hasColouredRows: true }))] }), _jsxs(BottomWrapper, { withPagination: withPagination, children: [(processCheckedValues || !!((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length)) && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionOptions: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "space-between", alignItems: "center", w: "100%", children: [_jsx(GridInfo, { isSortTerminatedAppeal: isSortTerminatedAppeal, isSortTerminated: isSortTerminated }), withPagination && (_jsxs(x.div, { display: "flex", alignItems: "center", className: "paginatorWrapper", 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, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler, autoRowsPerPage: autoRowsPerPage })] }))] })] })] }), _jsx(GridModals, { manageColumnFormVisible: manageColumnFormVisible, onCloseForm: onCloseForm, resetColumnConfig: resetColumnConfig, onConfirmForm: onConfirmForm, manageColumnsFormDefinitions: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true), gridName: gridName, gridActions: gridActions, gridSelectors: gridSelectors, onClosePresetsModal: onClosePresetsModal, isPresetsModalOpen: isPresetsModalOpen, selectedPresetName: selectedPresetName, setSelectedPresetName: setSelectedPresetName })] }));
78
78
  };
79
79
  export default CommonGridContainer;
@@ -6,7 +6,7 @@ type Props = {
6
6
  gridActions: GridActionsType;
7
7
  gridSelectors: GridSelectorsType;
8
8
  quickFilter?: CommonGridProps['quickFilter'];
9
- displayColumnsDefinitions?: Array<ColumnDefinition<string>>;
9
+ columns?: Array<ColumnDefinition<string>>;
10
10
  filters?: FiltersConfig;
11
11
  hideControlButtons?: boolean;
12
12
  displayManageColumnButton?: boolean;
@@ -25,12 +25,12 @@ import { Trans } from '@lingui/react';
25
25
  import { x } from '@xstyled/styled-components';
26
26
  import { ControlButtonsContainer, Left, Right, StyledColumnButton } from './styles';
27
27
  var ControlButtons = function (_a) {
28
- var extraControlButtons = _a.extraControlButtons, gridActions = _a.gridActions, gridSelectors = _a.gridSelectors, _b = _a.quickFilter, quickFilter = _b === void 0 ? '' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, filters = _a.filters, hideControlButtons = _a.hideControlButtons, displayManageColumnButton = _a.displayManageColumnButton, openManageColumnForm = _a.openManageColumnForm, setDisplayManageColumnButton = _a.setDisplayManageColumnButton, onOpenPresetsModal = _a.onOpenPresetsModal, gridName = _a.gridName, selectedPresetName = _a.selectedPresetName, withPresets = _a.withPresets, withManageColumnButton = _a.withManageColumnButton;
28
+ var extraControlButtons = _a.extraControlButtons, gridActions = _a.gridActions, gridSelectors = _a.gridSelectors, _b = _a.quickFilter, quickFilter = _b === void 0 ? '' : _b, columns = _a.columns, filters = _a.filters, hideControlButtons = _a.hideControlButtons, displayManageColumnButton = _a.displayManageColumnButton, openManageColumnForm = _a.openManageColumnForm, setDisplayManageColumnButton = _a.setDisplayManageColumnButton, onOpenPresetsModal = _a.onOpenPresetsModal, gridName = _a.gridName, selectedPresetName = _a.selectedPresetName, withPresets = _a.withPresets, withManageColumnButton = _a.withManageColumnButton;
29
29
  var _c = useQuickFilter({
30
30
  gridActions: gridActions,
31
31
  gridSelectors: gridSelectors,
32
32
  quickFilter: quickFilter,
33
- displayColumnsDefinitions: displayColumnsDefinitions,
33
+ columns: columns,
34
34
  filters: filters
35
35
  }), searchedValue = _c.searchedValue, translatedValue = _c.translatedValue, onChangeInputValue = _c.onChangeInputValue, onClear = _c.onClear, onClearSettings = _c.onClearSettings, onDisplayInput = _c.onDisplayInput, displayInput = _c.displayInput, isMobileInputView = _c.isMobileInputView, isMobile = _c.isMobile, filter = _c.filter;
36
36
  useEffect(function () {
@@ -11,7 +11,7 @@ type Props = {
11
11
  checkAllButton?: boolean;
12
12
  asyncLoadKey?: string;
13
13
  isClearable?: boolean;
14
- onlyInComparator?: boolean;
14
+ withNotEqComparator?: boolean;
15
15
  disabled?: boolean;
16
16
  placeholder?: string;
17
17
  showValue?: boolean;
@@ -64,7 +64,7 @@ import uniqBy from 'lodash/uniqBy';
64
64
  import { isOptionArray } from './guards';
65
65
  var minColumnWidth = 120;
66
66
  var SelectFilter = function (_a) {
67
- var onChange = _a.onChange, _b = _a.isClearable, isClearable = _b === void 0 ? true : _b, disabled = _a.disabled, placeholder = _a.placeholder, _c = _a.showValue, showValue = _c === void 0 ? true : _c, columnWidth = _a.columnWidth, isMulti = _a.isMulti, value = _a.value, options = _a.options, checkAllButton = _a.checkAllButton, asyncLoadKey = _a.asyncLoadKey, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions, _d = _a.onlyInComparator, onlyInComparator = _d === void 0 ? false : _d;
67
+ var onChange = _a.onChange, _b = _a.isClearable, isClearable = _b === void 0 ? true : _b, disabled = _a.disabled, placeholder = _a.placeholder, _c = _a.showValue, showValue = _c === void 0 ? true : _c, columnWidth = _a.columnWidth, isMulti = _a.isMulti, value = _a.value, options = _a.options, checkAllButton = _a.checkAllButton, asyncLoadKey = _a.asyncLoadKey, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions, _d = _a.withNotEqComparator, withNotEqComparator = _d === void 0 ? true : _d;
68
68
  var _e = useState([]), loadedOptions = _e[0], setLoadedOptions = _e[1];
69
69
  var _f = useState(false), isNotEqNoValue = _f[0], setIsNotEqNoValue = _f[1];
70
70
  var isAsync = !!asyncLoadKey;
@@ -104,9 +104,9 @@ var SelectFilter = function (_a) {
104
104
  var isSelectClearable = isWide ? isClearable : false;
105
105
  var placeholderValue = placeholder || (isAsync ? i18n._({ id: 'dataGrid.filterCell', message: 'Type to filter' }) : undefined);
106
106
  if (isMulti) {
107
- var placeholderIcon = isWide ? (isNotEq ? 'notEqual' : 'equals') : null;
107
+ var placeholderIcon = isWide && isAsync ? (isNotEq ? 'notEqual' : 'equals') : null;
108
108
  var selectValue = showValue ? (isOptionArray(value) ? value.map(function (option) { return String(option.value); }) : value) : undefined;
109
- return (_jsx(Select, { maxMenuHeight: 250, onChange: handleOnMultiChange, value: selectValue, options: defaultOptions || options, showSelectAllButton: checkAllButton, style: "gridFilter", loadOptions: isAsync ? handleLoadOptions : undefined, defaultOptions: defaultOptions, placeholder: placeholderValue, noOptionsMessage: function () { return null; }, containerVariant: isAsync ? 'search' : undefined, placeholderIcon: placeholderIcon, onIconClick: !onlyInComparator ? handleIconClick : undefined, optionVariant: "checkbox", multiLabelVariant: "count", isMulti: true, disabled: disabled, isClearable: isSelectClearable }));
109
+ return (_jsx(Select, { maxMenuHeight: 250, onChange: handleOnMultiChange, value: selectValue, options: defaultOptions || options, showSelectAllButton: checkAllButton, style: "gridFilter", loadOptions: isAsync ? handleLoadOptions : undefined, defaultOptions: defaultOptions, placeholder: placeholderValue, noOptionsMessage: function () { return null; }, containerVariant: isAsync ? 'search' : undefined, placeholderIcon: placeholderIcon, onIconClick: withNotEqComparator ? handleIconClick : undefined, optionVariant: "checkbox", multiLabelVariant: "count", isMulti: true, disabled: disabled, isClearable: isSelectClearable }));
110
110
  }
111
111
  return (_jsx(SingleSelect, { maxMenuHeight: 250, onChange: onChange, value: showValue ? value : undefined, options: options, style: "gridFilter", loadOptions: isAsync ? handleLoadOptions : undefined, placeholder: placeholderValue, placeholderIcon: isWide ? undefined : null, isClearable: isSelectClearable, disabled: disabled }));
112
112
  };
@@ -60,7 +60,7 @@ var useManageColumn = function (_a) {
60
60
  setColumnsConfigOptions(columnConfig || {});
61
61
  }, [columnsOrderValue, onClose]);
62
62
  var getSortedColumns = useCallback(function (orderValues, isManageModal) {
63
- var list = !isManageModal ? columns.filter(function (column) { return isColumnOn(column, columnsConfigOptions); }) : columns;
63
+ var list = columns.filter(function (column) { return isManageModal ? !column.alwaysOff : isColumnOn(column, columnsConfigOptions); });
64
64
  var sortFunction = function (col1, col2) {
65
65
  var i = (orderValues || []).indexOf(col1.name);
66
66
  var j = (orderValues || []).indexOf(col2.name);
@@ -6,10 +6,10 @@ type Props = {
6
6
  gridSelectors: GridSelectorsType;
7
7
  quickFilter?: CommonGridProps['quickFilter'];
8
8
  filter?: CommonGridProps['gridSelectors']['filter'];
9
- displayColumnsDefinitions?: ColumnDefinition<string>[];
9
+ columns?: ColumnDefinition<string>[];
10
10
  filters?: FiltersConfig;
11
11
  };
12
- declare const useQuickFilter: ({ gridActions, gridSelectors, quickFilter, displayColumnsDefinitions, filters }: Props) => {
12
+ declare const useQuickFilter: ({ gridActions, gridSelectors, quickFilter, columns, filters }: Props) => {
13
13
  searchedValue: string;
14
14
  translatedValue: import('react').ReactNode;
15
15
  onChangeInputValue: (e: ChangeEvent<HTMLInputElement>) => void;
@@ -12,7 +12,7 @@ var defaultVoidFunction = function () {
12
12
  };
13
13
  var useQuickFilter = function (_a) {
14
14
  var _b, _c;
15
- var gridActions = _a.gridActions, gridSelectors = _a.gridSelectors, quickFilter = _a.quickFilter, displayColumnsDefinitions = _a.displayColumnsDefinitions, filters = _a.filters;
15
+ var gridActions = _a.gridActions, gridSelectors = _a.gridSelectors, quickFilter = _a.quickFilter, columns = _a.columns, filters = _a.filters;
16
16
  var _d = gridActions.addFilter, addFilter = _d === void 0 ? defaultVoidFunction : _d, _e = gridActions.clearSettings, clearSettings = _e === void 0 ? defaultVoidFunction : _e;
17
17
  var filter = gridSelectors.filter;
18
18
  var isMobile = useCheckDeviceWidth().isMobile;
@@ -20,7 +20,7 @@ var useQuickFilter = function (_a) {
20
20
  var _g = useState(false), displayInput = _g[0], setDisplayInput = _g[1];
21
21
  var handleAddFilter = useAddFilter(addFilter);
22
22
  var quickFilterValues = quickFilter ? (_b = filter === null || filter === void 0 ? void 0 : filter[quickFilter]) === null || _b === void 0 ? void 0 : _b.value : undefined;
23
- var searchedColumnsDefinitions = (displayColumnsDefinitions === null || displayColumnsDefinitions === void 0 ? void 0 : displayColumnsDefinitions.find(function (item) { return item.name === quickFilter; })) || null;
23
+ var searchedColumnsDefinitions = (columns === null || columns === void 0 ? void 0 : columns.find(function (item) { return item.name === quickFilter; })) || null;
24
24
  var filterType = createFilterType(searchedColumnsDefinitions || {});
25
25
  var filtersDefaultComparator = ((_c = filters === null || filters === void 0 ? void 0 : filters[filterType].defaultExtraProps) === null || _c === void 0 ? void 0 : _c.defaultComparator) || 'eq';
26
26
  var searchComparator = (quickFilterValues && quickFilterValues.comparator) || filtersDefaultComparator;
@@ -47,7 +47,7 @@ export default {
47
47
  title: 'Blocks/CommonGrid',
48
48
  decorators: [withRedux]
49
49
  };
50
- export var ComplexWithPaginationAndRedux = function () { return (_jsxs(LinguiContainer, { children: [_jsx(ConnectedFilterSetter, { gridActions: gridDummyActions }), _jsx(ReduxGrid, { columnsDefinitions: columnDefinitions, actionColumnDefinition: ActionColumnButtons, rowsData: createRandomData(10), onRowAction: onRowAction, onRowClick: onRowClick, onRowReadClick: onRowReadClick, onRowEditClick: onRowEditClick, totalRowsCount: 200, onBatchAction: onBatchAction, getRowsPerPage: getRowsPerPage, onAsyncLoadFilterOptions: onAsyncLoadFilterOptions, quickFilter: "textColumn", extraControlButtons: extraControlButtons, comparators: comparators, gridName: "gridName" })] })); };
50
+ export var ComplexWithPaginationAndRedux = function () { return (_jsxs(LinguiContainer, { children: [_jsx(ConnectedFilterSetter, { gridActions: gridDummyActions }), _jsx(ReduxGrid, { columnsDefinitions: columnDefinitions, actionColumnDefinition: ActionColumnButtons, rowsData: createRandomData(10), onRowAction: onRowAction, onRowClick: onRowClick, onRowReadClick: onRowReadClick, onRowEditClick: onRowEditClick, totalRowsCount: 200, onBatchAction: onBatchAction, getRowsPerPage: getRowsPerPage, onAsyncLoadFilterOptions: onAsyncLoadFilterOptions, quickFilter: "alwaysOffColumn", extraControlButtons: extraControlButtons, comparators: comparators, gridName: "gridName" })] })); };
51
51
  ComplexWithPaginationAndRedux.story = {
52
52
  name: 'Complex, with pagination and redux'
53
53
  };
@@ -108,5 +108,11 @@ export var columnDefinitions = [
108
108
  alwaysOn: true,
109
109
  sticky: true,
110
110
  stickTo: 'right'
111
+ },
112
+ {
113
+ name: 'alwaysOffColumn',
114
+ title: 'Always Off Column',
115
+ flexBasis: 0,
116
+ alwaysOff: true,
111
117
  }
112
118
  ];
@@ -117,7 +117,7 @@ export type ColumnDefinition<ColumnName extends string = string> = ColumnBasePro
117
117
  isUuid?: boolean;
118
118
  defaultComparator?: string;
119
119
  checkAllButton?: boolean;
120
- onlyInComparator?: boolean;
120
+ withNotEqComparator?: boolean;
121
121
  };
122
122
  getFilterCriteria?: (value: string) => Record<string, any> | null;
123
123
  filterOptions?: Option[];
@@ -128,6 +128,7 @@ export type ColumnDefinition<ColumnName extends string = string> = ColumnBasePro
128
128
  flexShrink?: number;
129
129
  fixedSize?: boolean;
130
130
  alwaysOn?: boolean;
131
+ alwaysOff?: boolean;
131
132
  defaultHidden?: boolean;
132
133
  sticky?: boolean;
133
134
  stickTo?: StickTo;
@@ -26,6 +26,8 @@ export var isColumnOn = function (column, columnConfig) {
26
26
  var _a;
27
27
  if (column.alwaysOn)
28
28
  return true;
29
+ if (column.alwaysOff)
30
+ return false;
29
31
  var isHidden = (_a = columnConfig === null || columnConfig === void 0 ? void 0 : columnConfig[column.name]) === null || _a === void 0 ? void 0 : _a.isHidden;
30
32
  if (typeof isHidden === 'boolean')
31
33
  return !isHidden; // isHidden is defined/stored => use user value