@instructure/ui-table 10.26.1-snapshot-2 → 10.26.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 (74) hide show
  1. package/CHANGELOG.md +5 -18
  2. package/es/Table/Body/index.js +16 -4
  3. package/es/Table/Body/props.js +5 -1
  4. package/es/Table/Cell/index.js +2 -2
  5. package/es/Table/Cell/props.js +7 -1
  6. package/es/Table/ColHeader/index.js +2 -2
  7. package/es/Table/ColHeader/props.js +14 -2
  8. package/es/Table/Head/index.js +6 -4
  9. package/es/Table/Head/props.js +6 -1
  10. package/es/Table/Row/index.js +5 -2
  11. package/es/Table/Row/props.js +6 -1
  12. package/es/Table/RowHeader/index.js +2 -2
  13. package/es/Table/RowHeader/props.js +6 -1
  14. package/es/Table/index.js +2 -6
  15. package/es/Table/props.js +10 -1
  16. package/lib/Table/Body/index.js +15 -3
  17. package/lib/Table/Body/props.js +6 -1
  18. package/lib/Table/Cell/index.js +1 -1
  19. package/lib/Table/Cell/props.js +8 -1
  20. package/lib/Table/ColHeader/index.js +1 -1
  21. package/lib/Table/ColHeader/props.js +15 -2
  22. package/lib/Table/Head/index.js +5 -3
  23. package/lib/Table/Head/props.js +7 -1
  24. package/lib/Table/Row/index.js +4 -1
  25. package/lib/Table/Row/props.js +7 -1
  26. package/lib/Table/RowHeader/index.js +1 -1
  27. package/lib/Table/RowHeader/props.js +7 -1
  28. package/lib/Table/index.js +1 -5
  29. package/lib/Table/props.js +11 -1
  30. package/package.json +19 -16
  31. package/src/Table/Body/index.tsx +14 -10
  32. package/src/Table/Body/props.ts +9 -1
  33. package/src/Table/Cell/index.tsx +2 -1
  34. package/src/Table/Cell/props.ts +11 -1
  35. package/src/Table/ColHeader/index.tsx +2 -1
  36. package/src/Table/ColHeader/props.ts +21 -1
  37. package/src/Table/Head/index.tsx +25 -26
  38. package/src/Table/Head/props.ts +10 -1
  39. package/src/Table/Row/index.tsx +7 -9
  40. package/src/Table/Row/props.ts +11 -3
  41. package/src/Table/RowHeader/index.tsx +2 -1
  42. package/src/Table/RowHeader/props.ts +10 -1
  43. package/src/Table/index.tsx +9 -20
  44. package/src/Table/props.ts +19 -3
  45. package/tsconfig.build.json +2 -0
  46. package/tsconfig.build.tsbuildinfo +1 -1
  47. package/types/Table/Body/index.d.ts +1 -0
  48. package/types/Table/Body/index.d.ts.map +1 -1
  49. package/types/Table/Body/props.d.ts +3 -2
  50. package/types/Table/Body/props.d.ts.map +1 -1
  51. package/types/Table/Cell/index.d.ts +5 -0
  52. package/types/Table/Cell/index.d.ts.map +1 -1
  53. package/types/Table/Cell/props.d.ts +3 -2
  54. package/types/Table/Cell/props.d.ts.map +1 -1
  55. package/types/Table/ColHeader/index.d.ts +14 -0
  56. package/types/Table/ColHeader/index.d.ts.map +1 -1
  57. package/types/Table/ColHeader/props.d.ts +7 -2
  58. package/types/Table/ColHeader/props.d.ts.map +1 -1
  59. package/types/Table/Head/index.d.ts +4 -0
  60. package/types/Table/Head/index.d.ts.map +1 -1
  61. package/types/Table/Head/props.d.ts +3 -2
  62. package/types/Table/Head/props.d.ts.map +1 -1
  63. package/types/Table/Row/index.d.ts +5 -1
  64. package/types/Table/Row/index.d.ts.map +1 -1
  65. package/types/Table/Row/props.d.ts +4 -3
  66. package/types/Table/Row/props.d.ts.map +1 -1
  67. package/types/Table/RowHeader/index.d.ts +4 -0
  68. package/types/Table/RowHeader/index.d.ts.map +1 -1
  69. package/types/Table/RowHeader/props.d.ts +3 -2
  70. package/types/Table/RowHeader/props.d.ts.map +1 -1
  71. package/types/Table/index.d.ts +9 -1
  72. package/types/Table/index.d.ts.map +1 -1
  73. package/types/Table/props.d.ts +4 -3
  74. package/types/Table/props.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -3,30 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [10.26.1-snapshot-2](https://github.com/instructure/instructure-ui/compare/v10.26.0...v10.26.1-snapshot-2) (2025-10-06)
6
+ ## [10.26.2](https://github.com/instructure/instructure-ui/compare/v10.26.1...v10.26.2) (2025-10-13)
7
7
 
8
+ **Note:** Version bump only for package @instructure/ui-table
8
9
 
9
- ### Features
10
10
 
11
- * **many:** instUI v11 release ([36f5438](https://github.com/instructure/instructure-ui/commit/36f54382669186227ba24798bbf7201ef2f5cd4c))
12
11
 
13
12
 
14
- ### BREAKING CHANGES
15
13
 
16
- * **many:** InstUI v11 contains the following breaking changes:
17
- - React 16 and 17 are no longer supported
18
- - remove `PropTypes` from all packages
19
- - remove `CodeEditor` component
20
- - remove `@instui/theme-registry` package
21
- - remove `@testable`, `@experimental`, `@hack` decorators
22
- - InstUISettingsProvider's `as` prop is removed
23
- - `canvas.use()`, `canvasHighContrast.use()` functions are removed
24
- - `canvasThemeLocal`, `canvasHighContrastThemeLocal` are removed
25
- - `variables` field on theme objects are removed
26
- - remove deprecated props from Table: Row's `isStacked`, Body's
27
- `isStacked`, `hover`, and `headers`
28
- - `Table`'s `caption` prop is now required
29
- - `ui-dom-utils`'s `getComputedStyle` can now return `undefined`
14
+ ## [10.26.1](https://github.com/instructure/instructure-ui/compare/v10.26.0...v10.26.1) (2025-10-06)
15
+
16
+ **Note:** Version bump only for package @instructure/ui-table
30
17
 
31
18
 
32
19
 
@@ -29,7 +29,7 @@ import { View } from '@instructure/ui-view';
29
29
  import { withStyle } from '@instructure/emotion';
30
30
  import generateStyle from './styles';
31
31
  import generateComponentTheme from './theme';
32
- import { allowedProps } from './props';
32
+ import { allowedProps, propTypes } from './props';
33
33
  import TableContext from '../TableContext';
34
34
 
35
35
  /**
@@ -52,7 +52,10 @@ let Body = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
52
52
  const _this$props3 = this.props,
53
53
  children = _this$props3.children,
54
54
  styles = _this$props3.styles;
55
- const isStacked = this.context.isStacked;
55
+ const _this$context = this.context,
56
+ isStacked = _this$context.isStacked,
57
+ hover = _this$context.hover,
58
+ headers = _this$context.headers;
56
59
  return _jsx(View, {
57
60
  ...View.omitViewProps(omitProps(this.props, Body.allowedProps), Body),
58
61
  as: isStacked ? 'div' : 'tbody',
@@ -61,14 +64,23 @@ let Body = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
61
64
  children: Children.map(children, child => {
62
65
  if (/*#__PURE__*/isValidElement(child)) {
63
66
  return safeCloneElement(child, {
64
- key: child.props.name
67
+ key: child.props.name,
68
+ // Sent down for compatibility with custom components
69
+ // TODO DEPRECATED, remove in v11
70
+ hover,
71
+ // Sent down for compatibility with custom components
72
+ // TODO DEPRECATED, remove in v11
73
+ isStacked,
74
+ // Sent down for compatibility with custom components
75
+ // TODO DEPRECATED, remove in v11
76
+ headers
65
77
  });
66
78
  }
67
79
  return child;
68
80
  })
