@mailstep/design-system 0.7.83-beta.1 → 0.8.0

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 (33) hide show
  1. package/package.json +1 -1
  2. package/ui/Blocks/CommonGrid/CommonGrid.js +2 -2
  3. package/ui/Blocks/CommonGrid/components/ColumnFilterCell.d.ts +1 -0
  4. package/ui/Blocks/CommonGrid/components/ColumnFilterCell.js +2 -2
  5. package/ui/Blocks/CommonGrid/components/FilterRow.d.ts +1 -0
  6. package/ui/Blocks/CommonGrid/components/FilterRow.js +2 -2
  7. package/ui/Blocks/CommonGrid/components/Filters/GridSelect/GridSelect.d.ts +6 -3
  8. package/ui/Blocks/CommonGrid/components/Filters/GridSelect/GridSelect.js +74 -9
  9. package/ui/Blocks/CommonGrid/components/Filters/GridSelect/guards.d.ts +3 -0
  10. package/ui/Blocks/CommonGrid/components/Filters/GridSelect/guards.js +3 -0
  11. package/ui/Blocks/CommonGrid/storybook/stories/complexWithPaginationAndRedux.stories.js +2 -2
  12. package/ui/Blocks/CommonGrid/storybook/utils/columnDefinition.js +9 -0
  13. package/ui/Blocks/CommonGrid/storybook/utils/utils.d.ts +1 -0
  14. package/ui/Blocks/CommonGrid/storybook/utils/utils.js +19 -0
  15. package/ui/Blocks/CommonGrid/types.d.ts +2 -0
  16. package/ui/Blocks/CommonGrid/utils/index.d.ts +1 -4
  17. package/ui/Blocks/CommonGrid/utils/index.js +1 -1
  18. package/ui/Elements/Icon/Icon.js +1 -1
  19. package/ui/Elements/Select/Select.js +4 -3
  20. package/ui/Elements/Select/components/ConnectedMenu.js +10 -3
  21. package/ui/Elements/Select/components/SelectAll.d.ts +5 -3
  22. package/ui/Elements/Select/components/SelectAll.js +8 -5
  23. package/ui/Elements/Select/themes/index.js +1 -1
  24. package/ui/Elements/Select/themes/selectStyles.js +4 -1
  25. package/ui/Elements/SingleSelect/SingleSelect.js +5 -6
  26. package/ui/index.d.ts +1 -3
  27. package/ui/index.es.js +13339 -13893
  28. package/ui/index.js +1 -3
  29. package/ui/index.umd.js +457 -457
  30. package/ui/Elements/MultiSelect/MultiSelect.d.ts +0 -8
  31. package/ui/Elements/MultiSelect/MultiSelect.js +0 -29
  32. package/ui/Elements/MultiSelect/index.d.ts +0 -3
  33. package/ui/Elements/MultiSelect/index.js +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.7.83-beta.1",
3
+ "version": "0.8.0",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -39,7 +39,7 @@ var CommonGrid = function (_a) {
39
39
  // redux props
40
40
  gridSelectors = _a.gridSelectors, gridActions = _a.gridActions,
41
41
  // input props
42
- isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps, hasGroups = _a.hasGroups, hasFilters = _a.hasFilters, isSortTerminated = _a.isSortTerminated;
42
+ isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowClick = _a.onRowClick, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps, hasGroups = _a.hasGroups, hasFilters = _a.hasFilters, isSortTerminated = _a.isSortTerminated;
43
43
  var _c = gridSelectors.uxState, uxState = _c === void 0 ? defaultUxState : _c, _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;
44
44
  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;
45
45
  var handleRowsKeyDown = useRowsKeyControls(rowsData, uxState, handleUxChange);
@@ -53,7 +53,7 @@ var CommonGrid = function (_a) {
53
53
  }, []);
54
54
  var isEmpty = !isLoading && !errorMessage && (!rowsData || rowsData.length < 1);
55
55
  var hasFloatingChildren = isLoading || errorMessage || isEmpty;
