@instructure/ui-tree-browser 10.26.1 → 11.0.1-snapshot-0

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 (44) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/es/TreeBrowser/TreeButton/index.js +6 -6
  3. package/es/TreeBrowser/TreeButton/props.js +1 -21
  4. package/es/TreeBrowser/TreeCollection/index.js +6 -6
  5. package/es/TreeBrowser/TreeCollection/props.js +1 -32
  6. package/es/TreeBrowser/TreeNode/index.js +6 -6
  7. package/es/TreeBrowser/TreeNode/props.js +1 -16
  8. package/es/TreeBrowser/index.js +6 -6
  9. package/es/TreeBrowser/props.js +1 -27
  10. package/lib/TreeBrowser/TreeButton/index.js +5 -5
  11. package/lib/TreeBrowser/TreeButton/props.js +1 -22
  12. package/lib/TreeBrowser/TreeCollection/index.js +5 -5
  13. package/lib/TreeBrowser/TreeCollection/props.js +1 -33
  14. package/lib/TreeBrowser/TreeNode/index.js +5 -5
  15. package/lib/TreeBrowser/TreeNode/props.js +1 -17
  16. package/lib/TreeBrowser/index.js +5 -5
  17. package/lib/TreeBrowser/props.js +1 -27
  18. package/package.json +14 -17
  19. package/src/TreeBrowser/TreeButton/index.tsx +2 -4
  20. package/src/TreeBrowser/TreeButton/props.ts +2 -28
  21. package/src/TreeBrowser/TreeCollection/index.tsx +3 -5
  22. package/src/TreeBrowser/TreeCollection/props.ts +2 -40
  23. package/src/TreeBrowser/TreeNode/index.tsx +7 -5
  24. package/src/TreeBrowser/TreeNode/props.ts +2 -23
  25. package/src/TreeBrowser/index.tsx +2 -4
  26. package/src/TreeBrowser/props.ts +4 -43
  27. package/tsconfig.build.json +0 -2
  28. package/tsconfig.build.tsbuildinfo +1 -1
  29. package/types/TreeBrowser/TreeButton/index.d.ts +0 -1
  30. package/types/TreeBrowser/TreeButton/index.d.ts.map +1 -1
  31. package/types/TreeBrowser/TreeButton/props.d.ts +2 -3
  32. package/types/TreeBrowser/TreeButton/props.d.ts.map +1 -1
  33. package/types/TreeBrowser/TreeCollection/index.d.ts +2 -10
  34. package/types/TreeBrowser/TreeCollection/index.d.ts.map +1 -1
  35. package/types/TreeBrowser/TreeCollection/props.d.ts +2 -3
  36. package/types/TreeBrowser/TreeCollection/props.d.ts.map +1 -1
  37. package/types/TreeBrowser/TreeNode/index.d.ts +0 -1
  38. package/types/TreeBrowser/TreeNode/index.d.ts.map +1 -1
  39. package/types/TreeBrowser/TreeNode/props.d.ts +2 -3
  40. package/types/TreeBrowser/TreeNode/props.d.ts.map +1 -1
  41. package/types/TreeBrowser/index.d.ts +0 -1
  42. package/types/TreeBrowser/index.d.ts.map +1 -1
  43. package/types/TreeBrowser/props.d.ts +4 -5
  44. package/types/TreeBrowser/props.d.ts.map +1 -1
@@ -11,7 +11,6 @@ var _IconFolderLine = require("@instructure/ui-icons/lib/IconFolderLine.js");
11
11
  var _IconDocumentLine = require("@instructure/ui-icons/lib/IconDocumentLine.js");
12
12
  var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
13
13
  var _pickProps = require("@instructure/ui-react-utils/lib/pickProps.js");
14
- var _testable = require("@instructure/ui-testable/lib/testable.js");
15
14
  var _emotion = require("@instructure/emotion");
16
15
  var _TreeCollection = require("./TreeCollection");
17
16
  var _TreeButton = require("./TreeButton");
@@ -21,7 +20,7 @@ var _theme = _interopRequireDefault(require("./theme"));
21
20
  var _props = require("./props");
