@popmenu/common-ui 0.18.4-alpha.1 → 0.18.4-alpha.2

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 (32) hide show
  1. package/build/components/index.d.ts +0 -1
  2. package/build/index.es.js +1 -266
  3. package/build/index.es.js.map +1 -1
  4. package/build/index.js +0 -264
  5. package/build/index.js.map +1 -1
  6. package/package.json +2 -3
  7. package/build/components/Table/Table.d.ts +0 -3
  8. package/build/components/Table/TableProps.d.ts +0 -28
  9. package/build/components/Table/TableStyles.d.ts +0 -2
  10. package/build/components/Table/index.d.ts +0 -2
  11. package/build/components/Table/util/makeColumns.d.ts +0 -7
  12. package/build/components/TableActionsCell/TableActionsCell.d.ts +0 -3
  13. package/build/components/TableActionsCell/TableActionsCellProps.d.ts +0 -10
  14. package/build/components/TableActionsCell/index.d.ts +0 -2
  15. package/build/components/TableBody/TableBody.d.ts +0 -2
  16. package/build/components/TableBody/index.d.ts +0 -1
  17. package/build/components/TableCell/TableCell.d.ts +0 -2
  18. package/build/components/TableCell/TableCellStyles.d.ts +0 -1
  19. package/build/components/TableCell/index.d.ts +0 -1
  20. package/build/components/TableFooter/TableFooter.d.ts +0 -2
  21. package/build/components/TableFooter/index.d.ts +0 -1
  22. package/build/components/TableHeader/TableHeader.d.ts +0 -2
  23. package/build/components/TableHeader/index.d.ts +0 -1
  24. package/build/components/TableHeaderCell/TableHeaderCell.d.ts +0 -3
  25. package/build/components/TableHeaderCell/TableHeaderCellProps.d.ts +0 -8
  26. package/build/components/TableHeaderCell/TableHeaderCellStyles.d.ts +0 -2
  27. package/build/components/TableHeaderCell/index.d.ts +0 -1
  28. package/build/components/TableHeaderRow/TableHeaderRow.d.ts +0 -2
  29. package/build/components/TableHeaderRow/index.d.ts +0 -1
  30. package/build/components/TableRow/TableRow.d.ts +0 -2
  31. package/build/components/TableRow/TableRowStyles.d.ts +0 -1
  32. package/build/components/TableRow/index.d.ts +0 -1
@@ -63,7 +63,6 @@ export { default as StepLabel, StepLabelProps } from './StepLabel';
63
63
  export { default as Stepper, StepperProps } from './Stepper';
64
64
  export { default as SplitInput, SplitInputProps } from './SplitInput';
65
65
  export { default as Switch, SwitchProps } from './Switch';
66
- export { default as Table, TableProps } from './Table';
67
66
  export { default as Tab, TabProps } from './Tab';
68
67
  export { default as Tabs, TabsProps } from './Tabs';
69
68
  export { default as TextField, TextFieldProps } from './TextField';
package/build/index.es.js CHANGED
@@ -40,17 +40,13 @@ export { default as ListItem } from '@material-ui/core/ListItem';
40
40
  export { default as ListItemIcon } from '@material-ui/core/ListItemIcon';
41
41
  export { default as ListItemSecondaryAction } from '@material-ui/core/ListItemSecondaryAction';
42
42
  export { default as ListItemText } from '@material-ui/core/ListItemText';
43
- import Menu from '@material-ui/core/Menu';
44
43
  export { default as Menu } from '@material-ui/core/Menu';
45
- import MenuItem from '@material-ui/core/MenuItem';
46
44
  export { default as MenuItem } from '@material-ui/core/MenuItem';
47
45
  export { default as MenuList } from '@material-ui/core/MenuList';
48
46
  import MuiRadio from '@material-ui/core/Radio';
49
47
  import TextField from '@material-ui/core/TextField';
50
48
  export { default as TextField } from '@material-ui/core/TextField';
