@instructure/ui-table 10.25.1-pr-snapshot-1757670033771 → 10.25.1-pr-snapshot-1757942390662

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 -2
  2. package/es/Table/Body/index.js +4 -16
  3. package/es/Table/Body/props.js +1 -5
  4. package/es/Table/Cell/index.js +2 -2
  5. package/es/Table/Cell/props.js +1 -7
  6. package/es/Table/ColHeader/index.js +2 -2
  7. package/es/Table/ColHeader/props.js +2 -14
  8. package/es/Table/Head/index.js +4 -6
  9. package/es/Table/Head/props.js +1 -6
  10. package/es/Table/Row/index.js +2 -5
  11. package/es/Table/Row/props.js +1 -6
  12. package/es/Table/RowHeader/index.js +2 -2
  13. package/es/Table/RowHeader/props.js +1 -6
  14. package/es/Table/index.js +2 -2
  15. package/es/Table/props.js +1 -10
  16. package/lib/Table/Body/index.js +3 -15
  17. package/lib/Table/Body/props.js +1 -6
  18. package/lib/Table/Cell/index.js +1 -1
  19. package/lib/Table/Cell/props.js +1 -8
  20. package/lib/Table/ColHeader/index.js +1 -1
  21. package/lib/Table/ColHeader/props.js +2 -15
  22. package/lib/Table/Head/index.js +3 -5
  23. package/lib/Table/Head/props.js +1 -7
  24. package/lib/Table/Row/index.js +1 -4
  25. package/lib/Table/Row/props.js +1 -7
  26. package/lib/Table/RowHeader/index.js +1 -1
  27. package/lib/Table/RowHeader/props.js +1 -7
  28. package/lib/Table/index.js +1 -1
  29. package/lib/Table/props.js +1 -11
  30. package/package.json +15 -18
  31. package/src/Table/Body/index.tsx +10 -14
  32. package/src/Table/Body/props.ts +1 -9
  33. package/src/Table/Cell/index.tsx +1 -2
  34. package/src/Table/Cell/props.ts +1 -11
  35. package/src/Table/ColHeader/index.tsx +1 -2
  36. package/src/Table/ColHeader/props.ts +1 -21
  37. package/src/Table/Head/index.tsx +26 -25
  38. package/src/Table/Head/props.ts +1 -10
  39. package/src/Table/Row/index.tsx +9 -7
  40. package/src/Table/Row/props.ts +3 -11
  41. package/src/Table/RowHeader/index.tsx +1 -2
  42. package/src/Table/RowHeader/props.ts +1 -10
  43. package/src/Table/index.tsx +15 -9
  44. package/src/Table/props.ts +2 -18
  45. package/tsconfig.build.json +0 -2
  46. package/tsconfig.build.tsbuildinfo +1 -1
  47. package/types/Table/Body/index.d.ts +0 -1
  48. package/types/Table/Body/index.d.ts.map +1 -1
  49. package/types/Table/Body/props.d.ts +2 -3
  50. package/types/Table/Body/props.d.ts.map +1 -1
  51. package/types/Table/Cell/index.d.ts +0 -5
  52. package/types/Table/Cell/index.d.ts.map +1 -1
  53. package/types/Table/Cell/props.d.ts +2 -3
  54. package/types/Table/Cell/props.d.ts.map +1 -1
  55. package/types/Table/ColHeader/index.d.ts +0 -14
  56. package/types/Table/ColHeader/index.d.ts.map +1 -1
  57. package/types/Table/ColHeader/props.d.ts +2 -7
  58. package/types/Table/ColHeader/props.d.ts.map +1 -1
  59. package/types/Table/Head/index.d.ts +0 -4
  60. package/types/Table/Head/index.d.ts.map +1 -1
  61. package/types/Table/Head/props.d.ts +2 -3
  62. package/types/Table/Head/props.d.ts.map +1 -1
  63. package/types/Table/Row/index.d.ts +1 -5
  64. package/types/Table/Row/index.d.ts.map +1 -1
  65. package/types/Table/Row/props.d.ts +3 -4
  66. package/types/Table/Row/props.d.ts.map +1 -1
  67. package/types/Table/RowHeader/index.d.ts +0 -4
  68. package/types/Table/RowHeader/index.d.ts.map +1 -1
  69. package/types/Table/RowHeader/props.d.ts +2 -3
  70. package/types/Table/RowHeader/props.d.ts.map +1 -1
  71. package/types/Table/index.d.ts +0 -8
  72. package/types/Table/index.d.ts.map +1 -1
  73. package/types/Table/props.d.ts +2 -3
  74. package/types/Table/props.d.ts.map +1 -1