69
81
  });
70
82
  }
71
- }, _Body.displayName = "Body", _Body.componentId = 'Table.Body', _Body.contextType = TableContext, _Body.allowedProps = allowedProps, _Body.defaultProps = {
83
+ }, _Body.displayName = "Body", _Body.componentId = 'Table.Body', _Body.contextType = TableContext, _Body.allowedProps = allowedProps, _Body.propTypes = propTypes, _Body.defaultProps = {
72
84
  children: null
73
85
  }, _Body)) || _class);
74
86
  export default Body;
@@ -22,5 +22,9 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ children: PropTypes.node
28
+ };
25
29
  const allowedProps = ['children'];
26
- export { allowedProps };
30
+ export { propTypes, allowedProps };
@@ -29,7 +29,7 @@ import { View } from '@instructure/ui-view';
29
29
  import { withStyle } from '@instructure/emotion';
30
30
  import generateStyle from './styles';
31
31
  import generateComponentTheme from './theme';
32
- import { allowedProps } from './props';
32
+ import { allowedProps, propTypes } from './props';
33
33
  import TableContext from '../TableContext';
34
34
 
35
35
  /**
@@ -62,7 +62,7 @@ let Cell = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
62
62
  children: [header && callRenderProp(header), header && ': ', callRenderProp(children)]
63
63
  });
64
64
  }
65
- }, _Cell.displayName = "Cell", _Cell.componentId = 'Table.Cell', _Cell.contextType = TableContext, _Cell.allowedProps = allowedProps, _Cell.defaultProps = {
65
+ }, _Cell.displayName = "Cell", _Cell.componentId = 'Table.Cell', _Cell.contextType = TableContext, _Cell.allowedProps = allowedProps, _Cell.propTypes = propTypes, _Cell.defaultProps = {
66
66
  textAlign: 'start',
67
67
  children: null
68
68
  }, _Cell)) || _class);
@@ -22,5 +22,11 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
28
+ header: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
29
+ textAlign: PropTypes.oneOf(['start', 'center', 'end'])
30
+ };
25
31
  const allowedProps = ['children', 'header', 'textAlign'];
26
- export { allowedProps };
32
+ export { propTypes, allowedProps };
@@ -29,7 +29,7 @@ import { IconMiniArrowUpLine, IconMiniArrowDownLine, IconMiniArrowDoubleLine } f
29
29
  import { withStyle } from '@instructure/emotion';
30
30
  import generateStyle from './styles';
31
31
  import generateComponentTheme from './theme';
32
- import { allowedProps } from './props';
32
+ import { allowedProps, propTypes } from './props';
33
33
 
34
34
  /**
35
35
  ---
@@ -106,7 +106,7 @@ let ColHeader = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_
106
106
  }), !onRequestSort && children, !onRequestSort && this.renderSortArrow()]
107
107
  });
108
108
  }
109
- }, _ColHeader.displayName = "ColHeader", _ColHeader.componentId = 'Table.ColHeader', _ColHeader.allowedProps = allowedProps, _ColHeader.defaultProps = {
109
+ }, _ColHeader.displayName = "ColHeader", _ColHeader.componentId = 'Table.ColHeader', _ColHeader.allowedProps = allowedProps, _ColHeader.propTypes = propTypes, _ColHeader.defaultProps = {
110
110
  textAlign: 'start',
111
111
  sortDirection: 'none',
112
112
  children: null,
@@ -22,5 +22,17 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- const allowedProps = ['id', 'stackedSortByLabel', 'children', 'width', 'textAlign', 'sortDirection', 'onRequestSort', 'scope'];
26
- export { allowedProps };
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ isStacked: PropTypes.bool,
28
+ id: PropTypes.string.isRequired,
29
+ stackedSortByLabel: PropTypes.string,
30
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
31
+ width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
32
+ textAlign: PropTypes.oneOf(['start', 'center', 'end']),
33
+ sortDirection: PropTypes.oneOf(['none', 'ascending', 'descending']),
34
+ onRequestSort: PropTypes.func,
35
+ scope: PropTypes.oneOf(['row', 'col', 'rowgroup', 'colgroup', 'auto'])
36
+ };
37
+ const allowedProps = ['id', 'isStacked', 'stackedSortByLabel', 'children', 'width', 'textAlign', 'sortDirection', 'onRequestSort', 'scope'];
38
+ export { propTypes, allowedProps };
@@ -33,7 +33,7 @@ import { warn } from '@instructure/console';
33
33
  import { withStyle } from '@instructure/emotion';
34
34
  import generateStyle from './styles';
35
35
  import generateComponentTheme from './theme';
36
- import { allowedProps } from './props';
36
+ import { allowedProps, propTypes } from './props';
37
37
  import TableContext from '../TableContext';
38
38
 
39
39
  /**
@@ -161,13 +161,15 @@ let Head = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
161
161
  const _this$props4 = this.props,
162
162
  children = _this$props4.children,
163
163
  styles = _this$props4.styles;
164
- return this.context.isStacked ? this.renderSelect() : _jsx("thead", {
165
- ...omitProps(this.props, Head.allowedProps),
164
+ return this.context.isStacked ? this.renderSelect() :
165
+ // TODO remove 'hover' exclude in v11, its passed down for compatibility with custom components
166
+ _jsx("thead", {
167
+ ...omitProps(this.props, Head.allowedProps, ['hover']),
166
168
  css: styles === null || styles === void 0 ? void 0 : styles.head,
167
169
  children: children
168
170
  });
169
171
  }
170
- }, _Head.displayName = "Head", _Head.componentId = 'Table.Head', _Head.contextType = TableContext, _Head.allowedProps = allowedProps, _Head.defaultProps = {
172
+ }, _Head.displayName = "Head", _Head.componentId = 'Table.Head', _Head.contextType = TableContext, _Head.allowedProps = allowedProps, _Head.propTypes = propTypes, _Head.defaultProps = {
171
173
  children: null
172
174
  }, _Head)) || _class);
173
175
  export default Head;
@@ -22,5 +22,10 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ children: PropTypes.node,
28
+ renderSortLabel: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
29
+ };
25
30
  const allowedProps = ['children', 'renderSortLabel'];
26
- export { allowedProps };
31
+ export { propTypes, allowedProps };
@@ -29,7 +29,7 @@ import { View } from '@instructure/ui-view';
29
29
  import { withStyle } from '@instructure/emotion';
30
30
  import generateStyle from './styles';
31
31
  import generateComponentTheme from './theme';
32
- import { allowedProps } from './props';
32
+ import { allowedProps, propTypes } from './props';
33
33
  import TableContext from '../TableContext';
34
34
 
35
35
  /**
@@ -69,6 +69,9 @@ let Row = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
69
69
  if (/*#__PURE__*/isValidElement(child)) {
70
70
  return safeCloneElement(child, {
71
71
  key: child.props.name,
72
+ // Sent down for compatibility with custom components
73
+ // TODO DEPRECATED, remove in v11
74
+ isStacked,
72
75
  // used by `Cell` to render its column title in `stacked` layout
73
76
  header: headers && headers[index]
74
77
  });
@@ -77,7 +80,7 @@ let Row = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class
77
80
  })
