rsuite 5.49.0 → 5.51.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.
- package/CHANGELOG.md +24 -0
- package/Cascader/styles/index.less +4 -4
- package/CheckTreePicker/styles/index.less +3 -3
- package/DatePicker/styles/index.less +1 -1
- package/DateRangePicker/styles/index.less +15 -5
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/Form/styles/mixin.less +1 -2
- package/InputGroup/styles/index.less +0 -14
- package/InputPicker/styles/index.less +1 -1
- package/Picker/styles/index.less +33 -26
- package/Picker/styles/mixin.less +20 -16
- package/README.md +4 -4
- package/TagInput/styles/index.less +2 -2
- package/TagPicker/styles/index.less +5 -1
- package/TreePicker/styles/index.less +2 -2
- package/cjs/@types/common.d.ts +8 -0
- package/cjs/AutoComplete/AutoComplete.js +39 -37
- package/cjs/AutoComplete/Combobox.d.ts +8 -0
- package/cjs/AutoComplete/Combobox.js +31 -0
- package/cjs/Calendar/Calendar.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.js +35 -37
- package/cjs/Cascader/Cascader.js +58 -59
- package/cjs/Cascader/DropdownMenu.d.ts +3 -20
- package/cjs/Cascader/DropdownMenu.js +48 -48
- package/cjs/Cascader/TreeView.d.ts +24 -0
- package/cjs/Cascader/TreeView.js +174 -0
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +42 -44
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
- package/cjs/CheckTreePicker/CheckTreePicker.js +81 -84
- package/cjs/DatePicker/DatePicker.d.ts +5 -1
- package/cjs/DatePicker/DatePicker.js +7 -10
- package/cjs/DatePicker/Toolbar.js +2 -1
- package/cjs/DateRangeInput/DateRangeInput.js +2 -2
- package/cjs/DateRangePicker/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +239 -202
- package/cjs/DateRangePicker/types.d.ts +11 -3
- package/cjs/DateRangePicker/utils.d.ts +2 -1
- package/cjs/DateRangePicker/utils.js +7 -5
- package/cjs/Form/Form.d.ts +14 -0
- package/cjs/Form/Form.js +39 -30
- package/cjs/Form/FormContext.d.ts +1 -0
- package/cjs/FormControl/FormControl.d.ts +11 -1
- package/cjs/FormControl/FormControl.js +40 -17
- package/cjs/FormGroup/FormGroup.js +2 -1
- package/cjs/InputPicker/InputPicker.js +108 -92
- package/cjs/InputPicker/InputSearch.js +3 -15
- package/cjs/InputPicker/TagList.d.ts +3 -0
- package/cjs/InputPicker/TagList.js +29 -0
- package/cjs/InputPicker/TextBox.d.ts +18 -0
- package/cjs/InputPicker/TextBox.js +48 -0
- package/cjs/MultiCascader/MultiCascader.js +53 -52
- package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +77 -74
- package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/Picker/ListCheckItem.d.ts} +3 -3
- package/cjs/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +14 -30
- package/cjs/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
- package/cjs/Picker/{DropdownMenuItem.js → ListItem.js} +15 -24
- package/cjs/Picker/ListItemGroup.d.ts +6 -0
- package/cjs/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/cjs/Picker/Listbox.d.ts +35 -0
- package/cjs/Picker/{DropdownMenu.js → Listbox.js} +49 -64
- package/cjs/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/cjs/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/cjs/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- package/cjs/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/cjs/Picker/{PickerOverlay.js → PickerPopup.js} +9 -7
- package/cjs/Picker/PickerToggle.d.ts +17 -22
- package/cjs/Picker/PickerToggle.js +63 -181
- package/cjs/Picker/PickerToggleTrigger.d.ts +15 -0
- package/cjs/Picker/PickerToggleTrigger.js +21 -5
- package/cjs/Picker/SearchBar.js +7 -9
- package/cjs/Picker/TreeView.d.ts +7 -0
- package/cjs/Picker/TreeView.js +31 -0
- package/cjs/Picker/hooks/index.d.ts +6 -0
- package/cjs/Picker/hooks/index.js +18 -0
- package/cjs/Picker/hooks/useCombobox.d.ts +7 -0
- package/cjs/Picker/hooks/useCombobox.js +22 -0
- package/cjs/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/cjs/Picker/hooks/useFocusItemValue.js +246 -0
- package/cjs/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/cjs/Picker/hooks/usePickerClassName.js +39 -0
- package/cjs/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
- package/cjs/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -7
- package/cjs/Picker/hooks/useSearch.d.ts +18 -0
- package/cjs/Picker/hooks/useSearch.js +57 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.js +101 -0
- package/cjs/Picker/index.d.ts +9 -5
- package/cjs/Picker/index.js +32 -16
- package/cjs/Picker/propTypes.d.ts +0 -6
- package/cjs/Picker/propTypes.js +0 -5
- package/cjs/Picker/utils.d.ts +2 -100
- package/cjs/Picker/utils.js +1 -473
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +47 -50
- package/cjs/TagInput/index.js +4 -0
- package/cjs/TreePicker/TreeNode.d.ts +2 -2
- package/cjs/TreePicker/TreeNode.js +22 -56
- package/cjs/TreePicker/TreePicker.js +91 -95
- package/cjs/utils/constants.d.ts +2 -1
- package/cjs/utils/constants.js +1 -0
- package/cjs/utils/dateUtils.d.ts +0 -1
- package/cjs/utils/dateUtils.js +0 -6
- package/cjs/utils/getStringLength.d.ts +2 -0
- package/cjs/utils/getStringLength.js +18 -0
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +4 -1
- package/dist/rsuite-no-reset-rtl.css +201 -186
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +201 -186
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +201 -186
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +201 -186
- package/dist/rsuite.js +235 -104
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +8 -0
- package/esm/AutoComplete/AutoComplete.js +42 -40
- package/esm/AutoComplete/Combobox.d.ts +8 -0
- package/esm/AutoComplete/Combobox.js +25 -0
- package/esm/Calendar/Calendar.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.js +37 -39
- package/esm/Cascader/Cascader.js +61 -62
- package/esm/Cascader/DropdownMenu.d.ts +3 -20
- package/esm/Cascader/DropdownMenu.js +50 -49
- package/esm/Cascader/TreeView.d.ts +24 -0
- package/esm/Cascader/TreeView.js +167 -0
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +45 -47
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
- package/esm/CheckTreePicker/CheckTreePicker.js +84 -87
- package/esm/DatePicker/DatePicker.d.ts +5 -1
- package/esm/DatePicker/DatePicker.js +5 -8
- package/esm/DatePicker/Toolbar.js +2 -1
- package/esm/DateRangeInput/DateRangeInput.js +2 -2
- package/esm/DateRangePicker/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +241 -204
- package/esm/DateRangePicker/types.d.ts +11 -3
- package/esm/DateRangePicker/utils.d.ts +2 -1
- package/esm/DateRangePicker/utils.js +7 -5
- package/esm/Form/Form.d.ts +14 -0
- package/esm/Form/Form.js +41 -32
- package/esm/Form/FormContext.d.ts +1 -0
- package/esm/FormControl/FormControl.d.ts +11 -1
- package/esm/FormControl/FormControl.js +41 -18
- package/esm/FormGroup/FormGroup.js +3 -2
- package/esm/InputPicker/InputPicker.js +110 -94
- package/esm/InputPicker/InputSearch.js +4 -15
- package/esm/InputPicker/TagList.d.ts +3 -0
- package/esm/InputPicker/TagList.js +23 -0
- package/esm/InputPicker/TextBox.d.ts +18 -0
- package/esm/InputPicker/TextBox.js +42 -0
- package/esm/MultiCascader/MultiCascader.js +56 -55
- package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
- package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/Picker/ListCheckItem.d.ts} +3 -3
- package/esm/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +15 -30
- package/esm/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
- package/esm/Picker/{DropdownMenuItem.js → ListItem.js} +16 -24
- package/esm/Picker/ListItemGroup.d.ts +6 -0
- package/esm/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/esm/Picker/Listbox.d.ts +35 -0
- package/esm/Picker/{DropdownMenu.js → Listbox.js} +50 -64
- package/esm/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/esm/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/esm/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- package/esm/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/esm/Picker/{PickerOverlay.js → PickerPopup.js} +10 -8
- package/esm/Picker/PickerToggle.d.ts +17 -22
- package/esm/Picker/PickerToggle.js +65 -183
- package/esm/Picker/PickerToggleTrigger.d.ts +15 -0
- package/esm/Picker/PickerToggleTrigger.js +20 -5
- package/esm/Picker/SearchBar.js +8 -9
- package/esm/Picker/TreeView.d.ts +7 -0
- package/esm/Picker/TreeView.js +25 -0
- package/esm/Picker/hooks/index.d.ts +6 -0
- package/esm/Picker/hooks/index.js +7 -0
- package/esm/Picker/hooks/useCombobox.d.ts +7 -0
- package/esm/Picker/hooks/useCombobox.js +17 -0
- package/esm/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/esm/Picker/hooks/useFocusItemValue.js +240 -0
- package/esm/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/esm/Picker/hooks/usePickerClassName.js +33 -0
- package/esm/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
- package/esm/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -8
- package/esm/Picker/hooks/useSearch.d.ts +18 -0
- package/esm/Picker/hooks/useSearch.js +51 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.js +96 -0
- package/esm/Picker/index.d.ts +9 -5
- package/esm/Picker/index.js +9 -5
- package/esm/Picker/propTypes.d.ts +0 -6
- package/esm/Picker/propTypes.js +0 -5
- package/esm/Picker/utils.d.ts +2 -100
- package/esm/Picker/utils.js +2 -467
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +50 -53
- package/esm/TagInput/index.js +4 -0
- package/esm/TreePicker/TreeNode.d.ts +2 -2
- package/esm/TreePicker/TreeNode.js +24 -58
- package/esm/TreePicker/TreePicker.js +94 -98
- package/esm/utils/constants.d.ts +2 -1
- package/esm/utils/constants.js +1 -0
- package/esm/utils/dateUtils.d.ts +0 -1
- package/esm/utils/dateUtils.js +0 -5
- package/esm/utils/getStringLength.d.ts +2 -0
- package/esm/utils/getStringLength.js +13 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/package.json +1 -1
- package/styles/mixins/combobox.less +10 -0
- package/styles/variables.less +1 -3
- package/cjs/Picker/DropdownMenu.d.ts +0 -59
- package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
- package/esm/Picker/DropdownMenu.d.ts +0 -59
- package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
- /package/cjs/{DatePicker → Picker}/PickerLabel.js +0 -0
- /package/esm/{DatePicker → Picker}/PickerLabel.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# [5.51.0](https://github.com/rsuite/rsuite/compare/v5.50.0...v5.51.0) (2024-01-19)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **InputGroup:** fix style conflict caused by zIndex set in InputGoup ([#3552](https://github.com/rsuite/rsuite/issues/3552)) ([f874edf](https://github.com/rsuite/rsuite/commit/f874edfdbf0dbc9a53e4fe26fb9cf39108f1a00c))
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **Form:** add support for `nestedField` prop on Form ([#3568](https://github.com/rsuite/rsuite/issues/3568)) ([47fce55](https://github.com/rsuite/rsuite/commit/47fce559b159f128fd2f89ffc36c0e9bcfd3f25b))
|
|
10
|
+
- improve accessibility of all pickers ([#3558](https://github.com/rsuite/rsuite/issues/3558)) ([8ad3cfd](https://github.com/rsuite/rsuite/commit/8ad3cfd4f1a2de16b52fec2bed5e4a9ea509f824))
|
|
11
|
+
|
|
12
|
+
# [5.50.0](https://github.com/rsuite/rsuite/compare/v5.49.0...v5.50.0) (2024-01-12)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- typo in Next.js guide ([#3555](https://github.com/rsuite/rsuite/issues/3555)) ([77d60cf](https://github.com/rsuite/rsuite/commit/77d60cfeb27e3e52b4003d72114e5164b275a3d2))
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- **cra:** supports using CRA to install javascript template ([#3538](https://github.com/rsuite/rsuite/issues/3538)) ([1b697f4](https://github.com/rsuite/rsuite/commit/1b697f4a4f61a7943351c5ca0f46a484c9ea1ac6))
|
|
21
|
+
- **cra:** supports using CRA to install typescript template ([#3540](https://github.com/rsuite/rsuite/issues/3540)) ([bbe3609](https://github.com/rsuite/rsuite/commit/bbe3609d4492e9186e32309f6c6ee6101d5eb83c))
|
|
22
|
+
- **DateRangePicker:** supports date selection by using keyboard ([#3554](https://github.com/rsuite/rsuite/issues/3554)) ([2c8d197](https://github.com/rsuite/rsuite/commit/2c8d1974e018903b3a1b874566b31c751d207493))
|
|
23
|
+
- **FormControl:** added support for `name` setting path of object ([#3511](https://github.com/rsuite/rsuite/issues/3511)) ([03d5396](https://github.com/rsuite/rsuite/commit/03d5396b8a23d88907be9d1864776d61a0a3b963))
|
|
24
|
+
|
|
1
25
|
# [5.49.0](https://github.com/rsuite/rsuite/compare/v5.48.1...v5.49.0) (2023-12-29)
|
|
2
26
|
|
|
3
27
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../
|
|
3
|
-
@import '../../styles/mixins/listbox';
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/combobox.less';
|
|
3
|
+
@import '../../styles/mixins/listbox.less';
|
|
4
4
|
|
|
5
5
|
// Cascader
|
|
6
6
|
// ----------------------
|
|
@@ -123,5 +123,5 @@
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
.rs-picker-cascader-menu-caret {
|
|
126
|
-
.
|
|
126
|
+
.combobox-indicator-icon();
|
|
127
127
|
}
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
.rs-check-item {
|
|
70
70
|
display: inline-block;
|
|
71
71
|
|
|
72
|
-
.rs-picker-
|
|
72
|
+
.rs-picker-popup & {
|
|
73
73
|
display: block;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
|
|
136
136
|
// node children
|
|
137
137
|
.rs-check-tree-node-children {
|
|
138
|
-
> .rs-check-tree-
|
|
138
|
+
> .rs-check-tree-group {
|
|
139
139
|
position: relative;
|
|
140
140
|
display: none;
|
|
141
141
|
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
border-left: 1px solid rgba(0, 0, 0, 0.1);
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
.rs-picker-
|
|
157
|
+
.rs-picker-popup {
|
|
158
158
|
display: flex;
|
|
159
159
|
flex-direction: column;
|
|
160
160
|
|
|
@@ -4,14 +4,24 @@
|
|
|
4
4
|
@import '../../DatePicker/styles/index';
|
|
5
5
|
@import '../../Calendar/styles/index';
|
|
6
6
|
|
|
7
|
-
// Change the <caret/> & <clean/> vertical position make it align middle.
|
|
8
7
|
.rs-picker-daterange {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
.rs-input-group-addon {
|
|
9
|
+
color: var(--rs-text-secondary);
|
|
10
|
+
|
|
11
|
+
.rs-btn-close {
|
|
12
|
+
padding: 0;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&.rs-picker-subtle {
|
|
17
|
+
.rs-input-group {
|
|
18
|
+
border-color: transparent;
|
|
13
19
|
}
|
|
14
20
|
}
|
|
21
|
+
|
|
22
|
+
> .rs-input-group.rs-input-group-inside .rs-input {
|
|
23
|
+
padding-right: 0;
|
|
24
|
+
}
|
|
15
25
|
}
|
|
16
26
|
|
|
17
27
|
// Date range Picker
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../styles/mixins/menu';
|
|
3
|
-
@import '
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/menu.less';
|
|
3
|
+
@import '../../styles/mixins/combobox.less';
|
|
4
|
+
@import 'mixin.less';
|
|
4
5
|
@import '../../Button/styles/index.less';
|
|
5
6
|
|
|
6
7
|
//
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
// --------------------------------------------------
|
|
9
10
|
|
|
10
11
|
.rs-dropdown-toggle-caret {
|
|
11
|
-
.
|
|
12
|
+
.combobox-indicator-icon();
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
// The dropdown wrapper (div)
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
.dropdown-toggle-caret-common(@right:@padding-x) {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
margin-left: 2px;
|
|
5
|
-
position: absolute;
|
|
6
|
-
top: @padding-y;
|
|
7
|
-
right: @right;
|
|
8
|
-
height: @line-height-computed;
|
|
9
|
-
font-size: 12px;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
1
|
.dropdown-toggle-caret-size(@vertical,@horizontal,@caret-size) {
|
|
13
2
|
padding-right: @horizontal+ @dropdown-caret-width+ @dropdown-caret-padding !important;
|
|
14
3
|
|
package/Form/styles/mixin.less
CHANGED
|
@@ -114,10 +114,9 @@
|
|
|
114
114
|
@height: ~'input-height-@{size-name}';
|
|
115
115
|
@useable-height: (@@height - 2px);
|
|
116
116
|
@vertical: ~'padding-@{size-name}-vertical';
|
|
117
|
-
@add-on-padding: ~'input-group-padding-for-add-on-@{size-name}';
|
|
118
117
|
|
|
119
118
|
&.rs-input-group-inside > .rs-input {
|
|
120
|
-
padding-right:
|
|
119
|
+
padding-right: 0;
|
|
121
120
|
}
|
|
122
121
|
|
|
123
122
|
&.rs-input-group {
|
|
@@ -102,11 +102,6 @@
|
|
|
102
102
|
// Ensure that the input is always above the *appended* addon button for
|
|
103
103
|
// proper border colors.
|
|
104
104
|
position: relative;
|
|
105
|
-
z-index: @zindex-input;
|
|
106
|
-
|
|
107
|
-
&:focus {
|
|
108
|
-
z-index: (@zindex-input+1);
|
|
109
|
-
}
|
|
110
105
|
}
|
|
111
106
|
|
|
112
107
|
input.rs-input ~ .rs-input-group-addon,
|
|
@@ -136,7 +131,6 @@
|
|
|
136
131
|
|
|
137
132
|
.rs-input-group-btn,
|
|
138
133
|
.rs-input-group-addon {
|
|
139
|
-
z-index: @zindex-input-group-icon;
|
|
140
134
|
flex: 0 0 auto;
|
|
141
135
|
width: auto;
|
|
142
136
|
}
|
|
@@ -380,13 +374,6 @@
|
|
|
380
374
|
+ .rs-btn {
|
|
381
375
|
margin-left: -1px;
|
|
382
376
|
}
|
|
383
|
-
|
|
384
|
-
// Bring the "active" button to the front
|
|
385
|
-
&:hover,
|
|
386
|
-
&:focus,
|
|
387
|
-
&:active {
|
|
388
|
-
z-index: 2;
|
|
389
|
-
}
|
|
390
377
|
}
|
|
391
378
|
|
|
392
379
|
// Negative margin to only have a 1px border between the two
|
|
@@ -401,7 +388,6 @@
|
|
|
401
388
|
&:last-child {
|
|
402
389
|
> .rs-btn,
|
|
403
390
|
> .rs-btn-group {
|
|
404
|
-
z-index: 2;
|
|
405
391
|
margin-left: -1px;
|
|
406
392
|
}
|
|
407
393
|
}
|
package/Picker/styles/index.less
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../styles/mixins/listbox';
|
|
3
|
-
@import
|
|
4
|
-
@import '../../
|
|
5
|
-
@import 'mixin';
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/listbox.less';
|
|
3
|
+
@import '../../styles/mixins/combobox.less';
|
|
4
|
+
@import (reference) '../../Button/styles/index.less';
|
|
5
|
+
@import '../../Form/styles/mixin.less';
|
|
6
|
+
@import 'mixin.less';
|
|
6
7
|
|
|
7
8
|
//
|
|
8
9
|
// Pickers
|
|
@@ -252,38 +253,44 @@
|
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
255
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
.
|
|
256
|
+
.rs-picker-toggle-indicator {
|
|
257
|
+
// Picker clear button
|
|
258
|
+
.rs-picker-clean {
|
|
259
|
+
.combobox-indicator-icon(@picker-toggle-clean-right);
|
|
258
260
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
261
|
+
background: inherit;
|
|
262
|
+
color: var(--rs-text-secondary);
|
|
263
|
+
transition: 0.2s color linear;
|
|
264
|
+
cursor: pointer;
|
|
263
265
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
&.rs-btn-close {
|
|
267
|
+
padding: 4px 0;
|
|
268
|
+
}
|
|
267
269
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
270
|
+
.rs-@{date-picker-prefix} &,
|
|
271
|
+
.rs-@{date-range-picker-prefix} & {
|
|
272
|
+
right: (@picker-toggle-clean-right + @picker-item-content-padding-vertical);
|
|
273
|
+
}
|
|
271
274
|
}
|
|
272
|
-
}
|
|
273
275
|
|
|
274
|
-
// Picker toggle caret
|
|
275
|
-
.rs-picker-
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
// Picker toggle caret
|
|
277
|
+
.rs-picker-caret-icon {
|
|
278
|
+
// Extend Dropdown toggle caret style
|
|
279
|
+
.combobox-indicator-icon();
|
|
278
280
|
|
|
279
|
-
|
|
281
|
+
color: var(--rs-text-secondary);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.rs-picker-loader {
|
|
285
|
+
.combobox-indicator-icon();
|
|
286
|
+
}
|
|
280
287
|
}
|
|
281
288
|
|
|
282
289
|
// Picker Menu
|
|
283
|
-
.rs-picker-
|
|
290
|
+
.rs-picker-popup {
|
|
284
291
|
position: absolute;
|
|
285
292
|
text-align: left;
|
|
286
|
-
z-index: @zindex-picker-
|
|
293
|
+
z-index: @zindex-picker-popup;
|
|
287
294
|
border-radius: @border-radius;
|
|
288
295
|
background-color: var(--rs-bg-overlay);
|
|
289
296
|
box-shadow: var(--rs-shadow-overlay);
|
package/Picker/styles/mixin.less
CHANGED
|
@@ -103,13 +103,15 @@
|
|
|
103
103
|
padding-right: (@padding-horizontal + @dropdown-caret-width + @dropdown-caret-padding);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
.rs-picker-toggle-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
.rs-picker-toggle-indicator {
|
|
107
|
+
.rs-picker-caret-icon,
|
|
108
|
+
.rs-picker-clean {
|
|
109
|
+
top: @padding-vertical;
|
|
110
|
+
right: @padding-horizontal;
|
|
111
|
+
|
|
112
|
+
.rs-picker-default & {
|
|
113
|
+
top: @padding-vertical - @picker-default-toggle-border-width;
|
|
114
|
+
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
}
|
|
@@ -144,13 +146,15 @@
|
|
|
144
146
|
|
|
145
147
|
padding-right: (@padding-horizontal + @calendar-caret-width + @dropdown-caret-padding);
|
|
146
148
|
|
|
147
|
-
.rs-picker-toggle-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
.rs-picker-toggle-indicator {
|
|
150
|
+
.rs-picker-clean,
|
|
151
|
+
.rs-picker-caret-icon {
|
|
152
|
+
top: @top;
|
|
153
|
+
right: @padding-horizontal;
|
|
151
154
|
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
.rs-picker-subtle & {
|
|
156
|
+
top: @top - @picker-default-toggle-border-width;
|
|
157
|
+
}
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
}
|
|
@@ -219,14 +223,14 @@
|
|
|
219
223
|
}
|
|
220
224
|
|
|
221
225
|
.tag-picker-search-input-size(@padding-vertical; @padding-horizontal; @font-size; @line-height;) {
|
|
222
|
-
.rs-picker-input:not(.rs-picker-tag) & ~ .rs-picker-
|
|
226
|
+
.rs-picker-input:not(.rs-picker-tag) & ~ .rs-picker-textbox .rs-picker-search-input {
|
|
223
227
|
padding: (@padding-vertical - 1px) @padding-horizontal;
|
|
224
228
|
font-size: @font-size;
|
|
225
229
|
line-height: @line-height;
|
|
226
230
|
}
|
|
227
231
|
|
|
228
232
|
// FIXME Bad design. Should not set search input styles in a mixin that is used in picker buttons.
|
|
229
|
-
.rs-picker-tag & ~ .rs-picker-
|
|
233
|
+
.rs-picker-tag & ~ .rs-picker-textbox {
|
|
230
234
|
padding-bottom: @padding-vertical - 3px;
|
|
231
235
|
|
|
232
236
|
.rs-tag {
|
|
@@ -277,7 +281,7 @@
|
|
|
277
281
|
);
|
|
278
282
|
/* stylelint-enable */
|
|
279
283
|
|
|
280
|
-
.rs-picker-input.rs-picker-tag & ~ .rs-picker-
|
|
284
|
+
.rs-picker-input.rs-picker-tag & ~ .rs-picker-textbox {
|
|
281
285
|
padding-bottom: @padding-y-xs - 1px;
|
|
282
286
|
|
|
283
287
|
.rs-tag {
|
package/README.md
CHANGED
|
@@ -96,8 +96,8 @@ You can go through [full documentation][rsuite-doc-guide] or start with followin
|
|
|
96
96
|
- [Use in Electron][demo-electron]
|
|
97
97
|
- [Use in Flow][demo-flow-app]
|
|
98
98
|
- [Use in TypeScript][demo-typescript-app]
|
|
99
|
-
- [Use in Next.js][demo-nextjs]
|
|
100
|
-
- [Use in Next.js
|
|
99
|
+
- [Use in Next.js (App)][demo-nextjs-app]
|
|
100
|
+
- [Use in Next.js (Pages)][demo-nextjs-pages]
|
|
101
101
|
- [Use in UmiJS][demo-umi-app]
|
|
102
102
|
- [Use in Snowpack][demo-snowpack]
|
|
103
103
|
- [Use in Vite][demo-vite]
|
|
@@ -186,11 +186,11 @@ React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
|
|
|
186
186
|
[demo-multiple-themes]: https://github.com/rsuite/rsuite/tree/main/examples/custom-multiple-themes
|
|
187
187
|
[demo-flow-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-flow
|
|
188
188
|
[demo-typescript-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-typescript
|
|
189
|
-
[demo-nextjs]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs
|
|
189
|
+
[demo-nextjs-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs-app
|
|
190
|
+
[demo-nextjs-pages]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs-pages
|
|
190
191
|
[demo-umi-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-umi
|
|
191
192
|
[demo-rtlcss]: https://github.com/rsuite/rsuite/tree/main/examples/with-rtlcss
|
|
192
193
|
[demo-postcss-rtl]: https://github.com/rsuite/rsuite/tree/main/examples/with-postcss-rtl
|
|
193
|
-
[demo-nextjs-typescript]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs-typescript
|
|
194
194
|
[demo-snowpack]: https://github.com/rsuite/rsuite/tree/main/examples/with-snowpack
|
|
195
195
|
[demo-vite]: https://github.com/rsuite/rsuite/tree/main/examples/with-vite
|
|
196
196
|
[codecov]: https://codecov.io/gh/rsuite/rsuite
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
.rs-picker-toggle {
|
|
5
5
|
padding-right: @dropdown-toggle-padding-right !important;
|
|
6
6
|
}
|
|
7
|
-
.rs-picker-
|
|
7
|
+
.rs-picker-textbox {
|
|
8
8
|
margin-right: @dropdown-toggle-padding-right !important;
|
|
9
9
|
}
|
|
10
|
-
.rs-picker-
|
|
10
|
+
.rs-picker-clean {
|
|
11
11
|
right: (@dropdown-toggle-padding-right / 2 - 6) !important;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
.rs-picker-
|
|
55
|
+
.rs-picker-textbox {
|
|
56
56
|
position: relative;
|
|
57
57
|
// make sure tag in front of toggle
|
|
58
58
|
z-index: @zindex-picker-toggle + 1;
|
|
@@ -60,6 +60,10 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
.rs-picker-tag-list {
|
|
64
|
+
display: contents;
|
|
65
|
+
}
|
|
66
|
+
|
|
63
67
|
.rs-plaintext .rs-tag {
|
|
64
68
|
margin-left: 6px;
|
|
65
69
|
margin-bottom: 6px;
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
|
|
193
193
|
// node children
|
|
194
194
|
.rs-tree-node-children {
|
|
195
|
-
> .rs-tree-
|
|
195
|
+
> .rs-tree-group {
|
|
196
196
|
position: relative;
|
|
197
197
|
display: none;
|
|
198
198
|
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
border-left: 1px solid rgba(0, 0, 0, 0.1);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
.rs-picker-
|
|
214
|
+
.rs-picker-popup {
|
|
215
215
|
&.rs-tree-menu {
|
|
216
216
|
padding-top: @picker-menu-padding;
|
|
217
217
|
|
package/cjs/@types/common.d.ts
CHANGED
|
@@ -77,6 +77,14 @@ export interface PickerBaseProps<LocaleType = any> extends WithAsProps, Animatio
|
|
|
77
77
|
onOpen?: () => void;
|
|
78
78
|
/** Called when Modal is closed */
|
|
79
79
|
onClose?: () => void;
|
|
80
|
+
/**
|
|
81
|
+
* Called when the component is focused.
|
|
82
|
+
*/
|
|
83
|
+
onFocus?: React.FocusEventHandler<any>;
|
|
84
|
+
/**
|
|
85
|
+
* Called when the component is blurred.
|
|
86
|
+
*/
|
|
87
|
+
onBlur?: React.FocusEventHandler<any>;
|
|
80
88
|
/** Custom render extra footer */
|
|
81
89
|
renderExtraFooter?: () => React.ReactNode;
|
|
82
90
|
}
|
|
@@ -11,12 +11,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
13
13
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
14
|
-
var _Input = _interopRequireDefault(require("../Input"));
|
|
15
14
|
var _utils = require("../utils");
|
|
16
15
|
var _utils2 = require("../Animation/utils");
|
|
17
16
|
var _Picker = require("../Picker");
|
|
18
17
|
var _utils3 = require("./utils");
|
|
19
18
|
var _Plaintext = _interopRequireDefault(require("../Plaintext"));
|
|
19
|
+
var _Combobox = _interopRequireDefault(require("./Combobox"));
|
|
20
20
|
/**
|
|
21
21
|
* Autocomplete function of input field.
|
|
22
22
|
* @see https://rsuitejs.com/components/auto-complete
|
|
@@ -69,22 +69,26 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
69
69
|
setFocus = _useState[1];
|
|
70
70
|
var items = (datalist === null || datalist === void 0 ? void 0 : datalist.filter((0, _utils3.shouldDisplay)(filterBy, value))) || [];
|
|
71
71
|
var hasItems = items.length > 0;
|
|
72
|
-
var
|
|
72
|
+
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
73
|
+
trigger = _usePickerRef.trigger,
|
|
74
|
+
overlay = _usePickerRef.overlay,
|
|
75
|
+
root = _usePickerRef.root;
|
|
73
76
|
var isMounted = (0, _utils.useIsMounted)();
|
|
74
77
|
|
|
75
78
|
// Used to hover the focuse item when trigger `onKeydown`
|
|
76
79
|
var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
|
|
77
80
|
data: datalist,
|
|
81
|
+
focusToOption: false,
|
|
78
82
|
callback: onMenuFocus,
|
|
79
83
|
target: function target() {
|
|
80
|
-
return
|
|
84
|
+
return overlay.current;
|
|
81
85
|
}
|
|
82
86
|
}),
|
|
83
87
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
84
88
|
setFocusItemValue = _useFocusItemValue.setFocusItemValue,
|
|
85
89
|
handleKeyDown = _useFocusItemValue.onKeyDown;
|
|
86
90
|
var handleKeyDownEvent = function handleKeyDownEvent(event) {
|
|
87
|
-
if (!
|
|
91
|
+
if (!overlay.current) {
|
|
88
92
|
return;
|
|
89
93
|
}
|
|
90
94
|
(0, _Picker.onMenuKeyDown)(event, {
|
|
@@ -109,29 +113,29 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
109
113
|
}
|
|
110
114
|
handleClose();
|
|
111
115
|
};
|
|
112
|
-
var handleSelect = (0,
|
|
116
|
+
var handleSelect = (0, _utils.useEventCallback)(function (item, event) {
|
|
113
117
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(item.value, item, event);
|
|
114
|
-
}
|
|
115
|
-
var handleChangeValue = (0,
|
|
118
|
+
});
|
|
119
|
+
var handleChangeValue = (0, _utils.useEventCallback)(function (value, event) {
|
|
116
120
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
117
|
-
}
|
|
121
|
+
});
|
|
118
122
|
var handleChange = function handleChange(value, event) {
|
|
119
123
|
setFocusItemValue('');
|
|
120
124
|
setValue(value);
|
|
121
125
|
setFocus(true);
|
|
122
126
|
handleChangeValue(value, event);
|
|
123
127
|
};
|
|
124
|
-
var handleClose = (0,
|
|
128
|
+
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
125
129
|
if (isMounted()) {
|
|
126
130
|
setFocus(false);
|
|
127
131
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
128
132
|
}
|
|
129
|
-
}
|
|
130
|
-
var handleOpen = (0,
|
|
133
|
+
});
|
|
134
|
+
var handleOpen = (0, _utils.useEventCallback)(function () {
|
|
131
135
|
setFocus(true);
|
|
132
136
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
133
|
-
}
|
|
134
|
-
var handleItemSelect = (0,
|
|
137
|
+
});
|
|
138
|
+
var handleItemSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event) {
|
|
135
139
|
setValue(nextItemValue);
|
|
136
140
|
setFocusItemValue(nextItemValue);
|
|
137
141
|
handleSelect(item, event);
|
|
@@ -139,30 +143,25 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
139
143
|
handleChangeValue(nextItemValue, event);
|
|
140
144
|
}
|
|
141
145
|
handleClose();
|
|
142
|
-
}
|
|
143
|
-
var handleInputFocus = (0,
|
|
146
|
+
});
|
|
147
|
+
var handleInputFocus = (0, _utils.useEventCallback)(function (event) {
|
|
144
148
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
145
149
|
handleOpen();
|
|
146
|
-
}
|
|
147
|
-
var handleInputBlur = (0,
|
|
150
|
+
});
|
|
151
|
+
var handleInputBlur = (0, _utils.useEventCallback)(function (event) {
|
|
148
152
|
setTimeout(handleClose, 300);
|
|
149
153
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
150
|
-
}
|
|
154
|
+
});
|
|
151
155
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
152
156
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
153
157
|
merge = _useClassNames.merge;
|
|
154
158
|
var classes = merge(className, withClassPrefix({
|
|
155
159
|
disabled: disabled
|
|
156
160
|
}));
|
|
157
|
-
var triggerRef = (0, _react.useRef)(null);
|
|
158
161
|
var _partitionHTMLProps = (0, _utils.partitionHTMLProps)((0, _omit.default)(rest, _Picker.pickTriggerPropKeys)),
|
|
159
162
|
htmlInputProps = _partitionHTMLProps[0],
|
|
160
163
|
restProps = _partitionHTMLProps[1];
|
|
161
|
-
(
|
|
162
|
-
triggerRef: triggerRef,
|
|
163
|
-
overlayRef: overlayRef
|
|
164
|
-
});
|
|
165
|
-
var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
|
|
164
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
166
165
|
var left = positionProps.left,
|
|
167
166
|
top = positionProps.top,
|
|
168
167
|
className = positionProps.className;
|
|
@@ -170,23 +169,22 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
170
169
|
left: left,
|
|
171
170
|
top: top
|
|
172
171
|
};
|
|
173
|
-
var menu = /*#__PURE__*/_react.default.createElement(_Picker.
|
|
174
|
-
id: id ? id + "-listbox" : undefined,
|
|
172
|
+
var menu = /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {
|
|
175
173
|
classPrefix: "auto-complete-menu",
|
|
176
|
-
|
|
177
|
-
|
|
174
|
+
listItemClassPrefix: "auto-complete-item",
|
|
175
|
+
listItemAs: _Picker.ListItem,
|
|
178
176
|
focusItemValue: focusItemValue,
|
|
179
177
|
onSelect: handleItemSelect,
|
|
180
178
|
renderMenuItem: renderMenuItem,
|
|
181
179
|
data: items,
|
|
182
180
|
className: menuClassName
|
|
183
181
|
});
|
|
184
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
185
|
-
ref: (0, _utils.mergeRefs)(
|
|
182
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
183
|
+
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
186
184
|
style: styles,
|
|
187
185
|
className: className,
|
|
188
186
|
onKeyDown: handleKeyDownEvent,
|
|
189
|
-
target:
|
|
187
|
+
target: trigger,
|
|
190
188
|
autoWidth: menuAutoWidth
|
|
191
189
|
}, renderMenu ? renderMenu(menu) : menu);
|
|
192
190
|
};
|
|
@@ -196,22 +194,26 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
196
194
|
localeKey: "unfilled"
|
|
197
195
|
}, typeof value === 'undefined' ? defaultValue : value);
|
|
198
196
|
}
|
|
197
|
+
var expanded = open || focus && hasItems;
|
|
199
198
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
200
|
-
|
|
199
|
+
id: id,
|
|
200
|
+
ref: trigger,
|
|
201
201
|
placement: placement,
|
|
202
202
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
203
203
|
trigger: ['click', 'focus'],
|
|
204
|
-
open:
|
|
205
|
-
speaker:
|
|
204
|
+
open: expanded,
|
|
205
|
+
speaker: renderPopup
|
|
206
206
|
}, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
207
207
|
className: classes,
|
|
208
|
-
style: style
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
style: style,
|
|
209
|
+
ref: root
|
|
210
|
+
}, restProps), /*#__PURE__*/_react.default.createElement(_Combobox.default, (0, _extends2.default)({}, htmlInputProps, {
|
|
211
211
|
disabled: disabled,
|
|
212
212
|
value: value,
|
|
213
213
|
size: size,
|
|
214
214
|
readOnly: readOnly,
|
|
215
|
+
expanded: expanded,
|
|
216
|
+
focusItemValue: focusItemValue,
|
|
215
217
|
onBlur: handleInputBlur,
|
|
216
218
|
onFocus: handleInputFocus,
|
|
217
219
|
onChange: handleChange,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type InputProps } from '../Input';
|
|
3
|
+
interface ComboboxProps extends InputProps {
|
|
4
|
+
expanded?: boolean;
|
|
5
|
+
focusItemValue?: string | null;
|
|
6
|
+
}
|
|
7
|
+
declare const Combobox: React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
8
|
+
export default Combobox;
|