@veritone-ce/design-system 1.12.47 → 1.12.48

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/dist/cjs/assets/theme.js +7 -5
  2. package/dist/cjs/components/Button/index.js +17 -15
  3. package/dist/cjs/components/IconButton/index.js +27 -0
  4. package/dist/cjs/components/MenuFlyout/index.js +2 -0
  5. package/dist/cjs/components/Table/AutoTable/common.js +143 -0
  6. package/dist/cjs/components/Table/AutoTable/controlled.js +120 -0
  7. package/dist/cjs/components/Table/AutoTable/index.js +118 -0
  8. package/dist/cjs/components/Table/AutoTable/types.js +5 -0
  9. package/dist/cjs/components/Table/AutoTable/virtual.js +154 -0
  10. package/dist/cjs/components/Table/index.js +83 -35
  11. package/dist/cjs/index.js +107 -67
  12. package/dist/esm/assets/theme.js +7 -5
  13. package/dist/esm/components/Button/index.js +17 -15
  14. package/dist/esm/components/IconButton/index.js +17 -0
  15. package/dist/esm/components/MenuFlyout/index.js +2 -0
  16. package/dist/esm/components/Table/AutoTable/common.js +133 -0
  17. package/dist/esm/components/Table/AutoTable/controlled.js +115 -0
  18. package/dist/esm/components/Table/AutoTable/index.js +107 -0
  19. package/dist/esm/components/Table/AutoTable/types.js +1 -0
  20. package/dist/esm/components/Table/AutoTable/virtual.js +149 -0
  21. package/dist/esm/components/Table/index.js +80 -33
  22. package/dist/esm/index.js +5 -1
  23. package/dist/types/components/Button/index.d.ts +2 -0
  24. package/dist/types/components/IconButton/index.d.ts +16 -0
  25. package/dist/types/components/MenuFlyout/index.d.ts +4 -4
  26. package/dist/types/components/Table/AutoTable/common.d.ts +25 -0
  27. package/dist/types/components/Table/AutoTable/controlled.d.ts +13 -0
  28. package/dist/types/components/Table/AutoTable/index.d.ts +44 -0
  29. package/dist/types/components/Table/AutoTable/types.d.ts +106 -0
  30. package/dist/types/components/Table/AutoTable/virtual.d.ts +19 -0
  31. package/dist/types/components/Table/index.d.ts +45 -8
  32. package/dist/types/index.d.ts +11 -2
  33. package/package.json +4 -1
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = VirtualControlledAutoTable;
8
+ var _reactTable = require("@tanstack/react-table");
9
+ var _index = require("../index.js");
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _material = require("@mui/material");
12
+ var _utils = require("@mui/utils");
13
+ var _common = require("./common.js");
14
+ var _reactVirtual = require("@tanstack/react-virtual");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _excluded = ["stickyHeader", "loading", "zeroStateMessage", "scrollOffset", "getScrollElement", "renderWhenNotVisible", "rowSize", "headerSize", "overscan", "sx", "className"];
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
19
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
23
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
26
+ var TableContainer = (0, _material.styled)(_material.Box)(function (_ref) {
27
+ var virtualizerTotalHeight = _ref.virtualizerTotalHeight;
28
+ return {
29
+ height: "".concat(virtualizerTotalHeight, "px")
30
+ };
31
+ });
32
+ function VirtualControlledAutoTable(_ref2) {
33
+ var stickyHeader = _ref2.stickyHeader,
34
+ loading = _ref2.loading,
35
+ zeroStateMessage = _ref2.zeroStateMessage,
36
+ scrollOffset = _ref2.scrollOffset,
37
+ getScrollElement = _ref2.getScrollElement,
38
+ renderWhenNotVisible = _ref2.renderWhenNotVisible,
39
+ rowSize = _ref2.rowSize,
40
+ _ref2$headerSize = _ref2.headerSize,
41
+ headerSize = _ref2$headerSize === void 0 ? 50 : _ref2$headerSize,
42
+ overscan = _ref2.overscan,
43
+ sx = _ref2.sx,
44
+ className = _ref2.className,
45
+ options = _objectWithoutProperties(_ref2, _excluded);
46
+ var table = (0, _common.useAutoTable)(options);
47
+ // const manualRowCount = options.manualRowCount ?? options.data.length
48
+
49
+ var _table$getRowModel = table.getRowModel(),
50
+ rows = _table$getRowModel.rows;
51
+
52
+ // get this table's offset from parent container
53
+ var offsetFromScrollEl = scrollOffset !== null && scrollOffset !== void 0 ? scrollOffset : 0; // listOffset;
54
+
55
+ var virtualizer = (0, _reactVirtual.useVirtualizer)({
56
+ getScrollElement: getScrollElement,
57
+ scrollMargin: offsetFromScrollEl,
58
+ count: rows.length,
59
+ overscan: overscan !== null && overscan !== void 0 ? overscan : 10,
60
+ estimateSize: function estimateSize() {
61
+ return rowSize;
62
+ }
63
+ });
64
+
65
+ // this will completely hide the table rows if it is not within the visible threshold
66
+ // maybe this will be default behavior in @tanstack/react-virtual one day
67
+ var visibilityOverscan = virtualizer.options.overscan * rowSize;
68
+ var tableIsVisible = renderWhenNotVisible || virtualizer.scrollOffset >= offsetFromScrollEl - visibilityOverscan && virtualizer.scrollOffset <= offsetFromScrollEl + virtualizer.getTotalSize() + visibilityOverscan;
69
+ var virtualItems = virtualizer.getVirtualItems();
70
+ var totalHeight = virtualizer.getTotalSize() + headerSize;
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TableContainer, {
72
+ virtualizerTotalHeight: totalHeight,
73
+ sx: sx,
74
+ className: className,
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Table, {
76
+ sx: _objectSpread({
77
+ borderCollapse: 'separate'
78
+ }, stickyHeader ? {
79
+ '& th': {
80
+ position: 'sticky',
81
+ top: _typeof(stickyHeader) === 'object' ? stickyHeader.offset : 0,
82
+ zIndex: 2,
83
+ backgroundColor: function backgroundColor(theme) {
84
+ return theme.palette.background["default"];
85
+ }
86
+ }
87
+ } : {}),
88
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableHead, {
89
+ sx: {
90
+ height: headerSize
91
+ },
92
+ children: table.getHeaderGroups().map(function (headerGroup) {
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
94
+ children: headerGroup.headers.map(function (header) {
95
+ var isSorted = header.column.getIsSorted();
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
97
+ variant: "header",
98
+ children: header.isPlaceholder ? null : header.column.getCanSort() ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.TableSortLabel, {
99
+ active: isSorted !== false,
100
+ direction: isSorted !== false ? isSorted : 'asc',
101
+ onClick: header.column.getToggleSortingHandler(),
102
+ children: [(0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext()), isSorted !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
103
+ component: "span",
104
+ sx: _utils.visuallyHidden,
105
+ children: isSorted === 'desc' ? 'sorted descending' : 'sorted ascending'
106
+ }) : null]
107
+ }) : (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext())
108
+ }, header.id);
109
+ })
110
+ }, headerGroup.id);
111
+ })
112
+ }), loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
113
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
114
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
115
+ colSpan: table.getAllFlatColumns().length,
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {})
117
+ })
118
+ })
119
+ }) : options.data.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
122
+ colSpan: table.getAllFlatColumns().length,
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableZeroState, {
124
+ children: zeroStateMessage !== null && zeroStateMessage !== void 0 ? zeroStateMessage : 'No data found'
125
+ })
126
+ })
127
+ })
128
+ }) : tableIsVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
129
+ sx: {
130
+ '&::after': {
131
+ display: 'block',
132
+ content: "''",
133
+ // this ensures the table takes up as much size as the total elements by adding padding to the end
134
+ height: "".concat(virtualItems.length * rowSize, "px")
135
+ }
136
+ },
137
+ children: virtualItems.map(function (virtualRow, index) {
138
+ var row = rows[virtualRow.index];
139
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
140
+ sx: {
141
+ height: "".concat(virtualRow.size, "px"),
142
+ transform: "translateY(".concat(virtualRow.start - offsetFromScrollEl - index * virtualRow.size, "px)")
143
+ },
144
+ children: row.getAllCells().map(function (cell) {
145
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
146
+ children: (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())
147
+ }, cell.id);
148
+ })
149
+ }, row.id);
150
+ })
151
+ })]
152
+ })
153
+ });
154
+ }
@@ -4,12 +4,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.TableSortLabel = exports.TableRow = exports.TablePagination = exports.TableHead = exports.TableFooter = exports.TableContainer = exports.TableCell = exports.TableBody = exports.Table = void 0;
7
+ exports.TableZeroState = exports.TableSortLabel = exports.TableRow = exports.TablePagination = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableBody = exports.Table = exports.SelectionTableCell = void 0;
8
8
  var _material = require("@mui/material");
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _styles = require("@mui/material/styles");
11
+ var _index = _interopRequireDefault(require("../Typography/index.js"));
12
+ var _index2 = _interopRequireDefault(require("../Checkbox/index.js"));
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
- var _excluded = ["variant"];
14
+ var _excluded = ["variant"],
15
+ _excluded2 = ["checked", "indeterminate", "disabled", "onChange", "sx", "className", "checkboxSx", "checkboxClassName"];
13
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -37,11 +40,21 @@ var TableBody = function TableBody(props) {
37
40
  });