78
81
  });
79
82
  }
80
- }, _Row.displayName = "Row", _Row.componentId = 'Table.Row', _Row.contextType = TableContext, _Row.allowedProps = allowedProps, _Row.defaultProps = {
83
+ }, _Row.displayName = "Row", _Row.componentId = 'Table.Row', _Row.contextType = TableContext, _Row.allowedProps = allowedProps, _Row.propTypes = propTypes, _Row.defaultProps = {
81
84
  children: null
82
85
  }, _Row)) || _class);
83
86
  export default Row;
@@ -22,5 +22,10 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ children: PropTypes.node,
28
+ setHoverStateTo: PropTypes.bool
29
+ };
25
30
  const allowedProps = ['children', 'setHoverStateTo'];
26
- export { allowedProps };
31
+ export { propTypes, allowedProps };
@@ -29,7 +29,7 @@ import { View } from '@instructure/ui-view';
29
29
  import { withStyle } from '@instructure/emotion';
30
30
  import generateStyle from './styles';
31
31
  import generateComponentTheme from './theme';
32
- import { allowedProps } from './props';
32
+ import { allowedProps, propTypes } from './props';
33
33
  import TableContext from '../TableContext';
34
34
 
35
35
  /**
@@ -62,7 +62,7 @@ let RowHeader = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_
62
62
  children: callRenderProp(children)
63
63
  });
64
64
  }
65
- }, _RowHeader.displayName = "RowHeader", _RowHeader.componentId = 'Table.RowHeader', _RowHeader.contextType = TableContext, _RowHeader.allowedProps = allowedProps, _RowHeader.defaultProps = {
65
+ }, _RowHeader.displayName = "RowHeader", _RowHeader.componentId = 'Table.RowHeader', _RowHeader.contextType = TableContext, _RowHeader.allowedProps = allowedProps, _RowHeader.propTypes = propTypes, _RowHeader.defaultProps = {
66
66
  textAlign: 'start',
67
67
  children: null
68
68
  }, _RowHeader)) || _class);
@@ -22,5 +22,10 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
28
+ textAlign: PropTypes.oneOf(['start', 'center', 'end'])
29
+ };
25
30
  const allowedProps = ['children', 'textAlign'];
26
- export { allowedProps };
31
+ export { propTypes, allowedProps };
package/es/Table/index.js CHANGED
@@ -37,9 +37,8 @@ import { Row } from './Row';
37
37
  import { ColHeader } from './ColHeader';
38
38
  import { RowHeader } from './RowHeader';
39
39
  import { Cell } from './Cell';
40
- import { allowedProps } from './props';
40
+ import { allowedProps, propTypes } from './props';
41
41
  import TableContext from './TableContext';
42
- import { error } from '@instructure/console';
43
42
 
44
43
  /**
45
44
  ---
@@ -91,9 +90,6 @@ let Table = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_clas
91
90
  styles = _this$props3.styles;
92
91
  const isStacked = layout === 'stacked';
93
92
  const headers = isStacked ? this.getHeaders() : void 0;
94
- if (!caption) {
95
- error(false, `[Table] required prop caption is not set.`);
96
- }
97
93
  return _jsx(TableContext.Provider, {
98
94
  value: {
99
95
  isStacked: isStacked,
@@ -123,7 +119,7 @@ let Table = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_clas
123
119
  })
124
120
  });
125
121
  }
126
- }, _Table.displayName = "Table", _Table.componentId = 'Table', _Table.allowedProps = allowedProps, _Table.defaultProps = {
122
+ }, _Table.displayName = "Table", _Table.componentId = 'Table', _Table.allowedProps = allowedProps, _Table.propTypes = propTypes, _Table.defaultProps = {
127
123
  children: null,
128
124
  hover: false,
129
125
  layout: 'auto'
package/es/Table/props.js CHANGED
@@ -22,5 +22,14 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ const propTypes = {
27
+ caption: PropTypes.node.isRequired,
28
+ children: PropTypes.node,
29
+ margin: PropTypes.string,
30
+ elementRef: PropTypes.func,
31
+ hover: PropTypes.bool,
32
+ layout: PropTypes.oneOf(['auto', 'fixed', 'stacked'])
33
+ };
25
34
  const allowedProps = ['caption', 'children', 'margin', 'elementRef', 'hover', 'layout'];
26
- export { allowedProps };
35
+ export { propTypes, allowedProps };
@@ -58,7 +58,10 @@ let Body = exports.Body = (_dec = (0, _emotion.withStyle)(_styles.default, _them
58
58
  const _this$props3 = this.props,
59
59
  children = _this$props3.children,
60
60
  styles = _this$props3.styles;
61
- const isStacked = this.context.isStacked;
61
+ const _this$context = this.context,
62
+ isStacked = _this$context.isStacked,
63
+ hover = _this$context.hover,
64
+ headers = _this$context.headers;
62
65
  return (0, _jsxRuntime.jsx)(_View.View, {
63
66
  ..._View.View.omitViewProps((0, _omitProps.omitProps)(this.props, Body.allowedProps), Body),
64
67
  as: isStacked ? 'div' : 'tbody',
@@ -67,14 +70,23 @@ let Body = exports.Body = (_dec = (0, _emotion.withStyle)(_styles.default, _them
67
70
  children: _react.Children.map(children, child => {
68
71
  if (/*#__PURE__*/(0, _react.isValidElement)(child)) {
69
72
  return (0, _safeCloneElement.safeCloneElement)(child, {
70
- key: child.props.name
73
+ key: child.props.name,
74
+ // Sent down for compatibility with custom components
75
+ // TODO DEPRECATED, remove in v11
76
+ hover,
77
+ // Sent down for compatibility with custom components
78
+ // TODO DEPRECATED, remove in v11
79
+ isStacked,
80
+ // Sent down for compatibility with custom components
81
+ // TODO DEPRECATED, remove in v11
82
+ headers
71
83
  });
72
84
  }
