flipper-ui 0.41.1 → 0.42.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.
@@ -19,6 +19,7 @@ export type DataTableProps<D extends Data, V extends StackView = Record<string,
19
19
  size?: 'small' | 'medium';
20
20
  maxHeight?: number | string;
21
21
  stickyHeader?: boolean;
22
+ stickyFooter?: boolean;
22
23
  cellPadding?: CSSProperties['padding'];
23
24
  framed?: boolean;
24
25
  borderRadius?: number | string;
@@ -64,6 +64,7 @@ var DataTable = exports.DataTable = function DataTable(props) {
64
64
  size = props.size,
65
65
  maxHeight = props.maxHeight,
66
66
  stickyHeader = props.stickyHeader,
67
+ stickyFooter = props.stickyFooter,
67
68
  cellPadding = props.cellPadding,
68
69
  framed = props.framed,
69
70
  borderRadius = props.borderRadius,
@@ -257,7 +258,8 @@ var DataTable = exports.DataTable = function DataTable(props) {
257
258
  }, _styles.SCROLLBAR) : undefined), (0, _styles.tableFrame)(framed, borderRadius))
258
259
  }, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
259
260
  size: size,
260
- stickyHeader: stickyHeader
261
+ stickyHeader: stickyHeader,
262
+ sx: stickyFooter ? _styles.STICKY_FOOTER : undefined
261
263
  }, !noHeader && /*#__PURE__*/_react["default"].createElement(_TableHead["default"], {
262
264
  style: headStyle
263
265
  }, /*#__PURE__*/_react["default"].createElement(_TableRow["default"], {
@@ -43,6 +43,16 @@ export declare const StickyHeader: {
43
43
  };
44
44
  };
45
45
  };
46
+ export declare const StickyFooter: {
47
+ (): React.JSX.Element;
48
+ parameters: {
49
+ docs: {
50
+ description: {
51
+ story: string;
52
+ };
53
+ };
54
+ };
55
+ };
46
56
  export declare const Custom: {
47
57
  (): React.JSX.Element;
48
58
  parameters: {
@@ -14,7 +14,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
14
  var _theme$colors = _theme.theme.colors,
15
15
  neutral = _theme$colors.neutral,
16
16
  orange = _theme$colors.orange;
17
- var FavoriteActions = exports.FavoriteActions = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: auto;\n opacity: 0;\n transition: opacity 120ms ease;\n"])));
17
+ var FavoriteActions = exports.FavoriteActions = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: 2px;\n margin-left: auto;\n opacity: 0;\n transition: opacity 120ms ease;\n\n & svg {\n width: 18px;\n height: 18px;\n }\n"])));
18
18
  var ItemLabel = exports.ItemLabel = (0, _styled["default"])('div', {
19
19
  shouldForwardProp: function shouldForwardProp(prop) {
20
20
  return prop !== 'expanded';
@@ -30,7 +30,7 @@ var ItemButton = exports.ItemButton = (0, _styled["default"])(_ListItemButton["d
30
30
  shouldForwardProp: function shouldForwardProp(prop) {
31
31
  return prop !== 'expanded';
32
32
  }
33
- })(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n && {\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n border-radius: 4px;\n padding: ", ";\n border-left: 3px solid\n ", ";\n background-color: ", ";\n color: ", ";\n font-weight: ", ";\n overflow: hidden;\n white-space: nowrap;\n transition:\n background-color 120ms ease,\n color 120ms ease;\n }\n\n & svg {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n color: inherit;\n }\n\n & svg path,\n & svg circle,\n & svg rect {\n fill: currentColor;\n }\n\n &:hover .list-item-dark-actions,\n &:focus-within .list-item-dark-actions {\n opacity: 1;\n }\n\n &&:hover {\n background-color: ", ";\n color: ", ";\n }\n\n &&.Mui-disabled {\n opacity: 0.5;\n }\n\n &&.Mui-focusVisible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n"])), function (props) {
33
+ })(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n && {\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n border-radius: 4px;\n padding: ", ";\n border-left: 3px solid\n ", ";\n background-color: ", ";\n color: ", ";\n font-weight: ", ";\n overflow: hidden;\n white-space: nowrap;\n transition:\n background-color 120ms ease,\n color 120ms ease;\n }\n\n & svg {\n flex-shrink: 0;\n color: inherit;\n }\n\n & svg path,\n & svg circle,\n & svg rect {\n fill: currentColor;\n }\n\n &:hover .list-item-dark-actions,\n &:focus-within .list-item-dark-actions {\n opacity: 1;\n }\n\n &&:hover {\n background-color: ", ";\n color: ", ";\n }\n\n &&.Mui-disabled {\n opacity: 0.5;\n }\n\n &&.Mui-focusVisible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n"])), function (props) {
34
34
  return props.expanded ? 'flex-start' : 'center';
35
35
  }, function (props) {
36
36
  return props.dense ? '8px 12px' : '12px';
@@ -46,6 +46,9 @@ var SMALL_SIZE_SX = {
46
46
  },
47
47
  '&& tfoot .MuiIconButton-root': {
48
48
  padding: '4px'
49
+ },
50
+ '&& thead .MuiTableSortLabel-icon': {
51
+ fontSize: '14px'
49
52
  }
50
53
  };
51
54
  var Table = function Table(_ref) {
@@ -1,5 +1,6 @@
1
1
  import type { CSSProperties } from 'react';
2
2
  export type Truncate = boolean | number | string;
3
+ export declare const toPx: (value: number | string) => string;
3
4
  export declare const SCROLLBAR: {
4
5
  readonly scrollbarWidth: "thin";
5
6
  readonly scrollbarColor: `${string} transparent`;
@@ -18,6 +19,17 @@ export declare const SCROLLBAR: {
18
19
  readonly backgroundColor: string;
19
20
  };
20
21
  };
22
+ export declare const STICKY_FOOTER: {
23
+ readonly borderCollapse: "separate";
24
+ readonly '& tfoot td': {
25
+ readonly zIndex: 2;
26
+ readonly bottom: 0;
27
+ readonly position: "sticky";
28
+ readonly borderBottom: "none";
29
+ readonly backgroundColor: string;
30
+ readonly boxShadow: `0 -1px 0 ${string}, 0 -4px 12px ${string}`;
31
+ };
32
+ };
21
33
  export declare const tableFrame: (framed?: boolean, borderRadius?: number | string) => {
22
34
  borderRadius: string;
23
35
  boxShadow?: undefined;
@@ -3,14 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.truncateStyle = exports.tableFrame = exports.SCROLLBAR = void 0;
6
+ exports.truncateStyle = exports.toPx = exports.tableFrame = exports.STICKY_FOOTER = exports.SCROLLBAR = void 0;
7
7
  var _styles = require("@mui/material/styles");
8
8
  var _theme = require("../../../theme");
9
- var gray = _theme.theme.colors.gray;
9
+ var _theme$colors = _theme.theme.colors,
10
+ gray = _theme$colors.gray,
11
+ neutral = _theme$colors.neutral;
10
12
  var DEFAULT_RADIUS = 12;
11
13
  var DEFAULT_MAX_WIDTH = 150;
12
14
  // sx reads a bare number as a theme multiple, so pin the unit
13
- var toPx = function toPx(value) {
15
+ var toPx = exports.toPx = function toPx(value) {
14
16
  return typeof value === 'number' ? "".concat(value, "px") : value;
15
17
  };
16
18
  var SCROLLBAR = exports.SCROLLBAR = {
@@ -31,6 +33,21 @@ var SCROLLBAR = exports.SCROLLBAR = {
31
33
  backgroundColor: (0, _styles.alpha)(gray[900], 0.35)
32
34
  }
33
35
  };
36
+
37
+ // under border-collapse a cell paints neither its own borders nor a shadow —
38
+ // both belong to the table grid and stay behind when the stuck cell moves. MUI
39
+ // only flips to separate for stickyHeader, so the footer has to flip it too
40
+ var STICKY_FOOTER = exports.STICKY_FOOTER = {
41
+ borderCollapse: 'separate',
42
+ '& tfoot td': {
43
+ zIndex: 2,
44
+ bottom: 0,
45
+ position: 'sticky',
46
+ borderBottom: 'none',
47
+ backgroundColor: neutral[50],
48
+ boxShadow: "0 -1px 0 ".concat(gray[200], ", 0 -4px 12px ").concat((0, _styles.alpha)(gray[800], 0.04))
49
+ }
50
+ };
34
51
  var tableFrame = exports.tableFrame = function tableFrame(framed, borderRadius) {
35
52
  if (!framed) {
36
53
  return borderRadius === undefined ? undefined : {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ChangeEvent, CSSProperties, MouseEvent } from 'react';
2
+ import type { ChangeEvent, CSSProperties, MouseEvent, ReactNode } from 'react';
3
3
  import type { TablePaginationProps } from '@mui/material/TablePagination';
4
4
  interface ITablePaginationProps extends Omit<TablePaginationProps, 'component' | 'count' | 'page' | 'rowsPerPage' | 'onPageChange' | 'onRowsPerPageChange'> {
5
5
  count: number;
@@ -8,7 +8,8 @@ interface ITablePaginationProps extends Omit<TablePaginationProps, 'component' |
8
8
  rowsPerPageOptions?: number[];
9
9
  onPageChange: (event: MouseEvent<HTMLButtonElement> | null, page: number) => void;
10
10
  onRowsPerPageChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
11
+ footerActions?: ReactNode;
11
12
  style?: CSSProperties;
12
13
  }
13
- declare const TablePagination: ({ count, page, rowsPerPage, rowsPerPageOptions, onPageChange, onRowsPerPageChange, style, padding, ...props }: ITablePaginationProps) => React.JSX.Element;
14
+ declare const TablePagination: ({ count, page, rowsPerPage, rowsPerPageOptions, onPageChange, onRowsPerPageChange, footerActions, slotProps, style, padding, ...props }: ITablePaginationProps) => React.JSX.Element;
14
15
  export default TablePagination;
@@ -11,10 +11,18 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _TablePagination = _interopRequireDefault(require("@mui/material/TablePagination"));
13
13
  var _theme = require("../../../theme");
14
- var _excluded = ["count", "page", "rowsPerPage", "rowsPerPageOptions", "onPageChange", "onRowsPerPageChange", "style", "padding"];
14
+ var _excluded = ["count", "page", "rowsPerPage", "rowsPerPageOptions", "onPageChange", "onRowsPerPageChange", "footerActions", "slotProps", "style", "padding"];
15
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
17
  var gray = _theme.theme.colors.gray;
18
+
19
+ // the toolbar lays its children out left to right and the spacer is the first
20
+ // of them, so filling the spacer is what puts content opposite the controls
21
+ var FOOTER_ACTIONS_SX = {
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ gap: '8px'
25
+ };
18
26
  var TablePagination = function TablePagination(_ref) {
19
27
  var count = _ref.count,
20
28
  page = _ref.page,
@@ -22,6 +30,8 @@ var TablePagination = function TablePagination(_ref) {
22
30
  rowsPerPageOptions = _ref.rowsPerPageOptions,
23
31
  onPageChange = _ref.onPageChange,
24
32
  onRowsPerPageChange = _ref.onRowsPerPageChange,
33
+ footerActions = _ref.footerActions,
34
+ slotProps = _ref.slotProps,
25
35
  style = _ref.style,
26
36
  padding = _ref.padding,
27
37
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
@@ -44,6 +54,12 @@ var TablePagination = function TablePagination(_ref) {
44
54
  sx: {
45
55
  borderBottom: "1px solid ".concat(gray[200])
46
56
  },
57
+ slotProps: footerActions ? _objectSpread(_objectSpread({}, slotProps), {}, {
58
+ spacer: {
59
+ children: footerActions,
60
+ sx: FOOTER_ACTIONS_SX
61
+ }
62
+ }) : slotProps,
47
63
  onPageChange: onPageChange,
48
64
  onRowsPerPageChange: onRowsPerPageChange
49
65
  }, props));
@@ -27,12 +27,15 @@ export interface ITableInteractive extends Omit<TableProps, 'children'> {
27
27
  paginated?: boolean;
28
28
  rowsPerPage?: number;
29
29
  direction?: Direction;
30
+ stickyFooter?: boolean;
30
31
  isInteractive?: boolean;
31
32
  isCollapsible?: boolean;
32
33
  visibleColumns?: string[];
33
34
  columnsTemporary?: string[];
34
35
  rowsPerPageOptions?: number[];
36
+ headerMargin?: number | string;
35
37
  headerActions?: JSX.Element | undefined;
38
+ footerActions?: ReactNode;
36
39
  valuesInvoices?: Record<string, unknown>[];
37
40
  onCancel?: () => void;
38
41
  onConfirm?: () => void;
@@ -49,6 +49,8 @@ var TableInteractive = exports.TableInteractive = function TableInteractive(prop
49
49
  var maxPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);
50
50
  var page = Math.min((_props$page = props.page) !== null && _props$page !== void 0 ? _props$page : 0, maxPage);
51
51
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.isInteractive && /*#__PURE__*/_react["default"].createElement(_TableInteractiveHeader.TableInteractiveHeader, {
52
+ size: props.size,
53
+ headerMargin: props.headerMargin,
52
54
  headerActions: props.headerActions,
53
55
  handleOpen: props.handleOpen
54
56
  }), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
@@ -72,7 +74,7 @@ var TableInteractive = exports.TableInteractive = function TableInteractive(prop
72
74
  style: {
73
75
  border: props.isInteractive ? 'none !important' : "1px solid ".concat(gray[300])
74
76
  },
75
- sx: _objectSpread(_objectSpread({}, props.size !== 'small' && BODY_CELL_SX), props.sx)
77
+ sx: _objectSpread(_objectSpread(_objectSpread({}, props.size !== 'small' && BODY_CELL_SX), props.stickyFooter && _styles.STICKY_FOOTER), props.sx)
76
78
  }, /*#__PURE__*/_react["default"].createElement(_TableInteractiveHead.TableInteractiveHead, {
77
79
  fixed: props.fixed,
78
80
  active: props.active,
@@ -89,6 +91,7 @@ var TableInteractive = exports.TableInteractive = function TableInteractive(prop
89
91
  page: page,
90
92
  count: count,
91
93
  rowsPerPage: (_props$rowsPerPage2 = props.rowsPerPage) !== null && _props$rowsPerPage2 !== void 0 ? _props$rowsPerPage2 : 10,
94
+ footerActions: props.footerActions,
92
95
  rowsPerPageOptions: (_props$rowsPerPageOpt = props.rowsPerPageOptions) !== null && _props$rowsPerPageOpt !== void 0 ? _props$rowsPerPageOpt : [10, 25, 50, 100],
93
96
  ActionsComponent: _TablePaginationActions.TablePaginationActions,
94
97
  onPageChange: function onPageChange(_, page) {
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { ITableInteractive } from './TableInteractive';
3
- export type ITableInteractiveHeader = Pick<ITableInteractive, 'handleOpen' | 'headerActions'>;
3
+ export type ITableInteractiveHeader = Pick<ITableInteractive, 'handleOpen' | 'headerActions' | 'headerMargin' | 'size'>;
4
4
  export declare const TableInteractiveHeader: (props: ITableInteractiveHeader) => React.JSX.Element;
@@ -10,11 +10,15 @@ var _iconButton = _interopRequireDefault(require("../../inputs/icon-button"));
10
10
  var _mui = require("../../../icons/mui");
11
11
  var _styles = require("./styles");
12
12
  var TableInteractiveHeader = exports.TableInteractiveHeader = function TableInteractiveHeader(props) {
13
- return /*#__PURE__*/_react["default"].createElement(_styles.TableHeaderContent, null, /*#__PURE__*/_react["default"].createElement("div", null, props.headerActions), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
14
- padding: "4px 6px",
13
+ var isSmall = props.size === 'small';
14
+ return /*#__PURE__*/_react["default"].createElement(_styles.TableHeaderContent, {
15
+ margin: props.headerMargin
16
+ }, /*#__PURE__*/_react["default"].createElement("div", null, props.headerActions), /*#__PURE__*/_react["default"].createElement(_iconButton["default"], {
17
+ padding: "4px",
15
18
  "aria-label": "Prefer\xEAncias",
16
19
  onClick: props.handleOpen
17
20
  }, /*#__PURE__*/_react["default"].createElement(_mui.IconSettings, {
18
- color: "primary"
21
+ color: "primary",
22
+ fontSize: isSmall ? 'small' : 'medium'
19
23
  })));
20
24
  };
@@ -5,6 +5,8 @@ export declare const ContentWrapper: import("@emotion/styled").StyledComponent<{
5
5
  export declare const TableHeaderContent: import("@emotion/styled").StyledComponent<{
6
6
  theme?: import("@emotion/react").Theme;
7
7
  as?: React.ElementType;
8
+ } & {
9
+ margin?: number | string;
8
10
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
11
  export declare const ActionsWrapper: import("@emotion/styled").StyledComponent<{
10
12
  theme?: import("@emotion/react").Theme;
@@ -7,12 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.TableHeaderContent = exports.TableCellInteractive = exports.ContentWrapper = exports.ActionsWrapper = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _styles = require("../table/styles");
10
11
  var _tableCell = _interopRequireDefault(require("../table/table-cell"));
11
12
  var _theme = require("../../../theme");
12
13
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
14
  var gray = _theme.theme.colors.gray;
14
15
  var ContentWrapper = exports.ContentWrapper = _styled["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 2px solid ", ";\n"])), gray[300]);
15
- var TableHeaderContent = exports.TableHeaderContent = _styled["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n gap: 4px;\n margin: 0 0 8px 0;\n\n & > div {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n }\n"])));
16
+ var TableHeaderContent = exports.TableHeaderContent = _styled["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 4px;\n margin: ", ";\n\n & > div {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n }\n"])), function (props) {
17
+ return props.margin === undefined ? '0 0 8px 0' : (0, _styles.toPx)(props.margin);
18
+ });
16
19
  var ActionsWrapper = exports.ActionsWrapper = _styled["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n"])));
17
20
  var TableCellInteractive = exports.TableCellInteractive = (0, _styled["default"])(_tableCell["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n && {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 60px;\n max-width: ", ";\n padding: 16px 8px;\n }\n"])), function (props) {
18
21
  return props.fixed ? props.width : 'none';
@@ -6,3 +6,4 @@ type Story = StoryObj<typeof TableInteractive>;
6
6
  export declare const interactiveTable: Story;
7
7
  export declare const framed: Story;
8
8
  export declare const stickyHeader: Story;
9
+ export declare const stickyFooter: Story;
@@ -84,6 +84,7 @@ export { default as IconFileOpenRounded } from '@mui/icons-material/FileOpenRoun
84
84
  export { default as IconFileUpload } from '@mui/icons-material/FileUpload';
85
85
  export { default as IconFilterList } from '@mui/icons-material/FilterList';
86
86
  export { default as IconFirstPage } from '@mui/icons-material/FirstPage';
87
+ export { default as IconFlagRounded } from '@mui/icons-material/FlagRounded';
87
88
  export { default as IconFolderShared } from '@mui/icons-material/FolderShared';
88
89
  export { default as IconFormatAlignCenterRounded } from '@mui/icons-material/FormatAlignCenterRounded';
89
90
  export { default as IconFormatAlignLeftRounded } from '@mui/icons-material/FormatAlignLeftRounded';
@@ -520,6 +520,12 @@ Object.defineProperty(exports, "IconFirstPage", {
520
520
  return _FirstPage["default"];
521
521
  }
522
522
  });
523
+ Object.defineProperty(exports, "IconFlagRounded", {
524
+ enumerable: true,
525
+ get: function get() {
526
+ return _FlagRounded["default"];
527
+ }
528
+ });
523
529
  Object.defineProperty(exports, "IconFolderShared", {
524
530
  enumerable: true,
525
531
  get: function get() {
@@ -1422,6 +1428,7 @@ var _FileOpenRounded = _interopRequireDefault(require("@mui/icons-material/FileO
1422
1428
  var _FileUpload = _interopRequireDefault(require("@mui/icons-material/FileUpload"));
1423
1429
  var _FilterList = _interopRequireDefault(require("@mui/icons-material/FilterList"));
1424
1430
  var _FirstPage = _interopRequireDefault(require("@mui/icons-material/FirstPage"));
1431
+ var _FlagRounded = _interopRequireDefault(require("@mui/icons-material/FlagRounded"));
1425
1432
  var _FolderShared = _interopRequireDefault(require("@mui/icons-material/FolderShared"));
1426
1433
  var _FormatAlignCenterRounded = _interopRequireDefault(require("@mui/icons-material/FormatAlignCenterRounded"));
1427
1434
  var _FormatAlignLeftRounded = _interopRequireDefault(require("@mui/icons-material/FormatAlignLeftRounded"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flipper-ui",
3
- "version": "0.41.1",
3
+ "version": "0.42.1",
4
4
  "author": "NG",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
package/theme/theme.d.ts CHANGED
@@ -124,5 +124,12 @@ export declare const muiThemeOptions: {
124
124
  };
125
125
  };
126
126
  };
127
+ MuiTableCell: {
128
+ styleOverrides: {
129
+ stickyHeader: {
130
+ backgroundColor: string;
131
+ };
132
+ };
133
+ };
127
134
  };
128
135
  };
package/theme/theme.js CHANGED
@@ -35,6 +35,16 @@ var muiThemeOptions = exports.muiThemeOptions = {
35
35
  defaultProps: {
36
36
  variantMapping: _typography.variantMapping
37
37
  }
38
+ },
39
+ // a sticky head cell needs an opaque background or the rows scroll
40
+ // through it, and MUI paints it with background.default — the page
41
+ // colour set above, not the surface the table sits on
42
+ MuiTableCell: {
43
+ styleOverrides: {
44
+ stickyHeader: {
45
+ backgroundColor: _colors["default"].neutral[50]
46
+ }
47
+ }
38
48
  }
39
49
  }
40
50
  };
@@ -0,0 +1 @@
1
+ export {};