38
41
  };
39
42
  exports.TableBody = TableBody;
40
- var TableCell = function TableCell(_ref) {
41
- var _ref$variant = _ref.variant,
42
- variant = _ref$variant === void 0 ? 'data' : _ref$variant,
43
- props = _objectWithoutProperties(_ref, _excluded);
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TableCell, {
43
+ var StyledMuiTableCell = (0, _styles.styled)(_material.TableCell)(function (_ref) {
44
+ var theme = _ref.theme,
45
+ noVerticalPadding = _ref.noVerticalPadding;
46
+ return {
47
+ fontSize: theme.typography.body1.fontSize,
48
+ borderBottomColor: theme.palette.text.disabled,
49
+ padding: "".concat(noVerticalPadding ? '0px' : '14.25px', " ", '16px')
50
+ };
51
+ });
52
+ var TableCell = function TableCell(_ref2) {
53
+ var _props$noVerticalPadd;
54
+ var _ref2$variant = _ref2.variant,
55
+ variant = _ref2$variant === void 0 ? 'data' : _ref2$variant,
56
+ props = _objectWithoutProperties(_ref2, _excluded);
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMuiTableCell, {
45
58
  "data-testid": props['data-testid'],
46
59
  component: variant === 'header' ? 'th' : 'td',
47
60
  align: props.align,
@@ -51,27 +64,44 @@ var TableCell = function TableCell(_ref) {
51
64
  scope: props.scope,
52
65
  abbr: props.abbr,
53
66
  sortDirection: props.sortDirection,
67
+ noVerticalPadding: (_props$noVerticalPadd = props.noVerticalPadding) !== null && _props$noVerticalPadd !== void 0 ? _props$noVerticalPadd : false,
54
68
  sx: props.sx,
55
69
  className: props.className,
56
70
  children: props.children
57
71
  });
58
72
  };
59
73
  exports.TableCell = TableCell;
60
- var StyledMuiTableContainer = (0, _styles.styled)(_material.TableContainer)({
61
- '& .MuiTableCell-root': {
62
- lineHeight: '21px',
63
- fontWeight: 400
64
- }
74
+ var StyledSelectionTableCell = (0, _styles.styled)(TableCell)({
75
+ width: '50px'
65
76
  });
66
- var TableContainer = function TableContainer(props) {
67
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMuiTableContainer, {
68
- "data-testid": props['data-testid'],
69
- sx: props.sx,
70
- className: props.className,
71
- children: props.children
72
- });
77
+ var StyledSelectionCheckbox = (0, _styles.styled)(_index2["default"])({
78
+ padding: 0
79
+ });
80
+ var SelectionTableCell = function SelectionTableCell(_ref3) {
81
+ var checked = _ref3.checked,
82
+ indeterminate = _ref3.indeterminate,
83
+ disabled = _ref3.disabled,
84
+ onChange = _ref3.onChange,
85
+ sx = _ref3.sx,
86
+ className = _ref3.className,
87
+ checkboxSx = _ref3.checkboxSx,
88
+ checkboxClassName = _ref3.checkboxClassName,
89
+ cellProps = _objectWithoutProperties(_ref3, _excluded2);
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSelectionTableCell, _objectSpread(_objectSpread({}, cellProps), {}, {
91
+ noVerticalPadding: true,
92
+ sx: sx,
93
+ className: className,
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSelectionCheckbox, {
95
+ checked: checked,
96
+ indeterminate: indeterminate,
97
+ disabled: disabled,
98
+ onChange: onChange,
99
+ sx: checkboxSx,
100
+ className: checkboxClassName
101
+ })
102
+ }));
73
103
  };
74
- exports.TableContainer = TableContainer;
104
+ exports.SelectionTableCell = SelectionTableCell;
75
105
  var TableFooter = function TableFooter(props) {
76
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TableFooter, {
77
107
  "data-testid": props['data-testid'],
@@ -104,20 +134,8 @@ var TablePagination = function TablePagination(props) {
104
134
  });
105
135
  };
106
136
  exports.TablePagination = TablePagination;
107
- var StyledMuiTableRow = (0, _styles.styled)(_material.TableRow)(function (_ref2) {
108
- var theme = _ref2.theme;
109
- return {
110
- '& .MuiTableCell-root': {
111
- borderBottomColor: theme.palette.text.disabled,
112
- padding: '14.25px 16px',
113
- '&.MuiTableCell-paddingNone': {
114
- padding: 0
115
- }
116
- }
117
- };
118
- });
119
137
  var TableRow = function TableRow(props) {
120
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMuiTableRow, {
138
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TableRow, {
121
139
  "data-testid": props['data-testid'],
122
140
  hover: props.hover,
123
141
  selected: props.selected,
@@ -128,6 +146,36 @@ var TableRow = function TableRow(props) {
128
146
  };
129
147
  exports.TableRow = TableRow;
130
148
  var TableSortLabel = function TableSortLabel(props) {
131
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TableSortLabel, _objectSpread({}, props));
149
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TableSortLabel, {
150
+ active: props.active,
151
+ direction: props.direction,
152
+ hideSortIcon: props.hideSortIcon,
153
+ onClick: props.onClick,
154
+ disabled: props.disabled,
155
+ children: props.children
156
+ });
157
+ };
158
+ exports.TableSortLabel = TableSortLabel;
159
+ var StyledTableZeroStateBase = (0, _styles.styled)(_material.Box)({
160
+ width: '100%',
161
+ display: 'flex',
162
+ justifyContent: 'center',
163
+ alignItems: 'center'
164
+ });
165
+ var TableZeroState = function TableZeroState(props) {
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTableZeroStateBase, {
167
+ sx: props.sx,
168
+ className: props.className,
169
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index["default"], {
170
+ sx: function sx(theme) {
171
+ return {
172
+ fontWeight: theme.typography.body2.fontWeight,
173
+ fontSize: theme.typography.body2.fontSize,
174
+ color: theme.palette.text.disabled
175
+ };
176
+ },
177
+ children: props.children
178
+ })
179
+ });
132
180
  };
133
- exports.TableSortLabel = TableSortLabel;
181
+ exports.TableZeroState = TableZeroState;