73
85
  return child;
74
86
  })
75
87
  });
76
88
  }
77
- }, _Body.displayName = "Body", _Body.componentId = 'Table.Body', _Body.contextType = _TableContext.default, _Body.allowedProps = _props.allowedProps, _Body.defaultProps = {
89
+ }, _Body.displayName = "Body", _Body.componentId = 'Table.Body', _Body.contextType = _TableContext.default, _Body.allowedProps = _props.allowedProps, _Body.propTypes = _props.propTypes, _Body.defaultProps = {
78
90
  children: null
79
91
  }, _Body)) || _class);
80
92
  var _default = exports.default = Body;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,7 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.node
35
+ };
31
36
  const allowedProps = exports.allowedProps = ['children'];
@@ -68,7 +68,7 @@ let Cell = exports.Cell = (_dec = (0, _emotion.withStyle)(_styles.default, _them
68
68
  children: [header && (0, _callRenderProp.callRenderProp)(header), header && ': ', (0, _callRenderProp.callRenderProp)(children)]
69
69
  });
70
70
  }
71
- }, _Cell.displayName = "Cell", _Cell.componentId = 'Table.Cell', _Cell.contextType = _TableContext.default, _Cell.allowedProps = _props.allowedProps, _Cell.defaultProps = {
71
+ }, _Cell.displayName = "Cell", _Cell.componentId = 'Table.Cell', _Cell.contextType = _TableContext.default, _Cell.allowedProps = _props.allowedProps, _Cell.propTypes = _props.propTypes, _Cell.defaultProps = {
72
72
  textAlign: 'start',
73
73
  children: null
74
74
  }, _Cell)) || _class);
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,9 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
35
+ header: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
36
+ textAlign: _propTypes.default.oneOf(['start', 'center', 'end'])
37
+ };
31
38
  const allowedProps = exports.allowedProps = ['children', 'header', 'textAlign'];