@@ -22,7 +22,13 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import { Component, Children, ContextType, isValidElement } from 'react'
25
+ import {
26
+ Component,
27
+ Children,
28
+ ContextType,
29
+ isValidElement,
30
+ type ReactElement
31
+ } from 'react'
26
32
 
27
33
  import { safeCloneElement, omitProps } from '@instructure/ui-react-utils'
28
34
  import { View } from '@instructure/ui-view'
@@ -31,7 +37,7 @@ import { withStyle } from '@instructure/emotion'
31
37
  import generateStyle from './styles'
32
38
  import generateComponentTheme from './theme'
33
39
  import type { TableBodyProps } from './props'
34
- import { allowedProps, propTypes } from './props'
40
+ import { allowedProps } from './props'
35
41
  import TableContext from '../TableContext'
36
42
 
37
43
  /**
@@ -46,7 +52,6 @@ class Body extends Component<TableBodyProps> {
46
52
  static contextType = TableContext
47
53
  declare context: ContextType<typeof TableContext>
48
54
  static allowedProps = allowedProps
49
- static propTypes = propTypes
50
55
  static defaultProps = {
51
56
  children: null
52
57
  }
@@ -61,7 +66,7 @@ class Body extends Component<TableBodyProps> {
61
66
 
62
67
  render() {
63
68
  const { children, styles } = this.props
64
- const { isStacked, hover, headers } = this.context
69
+ const { isStacked } = this.context
65
70
 
66
71
  return (
67
72
  <View
@@ -73,16 +78,7 @@ class Body extends Component<TableBodyProps> {
73
78
  {Children.map(children, (child) => {
74
79
  if (isValidElement(child)) {
75
80
  return safeCloneElement(child, {
76
- key: child.props.name,
77
- // Sent down for compatibility with custom components
78
- // TODO DEPRECATED, remove in v11
79
- hover,
80
- // Sent down for compatibility with custom components
81
- // TODO DEPRECATED, remove in v11
82
- isStacked,
83
- // Sent down for compatibility with custom components
84
- // TODO DEPRECATED, remove in v11
85
- headers
81
+ key: (child as ReactElement<any>).props.name
86
82
  })
87
83
  }
88
84
  return child
@@ -22,11 +22,8 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
  import React from 'react'
25
- import PropTypes from 'prop-types'
26
-
27
25
  import type {
28
26
  OtherHTMLAttributes,
29
- PropValidators,
30
27
  TableBodyTheme
31
28
  } from '@instructure/shared-types'
32
29
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
@@ -50,12 +47,7 @@ type TableBodyProps = TableBodyOwnProps &
50
47
  OtherHTMLAttributes<TableBodyOwnProps>
51
48
 
52
49
  type TableBodyStyle = ComponentStyle<'body'>
53
-
54
- const propTypes: PropValidators<PropKeys> = {
55
- children: PropTypes.node
56
- }
57
-
58
50
  const allowedProps: AllowedPropKeys = ['children']
59
51
 
60
52
  export type { TableBodyProps, TableBodyStyle }
61
- export { propTypes, allowedProps }
53
+ export { allowedProps }
@@ -32,7 +32,7 @@ import { withStyle } from '@instructure/emotion'
32
32
  import generateStyle from './styles'
33
33
  import generateComponentTheme from './theme'
34
34
  import type { TableCellProps } from './props'
35
- import { allowedProps, propTypes } from './props'
35
+ import { allowedProps } from './props'
36
36
  import TableContext from '../TableContext'
37
37
 
38
38
  /**
@@ -47,7 +47,6 @@ class Cell extends Component<TableCellProps> {
47
47
  static contextType = TableContext
48
48
  declare context: ContextType<typeof TableContext>
49
49
  static allowedProps = allowedProps
50
- static propTypes = propTypes
51
50
 
52
51
  static defaultProps = {
53
52
  textAlign: 'start',
@@ -22,12 +22,9 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import PropTypes from 'prop-types'
26
-
27
25
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
28
26
  import type {
29
27
  OtherHTMLAttributes,
30
- PropValidators,
31
28
  Renderable,
32
29
  TableCellTheme
33
30
  } from '@instructure/shared-types'
@@ -55,14 +52,7 @@ type TableCellProps = TableCellOwnProps &
55
52
  OtherHTMLAttributes<TableCellOwnProps>
56
53
 
57
54
  type TableCellStyle = ComponentStyle<'cell'>
58
-
59
- const propTypes: PropValidators<PropKeys> = {
60
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
61
- header: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
62
- textAlign: PropTypes.oneOf(['start', 'center', 'end'])
63
- }
64
-
65
55
  const allowedProps: AllowedPropKeys = ['children', 'header', 'textAlign']
66
56
 
67
57
  export type { TableCellProps, TableCellStyle }
68
- export { propTypes, allowedProps }
58
+ export { allowedProps }
@@ -36,7 +36,7 @@ import { withStyle } from '@instructure/emotion'
36
36
  import generateStyle from './styles'
37
37
  import generateComponentTheme from './theme'
38
38
  import type { TableColHeaderProps } from './props'
39
- import { allowedProps, propTypes } from './props'
39
+ import { allowedProps } from './props'
40
40
 
41
41
  /**
42
42
  ---
@@ -49,7 +49,6 @@ class ColHeader extends Component<TableColHeaderProps> {
49
49
  static readonly componentId = 'Table.ColHeader'
50
50
 
51
51
  static allowedProps = allowedProps
52
- static propTypes = propTypes
53
52
 
54
53
  static defaultProps = {
55
54
  textAlign: 'start',
@@ -22,20 +22,14 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
  import { ThHTMLAttributes } from 'react'
25
- import PropTypes from 'prop-types'
26
25
 
27
26
  import type {
28
27
  OtherHTMLAttributes,
29
- PropValidators,
30
28
  TableColHeaderTheme
31
29
  } from '@instructure/shared-types'
32
30
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
33
31
 
34
32
  type TableColHeaderOwnProps = {
35
- /**
36
- * DEPRECATED. Use `TableContext` to read this value
37
- */
38
- isStacked?: boolean
39
33
  /**
40
34
  * A unique id for this column. The `id` is also used as option in combobox,
41
35
  * when sortable table is in stacked layout,
@@ -91,22 +85,8 @@ type TableColHeaderStyle = ComponentStyle<
91
85
  | 'unSortedIconColor'
92
86
  | 'sortedIconColor'
93
87
  >
94
-
95
- const propTypes: PropValidators<PropKeys> = {
96
- isStacked: PropTypes.bool,
97
- id: PropTypes.string.isRequired,
98
- stackedSortByLabel: PropTypes.string,
99
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
100
- width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
101
- textAlign: PropTypes.oneOf(['start', 'center', 'end']),
102
- sortDirection: PropTypes.oneOf(['none', 'ascending', 'descending']),
103
- onRequestSort: PropTypes.func,
104
- scope: PropTypes.oneOf(['row', 'col', 'rowgroup', 'colgroup', 'auto'])
105
- }
106
-
107
88
  const allowedProps: AllowedPropKeys = [
108
89
  'id',
109
- 'isStacked',
110
90
  'stackedSortByLabel',
111
91
  'children',
112
92
  'width',
@@ -117,4 +97,4 @@ const allowedProps: AllowedPropKeys = [
117
97
  ]
118
98
 
119
99
  export type { TableColHeaderProps, TableColHeaderStyle }
120
- export { propTypes, allowedProps }
100
+ export { allowedProps }
@@ -22,7 +22,7 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import { Component, Children, ContextType } from 'react'
25
+ import { Component, Children, ContextType, type ReactElement } from 'react'
26
26
 
27
27
  import { omitProps, callRenderProp } from '@instructure/ui-react-utils'
28
28
  import { SimpleSelect } from '@instructure/ui-simple-select'
@@ -39,7 +39,7 @@ import generateComponentTheme from './theme'
39
39
  import type { TableColHeaderProps } from '../ColHeader/props'
40
40
  import type { TableHeadProps } from './props'
41
41
  import type { RowChild } from '../props'
42
- import { allowedProps, propTypes } from './props'
42
+ import { allowedProps } from './props'
43
43
  import TableContext from '../TableContext'
44
44
 
45
45
  /**
@@ -54,7 +54,6 @@ class Head extends Component<TableHeadProps> {
54
54
  static contextType = TableContext
55
55
  declare context: ContextType<typeof TableContext>
56
56
  static allowedProps = allowedProps
57
- static propTypes = propTypes
58
57
  static defaultProps = {
59
58
  children: null
60
59
  }
@@ -66,12 +65,15 @@ class Head extends Component<TableHeadProps> {
66
65
  const [firstRow] = Children.toArray(this.props.children) as RowChild[]
67
66
  let sortable = false
68
67
  if (firstRow && firstRow.props && firstRow.props.children) {
69
- Children.forEach(firstRow.props.children, (grandchild) => {
70
- if (grandchild?.props?.onRequestSort) {
71
- sortable = true
72
- return
68
+ Children.forEach(
69
+ firstRow.props.children,
70
+ (grandchild: ReactElement<any>) => {
71
+ if (grandchild?.props?.onRequestSort) {
72
+ sortable = true
73
+ return
74
+ }
73
75
  }
74
- })
76
+ )
75
77
  }
76
78
  return sortable
77
79
  }
@@ -115,20 +117,23 @@ class Head extends Component<TableHeadProps> {
115
117
  > = {}
116
118
  let selectedOption: TableColHeaderProps['id'] | undefined
117
119
  let count = 0
118
- Children.forEach(firstRow.props.children, (grandchild) => {
119
- count += 1
120
- if (!grandchild?.props) return // grandchild can be false
121
- const { id, stackedSortByLabel, sortDirection, onRequestSort } =
122
- grandchild.props
123
- if (id && onRequestSort) {
124
- const label = stackedSortByLabel || id
125
- options.push({ id, label })
126
- clickHandlers[id] = onRequestSort
127
- if (sortDirection !== 'none') {
128
- selectedOption = id
120
+ Children.forEach(
121
+ firstRow.props.children,
122
+ (grandchild: ReactElement<any>) => {
123
+ count += 1
124
+ if (!grandchild?.props) return // grandchild can be false
125
+ const { id, stackedSortByLabel, sortDirection, onRequestSort } =
126
+ grandchild.props
127
+ if (id && onRequestSort) {
128
+ const label = stackedSortByLabel || id
129
+ options.push({ id, label })
130
+ clickHandlers[id] = onRequestSort
131
+ if (sortDirection !== 'none') {
132
+ selectedOption = id
133
+ }
129
134
  }
130
135
  }
131
- })
136
+ )
132
137
  if (!options.length) {
133
138
  return null
134
139
  }
@@ -179,11 +184,7 @@ class Head extends Component<TableHeadProps> {
179
184
  return this.context.isStacked ? (
180
185
  this.renderSelect()
181
186
  ) : (
182
- // TODO remove 'hover' exclude in v11, its passed down for compatibility with custom components
183
- <thead
184
- {...omitProps(this.props, Head.allowedProps, ['hover'])}
185
- css={styles?.head}
186
- >
187
+ <thead {...omitProps(this.props, Head.allowedProps)} css={styles?.head}>
187
188
  {children}
188
189
  </thead>
189
190
  )
@@ -22,11 +22,8 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import PropTypes from 'prop-types'
26
-
27
25
  import type {
28
26
  OtherHTMLAttributes,
29
- PropValidators,
30
27
  Renderable,
31
28
  TableHeadTheme
32
29
  } from '@instructure/shared-types'
@@ -65,13 +62,7 @@ type TableHeadProps = TableHeadOwnProps &
65
62
  OtherHTMLAttributes<TableHeadOwnProps>
66
63
 
67
64
  type TableHeadStyle = ComponentStyle<'head'>
68
-
69
- const propTypes: PropValidators<PropKeys> = {
70
- children: PropTypes.node,
71
- renderSortLabel: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
72
- }
73
-
74
65
  const allowedProps: AllowedPropKeys = ['children', 'renderSortLabel']
75
66
 
76
67
  export type { TableHeadProps, TableHeadStyle }
77
- export { propTypes, allowedProps }
68
+ export { allowedProps }
@@ -22,7 +22,13 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import { Component, Children, ContextType, isValidElement } from 'react'
25
+ import {
26
+ Component,
27
+ Children,
28
+ ContextType,
29
+ isValidElement,
30
+ type ReactElement
31
+ } from 'react'
26
32
 
27
33
  import { omitProps, safeCloneElement } from '@instructure/ui-react-utils'
28
34
  import { View } from '@instructure/ui-view'
@@ -33,7 +39,7 @@ import generateStyle from './styles'
33
39
  import generateComponentTheme from './theme'
34
40
 
35
41
  import type { TableRowProps } from './props'
36
- import { allowedProps, propTypes } from './props'
42
+ import { allowedProps } from './props'
37
43
  import TableContext from '../TableContext'
38
44
 
39
45
  /**
@@ -48,7 +54,6 @@ class Row extends Component<TableRowProps> {
48
54
  static contextType = TableContext
49
55
  declare context: ContextType<typeof TableContext>
50
56
  static allowedProps = allowedProps
51
- static propTypes = propTypes
52
57
 
53
58
  static defaultProps = {
54
59
  children: null
@@ -85,10 +90,7 @@ class Row extends Component<TableRowProps> {
85
90
  .map((child, index) => {
86
91
  if (isValidElement(child)) {
87
92
  return safeCloneElement(child, {
88
- key: child.props.name,
89
- // Sent down for compatibility with custom components
90
- // TODO DEPRECATED, remove in v11
91
- isStacked,
93
+ key: (child as ReactElement<any>).props.name,
92
94
  // used by `Cell` to render its column title in `stacked` layout
93
95
  header: headers && headers[index]
94
96
  })
@@ -23,11 +23,8 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
- import PropTypes from 'prop-types'
27
-
28
26
  import type {
29
27
  OtherHTMLAttributes,
30
- PropValidators,
31
28
  TableRowTheme
32
29
  } from '@instructure/shared-types'
33
30
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
@@ -43,11 +40,11 @@ type TableRowOwnProps = {
43
40
  * `{condition && <Table.Cell>bla<Table.Cell>}`
44
41
  */