56
- return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, totalColumnsWidth: totalColumnsWidth, floatingChildren: hasFloatingChildren && _jsx(GridStatus, { isLoading: isLoading, isEmpty: isEmpty, errorMessage: errorMessage }), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [hasGroups && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, onAddSort: addSorting, columnLayout: columnLayout, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups, handleDragEnd: handleDragEnd, isSortTerminated: isSortTerminated }), hasFilters && (_jsx(FilterRow, { filters: filters, comparators: comparators, 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 &&
56
+ return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, totalColumnsWidth: totalColumnsWidth, floatingChildren: hasFloatingChildren && _jsx(GridStatus, { isLoading: isLoading, isEmpty: isEmpty, errorMessage: errorMessage }), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [hasGroups && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, onAddSort: addSorting, columnLayout: columnLayout, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups, handleDragEnd: handleDragEnd, isSortTerminated: isSortTerminated }), hasFilters && (_jsx(FilterRow, { filters: filters, comparators: comparators, columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onChange: addFilter, filterValues: filter, displayColumnsWidth: displayColumnsWidth, groups: groups, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange, onAsyncLoadFilterOptions: onAsyncLoadFilterOptions }))] }), _jsx("div", { className: "body flx_1", style: rowsStyles, tabIndex: -1, onKeyDown: handleRowsKeyDown, children: !isLoading &&
57
57
  rowsData &&
58
58
  displayColumnsDefinitions &&
59
59
  rowsData.map(function (row, index) {
@@ -14,6 +14,7 @@ type Props = {
14
14
  rowsData: RowProps[];
15
15
  uxState: UxState;
16
16
  handleUxChange: GridActionsType['handleUxChange'];
17
+ onAsyncLoadFilterOptions?: (key: string, value: string) => void;
17
18
  };
18
19
  declare const ColumnFilterCell: FC<Props>;
19
20
  export default ColumnFilterCell;
@@ -17,7 +17,7 @@ import { x } from '@xstyled/styled-components';
17
17
  import OverlayComponent from './FilterDropdown';
18
18
  import { Cell } from './Table';
19
19
  var ColumnFilterCell = function (_a) {
20
- var onChange = _a.onChange, value = _a.value, others = _a.others, displayColumnWidth = _a.displayColumnWidth, filters = _a.filters, columnDefinition = _a.column, group = _a.group, comparators = _a.comparators, actionColumn = _a.actionColumn, rowsData = _a.rowsData, uxState = _a.uxState, handleUxChange = _a.handleUxChange;
20
+ var onChange = _a.onChange, value = _a.value, others = _a.others, displayColumnWidth = _a.displayColumnWidth, filters = _a.filters, columnDefinition = _a.column, group = _a.group, comparators = _a.comparators, actionColumn = _a.actionColumn, rowsData = _a.rowsData, uxState = _a.uxState, handleUxChange = _a.handleUxChange, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions;
21
21
  var cellSizeProps = getCellSizeProps(columnDefinition, displayColumnWidth);
22
22
  var handleAddFilter = useAddFilter(onChange);
23
23
  var handleChange = React.useCallback(function (event, others) {
@@ -35,6 +35,6 @@ var ColumnFilterCell = function (_a) {
35
35
  console.error("ERROR, using unknown filter type ".concat(filterType));
36
36
  return (_jsx(x.div, { children: _jsx("span", { children: "".concat(filterType, " filter") }) }));
37
37
  }
38
- return (_jsx(Cell, __assign({ className: cellClassName }, cellSizeProps, { children: _jsx(x.div, { children: _jsx(RenderComponent, __assign({ "data-test": columnDefinition.name, name: columnDefinition.name, onChange: handleChange, value: value, others: others, OverlayComponent: OverlayComponent, comparators: defaultComparators, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange }, filterConfig === null || filterConfig === void 0 ? void 0 : filterConfig.defaultExtraProps, columnDefinition.filterExtraProps, (filterType == 'options' && { options: columnDefinition.filterOptions }))) }) })));
38
+ return (_jsx(Cell, __assign({ className: cellClassName }, cellSizeProps, { children: _jsx(x.div, { children: _jsx(RenderComponent, __assign({ asyncLoadKey: columnDefinition.asyncLoadKey, "data-test": columnDefinition.name, name: columnDefinition.name, onChange: handleChange, value: value, others: others, OverlayComponent: OverlayComponent, comparators: defaultComparators, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange, onAsyncLoadFilterOptions: onAsyncLoadFilterOptions }, filterConfig === null || filterConfig === void 0 ? void 0 : filterConfig.defaultExtraProps, columnDefinition.filterExtraProps, (filterType == 'options' && { options: columnDefinition.filterOptions }))) }) })));
39
39
  };
40
40
  export default ColumnFilterCell;
@@ -11,6 +11,7 @@ type Props = {
11
11
  comparators?: CustomComparators;
12
12
  groups?: Group[];
13
13
  handleUxChange?: GridActionsType['handleUxChange'];
14
+ onAsyncLoadFilterOptions?: (key: string, value: string) => void;
14
15
  rowsData: RowProps[];
15
16
  uxState: UxState;
16
17
  };
@@ -5,8 +5,8 @@ import throttle from 'lodash/throttle';
5
5
  import ColumnFilterCell from './ColumnFilterCell';
6
6
  import { Row } from './Table';
7
7
  var FilterRow = function (_a) {
8
- var columns = _a.columns, groups = _a.groups, actionColumn = _a.actionColumn, onChange = _a.onChange, _b = _a.filterValues, filterValues = _b === void 0 ? {} : _b, displayColumnsWidth = _a.displayColumnsWidth, filters = _a.filters, comparators = _a.comparators, handleUxChange = _a.handleUxChange, rowsData = _a.rowsData, uxState = _a.uxState;
8
+ var columns = _a.columns, groups = _a.groups, actionColumn = _a.actionColumn, onChange = _a.onChange, _b = _a.filterValues, filterValues = _b === void 0 ? {} : _b, displayColumnsWidth = _a.displayColumnsWidth, filters = _a.filters, comparators = _a.comparators, handleUxChange = _a.handleUxChange, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions, rowsData = _a.rowsData, uxState = _a.uxState;
9
9
  var handleOnChange = throttle(onChange, 500);
10
- return (_jsx(Row, { className: "filterRow", children: columns.map(function (column, index) { return (_jsx(ColumnFilterCell, { column: column, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange, onChange: handleOnChange, value: get([getFilterName(column), 'value'], filterValues), others: get([getFilterName(column), 'others'], filterValues), displayColumnWidth: displayColumnsWidth[column.name], filters: filters, comparators: comparators, group: groups === null || groups === void 0 ? void 0 : groups[index] }, index)); }) }));
10
+ return (_jsx(Row, { className: "filterRow", children: columns.map(function (column, index) { return (_jsx(ColumnFilterCell, { column: column, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange, onChange: handleOnChange, value: get([getFilterName(column), 'value'], filterValues), others: get([getFilterName(column), 'others'], filterValues), displayColumnWidth: displayColumnsWidth[column.name], filters: filters, comparators: comparators, group: groups === null || groups === void 0 ? void 0 : groups[index], onAsyncLoadFilterOptions: onAsyncLoadFilterOptions }, index)); }) }));
11
11
  };
12
12
  export default FilterRow;
@@ -1,12 +1,15 @@
1
1
  import { FC } from 'react';
2
- import { ColumnDefinition } from '../../../types';
2
+ import { Option } from '../../../../../Elements/Select/types';
3
+ import { CommonGridProps } from '../../../types';
3
4
 
4
5
  type Props = {
5
6
  onChange: (data: any) => void;
7
+ onAsyncLoadFilterOptions?: CommonGridProps['onAsyncLoadFilterOptions'];
6
8
  isMulti?: boolean;
7
- options?: ColumnDefinition['filterOptions'];
8
- value?: string | string[];
9
+ options?: Option[];
10
+ value?: string | string[] | Option[];
9
11
  checkAllButton?: boolean;
12
+ asyncLoadKey?: string;
10
13
  };
11
14
  declare const SelectFilter: FC<Props>;
12
15
  export default SelectFilter;
@@ -1,19 +1,84 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
1
46
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback } from 'react';
3
- import MultiSelect from '../../../../../Elements/MultiSelect';
47
+ import { useCallback, useState, useMemo } from 'react';
48
+ import Select from '../../../../../Elements/Select';
4
49
  import SingleSelect from '../../../../../Elements/SingleSelect';
50
+ import { i18n } from '@lingui/core';
5
51
  import isArray from 'lodash/isArray';
6
- var emptyValue = [];
52
+ import uniqBy from 'lodash/uniqBy';
53
+ import { isOptionArray } from './guards';
7
54
  var SelectFilter = function (_a) {
8
- var onChange = _a.onChange, isMulti = _a.isMulti, value = _a.value, options = _a.options, checkAllButton = _a.checkAllButton;
55
+ var onChange = _a.onChange, isMulti = _a.isMulti, value = _a.value, options = _a.options, checkAllButton = _a.checkAllButton, asyncLoadKey = _a.asyncLoadKey, onAsyncLoadFilterOptions = _a.onAsyncLoadFilterOptions;
56
+ var _b = useState([]), loadedOptions = _b[0], setLoadedOptions = _b[1];
9
57
  var handleOnMultiChange = useCallback(function (options) {
10
- onChange === null || onChange === void 0 ? void 0 : onChange(!isArray(options) || !(options === null || options === void 0 ? void 0 : options.length) ? null : options.map(function (option) { return option.value; }));
58
+ onChange === null || onChange === void 0 ? void 0 : onChange(!isArray(options) || !(options === null || options === void 0 ? void 0 : options.length) ? null : options);
11
59
  }, [onChange]);
60
+ var isAsync = !!asyncLoadKey;
61
+ var handleLoadOptions = useCallback(function (fulltext) { return __awaiter(void 0, void 0, void 0, function () {
62
+ var data;
63
+ return __generator(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0:
66
+ data = [];
67
+ if (!asyncLoadKey) return [3 /*break*/, 2];
68
+ return [4 /*yield*/, (onAsyncLoadFilterOptions === null || onAsyncLoadFilterOptions === void 0 ? void 0 : onAsyncLoadFilterOptions(asyncLoadKey, fulltext))];
69
+ case 1:
70
+ data = (_a.sent()) || [];
71
+ _a.label = 2;
72
+ case 2:
73
+ setLoadedOptions(data);
74
+ return [2 /*return*/, data];
75
+ }
76
+ });
77
+ }); }, [asyncLoadKey, onAsyncLoadFilterOptions]);
78
+ var defaultOptions = useMemo(function () { return (isMulti && isAsync && isOptionArray(value) ? uniqBy(__spreadArray(__spreadArray([], loadedOptions, true), value, true), 'value') : undefined); }, [isAsync, value, loadedOptions]);
12
79
  if (isMulti) {
13
- return (_jsx(MultiSelect, { maxMenuHeight: 250, onChange: handleOnMultiChange, value: value || emptyValue, options: options, checkAllButton: checkAllButton, style: "gridFilter" }));
14
- }
15
- else {
16
- return _jsx(SingleSelect, { maxMenuHeight: 250, onChange: onChange, value: value, options: options, style: "gridFilter" });
80
+ return (_jsx(Select, { maxMenuHeight: 250, onChange: handleOnMultiChange, value: isOptionArray(value) ? value.map(function (option) { return String(option.value); }) : value, options: defaultOptions || options, showSelectAllButton: checkAllButton, style: "gridFilter", loadOptions: isAsync ? handleLoadOptions : undefined, defaultOptions: defaultOptions, placeholder: isAsync ? i18n._({ id: 'dataGrid.filterCell', message: 'Type to filter' }) : undefined, noOptionsMessage: function () { return null; }, containerVariant: isAsync ? 'search' : undefined, optionVariant: "checkbox", multiLabelVariant: "count", isMulti: true }));
17
81
  }
82
+ return (_jsx(SingleSelect, { maxMenuHeight: 250, onChange: onChange, value: value, options: options, style: "gridFilter", loadOptions: isAsync ? handleLoadOptions : undefined, placeholder: isAsync ? i18n._({ id: 'dataGrid.filterCell', message: 'Type to filter' }) : undefined, isClearable: true }));
18
83
  };
19
84
  export default SelectFilter;
@@ -0,0 +1,3 @@
1
+ import { Option } from '../../../../../Elements/Select/types';
2
+
3
+ export declare const isOptionArray: (value: unknown) => value is Option[];
@@ -0,0 +1,3 @@
1
+ export var isOptionArray = function (value) {
2
+ return Array.isArray(value) && value.every(function (v) { return typeof v === 'object' && v !== null && 'label' in v && 'value' in v; });
3
+ };
@@ -6,7 +6,7 @@ import { useAddFilter } from '../../hooks/useAddFilter';
6
6
  import { ExtraControlButtonPosition } from '../../types';
7
7
  import { onRowEditClick, onRowReadClick, onRowAction, onRowClick, onBatchAction } from '../utils/actions';
8
8
  import { columnDefinitions, enumColumn } from '../utils/columnDefinition';
9
- import { ReduxGrid, createRandomData, enumValues, gridDummyActions } from '../utils/utils';
9
+ import { ReduxGrid, createRandomData, enumValues, gridDummyActions, onAsyncLoadFilterOptions } from '../utils/utils';
10
10
  import withRedux from '../utils/withRedux';
11
11
  var ActionColumnButtons = {
12
12
  flexBasis: 80,
@@ -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, 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: "textColumn", extraControlButtons: extraControlButtons, comparators: comparators, gridName: "gridName" })] })); };
51
51
  ComplexWithPaginationAndRedux.story = {
52
52
  name: 'Complex, with pagination and redux'
53
53
  };
