diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ec3db9a08..2cbed3ee2 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,31 +1,31 @@
version: 2
updates:
-- package-ecosystem: npm
- directory: "/"
- schedule:
- interval: daily
- time: "21:00"
- open-pull-requests-limit: 10
- ignore:
- - dependency-name: "@types/react"
- versions:
- - 17.0.0
- - 17.0.1
- - 17.0.2
- - 17.0.3
- - dependency-name: np
- versions:
- - 7.2.0
- - 7.3.0
- - 7.4.0
- - dependency-name: "@types/react-dom"
- versions:
- - 17.0.0
- - 17.0.1
- - 17.0.2
- - dependency-name: typescript
- versions:
- - 4.1.3
- - 4.1.4
- - 4.1.5
- - 4.2.2
+ - package-ecosystem: npm
+ directory: '/'
+ schedule:
+ interval: daily
+ time: '21:00'
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: '@types/react'
+ versions:
+ - 17.0.0
+ - 17.0.1
+ - 17.0.2
+ - 17.0.3
+ - dependency-name: np
+ versions:
+ - 7.2.0
+ - 7.3.0
+ - 7.4.0
+ - dependency-name: '@types/react-dom'
+ versions:
+ - 17.0.0
+ - 17.0.1
+ - 17.0.2
+ - dependency-name: typescript
+ versions:
+ - 4.1.3
+ - 4.1.4
+ - 4.1.5
+ - 4.2.2
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index fcd98ab24..8598a777c 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -1,12 +1,12 @@
-name: "CodeQL"
+name: 'CodeQL'
on:
push:
- branches: [ "master" ]
+ branches: ['master']
pull_request:
- branches: [ "master" ]
+ branches: ['master']
schedule:
- - cron: "36 13 * * 3"
+ - cron: '36 13 * * 3'
jobs:
analyze:
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- language: [ javascript ]
+ language: [javascript]
steps:
- name: Checkout
@@ -38,4 +38,4 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
- category: "/language:${{ matrix.language }}"
+ category: '/language:${{ matrix.language }}'
diff --git a/.prettierrc b/.prettierrc
index 4d75b549a..6e5910384 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -6,4 +6,4 @@
"trailingComma": "all",
"proseWrap": "never",
"printWidth": 100
-}
\ No newline at end of file
+}
diff --git a/HISTORY.md b/HISTORY.md
index e6ee86e84..0e09e3e92 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1 +1 @@
-See https://github.com/react-component/select/releases
\ No newline at end of file
+See [rc-select releases](https://github.com/react-component/select/releases)
diff --git a/README.md b/README.md
index 9f744ef5f..6b0c20587 100644
--- a/README.md
+++ b/README.md
@@ -158,7 +158,7 @@ export default () => (
| key | - | String | - |
| value | default filter by this attribute. if react want you to set key, then key is same as value, you can omit value | String | - |
| className | same as `Option props` | String | '' |
-| title | same as `Option props`| String | - |
+| title | same as `Option props` | String | - |
## Development
diff --git a/docs/examples/auto-adjust-dropdown.tsx b/docs/examples/auto-adjust-dropdown.tsx
index 3921b032b..544d47a98 100644
--- a/docs/examples/auto-adjust-dropdown.tsx
+++ b/docs/examples/auto-adjust-dropdown.tsx
@@ -8,7 +8,7 @@ class Test extends React.Component {
value: '3',
};
- onChange = e => {
+ onChange = (e) => {
let value;
if (e && e.target) {
({ value } = e.target);
@@ -34,49 +34,25 @@ class Test extends React.Component {
>
-
-
-
- {' '}
+
+
+ {' '}
-
-
-
+
+
+
@@ -88,32 +64,16 @@ class Test extends React.Component {
}}
>
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/docs/examples/combobox.tsx b/docs/examples/combobox.tsx
index 96e695abe..0cac5d9ea 100644
--- a/docs/examples/combobox.tsx
+++ b/docs/examples/combobox.tsx
@@ -25,7 +25,7 @@ class Combobox extends React.Component {
});
};
- onKeyDown = e => {
+ onKeyDown = (e) => {
const { value } = this.state;
if (e.keyCode === 13) {
console.log('onEnter', value);
@@ -40,7 +40,7 @@ class Combobox extends React.Component {
console.log('onSearch:', text);
};
- onAsyncChange = value => {
+ onAsyncChange = (value) => {
window.clearTimeout(this.timeoutId);
this.setState({
diff --git a/docs/examples/common.less b/docs/examples/common.less
index ebff48b65..d78a563b4 100644
--- a/docs/examples/common.less
+++ b/docs/examples/common.less
@@ -7,4 +7,4 @@
// button {
// border: 1px solid #333;
-// }
\ No newline at end of file
+// }
diff --git a/docs/examples/common/tbFetchSuggest.tsx b/docs/examples/common/tbFetchSuggest.tsx
index 8b9f90698..8a9974d5a 100644
--- a/docs/examples/common/tbFetchSuggest.tsx
+++ b/docs/examples/common/tbFetchSuggest.tsx
@@ -20,7 +20,7 @@ export function fetch(value, callback) {
if (currentValue === value) {
const { result } = d;
const data = [];
- result.forEach(r => {
+ result.forEach((r) => {
data.push({
value: r[0],
text: r[0],
diff --git a/docs/examples/controlled.tsx b/docs/examples/controlled.tsx
index d61c15a43..539399317 100644
--- a/docs/examples/controlled.tsx
+++ b/docs/examples/controlled.tsx
@@ -16,7 +16,7 @@ class Controlled extends React.Component<{}, ControlledState> {
open: true,
};
- onChange = e => {
+ onChange = (e) => {
let value;
if (e && e.target) {
({ value } = e.target);
@@ -35,7 +35,7 @@ class Controlled extends React.Component<{}, ControlledState> {
});
};
- onBlur = v => {
+ onBlur = (v) => {
console.log('onBlur', v);
};
@@ -43,7 +43,7 @@ class Controlled extends React.Component<{}, ControlledState> {
console.log('onFocus');
};
- onDropdownVisibleChange = open => {
+ onDropdownVisibleChange = (open) => {
this.setState({ open });
};
@@ -88,7 +88,7 @@ class Controlled extends React.Component<{}, ControlledState> {
- {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(i => (
+ {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((i) => (
diff --git a/docs/examples/custom-tags.tsx b/docs/examples/custom-tags.tsx
index 4b224bea8..e8013936d 100644
--- a/docs/examples/custom-tags.tsx
+++ b/docs/examples/custom-tags.tsx
@@ -4,7 +4,6 @@ import Select, { Option } from 'rc-select';
import '../../assets/index.less';
import type { CustomTagProps } from '@/BaseSelect';
-
const children = [];
for (let i = 10; i < 36; i += 1) {
children.push(
diff --git a/docs/examples/dropdownRender.tsx b/docs/examples/dropdownRender.tsx
index 3f16b030d..21f00097f 100644
--- a/docs/examples/dropdownRender.tsx
+++ b/docs/examples/dropdownRender.tsx
@@ -50,7 +50,7 @@ class Test extends React.Component {
tokenSeparators={[' ', ',']}
onFocus={() => console.log('focus')}
onBlur={() => console.log('blur')}
- dropdownRender={menu => (
+ dropdownRender={(menu) => (
{
diff --git a/docs/examples/email.tsx b/docs/examples/email.tsx
index e57599e6a..4487043f7 100644
--- a/docs/examples/email.tsx
+++ b/docs/examples/email.tsx
@@ -8,18 +8,18 @@ class Test extends React.Component {
options: [],
};
- onSelect = value => {
+ onSelect = (value) => {
console.log('onSelect', value);
};
- onChange = value => {
+ onChange = (value) => {
console.log('onChange', value);
let options: React.ReactNode = [];
if (value) {
if (value.indexOf('@') >= 0) {
options = ;
} else {
- options = ['gmail.com', 'yahoo.com', 'outlook.com'].map(domain => {
+ options = ['gmail.com', 'yahoo.com', 'outlook.com'].map((domain) => {
const email = `${value}@${domain}`;
return ;
});
diff --git a/docs/examples/filterSort.tsx b/docs/examples/filterSort.tsx
index f28455578..a698aef5f 100644
--- a/docs/examples/filterSort.tsx
+++ b/docs/examples/filterSort.tsx
@@ -22,7 +22,7 @@ const Test = () => (
filterSort={sorterByLabel}
optionFilterProp="label"
options={incidencesStateResource}
- />
+ />
without filter sort
{
+ onChange = (value) => {
console.log('select ', value);
this.setState({
value,
});
};
- fetchData = value => {
+ fetchData = (value) => {
if (value) {
- fetch(value, data => {
+ fetch(value, (data) => {
this.setState({
data,
});
@@ -42,7 +42,7 @@ class Test extends React.Component {
render() {
const { data, value, disabled } = this.state;
- const options = data.map(d => (
+ const options = data.map((d) => (
diff --git a/docs/examples/loading.tsx b/docs/examples/loading.tsx
index 71b2e9268..eca694b40 100644
--- a/docs/examples/loading.tsx
+++ b/docs/examples/loading.tsx
@@ -60,7 +60,7 @@ class Test extends React.Component {
placeholder="please select"
onChange={this.onChange}
onFocus={() => console.log('focus')}
- onBlur={v => console.log('blur', v)}
+ onBlur={(v) => console.log('blur', v)}
tokenSeparators={[' ', ',']}
>
{children}
diff --git a/docs/examples/optgroup.tsx b/docs/examples/optgroup.tsx
index 71783edbf..f66d474e1 100644
--- a/docs/examples/optgroup.tsx
+++ b/docs/examples/optgroup.tsx
@@ -16,24 +16,34 @@ const Test = () => (
defaultValue="lucy"
style={{ width: 500 }}
onChange={onChange}
- options={[{
- label: 'manager',
- className: 'group-custom-className',
- title:'group-custom-class',
- options: [
- { label: 'jack', value: 'jack', className:'jackClass1 jackClass2' , title:'jack-custom-Title' },
- { label: 'lucy', value: 'lucy' }
- ],
- }, {
- label: 'engineer',
- options: [{ label: 'yiminghe', value: 'yiminghe' }]
- }, {
- label: 'bamboo',
- options: undefined,
- }, {
- label: 'mocha',
- options: null,
- }]}
+ options={[
+ {
+ label: 'manager',
+ className: 'group-custom-className',
+ title: 'group-custom-class',
+ options: [
+ {
+ label: 'jack',
+ value: 'jack',
+ className: 'jackClass1 jackClass2',
+ title: 'jack-custom-Title',
+ },
+ { label: 'lucy', value: 'lucy' },
+ ],
+ },
+ {
+ label: 'engineer',
+ options: [{ label: 'yiminghe', value: 'yiminghe' }],
+ },
+ {
+ label: 'bamboo',
+ options: undefined,
+ },
+ {
+ label: 'mocha',
+ options: null,
+ },
+ ]}
/>
diff --git a/docs/examples/single.tsx b/docs/examples/single.tsx
index 5afce64f2..f305a804a 100644
--- a/docs/examples/single.tsx
+++ b/docs/examples/single.tsx
@@ -10,7 +10,7 @@ class Test extends React.Component {
value: '9',
};
- onChange = e => {
+ onChange = (e) => {
let value;
if (e && e.target) {
({ value } = e.target);
@@ -29,7 +29,7 @@ class Test extends React.Component {
});
};
- onBlur = v => {
+ onBlur = (v) => {
console.log('onBlur', v);
};
@@ -37,7 +37,7 @@ class Test extends React.Component {
console.log('onFocus');
};
- onSearch = val => {
+ onSearch = (val) => {
console.log('Search:', val);
};
@@ -51,7 +51,7 @@ class Test extends React.Component {
{
+ onMouseDown={(e) => {
e.preventDefault();
}}
>
@@ -101,7 +101,7 @@ class Test extends React.Component {
>
yiminghe
- {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(i => (
+ {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((i) => (
@@ -116,7 +116,7 @@ class Test extends React.Component {
disabled
- {[1, 2, 3, 4, 5, 6, 7, 8, 9].map(i => (
+ {[1, 2, 3, 4, 5, 6, 7, 8, 9].map((i) => (
diff --git a/docs/examples/update-option.tsx b/docs/examples/update-option.tsx
index 3063806fe..33e95590c 100644
--- a/docs/examples/update-option.tsx
+++ b/docs/examples/update-option.tsx
@@ -28,7 +28,7 @@ class Test extends React.Component {
this.count += 1;
};
- updateOptions = value => {
+ updateOptions = (value) => {
const options = [value, value + value, value + value + value];
this.setState({
options,
@@ -58,7 +58,7 @@ class Test extends React.Component {
- {options.map(opt => (
+ {options.map((opt) => (
))}
diff --git a/now.json b/now.json
index 9340a6875..4f656562a 100644
--- a/now.json
+++ b/now.json
@@ -10,4 +10,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/package.json b/package.json
index 784de39aa..1be3e4c79 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,8 @@
"prepare": "husky && dumi setup",
"compile": "father build && lessc assets/index.less assets/index.css",
"prepublishOnly": "npm run compile && np --yolo --no-publish",
- "lint": "eslint src/ docs/examples/ --ext .tsx,.ts,.jsx,.js",
+ "prettier": "prettier --write --ignore-unknown .",
+ "lint": "eslint src/ docs/ tests/ --ext .tsx,.ts,.jsx,.js",
"test": "rc-test",
"tsc": "tsc --noEmit",
"now-build": "npm run build"
diff --git a/src/Selector/MultipleSelector.tsx b/src/Selector/MultipleSelector.tsx
index 3c9069590..5fbe15037 100644
--- a/src/Selector/MultipleSelector.tsx
+++ b/src/Selector/MultipleSelector.tsx
@@ -138,7 +138,14 @@ const SelectSelector: React.FC = (props) => {
};
return (
- {tagRender({ label: content, value, disabled: itemDisabled, closable, onClose, isMaxTag: !!isMaxTag })}
+ {tagRender({
+ label: content,
+ value,
+ disabled: itemDisabled,
+ closable,
+ onClose,
+ isMaxTag: !!isMaxTag,
+ })}
);
};
diff --git a/src/Selector/index.tsx b/src/Selector/index.tsx
index a24ca7c20..7eac12650 100644
--- a/src/Selector/index.tsx
+++ b/src/Selector/index.tsx
@@ -232,7 +232,11 @@ const Selector: React.ForwardRefRenderFunction
// when mode is combobox and it is disabled, don't prevent default behavior
// https://github.com/ant-design/ant-design/issues/37320
// https://github.com/ant-design/ant-design/issues/48281
- if (event.target !== inputRef.current && !inputMouseDown && !(mode === 'combobox' && disabled)) {
+ if (
+ event.target !== inputRef.current &&
+ !inputMouseDown &&
+ !(mode === 'combobox' && disabled)
+ ) {
event.preventDefault();
}
diff --git a/tests/Combobox.test.tsx b/tests/Combobox.test.tsx
index 150128c8a..8a8a74737 100644
--- a/tests/Combobox.test.tsx
+++ b/tests/Combobox.test.tsx
@@ -615,14 +615,14 @@ describe('Select.Combobox', () => {
,
);
-
+
const selectorEle = container.querySelector('.rc-select-selector');
-
+
const mouseDownEvent = createEvent.mouseDown(selectorEle);
mouseDownEvent.preventDefault = preventDefault;
fireEvent(selectorEle, mouseDownEvent);
expect(preventDefault).toHaveBeenCalled();
- })
+ });
it('should not prevent default behavior when mode is combobox and it is disabled', () => {
const preventDefault = jest.fn();
@@ -632,14 +632,13 @@ describe('Select.Combobox', () => {
,
);
-
+
const selectorEle = container.querySelector('.rc-select-selector');
-
+
const mouseDownEvent = createEvent.mouseDown(selectorEle);
mouseDownEvent.preventDefault = preventDefault;
fireEvent(selectorEle, mouseDownEvent);
expect(preventDefault).not.toHaveBeenCalled();
- })
+ });
});
-
});
diff --git a/tests/shared/maxTagRenderTest.tsx b/tests/shared/maxTagRenderTest.tsx
index 1ff7a7ec6..18b2cde1f 100644
--- a/tests/shared/maxTagRenderTest.tsx
+++ b/tests/shared/maxTagRenderTest.tsx
@@ -93,9 +93,7 @@ export default function maxTagTextLengthTest(mode: any) {
it('tagRender should work on maxTagPlaceholder', () => {
const tagRender = jest.fn();
- const maxTagPlaceholder = (omittedValues) => (
- `${omittedValues.length} values omitted`
- );
+ const maxTagPlaceholder = (omittedValues) => `${omittedValues.length} values omitted`;
render(
Three
,
);
- expect(tagRender).toHaveBeenCalledWith(expect.objectContaining({
- isMaxTag: false,
- label: 'One',
- }));
- expect(tagRender).toHaveBeenCalledWith(expect.objectContaining({
- isMaxTag: false,
- label: 'Two',
- }));
- expect(tagRender).toHaveBeenCalledWith(expect.objectContaining({
- isMaxTag: true,
- label: '1 values omitted',
- }));
+ expect(tagRender).toHaveBeenCalledWith(
+ expect.objectContaining({
+ isMaxTag: false,
+ label: 'One',
+ }),
+ );
+ expect(tagRender).toHaveBeenCalledWith(
+ expect.objectContaining({
+ isMaxTag: false,
+ label: 'Two',
+ }),
+ );
+ expect(tagRender).toHaveBeenCalledWith(
+ expect.objectContaining({
+ isMaxTag: true,
+ label: '1 values omitted',
+ }),
+ );
});
});
}
diff --git a/tsconfig.json b/tsconfig.json
index 520ce4b8d..a679a52cd 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,15 +8,9 @@
"skipLibCheck": true,
"esModuleInterop": true,
"paths": {
- "@/*": [
- "src/*"
- ],
- "@@/*": [
- ".dumi/tmp/*"
- ],
- "rc-select": [
- "src/index.ts"
- ]
- },
+ "@/*": ["src/*"],
+ "@@/*": [".dumi/tmp/*"],
+ "rc-select": ["src/index.ts"]
+ }
}
-}
\ No newline at end of file
+}