51
49
  import MuiSwitch from '@material-ui/core/Switch';
52
- import { useTable, useSortBy, usePagination } from 'react-table';
53
- import { Pagination } from '@material-ui/lab';
54
50
  export { default as Tab } from '@material-ui/core/Tab';
55
51
  export { default as Tabs } from '@material-ui/core/Tabs';
56
52
  import MuiToggleButton from '@material-ui/lab/ToggleButton';
@@ -93,70 +89,6 @@ function __rest(s, e) {
93
89
  t[p[i]] = s[p[i]];
94
90
  }
95
91
  return t;
96
- }
97
-
98
- function __spreadArray(to, from, pack) {
99
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
100
- if (ar || !(i in from)) {
101
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
102
- ar[i] = from[i];
103
- }
104
- }
105
- return to.concat(ar || from);
106
- }
107
-
108
- var _path$3K;
109
-
110
- function _extends$3$() { _extends$3$ = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3$.apply(this, arguments); }
111
-
112
- function SvgMore(props) {
113
- return /*#__PURE__*/React.createElement("svg", _extends$3$({
114
- viewBox: "0 0 16 16",
115
- strokeLinecap: "round",
116
- strokeLinejoin: "round",
117
- stroke: "currentColor",
118
- width: "1em",
119
- height: "1em",
120
- fill: "none"
121
- }, props), _path$3K || (_path$3K = /*#__PURE__*/React.createElement("path", {
122
- d: "M8 8.667a.667.667 0 100-1.334.667.667 0 000 1.334zM8 4a.667.667 0 100-1.333A.667.667 0 008 4zm0 9.333A.667.667 0 108 12a.667.667 0 000 1.333z"
123
- })));
124
- }
125
-
126
- var _path$2X;
127
-
128
- function _extends$3b() { _extends$3b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3b.apply(this, arguments); }
129
-
130
- function SvgChevronDown(props) {
131
- return /*#__PURE__*/React.createElement("svg", _extends$3b({
132
- viewBox: "0 0 16 16",
133
- strokeLinecap: "round",
134
- strokeLinejoin: "round",
135
- stroke: "currentColor",
136
- width: "1em",
137
- height: "1em",
138
- fill: "none"
139
- }, props), _path$2X || (_path$2X = /*#__PURE__*/React.createElement("path", {
140
- d: "M4 6l4 4 4-4"
141
- })));
142
- }
143
-
144
- var _path$2W;
145
-
146
- function _extends$3a() { _extends$3a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3a.apply(this, arguments); }
147
-
148
- function SvgChevronUp(props) {
149
- return /*#__PURE__*/React.createElement("svg", _extends$3a({
150
- viewBox: "0 0 16 16",
151
- strokeLinecap: "round",
152
- strokeLinejoin: "round",
153
- stroke: "currentColor",
154
- width: "1em",
155
- height: "1em",
156
- fill: "none"
157
- }, props), _path$2W || (_path$2W = /*#__PURE__*/React.createElement("path", {
158
- d: "M12 10L8 6l-4 4"
159
- })));
160
92
  }
161
93
 
162
94
  var _path$1f;
@@ -1058,203 +990,6 @@ var Switch = forwardRef(function (props, ref) {
1058
990
  });
1059
991
  Switch.displayName = 'Switch';
1060
992
 