22
21
  var _TreeBrowserContext = _interopRequireDefault(require("./TreeBrowserContext"));
23
22
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
24
- var _dec, _dec2, _class, _TreeBrowser;
23
+ var _dec, _class, _TreeBrowser;
25
24
  /*
26
25
  * The MIT License (MIT)
27
26
  *
@@ -50,7 +49,7 @@ var _dec, _dec2, _class, _TreeBrowser;
50
49
  category: components
51
50
  ---
52
51
  **/
53
- let TreeBrowser = exports.TreeBrowser = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec2 = (0, _testable.testable)(), _dec(_class = _dec2(_class = (_TreeBrowser = class TreeBrowser extends _react.Component {
52
+ let TreeBrowser = exports.TreeBrowser = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_TreeBrowser = class TreeBrowser extends _react.Component {
54
53
  constructor(props) {
55
54
  super(props);
56
55
  this.ref = null;
@@ -294,11 +293,12 @@ let TreeBrowser = exports.TreeBrowser = (_dec = (0, _emotion.withStyle)(_styles.
294
293
  this.ref = el;
295
294
  },
296
295
  "aria-label": this.props.treeLabel,
296
+ "data-cid": "TreeBrowser",
297
297
  children: this.renderRoot()
298
298
  })
299
299
  });
300
300
  }
301
- }, _TreeBrowser.displayName = "TreeBrowser", _TreeBrowser.componentId = 'TreeBrowser', _TreeBrowser.allowedProps = _props.allowedProps, _TreeBrowser.propTypes = _props.propTypes, _TreeBrowser.defaultProps = {
301
+ }, _TreeBrowser.displayName = "TreeBrowser", _TreeBrowser.componentId = 'TreeBrowser', _TreeBrowser.allowedProps = _props.allowedProps, _TreeBrowser.defaultProps = {
302
302
  size: 'medium',
303
303
  variant: 'folderTree',
304
304
  showRootCollection: true,
@@ -313,5 +313,5 @@ let TreeBrowser = exports.TreeBrowser = (_dec = (0, _emotion.withStyle)(_styles.
313
313
  return 0;
314
314
  },
315
315
  animation: true
316
- }, _TreeBrowser.Node = _TreeNode.TreeNode, _TreeBrowser.Collection = _TreeCollection.TreeCollection, _TreeBrowser.Button = _TreeButton.TreeButton, _TreeBrowser)) || _class) || _class);
316
+ }, _TreeBrowser.Node = _TreeNode.TreeNode, _TreeBrowser.Collection = _TreeCollection.TreeCollection, _TreeBrowser.Button = _TreeButton.TreeButton, _TreeBrowser)) || _class);
317
317
  var _default = exports.default = TreeBrowser;
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.propTypes = exports.allowedProps = void 0;
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _controllable = require("@instructure/ui-prop-types/lib/controllable.js");
6
+ exports.allowedProps = void 0;
10
7
  /*
11
8
  * The MIT License (MIT)
12
9
  *
@@ -40,27 +37,4 @@ var _controllable = require("@instructure/ui-prop-types/lib/controllable.js");
40
37
 
41
38
  // this is a sum type, so CompareObject is one of CompareCollection OR CompareItem
42
39
 
43
- const propTypes = exports.propTypes = {
44
- collections: _propTypes.default.object.isRequired,
45
- items: _propTypes.default.object.isRequired,
46
- rootId: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
47
- expanded: (0, _controllable.controllable)(_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])), 'onCollectionToggle'),
48
- defaultExpanded: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])),
49
- selectionType: _propTypes.default.oneOf(['none', 'single']),
50
- size: _propTypes.default.oneOf(['small', 'medium', 'large']),
51
- variant: _propTypes.default.oneOf(['folderTree', 'indent']),
52
- collectionIcon: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
53
- collectionIconExpanded: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
54
- itemIcon: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
55
- getItemProps: _propTypes.default.func,
56
- getCollectionProps: _propTypes.default.func,
57
- showRootCollection: _propTypes.default.bool,
58
- onCollectionClick: _propTypes.default.func,
59
- onCollectionToggle: _propTypes.default.func,
60
- onItemClick: _propTypes.default.func,
61
- treeLabel: _propTypes.default.string,
62
- renderContent: _propTypes.default.func,
63
- sortOrder: _propTypes.default.func,
64
- animation: _propTypes.default.bool
65
- };
66
40
  const allowedProps = exports.allowedProps = ['collections', 'items', 'rootId', 'expanded', 'defaultExpanded', 'selectionType', 'size', 'variant', 'collectionIcon', 'collectionIconExpanded', 'itemIcon', 'getItemProps', 'getCollectionProps', 'showRootCollection', 'onCollectionClick', 'onCollectionToggle', 'onItemClick', 'treeLabel', 'renderContent', 'sortOrder', 'animation'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-tree-browser",
3
- "version": "10.26.1",
3
+ "version": "11.0.1-snapshot-0",
4
4
  "description": "A component for displaying a hierarchical view of information",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -23,29 +23,26 @@
23
23
  },
24
24
  "license": "MIT",
25
25
  "devDependencies": {
26
- "@instructure/ui-axe-check": "10.26.1",
27
- "@instructure/ui-babel-preset": "10.26.1",
28
- "@instructure/ui-color-utils": "10.26.1",
29
- "@instructure/ui-themes": "10.26.1",
26
+ "@instructure/ui-axe-check": "11.0.1-snapshot-0",
27
+ "@instructure/ui-babel-preset": "11.0.1-snapshot-0",
28
+ "@instructure/ui-color-utils": "11.0.1-snapshot-0",
29
+ "@instructure/ui-themes": "11.0.1-snapshot-0",
30
30
  "@testing-library/jest-dom": "^6.6.3",
31
- "@testing-library/react": "^16.0.1",
31
+ "@testing-library/react": "15.0.7",
32
32
  "vitest": "^3.2.2"
33
33
  },
34
34
  "dependencies": {
35
35
  "@babel/runtime": "^7.27.6",
36
- "@instructure/emotion": "10.26.1",
37
- "@instructure/shared-types": "10.26.1",
38
- "@instructure/ui-icons": "10.26.1",
39
- "@instructure/ui-img": "10.26.1",
40
- "@instructure/ui-prop-types": "10.26.1",
41
- "@instructure/ui-react-utils": "10.26.1",
42
- "@instructure/ui-testable": "10.26.1",
43
- "@instructure/ui-utils": "10.26.1",
44
- "keycode": "^2",
45
- "prop-types": "^15.8.1"
36
+ "@instructure/emotion": "11.0.1-snapshot-0",
37
+ "@instructure/shared-types": "11.0.1-snapshot-0",
38
+ "@instructure/ui-icons": "11.0.1-snapshot-0",
39
+ "@instructure/ui-img": "11.0.1-snapshot-0",
40
+ "@instructure/ui-react-utils": "11.0.1-snapshot-0",
41
+ "@instructure/ui-utils": "11.0.1-snapshot-0",
42
+ "keycode": "^2"
46
43
  },
47
44
  "peerDependencies": {
48
- "react": ">=16.14 <=18"
45
+ "react": ">=18 <=19"
49
46
  },
50
47
  "publishConfig": {
51
48
  "access": "public"
@@ -24,7 +24,6 @@
24
24
 
25
25
  import { Component, ContextType } from 'react'
26
26
 
27
- import { testable } from '@instructure/ui-testable'
28
27
  import { Img } from '@instructure/ui-img'
29
28
  import { callRenderProp } from '@instructure/ui-react-utils'
30
29
  import { withStyle } from '@instructure/emotion'
@@ -32,7 +31,7 @@ import { withStyle } from '@instructure/emotion'
32
31
  import generateStyles from './styles'
33
32
  import generateComponentTheme from './theme'
34
33
  import type { TreeBrowserButtonProps } from './props'
35
- import { allowedProps, propTypes } from './props'
34
+ import { allowedProps } from './props'
36
35
  import TreeBrowserContext from '../TreeBrowserContext'
37
36
 
38
37
  // Todo: merge TreeButton and TreeNode: TreeButton should be a special type of TreeNode
@@ -44,12 +43,10 @@ id: TreeBrowser.Button
44
43
  ---
45
44
  **/