45
42
  children?:
46
- | React.ReactElement
43
+ | React.ReactElement<any>
47
44
  | null
48
45
  | undefined
49
46
  | boolean
50
- | (React.ReactElement | null | undefined | boolean)[]
47
+ | (React.ReactElement<any> | null | undefined | boolean)[]
51
48
 
52
49
  /**
53
50
  * Controls the hover state of the row.
@@ -67,12 +64,7 @@ type TableRowProps = TableRowOwnProps &
67
64
 
68
65
  type TableRowStyle = ComponentStyle<'row'>
69
66
 
70
- const propTypes: PropValidators<PropKeys> = {
71
- children: PropTypes.node,
72
- setHoverStateTo: PropTypes.bool
73
- }
74
-
75
67
  const allowedProps: AllowedPropKeys = ['children', 'setHoverStateTo']
76
68
 
77
69
  export type { TableRowProps, TableRowStyle }
78
- export { propTypes, allowedProps }
70
+ export { allowedProps }
@@ -32,7 +32,7 @@ import { withStyle } from '@instructure/emotion'
32
32
  import generateStyle from './styles'
33
33
  import generateComponentTheme from './theme'
34
34
  import type { TableRowHeaderProps } from './props'
35
- import { allowedProps, propTypes } from './props'
35
+ import { allowedProps } from './props'
36
36
  import TableContext from '../TableContext'
37
37
 
38
38
  /**
@@ -47,7 +47,6 @@ class RowHeader extends Component<TableRowHeaderProps> {
47
47
  static contextType = TableContext
48
48
  declare context: ContextType<typeof TableContext>
49
49
  static allowedProps = allowedProps
50
- static propTypes = propTypes
51
50
 
52
51
  static defaultProps = {
53
52
  textAlign: 'start',
@@ -22,11 +22,8 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import PropTypes from 'prop-types'
26
-
27
25
  import type {
28
26
  OtherHTMLAttributes,
29
- PropValidators,
30
27
  Renderable,
31
28
  TableRowHeaderTheme
32
29
  } from '@instructure/shared-types'
@@ -49,13 +46,7 @@ type TableRowHeaderProps = TableRowHeaderOwnProps &
49
46
  OtherHTMLAttributes<TableRowHeaderOwnProps>
50
47
 
51
48
  type TableRowHeaderStyle = ComponentStyle<'rowHeader'>
52
-
53
- const propTypes: PropValidators<PropKeys> = {
54
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
55
- textAlign: PropTypes.oneOf(['start', 'center', 'end'])
56
- }
57
-
58
49
  const allowedProps: AllowedPropKeys = ['children', 'textAlign']
59
50
 
60
51
  export type { TableRowHeaderProps, TableRowHeaderStyle }
61
- export { propTypes, allowedProps }
52
+ export { allowedProps }
@@ -22,7 +22,7 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import { Component, Children, isValidElement } from 'react'
25
+ import { Component, Children, isValidElement, ReactElement } from 'react'
26
26
 
27
27
  import { safeCloneElement, omitProps } from '@instructure/ui-react-utils'
28
28
  import { View } from '@instructure/ui-view'
@@ -42,7 +42,7 @@ import { Cell } from './Cell'
42
42
 
43
43
  import type { TableProps } from './props'
44
44
 
45
- import { allowedProps, propTypes } from './props'
45
+ import { allowedProps } from './props'
46
46
  import TableContext from './TableContext'
47
47
 
48
48
  /**
@@ -55,7 +55,6 @@ class Table extends Component<TableProps> {
55
55
  static readonly componentId = 'Table'
56
56
 
57
57
  static allowedProps = allowedProps
58
- static propTypes = propTypes
59
58
 
60
59
  static defaultProps = {
61
60
  children: null,
@@ -93,12 +92,17 @@ class Table extends Component<TableProps> {
93
92
  getHeaders() {
94
93
  const [headChild] = Children.toArray(this.props.children)
95
94
  if (!headChild || !isValidElement(headChild)) return undefined
96
- const [firstRow] = Children.toArray(headChild.props.children)
95
+ const [firstRow] = Children.toArray(
96
+ (headChild as ReactElement<any>).props.children
97
+ )
97
98
  if (!firstRow || !isValidElement(firstRow)) return undefined
98
- return Children.map(firstRow.props.children, (colHeader) => {
99
- if (!isValidElement<{ children?: any }>(colHeader)) return undefined
100
- return colHeader.props.children
101
- })
99
+ return Children.map(
100
+ (firstRow as ReactElement<any>).props.children,
101
+ (colHeader) => {
102
+ if (!isValidElement<{ children?: any }>(colHeader)) return undefined
103
+ return colHeader.props.children
104
+ }
105
+ )
102
106
  }
103
107
 
104
108
  render() {
@@ -133,7 +137,9 @@ class Table extends Component<TableProps> {
133
137
  )}
134
138
  {Children.map(children, (child) => {
135
139
  if (isValidElement(child)) {
136
- return safeCloneElement(child, { key: child.props.name })
140
+ return safeCloneElement(child, {
141
+ key: (child as ReactElement<any>).props.name
142
+ })
137
143
  }
138
144
  return child
139
145
  })}
@@ -22,18 +22,12 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
  import React from 'react'
25
- import PropTypes from 'prop-types'
26
-
27
25
  import type {
28
26
  Spacing,
29
27
  WithStyleProps,
30
28
  ComponentStyle
31
29
  } from '@instructure/emotion'
32
- import type {
33
- OtherHTMLAttributes,
34
- PropValidators,
35
- TableTheme
36
- } from '@instructure/shared-types'
30
+ import type { OtherHTMLAttributes, TableTheme } from '@instructure/shared-types'
37
31
 
38
32
  type RowChild = React.ReactElement<{ children: React.ReactElement }>
39
33
 
@@ -81,16 +75,6 @@ type TableProps = TableOwnProps &
81
75
  OtherHTMLAttributes<TableOwnProps>
82
76
 
83
77
  type TableStyle = ComponentStyle<'table'>
84
-
85
- const propTypes: PropValidators<PropKeys> = {
86
- caption: PropTypes.node.isRequired,
87
- children: PropTypes.node,
88
- margin: PropTypes.string,
89
- elementRef: PropTypes.func,
90
- hover: PropTypes.bool,
91
- layout: PropTypes.oneOf(['auto', 'fixed', 'stacked'])
92
- }
93
-
94
78
  const allowedProps: AllowedPropKeys = [
95
79
  'caption',
96
80
  'children',
@@ -106,4 +90,4 @@ export type {
106
90
  // children
107
91
  RowChild
108
92
  }
109
- export { propTypes, allowedProps }
93
+ export { allowedProps }
@@ -16,10 +16,8 @@
16
16
  { "path": "../shared-types/tsconfig.build.json" },
17
17
  { "path": "../ui-a11y-content/tsconfig.build.json" },
18
18
  { "path": "../ui-icons/tsconfig.build.json" },
19
- { "path": "../ui-prop-types/tsconfig.build.json" },
20
19
  { "path": "../ui-react-utils/tsconfig.build.json" },
21
20
  { "path": "../ui-simple-select/tsconfig.build.json" },
22
- { "path": "../ui-testable/tsconfig.build.json" },
23
21
  { "path": "../ui-utils/tsconfig.build.json" },
24
22
  { "path": "../ui-view/tsconfig.build.json" }
25
23
  ]