@@ -34,6 +34,15 @@ export var columnDefinitions = [
34
34
  sorting: true
35
35
  },
36
36
  enumColumn,
37
+ {
38
+ name: 'enumColumnAsync',
39
+ title: 'Enum Column Async',
40
+ flexBasis: 160,
41
+ filterExtraProps: { isMulti: true, checkAllButton: true },
42
+ filtering: true,
43
+ sorting: true,
44
+ asyncLoadKey: 'enumColumnAsync'
45
+ },
37
46
  {
38
47
  name: 'numberColumn',
39
48
  title: 'Number Column',
@@ -18,3 +18,4 @@ export declare const gridDummyActions: Required<GridActionsType>;
18
18
  export declare const createOversizedRandomData: (count: number) => any[];
19
19
  export declare const ReduxGrid: FC<any>;
20
20
  export declare const extraControlButtons: ExtraControlButton[];
21
+ export declare const onAsyncLoadFilterOptions: (key: string, value: string) => Promise<unknown>;
@@ -72,3 +72,22 @@ export var extraControlButtons = [
72
72
  { label: 'Reload', position: ExtraControlButtonPosition.TopLeft },
73
73
  { label: 'Export all', position: ExtraControlButtonPosition.TopRight }
74
74
  ];
75
+ export var onAsyncLoadFilterOptions = function (key, value) {
76
+ return new Promise(function (resolve) {
77
+ setTimeout(function () {
78
+ resolve([
79
+ { label: 'Apple', value: 'apple' },
80
+ { label: 'Banana', value: 'banana' },
81
+ { label: 'Cherry', value: 'cherry' },
82
+ { label: 'Date', value: 'date' },
83
+ { label: 'Elderberry', value: 'elderberry' },
84
+ { label: 'Fig', value: 'fig' },
85
+ { label: 'Grape', value: 'grape' },
86
+ { label: 'Honeydew', value: 'honeydew' },
87
+ { label: 'Kiwi', value: 'kiwi' },
88
+ { label: 'Lemon', value: 'lemon' },
89
+ { label: 'Lime', value: 'lime' },
90
+ ]);
91
+ }, 1000);
92
+ });
93
+ };
@@ -92,6 +92,7 @@ type ColumnBaseProps = {
92
92
  };
93
93
  export type RowValueType = string | React.ReactNode | number | void;
94
94
  export type ColumnDefinition<ColumnName extends string = string> = ColumnBaseProps & {
95
+ asyncLoadKey?: string;
95
96
  name: ColumnName;
96
97
  group?: Group['name'];
97
98
  systemName?: string;
@@ -248,6 +249,7 @@ export type CommonGridProps<TData extends RowProps = RowProps> = {
248
249
  onRowReadClick?: (id: string, props: TData) => void;
249
250
  onRowClick?: (id: string, props: TData) => void;
250
251
  onBatchAction?: OnBatchActionFn;
252
+ onAsyncLoadFilterOptions?: (key: string, value: string) => Promise<Option[]>;
251
253
  columnLayout?: ColumnLayout;
252
254
  quickFilter?: string;
253
255
  confirmOnReset?: () => boolean;
@@ -8,10 +8,7 @@ export declare const calculatePaginator: (page: number, rowsPerPage: number) =>
8
8
  offset: number;
9
9
  limit: number;
10
10
  };
11
- export declare const createFilterType: (columnDefinition: {
12
- filterOptions?: ColumnDefinition["filterOptions"];
13
- filteringType?: ColumnDefinition["filteringType"];
14
- }) => FilterProps["type"];
11
+ export declare const createFilterType: (columnDefinition: ColumnDefinition) => FilterProps["type"];
15
12
  export declare const getGroups: (columns: ColumnDefinition[]) => Group[];
16
13
  export declare const getGroupClassNames: (group?: Group) => string;
17
14
  export declare const getStickyCollClassNames: (sticky: boolean, stickTo?: StickTo) => string;
@@ -39,7 +39,7 @@ export var calculatePaginator = function (page, rowsPerPage) { return ({
39
39
  limit: rowsPerPage
40
40
  }); };
41
41
  export var createFilterType = function (columnDefinition) {
42
- if (columnDefinition.filterOptions)
42
+ if (columnDefinition.filterOptions || columnDefinition.asyncLoadKey)
43
43
  return 'options';
44
44
  else
45
45
  return columnDefinition.filteringType || 'text';
@@ -265,7 +265,7 @@ var Icon = function (_a) {
265
265
  }, [icon, style, namedIcon]);
266
266
  var flipProp = (namedIcon && Array.isArray(namedIcon) && namedIcon[1]) || undefined;
267
267
  var IconComponent = icons[icon];
268
- return (_jsx(FaIconSizing, { size: size, className: className !== null && className !== void 0 ? className : '', "$colorSecondary": colorSecondary, "$fixedWidth": fixedWidth, children: IconComponent ? _jsx(IconComponent, { fill: colorFill, stroke: colorStroke, width: size, height: size }) : (_jsx(FontAwesomeIcon, { color: colorFill, flip: flipProp, icon: iconProp, className: "faIcon ".concat(fixedWidth ? 'fa-fw' : '', " ").concat(spinning ? 'fa-spin' : '') })) }));
268
+ return (_jsx(FaIconSizing, { size: size, className: className !== null && className !== void 0 ? className : '', "$colorSecondary": colorSecondary, "$fixedWidth": fixedWidth, children: IconComponent ? _jsx(IconComponent, { fill: colorFill, stroke: colorStroke }) : (_jsx(FontAwesomeIcon, { color: colorFill, flip: flipProp, icon: iconProp, className: "faIcon ".concat(fixedWidth ? 'fa-fw' : '', " ").concat(spinning ? 'fa-spin' : '') })) }));
269
269
  };
270
270
  export default Icon;
271
271
  var templateObject_1;
@@ -71,10 +71,11 @@ var loadingMessage = function () { return i18n._({ id: 'components.dropdown.load
71
71
  var Select = function (_a) {
72
72
  var label = _a.label, name = _a.name, _b = _a.value, value = _b === void 0 ? '' : _b, _c = _a.options, options = _c === void 0 ? emptyOptions : _c, defaultOptions = _a.defaultOptions, loadOptions = _a.loadOptions, onChange = _a.onChange, onBlur = _a.onBlur, error = _a.error, isInvalid = _a.isInvalid, isLoading = _a.isLoading, isDarkPlaceholderText = _a.isDarkPlaceholderText, _d = _a.spaceAround, spaceAround = _d === void 0 ? false : _d, disabled = _a.disabled, onInputChange = _a.onInputChange, isSearchable = _a.isSearchable, isMulti = _a.isMulti, className = _a.className, _e = _a.useSimplifiedOptions, useSimplifiedOptions = _e === void 0 ? false : _e, _f = _a.showSelectAllButton, showSelectAllButton = _f === void 0 ? false : _f, _g = _a.showResetGridButton, showResetGridButton = _g === void 0 ? false : _g, _h = _a.shortValues, shortValues = _h === void 0 ? true : _h, style = _a.style, optionVariant = _a.optionVariant, multiLabelVariant = _a.multiLabelVariant, containerVariant = _a.containerVariant, placeholder = _a.placeholder, placeholderIcon = _a.placeholderIcon, innerRef = _a.innerRef, maxMenuHeight = _a.maxMenuHeight, getOptionValue = _a.getOptionValue, resetGrid = _a.resetGrid, passTroughProps = __rest(_a, ["label", "name", "value", "options", "defaultOptions", "loadOptions", "onChange", "onBlur", "error", "isInvalid", "isLoading", "isDarkPlaceholderText", "spaceAround", "disabled", "onInputChange", "isSearchable", "isMulti", "className", "useSimplifiedOptions", "showSelectAllButton", "showResetGridButton", "shortValues", "style", "optionVariant", "multiLabelVariant", "containerVariant", "placeholder", "placeholderIcon", "innerRef", "maxMenuHeight", "getOptionValue", "resetGrid"]);
73
73
  var isAsync = !!loadOptions;
74
- if (showSelectAllButton && (loadOptions || !isMulti)) {
74
+ if (showSelectAllButton && !isMulti) {
75
75
  console.error('CheckboxSelect incompatible props');
76
76
  }
77
- var setAllOptions = useCallback(function () {
77
+ var setAllOptions = useCallback(function (_a) {
78
+ var options = _a.options;
78
79
  onChange === null || onChange === void 0 ? void 0 : onChange((options || []));
79
80
  }, [onChange, options]);
80
81
  var unsetAllOptions = useCallback(function () {
@@ -105,6 +106,6 @@ var Select = function (_a) {
105
106
  }
106
107
  }); }); } : undefined;
107
108
  }, [loadOptions]);
108
- return (_jsxs(SpaceAroundWrap, { spaceAround: spaceAround, className: className, children: [_jsxs(Wrapper, { children: [label && _jsx(FieldLabel, { htmlFor: name, children: label }), _jsx(RenderComponent, __assign({ id: name, name: name, options: options, loadOptions: handleLoadOptions, defaultOptions: defaultOptions, value: selectedOption, onChange: onChange, onBlur: onBlur, isDisabled: disabled || isLoading, isLoading: isLoading, isInvalid: isInvalid !== undefined ? isInvalid : !!error, isDarkPlaceholderText: isDarkPlaceholderText, placeholder: placeholder || i18n._({ id: 'components.dropdown.placeholder', message: 'Select...' }), styles: customStyles, theme: customTheme, icon: icon, hideSelectedOptions: !!(isMulti && multiLabelVariant != 'count'), onInputChange: onInputChange, isSearchable: isAsync || isSearchable, isMulti: isMulti, classNamePrefix: "react-select", components: customComponents, closeMenuOnSelect: isMulti ? false : undefined }, passTroughProps, { ref: innerRef, tabIndex: null, systemTheme: theme, resetGrid: resetGrid, onCustomSelectAll: setAllOptions, onCustomDeselectAll: unsetAllOptions, selectAllButton: showSelectAllButton, resetGridButton: showResetGridButton, maxMenuHeight: modifiedMaxMenuHeight, getOptionValue: getOptionValue, noOptionsMessage: noOptionsMessage, loadingMessage: loadingMessage, shortValues: shortValues }))] }), error && _jsx(ErrorMessage, { children: error })] }));
109
+ return (_jsxs(SpaceAroundWrap, { spaceAround: spaceAround, className: className, children: [_jsxs(Wrapper, { children: [label && _jsx(FieldLabel, { htmlFor: name, children: label }), _jsx(RenderComponent, __assign({ id: name, name: name, options: options, loadOptions: handleLoadOptions, defaultOptions: defaultOptions, value: selectedOption, onChange: onChange, onBlur: onBlur, isDisabled: disabled || isLoading, isLoading: isLoading, isInvalid: isInvalid !== undefined ? isInvalid : !!error, isDarkPlaceholderText: isDarkPlaceholderText, placeholder: placeholder || i18n._({ id: 'components.dropdown.placeholder', message: 'Select...' }), styles: customStyles, theme: customTheme, icon: icon, hideSelectedOptions: !!(isMulti && multiLabelVariant != 'count'), onInputChange: onInputChange, isSearchable: isAsync || isSearchable, isMulti: isMulti, classNamePrefix: "react-select", components: customComponents, closeMenuOnSelect: isMulti ? false : undefined, noOptionsMessage: noOptionsMessage }, passTroughProps, { ref: innerRef, tabIndex: null, systemTheme: theme, resetGrid: resetGrid, onCustomSelectAll: setAllOptions, onCustomDeselectAll: unsetAllOptions, selectAllButton: showSelectAllButton, resetGridButton: showResetGridButton, maxMenuHeight: modifiedMaxMenuHeight, getOptionValue: getOptionValue, loadingMessage: loadingMessage, shortValues: shortValues }))] }), error && _jsx(ErrorMessage, { children: error })] }));
109
110
  };
110
111
  export default Select;
@@ -10,12 +10,19 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useMemo } from 'react';
13
14
  import { components as selectComponents } from 'react-select';
14
- import SelectAll from '../components/SelectAll';
15
15
  import ResetAll from '../components/ResetAll';
16
+ import SelectAll from '../components/SelectAll';
16
17
  var ConnectedMenu = function (props) {
17
18
  var theme = props.theme;
18
- var _a = props.selectProps, resetGrid = _a.resetGrid, onCustomSelectAll = _a.onCustomSelectAll, onCustomDeselectAll = _a.onCustomDeselectAll, value = _a.value, options = _a.options, resetGridButton = _a.resetGridButton, selectAllButton = _a.selectAllButton, maxMenuHeight = _a.maxMenuHeight;
19
- return (_jsxs(selectComponents.MenuList, __assign({}, props, { children: [selectAllButton && (_jsx(SelectAll, { theme: theme, onCustomSelectAll: onCustomSelectAll, onCustomDeselectAll: onCustomDeselectAll, value: value, options: options, maxMenuHeight: maxMenuHeight })), props.children, resetGridButton && _jsx(ResetAll, { onReset: resetGrid })] })));
19
+ var _a = props.selectProps, resetGrid = _a.resetGrid, onCustomSelectAll = _a.onCustomSelectAll, onCustomDeselectAll = _a.onCustomDeselectAll, value = _a.value, resetGridButton = _a.resetGridButton, selectAllButton = _a.selectAllButton, maxMenuHeight = _a.maxMenuHeight, isLoading = _a.isLoading;
20
+ // because the filterd options (filterd by the search input) are not passed to the menu list (there are all options),
21
+ // we need to specify them here by children
22
+ var filteredOptions = useMemo(function () { var _a, _b; return (_b = (_a = props.children) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, function (_a) {
23
+ var _b = _a.props, value = _b.value, label = _b.label;
24
+ return ({ label: label, value: value });
25
+ }); }, [props.children]);
26
+ return (_jsxs(selectComponents.MenuList, __assign({}, props, { children: [selectAllButton && !isLoading && (_jsx(SelectAll, { theme: theme, onCustomSelectAll: onCustomSelectAll, onCustomDeselectAll: onCustomDeselectAll, value: value, options: filteredOptions, maxMenuHeight: maxMenuHeight })), props.children, resetGridButton && _jsx(ResetAll, { onReset: resetGrid })] })));
20
27
  };
21
28
  export default ConnectedMenu;
@@ -1,12 +1,14 @@
1
- import { SelectProps, CustomTheme } from '../types';
1
+ import { SelectProps, CustomTheme, Option } from '../types';
2
2
 
3
3
  type Props = {
4
- onCustomSelectAll: () => void;
4
+ onCustomSelectAll: ({ options }: {
5
+ options?: Option[];
6
+ }) => void;
5
7
  onCustomDeselectAll: () => void;
6
8
  value: SelectProps['value'];
7
9
  options: SelectProps['options'];
8
10
  maxMenuHeight: number;
9
11
  theme: CustomTheme;
10
12
  };
11
- declare const SelectAll: ({ onCustomSelectAll, onCustomDeselectAll, value, options, maxMenuHeight, theme }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ declare const SelectAll: ({ onCustomSelectAll, onCustomDeselectAll, value, options, maxMenuHeight, theme }: Props) => import("react/jsx-runtime").JSX.Element | null;
12
14
  export default SelectAll;
@@ -4,11 +4,11 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
4
4
  };
5
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  import { useCallback, useState, useEffect, useRef } from 'react';
7
- import styled, { th } from '@xstyled/styled-components';
8
- import { Trans } from '@lingui/react';
9
7
  import Checkbox from '../../../Forms/Checkbox/Checkbox';
10
8
  import Toggle from '../../Toggle/Toggle';
11
9
  import SelectedIndicator from '../components/SelectedIndicator';
10
+ import { Trans } from '@lingui/react';
11
+ import styled, { th } from '@xstyled/styled-components';
12
12
  var SelectAllWrap = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n margin: 0px 2px 1px 0px;\n padding: ", ";\n font-weight: 400;\n background-color: ", ";\n color: ", ";\n border-radius: 6px;\n height: 36px;\n cursor: pointer;\n\n :hover {\n background-color: ", ";\n }\n"], ["\n display: flex;\n margin: 0px 2px 1px 0px;\n padding: ", ";\n font-weight: 400;\n background-color: ", ";\n color: ", ";\n border-radius: 6px;\n height: 36px;\n cursor: pointer;\n\n :hover {\n background-color: ", ";\n }\n"])), function (_a) {
13
13
  var additionalPadding = _a.additionalPadding;
14
14
  return (additionalPadding ? '8px 27px 8px 10px' : '10px 10px');
@@ -32,13 +32,13 @@ var SelectAll = function (_a) {
32
32
  var handleSelectAll = useCallback(function () {
33
33
  if (!isSelected) {
34
34
  setIsSelected(true);
35
- onCustomSelectAll();
35
+ onCustomSelectAll({ options: options });
36
36
  }
37
37
  else if (isSelected) {
38
38
  setIsSelected(false);
39
39
  onCustomDeselectAll();
40
40
  }
41
- }, [isSelected, onCustomDeselectAll, onCustomSelectAll]);
41
+ }, [isSelected, onCustomDeselectAll, onCustomSelectAll, options]);
42
42
  useEffect(function () {
43
43
  var _a;
44
44
  // if the height of all options is higher than maxMenuHeight and the slider is displayed => the indentation needs to be increased
@@ -50,7 +50,10 @@ var SelectAll = function (_a) {
50
50
  (options === null || options === void 0 ? void 0 : options.length) !== value.length && setIsSelected(false);
51
51
  }
52
52
  }, [maxMenuHeight, options === null || options === void 0 ? void 0 : options.length, value]);