@@ -114,7 +114,7 @@ let ColHeader = exports.ColHeader = (_dec = (0, _emotion.withStyle)(_styles.defa
114
114
  }), !onRequestSort && children, !onRequestSort && this.renderSortArrow()]
115
115
  });
116
116
  }
117
- }, _ColHeader.displayName = "ColHeader", _ColHeader.componentId = 'Table.ColHeader', _ColHeader.allowedProps = _props.allowedProps, _ColHeader.defaultProps = {
117
+ }, _ColHeader.displayName = "ColHeader", _ColHeader.componentId = 'Table.ColHeader', _ColHeader.allowedProps = _props.allowedProps, _ColHeader.propTypes = _props.propTypes, _ColHeader.defaultProps = {
118
118
  textAlign: 'start',
119
119
  sortDirection: 'none',
120
120
  children: null,
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,15 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
31
- const allowedProps = exports.allowedProps = ['id', 'stackedSortByLabel', 'children', 'width', 'textAlign', 'sortDirection', 'onRequestSort', 'scope'];
33
+ const propTypes = exports.propTypes = {
34
+ isStacked: _propTypes.default.bool,
35
+ id: _propTypes.default.string.isRequired,
36
+ stackedSortByLabel: _propTypes.default.string,
37
+ children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
38
+ width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
39
+ textAlign: _propTypes.default.oneOf(['start', 'center', 'end']),
40
+ sortDirection: _propTypes.default.oneOf(['none', 'ascending', 'descending']),
41
+ onRequestSort: _propTypes.default.func,
42
+ scope: _propTypes.default.oneOf(['row', 'col', 'rowgroup', 'colgroup', 'auto'])
43
+ };
44
+ const allowedProps = exports.allowedProps = ['id', 'isStacked', 'stackedSortByLabel', 'children', 'width', 'textAlign', 'sortDirection', 'onRequestSort', 'scope'];
@@ -167,13 +167,15 @@ let Head = exports.Head = (_dec = (0, _emotion.withStyle)(_styles.default, _them
167
167
  const _this$props4 = this.props,
168
168
  children = _this$props4.children,
169
169
  styles = _this$props4.styles;
170
- return this.context.isStacked ? this.renderSelect() : (0, _jsxRuntime.jsx)("thead", {
171
- ...(0, _omitProps.omitProps)(this.props, Head.allowedProps),
170
+ return this.context.isStacked ? this.renderSelect() :
171
+ // TODO remove 'hover' exclude in v11, its passed down for compatibility with custom components
172
+ (0, _jsxRuntime.jsx)("thead", {
173
+ ...(0, _omitProps.omitProps)(this.props, Head.allowedProps, ['hover']),
172
174
  css: styles === null || styles === void 0 ? void 0 : styles.head,
173
175
  children: children
174
176
  });
175
177
  }
176
- }, _Head.displayName = "Head", _Head.componentId = 'Table.Head', _Head.contextType = _TableContext.default, _Head.allowedProps = _props.allowedProps, _Head.defaultProps = {
178
+ }, _Head.displayName = "Head", _Head.componentId = 'Table.Head', _Head.contextType = _TableContext.default, _Head.allowedProps = _props.allowedProps, _Head.propTypes = _props.propTypes, _Head.defaultProps = {
177
179
  children: null
178
180
  }, _Head)) || _class);
