Skip to content

Commit 44a2383

Browse files
committed
Merge branch 'master' into v1.7-dev
# Conflicts: # package.json
2 parents 16691af + d5fdbbb commit 44a2383

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

package.json

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"test": "gulp test-script"
2727
},
2828
"peerDependencies": {
29-
"react": "^15.3.0 || ^16.0.0"
29+
"react": "^15.3.0 || ^16.0.0 || ^17.0.0"
3030
},
3131
"devDependencies": {
3232
"@babel/core": "^7.0.0",
@@ -35,12 +35,12 @@
3535
"@babel/preset-react": "^7.0.0",
3636
"@babel/register": "^7.0.0",
3737
"@types/react": "^16.4.13",
38+
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.1",
3839
"babel-eslint": "^10.0.1",
3940
"babel-loader": "^8.0.0",
4041
"browser-sync": "^2.18.6",
4142
"chai": "^4.0.0",
4243
"enzyme": "^3.0.0",
43-
"enzyme-adapter-react-16": "^1.0.0",
4444
"eslint": "^7.12.1",
4545
"eslint-config-takiyon-react": "^0.5.0",
4646
"eslint-import-resolver-webpack": "^0.13.0",
@@ -55,13 +55,15 @@
5555
"gulp-exec": "^5.0.0",
5656
"gulp-header": "^2.0.5",
5757
"gulp-less": "^4.0.1",
58-
"gulp-mocha": "^7.0.0",
58+
"gulp-mocha": "^8.0.0",
59+
"gulp-sass": "^4.1.0",
5960
"gulp-stylelint": "^13.0.0",
6061
"jsdom": "^16.0.1",
61-
"mocha": "^8.2.0",
62-
"react": "^16.0.0",
63-
"react-dom": "^16.0.0",
64-
"react-test-renderer": "^16.0.0",
62+
"mocha": "^9.0.0",
63+
"react": "^17.0.2",
64+
"react-dom": "^17.0.2",
65+
"react-test-renderer": "^17.0.2",
66+
"sass": "^1.28.0",
6567
"stylelint": "^13.7.2",
6668
"stylelint-config-takiyon": "^1.0.1",
6769
"webpack": "^5.3.2",

src/js/CheckboxTree.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import classNames from 'classnames';
22
import isEqual from 'lodash/isEqual';
3+
import memoize from 'lodash/memoize';
34
import { nanoid } from 'nanoid';
45
import PropTypes from 'prop-types';
56
import React from 'react';
@@ -104,6 +105,8 @@ class CheckboxTree extends React.Component {
104105
this.onNodeClick = this.onNodeClick.bind(this);
105106
this.onExpandAll = this.onExpandAll.bind(this);
106107
this.onCollapseAll = this.onCollapseAll.bind(this);
108+
109+
this.combineMemorized = memoize((icons1, icons2) => ({ ...icons1, ...icons2 })).bind(this);
107110
}
108111

109112
// eslint-disable-next-line react/sort-comp
@@ -253,7 +256,7 @@ class CheckboxTree extends React.Component {
253256
expandOnClick={expandOnClick}
254257
expanded={flatNode.expanded}
255258
icon={node.icon}
256-
icons={{ ...defaultIcons, ...icons }}
259+
icons={this.combineMemorized(defaultIcons, icons)}
257260
label={node.label}
258261
lang={lang}
259262
optimisticToggle={optimisticToggle}

src/js/TreeNode.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import NativeCheckbox from './NativeCheckbox';
77
import iconsShape from './shapes/iconsShape';
88
import languageShape from './shapes/languageShape';
99

10-
class TreeNode extends React.Component {
10+
class TreeNode extends React.PureComponent {
1111
static propTypes = {
1212
checked: PropTypes.number.isRequired,
1313
disabled: PropTypes.bool.isRequired,

test/setup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Enzyme from 'enzyme';
2-
import Adapter from 'enzyme-adapter-react-16';
2+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
33
import { JSDOM } from 'jsdom';
44

55
Enzyme.configure({ adapter: new Adapter() });

0 commit comments

Comments
 (0)