53
- return (_jsxs(SelectAllWrap, { isSelected: isSelected, onClick: handleSelectAll, ref: ref, additionalPadding: additionalPadding, children: [(showCheckbox || showToggle) && (_jsxs(SelectedIndicator, { children: [showCheckbox && _jsx(Checkbox, { checked: isSelected, size: 2, readOnly: true }), showToggle && _jsx(Toggle, { name: "", checked: isSelected, spaceAround: false, variant: 'grid' })] })), _jsx(Trans, { id: "datagrid.filterCell.selectAllLabel", message: 'select all' })] }));
53
+ if (!(options === null || options === void 0 ? void 0 : options.length)) {
54
+ return null;
55
+ }
56
+ return (_jsxs(SelectAllWrap, { isSelected: isSelected, onClick: handleSelectAll, ref: ref, additionalPadding: additionalPadding, children: [(showCheckbox || showToggle) && (_jsxs(SelectedIndicator, { children: [showCheckbox && _jsx(Checkbox, { checked: isSelected, size: 2, readOnly: true }), showToggle && _jsx(Toggle, { name: "", checked: isSelected, spaceAround: false, variant: 'grid' })] })), _jsx(Trans, { id: "datagrid.filterCell.selectAllLabel", message: 'select all' }), " (", options === null || options === void 0 ? void 0 : options.length, ")"] }));
54
57
  };