179
181
  var _default = exports.default = Head;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,8 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.node,
35
+ renderSortLabel: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func])
36
+ };
31
37
  const allowedProps = exports.allowedProps = ['children', 'renderSortLabel'];
@@ -75,6 +75,9 @@ let Row = exports.Row = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
75
75
  if (/*#__PURE__*/(0, _react.isValidElement)(child)) {
76
76
  return (0, _safeCloneElement.safeCloneElement)(child, {
77
77
  key: child.props.name,
78
+ // Sent down for compatibility with custom components
79
+ // TODO DEPRECATED, remove in v11
80
+ isStacked,
78
81
  // used by `Cell` to render its column title in `stacked` layout
79
82
  header: headers && headers[index]
80
83
  });
@@ -83,7 +86,7 @@ let Row = exports.Row = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
83
86
  })
84
87
  });
85
88
  }
86
- }, _Row.displayName = "Row", _Row.componentId = 'Table.Row', _Row.contextType = _TableContext.default, _Row.allowedProps = _props.allowedProps, _Row.defaultProps = {
89
+ }, _Row.displayName = "Row", _Row.componentId = 'Table.Row', _Row.contextType = _TableContext.default, _Row.allowedProps = _props.allowedProps, _Row.propTypes = _props.propTypes, _Row.defaultProps = {
87
90
  children: null
88
91
  }, _Row)) || _class);
