Skip to content

Commit

Permalink
refactor: remove propTypes (#514)
Browse files Browse the repository at this point in the history
  • Loading branch information
simonguo authored Dec 25, 2024
1 parent 48ca2f0 commit 30b4bfc
Show file tree
Hide file tree
Showing 15 changed files with 269 additions and 478 deletions.
3 changes: 1 addition & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ module.exports = {
'@typescript-eslint/explicit-member-accessibility': OFF,
'@typescript-eslint/no-namespace': OFF,
'@typescript-eslint/explicit-module-boundary-types': OFF,
'react/display-name': OFF,
'react/prop-types': OFF
'react/display-name': OFF
},
settings: {
react: {
Expand Down
1 change: 0 additions & 1 deletion karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ module.exports = config => {
frameworks: ['mocha', 'chai-dom', 'sinon-chai', 'webpack'],
colors: true,
reporters: ['mocha', 'coverage'],

logLevel: config.LOG_INFO,
preprocessors: {
'test/*.js': ['webpack']
Expand Down
17 changes: 6 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,14 @@
"dependencies": {
"@babel/runtime": "^7.12.5",
"@juggle/resize-observer": "^3.3.1",
"@rsuite/icons": "^1.0.0",
"@rsuite/icons": "^1.3.0",
"classnames": "^2.3.1",
"dom-lib": "^3.3.1",
"lodash": "^4.17.21",
"react-is": "^17.0.2"
"lodash": "^4.17.21"
},
"peerDependencies": {
"prop-types": "^15.7.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
"react": ">=18",
"react-dom": ">=18"
},
"devDependencies": {
"@babel/cli": "^7.12.8",
Expand All @@ -70,10 +68,8 @@
"@faker-js/faker": "^7.6.0",
"@testing-library/react": "^13.4.0",
"@types/lodash": "^4.14.165",
"@types/prop-types": "^15.7.1",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
"@types/react-is": "^18.2.4",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^6.9.0",
"@typescript-eslint/parser": "^6.9.0",
"autoprefixer": "^8.3.0",
Expand Down Expand Up @@ -123,7 +119,6 @@
"mini-css-extract-plugin": "^2.3.0",
"mocha": "^9.0.2",
"prettier": "^2.3.2",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react-code-view": "^2.2.1",
"react-dnd": "^16.0.1",
Expand Down
55 changes: 14 additions & 41 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 0 additions & 31 deletions src/Cell.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React, { useCallback } from 'react';
import PropTypes from 'prop-types';
import omit from 'lodash/omit';
import isNil from 'lodash/isNil';
import get from 'lodash/get';
Expand Down Expand Up @@ -226,36 +225,6 @@ const Cell = React.forwardRef(

Cell.displayName = 'Table.Cell';

Cell.propTypes = {
align: PropTypes.string,
verticalAlign: PropTypes.string,
className: PropTypes.string,
classPrefix: PropTypes.string,
dataKey: PropTypes.string,
isHeaderCell: PropTypes.bool,
width: PropTypes.number,
height: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),
left: PropTypes.number,
headerHeight: PropTypes.number,
style: PropTypes.object,
firstColumn: PropTypes.bool,
lastColumn: PropTypes.bool,
hasChildren: PropTypes.bool,
children: PropTypes.any,
rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
rowIndex: PropTypes.number,
rowData: PropTypes.object,
depth: PropTypes.number,
onTreeToggle: PropTypes.func,
renderTreeToggle: PropTypes.func,
renderCell: PropTypes.func,
wordWrap: PropTypes.any,
removed: PropTypes.bool,
treeCol: PropTypes.bool,
expanded: PropTypes.bool,
fullText: PropTypes.bool
};

export default Cell as <Row extends RowDataType, Key extends RowKeyType>(
props: InnerCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>
) => React.ReactElement;
37 changes: 16 additions & 21 deletions src/Column.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types';
import { RowDataType } from './@types/common';

export interface ColumnProps<Row extends RowDataType> {
Expand Down Expand Up @@ -51,31 +50,27 @@ function Column<Row extends RowDataType>(_props: ColumnProps<Row>) {
return <></>;
}

const propTypes = {
align: PropTypes.string,
verticalAlign: PropTypes.string,
width: PropTypes.number,
fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),
resizable: PropTypes.bool,
sortable: PropTypes.bool,
flexGrow: PropTypes.number,
minWidth: PropTypes.number,
colSpan: PropTypes.number,
rowSpan: PropTypes.func,
treeCol: PropTypes.bool,
onResize: PropTypes.func,
children: PropTypes.node,
fullText: PropTypes.bool
};

Column.displayName = 'Table.Column';

Column.defaultProps = {
width: 100
};

Column.propTypes = propTypes;

export const columnHandledProps = Object.keys(propTypes);
export const columnHandledProps = [
'align',
'verticalAlign',
'width',
'fixed',
'resizable',
'sortable',
'flexGrow',
'minWidth',
'colSpan',
'rowSpan',
'treeCol',
'onResize',
'children',
'fullText'
];

export default Column;
7 changes: 0 additions & 7 deletions src/ColumnGroup.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React from 'react';
import PropTypes from 'prop-types';
import { useClassNames, convertToFlex } from './utils';
import { StandardProps } from './@types/common';

Expand Down Expand Up @@ -77,11 +76,5 @@ const ColumnGroup = React.forwardRef((props: ColumnGroupProps, ref: React.Ref<HT
});

ColumnGroup.displayName = 'Table.ColumnGroup';
ColumnGroup.propTypes = {
header: PropTypes.node,
classPrefix: PropTypes.string,
groupHeaderHeight: PropTypes.number,
verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom'])
};

export default ColumnGroup;
18 changes: 0 additions & 18 deletions src/HeaderCell.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React, { useState, useCallback } from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import isNil from 'lodash/isNil';
import Sort from '@rsuite/icons/Sort';
Expand Down Expand Up @@ -167,23 +166,6 @@ const HeaderCell = React.forwardRef(
);

HeaderCell.displayName = 'HeaderCell';
HeaderCell.propTypes = {
index: PropTypes.number,
sortColumn: PropTypes.string,
sortType: PropTypes.oneOf(['desc', 'asc']),
sortable: PropTypes.bool,
resizable: PropTypes.bool,
minWidth: PropTypes.number,
onColumnResizeStart: PropTypes.func,
onColumnResizeEnd: PropTypes.func,
onResize: PropTypes.func,
onColumnResizeMove: PropTypes.func,
onSortColumn: PropTypes.func,
flexGrow: PropTypes.number,
fixed: PropTypes.any,
children: PropTypes.node,
renderSortIcon: PropTypes.func
};

export default HeaderCell as <Row extends RowDataType, Key extends RowKeyType>(
props: HeaderCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>
Expand Down
Loading

0 comments on commit 30b4bfc

Please sign in to comment.