55
58
  export default SelectAll;
56
59
  var templateObject_1;
@@ -21,6 +21,7 @@ export var useStylesAndComponents = function (style, optionVariant, multiLabelVa
21
21
  var components = {
22
22
  ValueContainer: IconValueContainer
23
23
  };
24
+ components.DropdownIndicator = DropdownIndicator;
24
25
  if (multiLabelVariant === 'count') {
25
26
  components.MultiValue = CountMultiValue;
26
27
  }
@@ -34,7 +35,6 @@ export var useStylesAndComponents = function (style, optionVariant, multiLabelVa
34
35
  var themes = getFormCustomTheme(systemTheme, optionVariant, style == 'gridFilter');
35
36
  var styles = SelectCustomStyles;
36
37
  components.Option = ChevronOption;
37
- components.DropdownIndicator = DropdownIndicator;
38
38
  // performance reasons
39
39
  if (useSimplifiedOptions)
40
40
  components.Option = SimplifiedOption;
@@ -122,8 +122,11 @@ export var CustomStyles = {
122
122
  },
123
123
  clearIndicator: function (styles, state) {
124
124
  var theme = state.theme;
125
- return __assign(__assign({}, styles), { justifyContent: 'center', alignItems: 'center', padding: theme.narrowIndicators ? '0px 0px 0px 2px' : '0px 4px', color: theme.colors.dropdownIndicatorColor });
125
+ return __assign(__assign({}, styles), { justifyContent: 'center', alignItems: 'center', padding: theme.narrowIndicators ? '0px 4px 0px 0px' : '0px 4px', color: theme.colors.dropdownIndicatorColor });
126
126
  },
127
+ indicatorSeparator: function () { return ({
128
+ display: 'none',
129
+ }); }
127
130
  };
128
131
  export var getCustomTheme = function (theme, optionVariant, useFilterSubvariant) {
129
132
  var inputTextColor = th.color('blue2')({ theme: theme });
@@ -85,12 +85,11 @@ var SingleSelect = function (props) {
85
85
  var _e = useState(false), isCreating = _e[0], setIsCreating = _e[1];
86
86
  var asAsync = !!loadOptions || !!onCreateOption;
87
87
  var noOptionsMessage = useCallback(function (inputValue) {
88
- return loadOptions && inputValue.length < asyncLoadMinChars
89
- ? i18n._({
90
- id: 'components.dropdown.writeMoreChars',
91
- message: 'Write at least ${asyncLoadMinChars} characters.'
92
- })
93
- : i18n._({ id: 'components.dropdown.noOptions', message: 'No options' });
88
+ if (!loadOptions)
89
+ return i18n._({ id: 'components.dropdown.noOptions', message: 'No options' });
90
+ if (inputValue.length < asyncLoadMinChars)
91
+ return i18n._({ id: 'components.dropdown.writeMoreChars', message: 'Write at least ${asyncLoadMinChars} characters.' });
92
+ return i18n._({ id: 'dataGrid.filterCell', message: 'Type to filter' });
94
93
  }, [loadOptions, asyncLoadMinChars]);
95
94
  var handleLoadOptions = useCallback(function (inputValue) { return __awaiter(void 0, void 0, void 0, function () {
96
95
  return __generator(this, function (_a) {
package/ui/index.d.ts CHANGED
@@ -27,7 +27,6 @@ import { default as Label } from './Elements/Label';
27
27
  import { default as Line } from './Elements/Line';
28
28
  import { default as Link } from './Elements/Link';
29
29
  import { default as Logo } from './Elements/Logo';
30
- import { default as MultiSelect } from './Elements/MultiSelect';
31
30
  import { default as Pagination } from './Elements/Pagination';
32
31
  import { default as Portal } from './Elements/Portal';
33
32
  import { default as ProgressBar } from './Elements/ProgressBar';
@@ -47,7 +46,7 @@ import { default as TextArea } from './Forms/TextArea';
47
46
  import { default as ThemeProvider } from './ThemeProvider';
48
47
  import { default as utils } from './utils';
49
48
 
50
- export { DropdownSelect, DatePicker, CommonGrid, Popover, SingleSelect, MultiSelect, Select, Card, CornerDialog, ImageList, LightBox, Modal, Tabs, Alert, Avatar, AsyncSelect, Badge, BorderedBox, Button, Dropdown, ErrorMessage, Icon, Image, Label, Line, Link, Logo, Pagination, Portal, ProgressBar, SimpleLink, SpaceAround, Spinner, Tag, Toast, Toggle, Typography, Checkbox, Input, RadioButton, ThemeProvider, utils, TextArea, LoginPage, LanguageSwitch, SideMenu, Stepper, Scheduler };
49
+ export { DropdownSelect, DatePicker, CommonGrid, Popover, SingleSelect, Select, Card, CornerDialog, ImageList, LightBox, Modal, Tabs, Alert, Avatar, AsyncSelect, Badge, BorderedBox, Button, Dropdown, ErrorMessage, Icon, Image, Label, Line, Link, Logo, Pagination, Portal, ProgressBar, SimpleLink, SpaceAround, Spinner, Tag, Toast, Toggle, Typography, Checkbox, Input, RadioButton, ThemeProvider, utils, TextArea, LoginPage, LanguageSwitch, SideMenu, Stepper, Scheduler };
51
50
  export * from './Blocks/CornerDialog';
52
51
  export * from './Blocks/ImageList';
53
52
  export * from './Blocks/LightBox';
@@ -87,7 +86,6 @@ export * from './Elements/DatePicker';
87
86
  export * from './Blocks/CommonGrid';
88
87
  export * from './Blocks/Popover';
89
88
  export * from './Elements/SingleSelect';
90
- export * from './Elements/MultiSelect';
91
89
  export * from './Elements/Select';
92
90
  export * from './Elements/DropdownSelect';
93
91
  export * from './Forms/TextArea';