46
45
  @withStyle(generateStyles, generateComponentTheme)
47
- @testable()
48
46
  class TreeButton extends Component<TreeBrowserButtonProps> {
49
47
  static readonly componentId = 'TreeBrowser.Button'
50
48
 
51
49
  static allowedProps = allowedProps
52
- static propTypes = propTypes
53
50
 
54
51
  static contextType = TreeBrowserContext
55
52
  declare context: ContextType<typeof TreeBrowserContext>
@@ -151,6 +148,7 @@ class TreeButton extends Component<TreeBrowserButtonProps> {
151
148
  tabIndex={-1}
152
149
  type="button"
153
150
  css={styles?.treeButton}
151
+ data-cid="TreeButton"
154
152
  >
155
153
  {buttonContent}
156
154
  </button>
@@ -23,13 +23,8 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
- import PropTypes from 'prop-types'
27
-
28
26
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
29
- import type {
30
- PropValidators,
31
- TreeBrowserButtonTheme
32
- } from '@instructure/shared-types'
27
+ import type { TreeBrowserButtonTheme } from '@instructure/shared-types'
33
28
  import type { TreeBrowserCommonProps } from '../props'
34
29
 
35
30
  type TreeBrowserButtonOwnProps = {
@@ -69,27 +64,6 @@ type TreeBrowserButtonStyle = ComponentStyle<
69
64
  | 'thumbnail'
70
65
  | 'node'
71
66
  >
72
-
73
- const propTypes: PropValidators<PropKeys> = {
74
- id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
75
- name: PropTypes.string,
76
- descriptor: PropTypes.string,
77
- type: PropTypes.string,
78
- size: PropTypes.oneOf(['small', 'medium', 'large']),
79
- variant: PropTypes.oneOf(['folderTree', 'indent']),
80
- collectionIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
81
- collectionIconExpanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
82
- itemIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
83
- thumbnail: PropTypes.string,
84
- onClick: PropTypes.func,
85
- expanded: PropTypes.bool,
86
- selected: PropTypes.bool,
87
- focused: PropTypes.bool,
88
- level: PropTypes.number,
89
- containerRef: PropTypes.func,
90
- renderContent: PropTypes.func
91
- }
92
-
93
67
  const allowedProps: AllowedPropKeys = [
94
68
  'id',
95
69
  'name',
@@ -111,4 +85,4 @@ const allowedProps: AllowedPropKeys = [
111
85
  ]
112
86
 
113
87
  export type { TreeBrowserButtonProps, TreeBrowserButtonStyle }
114
- export { propTypes, allowedProps }
88
+ export { allowedProps }
@@ -24,7 +24,6 @@
24
24
 
25
25
  import { Component, ContextType, ReactElement, SyntheticEvent } from 'react'
26
26
 
27
- import { testable } from '@instructure/ui-testable'
28
27
  import { withStyle } from '@instructure/emotion'
29
28
  import { safeCloneElement } from '@instructure/ui-react-utils'
30
29
 
@@ -34,7 +33,7 @@ import generateStyles from './styles'
34
33
  import generateComponentTheme from './theme'
35
34
  import type { TreeBrowserCollectionProps, TreeCollectionState } from './props'
36
35
  import type { CompareObject } from '../props'
37
- import { allowedProps, propTypes } from './props'
36
+ import { allowedProps } from './props'
38
37
  import { CollectionItem, CollectionProps, CollectionData } from '../props'
39
38
  import TreeBrowserContext from '../TreeBrowserContext'
40
39
 
@@ -47,7 +46,6 @@ id: TreeBrowser.Collection
47
46
  ---
48
47
  **/
49
48
  @withStyle(generateStyles, generateComponentTheme)
50
- @testable()
51
49
  class TreeCollection extends Component<
52
50
  TreeBrowserCollectionProps,
53
51
  TreeCollectionState
@@ -55,7 +53,6 @@ class TreeCollection extends Component<
55
53
  static readonly componentId = 'TreeBrowser.Collection'
56
54
 
57
55
  static allowedProps = allowedProps
58
- static propTypes = propTypes
59
56
 
60
57
  static contextType = TreeBrowserContext
61
58
  declare context: ContextType<typeof TreeBrowserContext>
@@ -213,7 +210,7 @@ class TreeCollection extends Component<
213
210
 
214
211
  renderCollectionChildren(
215
212
  collectionId: string | number | undefined,
216
- child: ReactElement,
213
+ child: ReactElement<any>,
217
214
  position: number,
218
215
  keyword: 'before' | 'after'
219
216
  ) {
@@ -401,6 +398,7 @@ class TreeCollection extends Component<
401
398
  onFocus={(e) => this.handleFocus(e, { id: id, type: 'collection' })}
402
399
  onBlur={(e) => this.handleBlur(e, { id: id, type: 'collection' })}
403
400
  {...ariaSelected}
401
+ data-cid="TreeCollection"
404
402
  >
405
403
  <TreeButton {...collectionProps} />
406
404
  {expanded && this.childCount > 0 && (
@@ -23,17 +23,9 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
- import PropTypes from 'prop-types'
27
26
 
28
- import { Children } from '@instructure/ui-prop-types'
29
-
30
- import { TreeNode } from '../TreeNode'
31
27
  import type { CollectionData } from '../props'
32
-
33
- import type {
34
- PropValidators,
35
- TreeBrowserCollectionTheme
36
- } from '@instructure/shared-types'
28
+ import type { TreeBrowserCollectionTheme } from '@instructure/shared-types'
37
29
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
38
30
  import { CollectionProps, TreeBrowserBaseProps } from '../props'
39
31
 
@@ -58,36 +50,6 @@ type TreeBrowserCollectionProps = TreeBrowserCollectionOwnProps &
58
50
  type TreeBrowserCollectionStyle = ComponentStyle<
59
51
  'treeCollection' | 'list' | 'item'
60
52
  >
61
-
62
- const propTypes: PropValidators<PropKeys> = {
63
- id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
64
- name: PropTypes.string,
65
- descriptor: PropTypes.string,
66
- items: PropTypes.array,
67
- collections: PropTypes.array,
68
- expanded: PropTypes.bool,
69
- selection: PropTypes.string,
70
- size: PropTypes.oneOf(['small', 'medium', 'large']),
71
- variant: PropTypes.oneOf(['folderTree', 'indent']),
72
- collectionIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
73
- collectionIconExpanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
74
- itemIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
75
- getItemProps: PropTypes.func,
76
- getCollectionProps: PropTypes.func,
77
- onItemClick: PropTypes.func,
78
- onCollectionClick: PropTypes.func,
79
- onKeyDown: PropTypes.func,
80
- numChildren: PropTypes.number,
81
- level: PropTypes.number.isRequired,
82
- position: PropTypes.number,
83
- renderBeforeItems: Children.oneOf([TreeNode]),
84
- renderAfterItems: Children.oneOf([TreeNode]),
85
- containerRef: PropTypes.func,
86
- isCollectionFlattened: PropTypes.bool,
87
- renderContent: PropTypes.func,
88
- compareFunc: PropTypes.func
89
- }
90
-
91
53
  const allowedProps: AllowedPropKeys = [
92
54
  'id',
93
55
  'name',
@@ -123,4 +85,4 @@ export type {
123
85
  TreeBrowserCollectionStyle,
124
86
  TreeCollectionState
125
87
  }
126
- export { propTypes, allowedProps }
88
+ export { allowedProps }
@@ -26,13 +26,12 @@ import { Component, ContextType } from 'react'
26
26
 
27
27
  import { Img } from '@instructure/ui-img'
28
28
  import { callRenderProp } from '@instructure/ui-react-utils'
29
- import { testable } from '@instructure/ui-testable'
30
29
  import { withStyle } from '@instructure/emotion'
31
30
 
32
31
  import generateStyles from '../TreeButton/styles'
33
32
  import generateComponentTheme from '../TreeButton/theme'
34
33
  import type { TreeBrowserNodeProps } from './props'
35
- import { allowedProps, propTypes } from './props'
34
+ import { allowedProps } from './props'
36
35
  import TreeBrowserContext from '../TreeBrowserContext'
37
36
 
38
37
  // Todo: merge TreeButton and TreeNode: TreeButton should be a special type of TreeNode
@@ -46,12 +45,10 @@ A helper class used to render the :renderBeforeItems and :renderAfterItems
46
45
  in the TreeBrowser.
47
46
  **/
48
47
  @withStyle(generateStyles, generateComponentTheme)
49
- @testable()
50
48
  class TreeNode extends Component<TreeBrowserNodeProps> {
51
49
  static readonly componentId = 'TreeBrowser.Node'
52
50
 
53
51
  static allowedProps = allowedProps
54
- static propTypes = propTypes
55
52
 
56
53
  static contextType = TreeBrowserContext
57
54
  declare context: ContextType<typeof TreeBrowserContext>
@@ -98,7 +95,12 @@ class TreeNode extends Component<TreeBrowserNodeProps> {
98
95
  render() {
99
96
  const { children, styles } = this.props
100
97
  return (
101
- <div ref={this.handleRef} tabIndex={-1} css={styles?.treeButton}>
98
+ <div
99
+ ref={this.handleRef}
100
+ tabIndex={-1}
101
+ css={styles?.treeButton}
102
+ data-cid="TreeNode"
103
+ >
102
104
  <span css={styles?.layout}>
103
105
  {this.renderItemImage()}
104
106
  <span css={styles?.node}>{children}</span>
@@ -23,12 +23,7 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
- import PropTypes from 'prop-types'
27
-
28
- import type {
29
- PropValidators,
30
- TreeBrowserButtonTheme
31
- } from '@instructure/shared-types'
26
+ import type { TreeBrowserButtonTheme } from '@instructure/shared-types'
32
27
  import type { WithStyleProps } from '@instructure/emotion'
33
28
 
34
29
  import type {
@@ -63,22 +58,6 @@ type AllowedPropKeys = Readonly<Array<PropKeys>>
63
58
 
64
59
  type TreeBrowserNodeProps = TreeBrowserNodeOwnProps &
65
60
  WithStyleProps<TreeBrowserButtonTheme, TreeBrowserButtonStyle>
66
-
67
- const propTypes: PropValidators<PropKeys> = {
68
- id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
69
- size: PropTypes.oneOf(['small', 'medium', 'large']),
70
- variant: PropTypes.oneOf(['folderTree', 'indent']),
71
- selected: PropTypes.bool,
72
- focused: PropTypes.bool,
73
- itemIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
74
- thumbnail: PropTypes.string,
75
- level: PropTypes.number,
76
- children: PropTypes.node,
77
- containerRef: PropTypes.func,
78
- onKeyDown: PropTypes.func,
79
- onClick: PropTypes.func
80
- }
81
-
82
61
  const allowedProps: AllowedPropKeys = [
83
62
  'id',
84
63
  'size',
@@ -95,4 +74,4 @@ const allowedProps: AllowedPropKeys = [
95
74
  ]
96
75
 
97
76
  export type { TreeBrowserNodeProps }
98
- export { propTypes, allowedProps }
77
+ export { allowedProps }
@@ -28,7 +28,6 @@ import keycode from 'keycode'
28
28
  import { IconFolderLine, IconDocumentLine } from '@instructure/ui-icons'
29
29
 
30
30
  import { omitProps, pickProps } from '@instructure/ui-react-utils'
31
- import { testable } from '@instructure/ui-testable'
32
31
  import { withStyle } from '@instructure/emotion'
33
32
 
34
33
  import { TreeCollection } from './TreeCollection'
@@ -44,7 +43,7 @@ import type {
44
43
  TreeBrowserProps,
45
44
  TreeBrowserState
46
45
  } from './props'
47
- import { allowedProps, propTypes } from './props'
46
+ import { allowedProps } from './props'
48
47
  import TreeBrowserContext from './TreeBrowserContext'
49
48
 
50
49
  /**
@@ -53,12 +52,10 @@ category: components
53
52
  ---
54
53
  **/
55
54
  @withStyle(generateStyles, generateComponentTheme)
56
- @testable()
57
55
  class TreeBrowser extends Component<TreeBrowserProps, TreeBrowserState> {
58
56
  static readonly componentId = 'TreeBrowser'
59
57
 
60
58
  static allowedProps = allowedProps
61
- static propTypes = propTypes
62
59
 
63
60
  static defaultProps = {
64
61
  size: 'medium',
@@ -380,6 +377,7 @@ class TreeBrowser extends Component<TreeBrowserProps, TreeBrowserState> {
380
377
  this.ref = el
381
378
  }}
382
379
  aria-label={this.props.treeLabel}
380
+ data-cid="TreeBrowser"
383
381
  >
384
382
  {this.renderRoot()}
385
383
  </ul>
@@ -22,16 +22,9 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import PropTypes from 'prop-types'
26
-
27
- import { controllable } from '@instructure/ui-prop-types'
28
-
29
- import type {
30
- PropValidators,
31
- TreeBrowserTheme
32
- } from '@instructure/shared-types'
25
+ import type { TreeBrowserTheme } from '@instructure/shared-types'
33
26
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
34
- import { ReactElement } from 'react'
27
+ import React, { ReactElement } from 'react'
35
28
  import type { TreeBrowserButtonProps } from './TreeButton/props'
36
29
  import { Renderable } from '@instructure/shared-types'
37
30
 
@@ -115,7 +108,7 @@ type TreeBrowserCommonProps = {
115
108
  collectionIcon?: Renderable
116
109
  collectionIconExpanded?: Renderable
117
110
  itemIcon?: Renderable
118
- renderContent?: (props: TreeBrowserButtonProps) => JSX.Element
111
+ renderContent?: (props: TreeBrowserButtonProps) => React.JSX.Element
119
112
  }
120
113
 
121
114
  type PropKeys = keyof TreeBrowserOwnProps
@@ -180,38 +173,6 @@ type CollectionData = {
180
173
  expanded?: boolean
181
174
  type: 'child' | 'collection' | 'item'
182
175
  }
183
-
184
- const propTypes: PropValidators<PropKeys> = {
185
- collections: PropTypes.object.isRequired,
186
- items: PropTypes.object.isRequired,
187
- rootId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
188
- expanded: controllable(
189
- PropTypes.arrayOf(
190
- PropTypes.oneOfType([PropTypes.string, PropTypes.number])
191
- ),
192
- 'onCollectionToggle'
193
- ),
194
- defaultExpanded: PropTypes.arrayOf(
195
- PropTypes.oneOfType([PropTypes.string, PropTypes.number])
196
- ),
197
- selectionType: PropTypes.oneOf(['none', 'single']),
198
- size: PropTypes.oneOf(['small', 'medium', 'large']),
199
- variant: PropTypes.oneOf(['folderTree', 'indent']),
200
- collectionIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
201
- collectionIconExpanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
202
- itemIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
203
- getItemProps: PropTypes.func,
204
- getCollectionProps: PropTypes.func,
205
- showRootCollection: PropTypes.bool,
206
- onCollectionClick: PropTypes.func,
207
- onCollectionToggle: PropTypes.func,
208
- onItemClick: PropTypes.func,
209
- treeLabel: PropTypes.string,
210
- renderContent: PropTypes.func,
211
- sortOrder: PropTypes.func,
212
- animation: PropTypes.bool
213
- }
214
-
215
176
  const allowedProps: AllowedPropKeys = [
216
177
  'collections',
217
178
  'items',
@@ -255,4 +216,4 @@ export type {
255
216
  TreeBrowserBaseProps,
256
217
  TreeBrowserCommonProps
257
218
  }
258
- export { propTypes, allowedProps }
219
+ export { allowedProps }
@@ -15,9 +15,7 @@
15
15
  { "path": "../shared-types/tsconfig.build.json" },
16
16
  { "path": "../ui-icons/tsconfig.build.json" },
17
17
  { "path": "../ui-img/tsconfig.build.json" },
18
- { "path": "../ui-prop-types/tsconfig.build.json" },
19
18
  { "path": "../ui-react-utils/tsconfig.build.json" },
20
- { "path": "../ui-testable/tsconfig.build.json" },
21
19
  { "path": "../ui-utils/tsconfig.build.json" }
22
20
  ]
23
21
  }