89
92
  var _default = exports.default = Row;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,8 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.node,
35
+ setHoverStateTo: _propTypes.default.bool
36
+ };
31
37
  const allowedProps = exports.allowedProps = ['children', 'setHoverStateTo'];
@@ -68,7 +68,7 @@ let RowHeader = exports.RowHeader = (_dec = (0, _emotion.withStyle)(_styles.defa
68
68
  children: (0, _callRenderProp.callRenderProp)(children)
69
69
  });
70
70
  }
71
- }, _RowHeader.displayName = "RowHeader", _RowHeader.componentId = 'Table.RowHeader', _RowHeader.contextType = _TableContext.default, _RowHeader.allowedProps = _props.allowedProps, _RowHeader.defaultProps = {
71
+ }, _RowHeader.displayName = "RowHeader", _RowHeader.componentId = 'Table.RowHeader', _RowHeader.contextType = _TableContext.default, _RowHeader.allowedProps = _props.allowedProps, _RowHeader.propTypes = _props.propTypes, _RowHeader.defaultProps = {
72
72
  textAlign: 'start',
73
73
  children: null
74
74
  }, _RowHeader)) || _class);
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,8 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
35
+ textAlign: _propTypes.default.oneOf(['start', 'center', 'end'])
36
+ };
31
37
  const allowedProps = exports.allowedProps = ['children', 'textAlign'];