1061
- var TableFooter = function (props) {
1062
- return (React__default.createElement(Box, { display: "flex", justifyContent: "center", alignItems: "end", paddingTop: 3, paddingBottom: 4, flexGrow: 1 }, props.children));
1063
- };
1064
-
1065
- var TableHeader = function (props) {
1066
- var children = props.children, restProps = __rest(props, ["children"]);
1067
- return React__default.createElement("thead", __assign({}, restProps), children);
1068
- };
1069
-
1070
- var getWidth = function (props) {
1071
- var isActionColumn = props.column.isActionColumn, fullWidth = props.tableProps.fullWidth;
1072
- var width;
1073
- if (fullWidth && isActionColumn) {
1074
- width = '0.0000000001%';
1075
- }
1076
- if (fullWidth && !isActionColumn) {
1077
- width = '1%';
1078
- }
1079
- if (!fullWidth && isActionColumn) {
1080
- width = 72;
1081
- }
1082
- if (!fullWidth && !isActionColumn) {
1083
- width = undefined;
1084
- }
1085
- return width;
1086
- };
1087
- var useTableHeaderCellStyles = makeStyles(function (theme) { return ({
1088
- root: function (props) {
1089
- var width = getWidth(props);
1090
- return {
1091
- borderBottomStyle: 'solid',
1092
- borderBottomWidth: 2,
1093
- borderBottomColor: theme.palette.grey[100],
1094
- padding: theme.spacing(2),
1095
- textAlign: 'left',
1096
- fontWeight: 500,
1097
- width: width,
1098
- };
1099
- },
1100
- }); });
1101
-
1102
- var TableHeaderCell = function (props) {
1103
- var children = props.children, column = props.column; props.tableProps; var restProps = __rest(props, ["children", "column", "tableProps"]);
1104
- var root = useTableHeaderCellStyles(props).root;
1105
- var _a = useTheme(), palette = _a.palette, spacing = _a.spacing;
1106
- //@ts-expect-error @types/react-table issue
1107
- var canSort = column.canSort, isSorted = column.isSorted, isSortedDesc = column.isSortedDesc, isActionColumn = column.isActionColumn;
1108
- var showSortIndicator = canSort && !isActionColumn;
1109
- return (React__default.createElement("th", __assign({ className: root }, restProps),
1110
- React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: spacing(1) },
1111
- children,
1112
- showSortIndicator && (React__default.createElement(Icon, { icon: isSortedDesc ? SvgChevronDown : SvgChevronUp, color: isSorted ? palette.text.primary : palette.text.disabled, size: "large" })))));
1113
- };
1114
-
1115
- var TableHeaderRow = function (props) {
1116
- var children = props.children, restProps = __rest(props, ["children"]);
1117
- return React__default.createElement("tr", __assign({}, restProps), children);
1118
- };
1119
-
1120
- var useTableRowStyles = makeStyles(function (theme) { return ({
1121
- root: function () { return ({
1122
- '&:nth-child(even)': {
1123
- backgroundColor: theme.palette.grey[100],
1124
- },
1125
- }); },
1126
- }); });
1127
-
1128
- var TableRow = function (props) {
1129
- var children = props.children, restProps = __rest(props, ["children"]);
1130
- var root = useTableRowStyles(props).root;
1131
- return (React__default.createElement("tr", __assign({ className: root }, restProps), children));
1132
- };
1133
-
1134
- var TableBody = function (props) {
1135
- var children = props.children, restProps = __rest(props, ["children"]);
1136
- return React__default.createElement("tbody", __assign({}, restProps), children);
1137
- };
1138
-
1139
- var useTableCellStyles = makeStyles(function (theme) { return ({
1140
- root: function () { return ({
1141
- padding: theme.spacing(2),
1142
- }); },
1143
- }); });
1144
-
1145
- var TableCell = function (props) {
1146
- var children = props.children, restProps = __rest(props, ["children"]);
1147
- var root = useTableCellStyles(props).root;
1148
- return (React__default.createElement("td", __assign({ className: root }, restProps), children));
1149
- };
1150
-
1151
- var useTableStyles = makeStyles(function (_a) {
1152
- var typography = _a.typography;
1153
- return ({
1154
- root: function (_a) {
1155
- var fullWidth = _a.fullWidth;
1156
- return ({
1157
- display: fullWidth ? 'flex' : 'inline-flex',
1158
- flexDirection: 'column',
1159
- });
1160
- },
1161
- table: function (_a) {
1162
- var fullWidth = _a.fullWidth;
1163
- return (__assign(__assign({ borderCollapse: 'collapse' }, (fullWidth && { width: '100%' })), typography.body1));
1164
- },
1165
- tableWrap: function () { return ({
1166
- maxWidth: '100%',
1167
- overflowX: 'auto',
1168
- overflowY: 'hidden',
1169
- }); },
1170
- });
1171
- });
1172
-
1173
- var TableActionsCell = function (props) {
1174
- var _a = props.actions, primary = _a.primary, secondary = _a.secondary, intermediate = __rest(_a, ["primary", "secondary"]);
1175
- var tertiary = intermediate.tertiary, restActions = __rest(intermediate, ["tertiary"]);
1176
- var overflow = Object.keys(props.actions).length > 3;
1177
- var _b = React__default.useState(null), anchorEl = _b[0], setAnchorEl = _b[1];
1178
- var openMenu = function (event) {
1179
- setAnchorEl(event.currentTarget);
1180
- };
1181
- var closeMenu = function () {
1182
- setAnchorEl(null);
1183
- };
1184
- var handleItemClick = function (action) {
1185
- action(props.cell);
1186
- closeMenu();
1187
- };
1188
- return (React__default.createElement(Box, { display: "flex" },
1189
- primary && primary.icon && (React__default.createElement(IconButton, { size: "small", onClick: function () { return primary.action(props.cell); } },
1190
- React__default.createElement(Icon, { icon: primary.icon }))),
1191
- secondary && secondary.icon && (React__default.createElement(IconButton, { size: "small", onClick: function () { return secondary.action(props.cell); } },
1192
- React__default.createElement(Icon, { icon: secondary.icon }))),
1193
- !overflow && tertiary && tertiary.icon && (React__default.createElement(IconButton, { size: "small", onClick: function () { return tertiary.action(props.cell); } },
1194
- React__default.createElement(Icon, { icon: tertiary.icon }))),
1195
- overflow && restActions && (React__default.createElement(React__default.Fragment, null,
1196
- React__default.createElement(IconButton, { size: "small", onClick: openMenu },
1197
- React__default.createElement(Icon, { icon: SvgMore })),
1198
- React__default.createElement(Menu, { anchorEl: anchorEl, open: Boolean(anchorEl), onClose: closeMenu }, Object.values(__assign({ tertiary: tertiary }, restActions))
1199
- .filter(function (value) { return value; })
1200
- .map(function (_a, i) {
1201
- var label = _a.label, action = _a.action;
1202
- return (React__default.createElement(MenuItem, { key: i, onClick: function () { return handleItemClick(action); } }, label));
1203
- }))))));
1204
- };
1205
-
1206
- var makeColumns = function (config) {
1207
- var columns = config.columns, actions = config.actions, actionColumnId = config.actionColumnId;
1208
- var actionColumn;
1209
- var memoizedColumns = __spreadArray([], columns);
1210
- if (actions) {
1211
- var CellComponent = function (props) { return React__default.createElement(TableActionsCell, __assign({}, props, { actions: actions })); };
1212
- actionColumn = {
1213
- id: actionColumnId,
1214
- Header: function () { return null; },
1215
- Cell: CellComponent,
1216
- };
1217
- memoizedColumns = __spreadArray(__spreadArray([], columns), [actionColumn]);
1218
- }
1219
- return memoizedColumns;
1220
- };
1221
-
1222
- /* eslint-disable react/jsx-key */
1223
- var Table = function (props) {
1224
- var actionColumnId = 'table-actions-column';
1225
- var rawColumns = props.columns, data = props.data, actions = props.actions, sortable = props.sortable, emptyMessage = props.emptyMessage, EmptyImage = props.EmptyImage, isLoading = props.loading, enableMinHeight = props.enableMinHeight;
1226
- var classes = useTableStyles(props);
1227
- var columns = useMemo(function () { return makeColumns({ columns: rawColumns, actions: actions, actionColumnId: actionColumnId }); }, [rawColumns, actions]);
1228
- // @ts-expect-error @types/react-table issue
1229
- var instance = useTable({ columns: columns, data: data, disableSortBy: !sortable }, useSortBy, usePagination);
1230
- // @ts-expect-error @types/react-table issue
1231
- var getTableProps = instance.getTableProps, getTableBodyProps = instance.getTableBodyProps, headerGroups = instance.headerGroups, page = instance.page, prepareRow = instance.prepareRow, pageCount = instance.pageCount, gotoPage = instance.gotoPage, state = instance.state, rows = instance.rows;
1232
- var isPaginated = pageCount > 1;
1233
- var isEmpty = rows.length === 0;
1234
- var handlePagination = function (_e, pageNumber) {
1235
- gotoPage(pageNumber - 1);
1236
- };
1237
- return (React__default.createElement(Box, { className: classes.root, minHeight: (isLoading || isEmpty) && enableMinHeight ? 618 : 'unset' },
1238
- React__default.createElement(Box, { className: classes.tableWrap, minHeight: page.length > 0 && !isLoading && enableMinHeight ? 618 : 'unset' },
1239
- React__default.createElement("table", __assign({ className: classes.table }, getTableProps()),
1240
- React__default.createElement(TableHeader, null, headerGroups.map(function (headerGroup) { return (React__default.createElement(TableHeaderRow, __assign({}, headerGroup.getHeaderGroupProps()), headerGroup.headers.map(function (column) { return (React__default.createElement(TableHeaderCell, __assign({}, column.getHeaderProps(column.getSortByToggleProps()), { column: __assign(__assign({}, column), { isActionColumn: column.id === actionColumnId }), tableProps: props }), column.render('Header'))); }))); })),
1241
- !isEmpty && !isLoading && (React__default.createElement(TableBody, __assign({}, getTableBodyProps()), page.map(function (row) {
1242
- prepareRow(row);
1243
- return (React__default.createElement(TableRow, __assign({}, row.getRowProps()), row.cells.map(function (cell) { return (React__default.createElement(TableCell, __assign({}, cell.getCellProps()), cell.render('Cell'))); })));
1244
- }))))),
1245
- isEmpty && (React__default.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", p: 2, flexGrow: 1 },
1246
- EmptyImage && EmptyImage(),
1247
- React__default.createElement(Typography, null, emptyMessage))),
1248
- isLoading && (React__default.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", p: 2, flexGrow: 1 },
1249
- React__default.createElement(CircularProgress, { size: 80, color: "inherit" }))),
1250
- isPaginated && !isLoading && (React__default.createElement(TableFooter, null,
1251
- React__default.createElement(Pagination, { count: pageCount, page: state.pageIndex + 1, onChange: handlePagination })))));
1252
- };
1253
- Table.defaultProps = {
1254
- emptyMessage: 'No results.',
1255
- enableMinHeight: true,
1256
- };
1257
-
1258
993
  var useToggleButtonStyles = makeStyles$1(function (theme) { return ({
1259
994
  root: {
1260
995
  color: theme.palette.text.primary,
@@ -1333,5 +1068,5 @@ var useCollapsibleText = function () {
1333
1068
  };
1334
1069
  };
1335
1070
 
1336
- export { AudioPlayer, Avatar, Button, Checkbox, CollapsibleText, Divider, Icon, IconButton, Link, Paper, PaperContent, Radio, SplitInput, Switch, Table, ToggleButton, ToggleButtonGroup, Tooltip, Typography, useCollapsibleText };
1071
+ export { AudioPlayer, Avatar, Button, Checkbox, CollapsibleText, Divider, Icon, IconButton, Link, Paper, PaperContent, Radio, SplitInput, Switch, ToggleButton, ToggleButtonGroup, Tooltip, Typography, useCollapsibleText };
1337
1072
  //# sourceMappingURL=index.es.js.map