@@ -22,7 +22,6 @@ var _RowHeader = require("./RowHeader");
22
22
  var _Cell = require("./Cell");
23
23
  var _props = require("./props");
24
24
  var _TableContext = _interopRequireDefault(require("./TableContext"));
25
- var _console = require("@instructure/console");
26
25
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
27
26
  var _dec, _class, _Table;
28
27
  /*
@@ -97,9 +96,6 @@ let Table = exports.Table = (_dec = (0, _emotion.withStyle)(_styles.default, _th
97
96
  styles = _this$props3.styles;
98
97
  const isStacked = layout === 'stacked';
99
98
  const headers = isStacked ? this.getHeaders() : void 0;
100
- if (!caption) {
101
- (0, _console.error)(false, `[Table] required prop caption is not set.`);
102
- }
103
99
  return (0, _jsxRuntime.jsx)(_TableContext.default.Provider, {
104
100
  value: {
105
101
  isStacked: isStacked,
@@ -129,7 +125,7 @@ let Table = exports.Table = (_dec = (0, _emotion.withStyle)(_styles.default, _th
129
125
  })
130
126
  });
131
127
  }
132
- }, _Table.displayName = "Table", _Table.componentId = 'Table', _Table.allowedProps = _props.allowedProps, _Table.defaultProps = {
128
+ }, _Table.displayName = "Table", _Table.componentId = 'Table', _Table.allowedProps = _props.allowedProps, _Table.propTypes = _props.propTypes, _Table.defaultProps = {
133
129
  children: null,
134
130
  hover: false,
135
131
  layout: 'auto'
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,12 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ caption: _propTypes.default.node.isRequired,
35
+ children: _propTypes.default.node,
36
+ margin: _propTypes.default.string,
37
+ elementRef: _propTypes.default.func,
38
+ hover: _propTypes.default.bool,
39
+ layout: _propTypes.default.oneOf(['auto', 'fixed', 'stacked'])
40
+ };
31
41
  const allowedProps = exports.allowedProps = ['caption', 'children', 'margin', 'elementRef', 'hover', 'layout'];