@deephaven/components 0.22.3-embed-pandas.11 → 0.23.1-beta.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/dist/AutoCompleteInput.js +12 -85
- package/dist/AutoCompleteInput.js.map +1 -1
- package/dist/AutoResizeTextarea.d.ts +5 -5
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +8 -23
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/BasicModal.d.ts +28 -1
- package/dist/BasicModal.d.ts.map +1 -1
- package/dist/BasicModal.js +2 -8
- package/dist/BasicModal.js.map +1 -1
- package/dist/Button.d.ts +9 -9
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +8 -34
- package/dist/Button.js.map +1 -1
- package/dist/ButtonGroup.d.ts +7 -7
- package/dist/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup.js +2 -4
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonOld.js.map +1 -1
- package/dist/CardFlip.d.ts +2 -2
- package/dist/CardFlip.d.ts.map +1 -1
- package/dist/CardFlip.js +2 -7
- package/dist/CardFlip.js.map +1 -1
- package/dist/Checkbox.js +3 -14
- package/dist/Checkbox.js.map +1 -1
- package/dist/Collapse.d.ts +1 -1
- package/dist/Collapse.js +0 -15
- package/dist/Collapse.js.map +1 -1
- package/dist/ComboBox.js +4 -83
- package/dist/ComboBox.js.map +1 -1
- package/dist/CopyButton.d.ts +22 -0
- package/dist/CopyButton.d.ts.map +1 -0
- package/dist/CopyButton.js +30 -0
- package/dist/CopyButton.js.map +1 -0
- package/dist/CustomTimeSelect.d.ts +3 -3
- package/dist/CustomTimeSelect.d.ts.map +1 -1
- package/dist/CustomTimeSelect.js +2 -86
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DateInput.d.ts +1 -1
- package/dist/DateInput.d.ts.map +1 -1
- package/dist/DateInput.js.map +1 -1
- package/dist/DateInputUtils.js +0 -7
- package/dist/DateInputUtils.js.map +1 -1
- package/dist/DateTimeInput.d.ts +1 -1
- package/dist/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput.js +7 -10
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DebouncedSearchInput.js +0 -14
- package/dist/DebouncedSearchInput.js.map +1 -1
- package/dist/DragUtils.d.ts +1 -1
- package/dist/DragUtils.d.ts.map +1 -1
- package/dist/DragUtils.js +4 -16
- package/dist/DragUtils.js.map +1 -1
- package/dist/DraggableItemList.d.ts +4 -4
- package/dist/DraggableItemList.d.ts.map +1 -1
- package/dist/DraggableItemList.js +22 -44
- package/dist/DraggableItemList.js.map +1 -1
- package/dist/EditableItemList.d.ts +1 -1
- package/dist/EditableItemList.d.ts.map +1 -1
- package/dist/EditableItemList.js +2 -6
- package/dist/EditableItemList.js.map +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts +3 -3
- package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +6 -28
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.d.ts +5 -5
- package/dist/ItemList.d.ts.map +1 -1
- package/dist/ItemList.js +22 -115
- package/dist/ItemList.js.map +1 -1
- package/dist/ItemListItem.d.ts +0 -1
- package/dist/ItemListItem.d.ts.map +1 -1
- package/dist/ItemListItem.js +26 -50
- package/dist/ItemListItem.js.map +1 -1
- package/dist/LoadingOverlay.d.ts +2 -2
- package/dist/LoadingOverlay.d.ts.map +1 -1
- package/dist/LoadingOverlay.js +3 -5
- package/dist/LoadingOverlay.js.map +1 -1
- package/dist/LoadingSpinner.d.ts +2 -2
- package/dist/LoadingSpinner.d.ts.map +1 -1
- package/dist/LoadingSpinner.js +2 -4
- package/dist/LoadingSpinner.js.map +1 -1
- package/dist/MaskedInput.d.ts +2 -2
- package/dist/MaskedInput.d.ts.map +1 -1
- package/dist/MaskedInput.js +26 -85
- package/dist/MaskedInput.js.map +1 -1
- package/dist/Option.d.ts +2 -2
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +2 -4
- package/dist/Option.js.map +1 -1
- package/dist/RadioGroup.d.ts +2 -2
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +4 -6
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioItem.d.ts +1 -1
- package/dist/RadioItem.d.ts.map +1 -1
- package/dist/RadioItem.js +0 -1
- package/dist/RadioItem.js.map +1 -1
- package/dist/SearchInput.js +2 -13
- package/dist/SearchInput.js.map +1 -1
- package/dist/Select.d.ts +2 -2
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +2 -4
- package/dist/Select.js.map +1 -1
- package/dist/SelectValueList.d.ts +1 -1
- package/dist/SelectValueList.d.ts.map +1 -1
- package/dist/SelectValueList.js +0 -28
- package/dist/SelectValueList.js.map +1 -1
- package/dist/SocketedButton.d.ts +1 -1
- package/dist/SocketedButton.d.ts.map +1 -1
- package/dist/SocketedButton.js.map +1 -1
- package/dist/ThemeExport.d.ts +4 -4
- package/dist/ThemeExport.js +0 -4
- package/dist/ThemeExport.js.map +1 -1
- package/dist/TimeInput.d.ts +2 -2
- package/dist/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput.js +2 -12
- package/dist/TimeInput.js.map +1 -1
- package/dist/TimeSlider.d.ts +2 -2
- package/dist/TimeSlider.d.ts.map +1 -1
- package/dist/TimeSlider.js +19 -33
- package/dist/TimeSlider.js.map +1 -1
- package/dist/ToastNotification.d.ts +6 -6
- package/dist/ToastNotification.d.ts.map +1 -1
- package/dist/ToastNotification.js +2 -4
- package/dist/ToastNotification.js.map +1 -1
- package/dist/UISwitch.d.ts +2 -2
- package/dist/UISwitch.d.ts.map +1 -1
- package/dist/UISwitch.js +2 -4
- package/dist/UISwitch.js.map +1 -1
- package/dist/ValidateLabelInput.d.ts +1 -1
- package/dist/ValidateLabelInput.d.ts.map +1 -1
- package/dist/ValidateLabelInput.js +3 -3
- package/dist/ValidateLabelInput.js.map +1 -1
- package/dist/context-actions/ContextActionUtils.d.ts +3 -15
- package/dist/context-actions/ContextActionUtils.d.ts.map +1 -1
- package/dist/context-actions/ContextActionUtils.js +8 -85
- package/dist/context-actions/ContextActionUtils.js.map +1 -1
- package/dist/context-actions/ContextActions.js +1 -34
- package/dist/context-actions/ContextActions.js.map +1 -1
- package/dist/context-actions/ContextMenu.js +29 -110
- package/dist/context-actions/ContextMenu.js.map +1 -1
- package/dist/context-actions/ContextMenuItem.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuItem.js +3 -19
- package/dist/context-actions/ContextMenuItem.js.map +1 -1
- package/dist/context-actions/ContextMenuRoot.d.ts +1 -1
- package/dist/context-actions/ContextMenuRoot.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuRoot.js +7 -26
- package/dist/context-actions/ContextMenuRoot.js.map +1 -1
- package/dist/context-actions/GlobalContextAction.js +0 -15
- package/dist/context-actions/GlobalContextAction.js.map +1 -1
- package/dist/context-actions/GlobalContextActions.js +0 -6
- package/dist/context-actions/GlobalContextActions.js.map +1 -1
- package/dist/context-actions/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/menu-actions/DropdownMenu.d.ts +3 -3
- package/dist/menu-actions/DropdownMenu.d.ts.map +1 -1
- package/dist/menu-actions/DropdownMenu.js +4 -32
- package/dist/menu-actions/DropdownMenu.js.map +1 -1
- package/dist/menu-actions/Menu.d.ts +3 -3
- package/dist/menu-actions/Menu.d.ts.map +1 -1
- package/dist/menu-actions/Menu.js +7 -52
- package/dist/menu-actions/Menu.js.map +1 -1
- package/dist/menu-actions/index.d.ts +2 -1
- package/dist/menu-actions/index.d.ts.map +1 -1
- package/dist/menu-actions/index.js +2 -2
- package/dist/menu-actions/index.js.map +1 -1
- package/dist/modal/Modal.d.ts +2 -2
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/Modal.js +3 -9
- package/dist/modal/Modal.js.map +1 -1
- package/dist/modal/ModalBody.d.ts +1 -1
- package/dist/modal/ModalBody.d.ts.map +1 -1
- package/dist/modal/ModalBody.js +2 -4
- package/dist/modal/ModalBody.js.map +1 -1
- package/dist/modal/ModalFooter.d.ts +1 -1
- package/dist/modal/ModalFooter.d.ts.map +1 -1
- package/dist/modal/ModalFooter.js +2 -4
- package/dist/modal/ModalFooter.js.map +1 -1
- package/dist/modal/ModalHeader.d.ts +1 -1
- package/dist/modal/ModalHeader.d.ts.map +1 -1
- package/dist/modal/ModalHeader.js +2 -4
- package/dist/modal/ModalHeader.js.map +1 -1
- package/dist/modal/index.js.map +1 -1
- package/dist/navigation/Menu.d.ts +3 -3
- package/dist/navigation/Menu.d.ts.map +1 -1
- package/dist/navigation/Menu.js +2 -2
- package/dist/navigation/Menu.js.map +1 -1
- package/dist/navigation/MenuItem.d.ts +4 -4
- package/dist/navigation/MenuItem.d.ts.map +1 -1
- package/dist/navigation/MenuItem.js +4 -7
- package/dist/navigation/MenuItem.js.map +1 -1
- package/dist/navigation/Page.d.ts +2 -2
- package/dist/navigation/Page.d.ts.map +1 -1
- package/dist/navigation/Page.js +2 -3
- package/dist/navigation/Page.js.map +1 -1
- package/dist/navigation/Stack.d.ts +2 -2
- package/dist/navigation/Stack.d.ts.map +1 -1
- package/dist/navigation/Stack.js +3 -6
- package/dist/navigation/Stack.js.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/popper/Popper.d.ts +2 -2
- package/dist/popper/Popper.d.ts.map +1 -1
- package/dist/popper/Popper.js +13 -46
- package/dist/popper/Popper.js.map +1 -1
- package/dist/popper/Tooltip.d.ts +1 -1
- package/dist/popper/Tooltip.d.ts.map +1 -1
- package/dist/popper/Tooltip.js +0 -56
- package/dist/popper/Tooltip.js.map +1 -1
- package/dist/popper/index.js.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
- package/dist/shortcuts/Shortcut.d.ts +2 -2
- package/dist/shortcuts/Shortcut.d.ts.map +1 -1
- package/dist/shortcuts/Shortcut.js +19 -76
- package/dist/shortcuts/Shortcut.js.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.d.ts +1 -1
- package/dist/shortcuts/ShortcutRegistry.d.ts.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.js +3 -18
- package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
- package/dist/shortcuts/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
2
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
7
4
|
/**
|
|
8
5
|
* An Input component that pops and filters auto complete options as you type.
|
|
9
6
|
*
|
|
@@ -31,27 +28,20 @@ import { Popper } from "./popper/index.js";
|
|
|
31
28
|
import "./AutoCompleteInput.css";
|
|
32
29
|
var DEBOUNCE_DELAY = 100;
|
|
33
30
|
var MENU_NAVIGATION_DIRECTION;
|
|
34
|
-
|
|
35
31
|
(function (MENU_NAVIGATION_DIRECTION) {
|
|
36
32
|
MENU_NAVIGATION_DIRECTION["UP"] = "UP";
|
|
37
33
|
MENU_NAVIGATION_DIRECTION["DOWN"] = "DOWN";
|
|
38
34
|
})(MENU_NAVIGATION_DIRECTION || (MENU_NAVIGATION_DIRECTION = {}));
|
|
39
|
-
|
|
40
35
|
class AutoCompleteInput extends Component {
|
|
41
36
|
constructor(props) {
|
|
42
37
|
super(props);
|
|
43
|
-
|
|
44
38
|
_defineProperty(this, "popper", void 0);
|
|
45
|
-
|
|
46
39
|
_defineProperty(this, "cbContainer", void 0);
|
|
47
|
-
|
|
48
40
|
_defineProperty(this, "menuContainer", void 0);
|
|
49
|
-
|
|
50
41
|
_defineProperty(this, "input", void 0);
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
_defineProperty(this, "getCachedFilteredOptions", memoize((options, input) => options.filter(
|
|
43
|
+
// supports partial match
|
|
53
44
|
option => option.title.toLowerCase().indexOf(input.toLowerCase()) >= 0)));
|
|
54
|
-
|
|
55
45
|
var {
|
|
56
46
|
popperOptions
|
|
57
47
|
} = this.props;
|
|
@@ -88,7 +78,6 @@ class AutoCompleteInput extends Component {
|
|
|
88
78
|
this.menuContainer = /*#__PURE__*/React.createRef();
|
|
89
79
|
this.input = /*#__PURE__*/React.createRef();
|
|
90
80
|
}
|
|
91
|
-
|
|
92
81
|
setInputWidth() {
|
|
93
82
|
if (this.cbContainer.current) {
|
|
94
83
|
this.setState({
|
|
@@ -96,7 +85,6 @@ class AutoCompleteInput extends Component {
|
|
|
96
85
|
});
|
|
97
86
|
}
|
|
98
87
|
}
|
|
99
|
-
|
|
100
88
|
// validation needs to be an exact case-sensitve match on value
|
|
101
89
|
getValueAndValidate(title) {
|
|
102
90
|
if (!title) {
|
|
@@ -107,14 +95,13 @@ class AutoCompleteInput extends Component {
|
|
|
107
95
|
value: title,
|
|
108
96
|
isValid: false
|
|
109
97
|
};
|
|
110
|
-
}
|
|
111
|
-
|
|
98
|
+
}
|
|
112
99
|
|
|
100
|
+
// validate
|
|
113
101
|
var {
|
|
114
102
|
options
|
|
115
103
|
} = this.props;
|
|
116
104
|
var result = options.filter(option => option.title.toLowerCase() === title.toLowerCase());
|
|
117
|
-
|
|
118
105
|
if (result.length < 1) {
|
|
119
106
|
this.setState({
|
|
120
107
|
invalid: true
|
|
@@ -124,7 +111,6 @@ class AutoCompleteInput extends Component {
|
|
|
124
111
|
isValid: false
|
|
125
112
|
};
|
|
126
113
|
}
|
|
127
|
-
|
|
128
114
|
this.setState({
|
|
129
115
|
invalid: false
|
|
130
116
|
});
|
|
@@ -132,9 +118,9 @@ class AutoCompleteInput extends Component {
|
|
|
132
118
|
value: result[0].value,
|
|
133
119
|
isValid: true
|
|
134
120
|
};
|
|
135
|
-
}
|
|
136
|
-
|
|
121
|
+
}
|
|
137
122
|
|
|
123
|
+
// validate typed entries emit change event using value
|
|
138
124
|
updateInputValue(title) {
|
|
139
125
|
var {
|
|
140
126
|
menuIsOpen
|
|
@@ -146,7 +132,6 @@ class AutoCompleteInput extends Component {
|
|
|
146
132
|
if (menuIsOpen) this.processFilterChange(title);
|
|
147
133
|
this.fireOnChange(value, isValid);
|
|
148
134
|
}
|
|
149
|
-
|
|
150
135
|
fireOnChange(value) {
|
|
151
136
|
var isValid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
152
137
|
var {
|
|
@@ -154,10 +139,8 @@ class AutoCompleteInput extends Component {
|
|
|
154
139
|
} = this.props;
|
|
155
140
|
onChange(value, isValid);
|
|
156
141
|
}
|
|
157
|
-
|
|
158
142
|
processFilterChange(filter) {
|
|
159
143
|
var _this$popper$current;
|
|
160
|
-
|
|
161
144
|
var {
|
|
162
145
|
options
|
|
163
146
|
} = this.props;
|
|
@@ -170,12 +153,10 @@ class AutoCompleteInput extends Component {
|
|
|
170
153
|
filteredOptions,
|
|
171
154
|
keyboardOptionIndex: 0
|
|
172
155
|
});
|
|
173
|
-
|
|
174
156
|
if (perfectMatch && menuIsOpen) {
|
|
175
157
|
this.closeMenu();
|
|
176
158
|
return;
|
|
177
159
|
}
|
|
178
|
-
|
|
179
160
|
(_this$popper$current = this.popper.current) === null || _this$popper$current === void 0 ? void 0 : _this$popper$current.scheduleUpdate(); // filtered options list can change size, may need to be repositioned
|
|
180
161
|
}
|
|
181
162
|
|
|
@@ -185,26 +166,21 @@ class AutoCompleteInput extends Component {
|
|
|
185
166
|
});
|
|
186
167
|
this.fireOnChange('');
|
|
187
168
|
}
|
|
188
|
-
|
|
189
169
|
handleResize() {
|
|
190
170
|
this.setInputWidth();
|
|
191
171
|
}
|
|
192
|
-
|
|
193
172
|
handleMenuKeyDown(event) {
|
|
194
173
|
var _this$input$current;
|
|
195
|
-
|
|
196
174
|
var {
|
|
197
175
|
filteredOptions,
|
|
198
176
|
keyboardOptionIndex
|
|
199
177
|
} = this.state;
|
|
200
178
|
var option = filteredOptions[keyboardOptionIndex];
|
|
201
|
-
|
|
202
179
|
switch (event.key) {
|
|
203
180
|
case 'Enter':
|
|
204
181
|
case 'ArrowRight':
|
|
205
182
|
event.stopPropagation();
|
|
206
183
|
event.preventDefault();
|
|
207
|
-
|
|
208
184
|
if (option != null) {
|
|
209
185
|
this.setState({
|
|
210
186
|
title: option.title,
|
|
@@ -212,53 +188,43 @@ class AutoCompleteInput extends Component {
|
|
|
212
188
|
});
|
|
213
189
|
this.fireOnChange(option.value);
|
|
214
190
|
}
|
|
215
|
-
|
|
216
191
|
this.closeMenu();
|
|
217
192
|
(_this$input$current = this.input.current) === null || _this$input$current === void 0 ? void 0 : _this$input$current.focus();
|
|
218
193
|
break;
|
|
219
|
-
|
|
220
194
|
case 'ArrowUp':
|
|
221
195
|
event.stopPropagation();
|
|
222
196
|
event.preventDefault();
|
|
223
197
|
this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);
|
|
224
198
|
break;
|
|
225
|
-
|
|
226
199
|
case 'ArrowDown':
|
|
227
200
|
event.stopPropagation();
|
|
228
201
|
event.preventDefault();
|
|
229
202
|
this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);
|
|
230
203
|
break;
|
|
231
|
-
|
|
232
204
|
case 'Tab':
|
|
233
205
|
event.stopPropagation();
|
|
234
206
|
event.preventDefault();
|
|
235
|
-
|
|
236
207
|
if (event.shiftKey) {
|
|
237
208
|
this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);
|
|
238
209
|
break;
|
|
239
210
|
}
|
|
240
|
-
|
|
241
211
|
this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);
|
|
242
212
|
break;
|
|
243
|
-
|
|
244
213
|
case 'Escape':
|
|
245
214
|
event.preventDefault();
|
|
246
215
|
event.stopPropagation();
|
|
247
216
|
this.closeMenu();
|
|
248
217
|
break;
|
|
249
|
-
|
|
250
218
|
default:
|
|
251
219
|
break;
|
|
252
220
|
}
|
|
253
221
|
}
|
|
254
|
-
|
|
255
222
|
navigateMenu(direction) {
|
|
256
223
|
var {
|
|
257
224
|
filteredOptions,
|
|
258
225
|
keyboardOptionIndex
|
|
259
226
|
} = this.state;
|
|
260
227
|
var newKeyboardOptionIndex = keyboardOptionIndex;
|
|
261
|
-
|
|
262
228
|
if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP) {
|
|
263
229
|
if (keyboardOptionIndex > 0) {
|
|
264
230
|
newKeyboardOptionIndex = (newKeyboardOptionIndex - 1) % filteredOptions.length;
|
|
@@ -279,10 +245,8 @@ class AutoCompleteInput extends Component {
|
|
|
279
245
|
});
|
|
280
246
|
}
|
|
281
247
|
}
|
|
282
|
-
|
|
283
248
|
this.scrollOptionIntoView(newKeyboardOptionIndex);
|
|
284
249
|
}
|
|
285
|
-
|
|
286
250
|
handleInputKeyDown(event) {
|
|
287
251
|
var {
|
|
288
252
|
onEnter
|
|
@@ -290,7 +254,6 @@ class AutoCompleteInput extends Component {
|
|
|
290
254
|
var {
|
|
291
255
|
menuIsOpen
|
|
292
256
|
} = this.state;
|
|
293
|
-
|
|
294
257
|
if (menuIsOpen) {
|
|
295
258
|
this.handleMenuKeyDown(event);
|
|
296
259
|
} else if (event.key === 'Enter') {
|
|
@@ -303,17 +266,14 @@ class AutoCompleteInput extends Component {
|
|
|
303
266
|
this.openMenu();
|
|
304
267
|
}
|
|
305
268
|
}
|
|
306
|
-
|
|
307
269
|
handleInputChange(event) {
|
|
308
270
|
this.setState({
|
|
309
271
|
title: event.target.value
|
|
310
272
|
});
|
|
311
273
|
this.updateInputValue(event.target.value);
|
|
312
274
|
}
|
|
313
|
-
|
|
314
275
|
handleOptionClick(option) {
|
|
315
276
|
var _this$input$current2;
|
|
316
|
-
|
|
317
277
|
this.setState({
|
|
318
278
|
title: option.title,
|
|
319
279
|
invalid: false
|
|
@@ -322,59 +282,46 @@ class AutoCompleteInput extends Component {
|
|
|
322
282
|
this.closeMenu();
|
|
323
283
|
(_this$input$current2 = this.input.current) === null || _this$input$current2 === void 0 ? void 0 : _this$input$current2.focus();
|
|
324
284
|
}
|
|
325
|
-
|
|
326
285
|
handelInputFocus() {
|
|
327
286
|
var {
|
|
328
287
|
menuIsOpen
|
|
329
288
|
} = this.state;
|
|
330
|
-
|
|
331
289
|
if (!menuIsOpen) {
|
|
332
290
|
this.openMenu();
|
|
333
291
|
}
|
|
334
292
|
}
|
|
335
|
-
|
|
336
293
|
handleInputClick() {
|
|
337
294
|
var {
|
|
338
295
|
menuIsOpen
|
|
339
296
|
} = this.state;
|
|
340
|
-
|
|
341
297
|
if (!menuIsOpen) {
|
|
342
298
|
this.openMenu();
|
|
343
299
|
}
|
|
344
300
|
}
|
|
345
|
-
|
|
346
301
|
handleInputBlur(event) {
|
|
347
302
|
var {
|
|
348
303
|
menuIsOpen
|
|
349
304
|
} = this.state;
|
|
350
|
-
|
|
351
305
|
if (menuIsOpen && event.relatedTarget instanceof Element && this.popper.current !== null && this.popper.current.element.contains(event.relatedTarget)) {
|
|
352
306
|
return;
|
|
353
307
|
}
|
|
354
|
-
|
|
355
308
|
this.closeMenu(false);
|
|
356
309
|
}
|
|
357
|
-
|
|
358
310
|
handleMenuBlur(event) {
|
|
359
311
|
// if blur event is caused by focusing on the input or focus on options don't close menu
|
|
360
312
|
if (event.relatedTarget === this.input.current || event.relatedTarget instanceof Element && this.popper.current !== null && this.popper.current.element.contains(event.relatedTarget)) {
|
|
361
313
|
return;
|
|
362
314
|
}
|
|
363
|
-
|
|
364
315
|
this.closeMenu(false);
|
|
365
316
|
}
|
|
366
|
-
|
|
367
317
|
handleMenuOpened() {
|
|
368
318
|
var _this$input$current3;
|
|
369
|
-
|
|
370
319
|
(_this$input$current3 = this.input.current) === null || _this$input$current3 === void 0 ? void 0 : _this$input$current3.focus();
|
|
371
320
|
}
|
|
372
|
-
|
|
373
321
|
handleMenuExited() {
|
|
374
322
|
var {
|
|
375
323
|
menuIsOpen
|
|
376
324
|
} = this.state;
|
|
377
|
-
|
|
378
325
|
if (menuIsOpen) {
|
|
379
326
|
this.setState({
|
|
380
327
|
menuIsOpen: false,
|
|
@@ -382,7 +329,6 @@ class AutoCompleteInput extends Component {
|
|
|
382
329
|
});
|
|
383
330
|
}
|
|
384
331
|
}
|
|
385
|
-
|
|
386
332
|
openMenu() {
|
|
387
333
|
var {
|
|
388
334
|
title
|
|
@@ -391,44 +337,36 @@ class AutoCompleteInput extends Component {
|
|
|
391
337
|
this.setInputWidth();
|
|
392
338
|
this.setState({
|
|
393
339
|
menuIsOpen: true
|
|
394
|
-
});
|
|
340
|
+
});
|
|
395
341
|
|
|
342
|
+
// https://github.com/reactjs/react-transition-group/issues/382
|
|
396
343
|
window.requestAnimationFrame(() => {
|
|
397
344
|
var _this$popper$current2;
|
|
398
|
-
|
|
399
345
|
(_this$popper$current2 = this.popper.current) === null || _this$popper$current2 === void 0 ? void 0 : _this$popper$current2.show();
|
|
400
346
|
});
|
|
401
347
|
}
|
|
402
|
-
|
|
403
348
|
closeMenu() {
|
|
404
349
|
var _this$popper$current3;
|
|
405
|
-
|
|
406
350
|
var focusInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
407
351
|
this.setState({
|
|
408
352
|
menuIsOpen: false,
|
|
409
353
|
keyboardOptionIndex: 0
|
|
410
354
|
});
|
|
411
|
-
|
|
412
355
|
if (focusInput) {
|
|
413
356
|
var _this$input$current4;
|
|
414
|
-
|
|
415
357
|
(_this$input$current4 = this.input.current) === null || _this$input$current4 === void 0 ? void 0 : _this$input$current4.focus();
|
|
416
358
|
}
|
|
417
|
-
|
|
418
359
|
(_this$popper$current3 = this.popper.current) === null || _this$popper$current3 === void 0 ? void 0 : _this$popper$current3.hide();
|
|
419
360
|
}
|
|
420
|
-
|
|
421
361
|
scrollOptionIntoView(index) {
|
|
422
362
|
if (this.menuContainer.current) {
|
|
423
363
|
var _this$menuContainer$c;
|
|
424
|
-
|
|
425
364
|
(_this$menuContainer$c = this.menuContainer.current.children.item(index)) === null || _this$menuContainer$c === void 0 ? void 0 : _this$menuContainer$c.scrollIntoView({
|
|
426
365
|
behavior: 'smooth',
|
|
427
366
|
block: 'nearest'
|
|
428
367
|
});
|
|
429
368
|
}
|
|
430
369
|
}
|
|
431
|
-
|
|
432
370
|
renderMenuElement() {
|
|
433
371
|
var {
|
|
434
372
|
inputWidth
|
|
@@ -444,7 +382,6 @@ class AutoCompleteInput extends Component {
|
|
|
444
382
|
onBlur: this.handleMenuBlur
|
|
445
383
|
}, this.renderOptions());
|
|
446
384
|
}
|
|
447
|
-
|
|
448
385
|
renderOptions() {
|
|
449
386
|
var {
|
|
450
387
|
noMatchText
|
|
@@ -453,16 +390,13 @@ class AutoCompleteInput extends Component {
|
|
|
453
390
|
title,
|
|
454
391
|
filteredOptions
|
|
455
392
|
} = this.state;
|
|
456
|
-
|
|
457
393
|
if (title && filteredOptions.length === 0) {
|
|
458
394
|
return /*#__PURE__*/React.createElement("div", {
|
|
459
395
|
className: "no-match"
|
|
460
396
|
}, noMatchText);
|
|
461
397
|
}
|
|
462
|
-
|
|
463
398
|
return filteredOptions.map((option, index) => this.renderOption(option, index));
|
|
464
399
|
}
|
|
465
|
-
|
|
466
400
|
renderOption(option, index) {
|
|
467
401
|
var {
|
|
468
402
|
keyboardOptionIndex
|
|
@@ -480,7 +414,6 @@ class AutoCompleteInput extends Component {
|
|
|
480
414
|
})
|
|
481
415
|
}, option.title);
|
|
482
416
|
}
|
|
483
|
-
|
|
484
417
|
render() {
|
|
485
418
|
var {
|
|
486
419
|
options,
|
|
@@ -523,9 +456,7 @@ class AutoCompleteInput extends Component {
|
|
|
523
456
|
onExited: this.handleMenuExited
|
|
524
457
|
}, this.renderMenuElement()));
|
|
525
458
|
}
|
|
526
|
-
|
|
527
459
|
}
|
|
528
|
-
|
|
529
460
|
_defineProperty(AutoCompleteInput, "propTypes", {
|
|
530
461
|
options: PropTypes.arrayOf(PropTypes.shape({
|
|
531
462
|
title: PropTypes.string.isRequired,
|
|
@@ -542,26 +473,22 @@ _defineProperty(AutoCompleteInput, "propTypes", {
|
|
|
542
473
|
noMatchText: PropTypes.string,
|
|
543
474
|
'data-testid': PropTypes.string
|
|
544
475
|
});
|
|
545
|
-
|
|
546
476
|
_defineProperty(AutoCompleteInput, "defaultProps", {
|
|
547
|
-
onChange() {
|
|
477
|
+
onChange() {
|
|
478
|
+
// no-op
|
|
548
479
|
},
|
|
549
|
-
|
|
550
480
|
inputPlaceholder: '',
|
|
551
481
|
disabled: false,
|
|
552
482
|
className: '',
|
|
553
483
|
defaultTitle: '',
|
|
554
484
|
popperOptions: null,
|
|
555
485
|
spellCheck: true,
|
|
556
|
-
|
|
557
|
-
|
|
486
|
+
onEnter() {
|
|
487
|
+
// no-op
|
|
558
488
|
},
|
|
559
|
-
|
|
560
489
|
noMatchText: 'No matching items found',
|
|
561
490
|
'data-testid': undefined
|
|
562
491
|
});
|
|
563
|
-
|
|
564
492
|
_defineProperty(AutoCompleteInput, "MENU_NAVIGATION_DIRECTION", MENU_NAVIGATION_DIRECTION);
|
|
565
|
-
|
|
566
493
|
export default AutoCompleteInput;
|
|
567
494
|
//# sourceMappingURL=AutoCompleteInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCompleteInput.js","names":["React","Component","PropTypes","memoize","classNames","debounce","Popper","DEBOUNCE_DELAY","MENU_NAVIGATION_DIRECTION","AutoCompleteInput","constructor","props","options","input","filter","option","title","toLowerCase","indexOf","popperOptions","placement","modifiers","preventOverflow","enabled","state","filteredOptions","keyboardOptionIndex","menuIsOpen","inputWidth","invalid","handleMenuKeyDown","bind","handleMenuBlur","handleInputChange","handleInputKeyDown","handleInputBlur","handelInputFocus","handleInputClick","updateInputValue","handleOptionClick","handleMenuOpened","handleMenuExited","popper","createRef","cbContainer","menuContainer","setInputWidth","current","setState","getBoundingClientRect","width","getValueAndValidate","value","isValid","result","length","processFilterChange","fireOnChange","onChange","getCachedFilteredOptions","perfectMatch","closeMenu","scheduleUpdate","resetValue","handleResize","event","key","stopPropagation","preventDefault","focus","navigateMenu","UP","DOWN","shiftKey","direction","newKeyboardOptionIndex","scrollOptionIntoView","onEnter","openMenu","target","relatedTarget","Element","element","contains","window","requestAnimationFrame","show","focusInput","hide","index","children","item","scrollIntoView","behavior","block","renderMenuElement","renderOptions","noMatchText","map","renderOption","render","inputPlaceholder","disabled","className","defaultTitle","spellCheck","dataTestId","arrayOf","shape","string","isRequired","func","bool","undefined"],"sources":["../src/AutoCompleteInput.tsx"],"sourcesContent":["/**\n * An Input component that pops and filters auto complete options as you type.\n *\n * props:\n * @param options :[{\n * title: 'option title for display',\n * value: 'option value' //option value\n * }]\n * @param popperOptions options for the Popper\n * @param onChange called when the value is changed from the pulldown\n * @param inputPlaceholder place holder for the input box\n * @param disabled disable both input & drop down\n * @param className an optional class name applied to the input element\n * @param defaultTitle the default title to display\n * @param spellCheck flag to disable spell checking, defaults to true\n * @param onEnter called when the Enter key is typed in the input element\n *\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport memoize from 'memoizee';\nimport classNames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport { PopperOptions } from 'popper.js';\nimport { Popper } from './popper';\n\nimport './AutoCompleteInput.scss';\n\nconst DEBOUNCE_DELAY = 100;\n\nenum MENU_NAVIGATION_DIRECTION {\n UP = 'UP',\n DOWN = 'DOWN',\n}\n\ninterface AutoCompleteOption {\n title: string;\n value: string;\n}\n\ninterface AutoCompleteInputProps {\n options: AutoCompleteOption[];\n popperOptions: PopperOptions;\n onChange(value: string, isValid: boolean): void;\n inputPlaceholder: string;\n disabled: boolean;\n className: string;\n defaultTitle: string;\n spellCheck: boolean;\n onEnter(): void;\n noMatchText: string;\n 'data-testid'?: string;\n}\n\ninterface AutoCompleteInputState {\n title: string;\n filteredOptions: AutoCompleteOption[];\n keyboardOptionIndex: number;\n menuIsOpen: boolean;\n inputWidth: number;\n invalid: boolean;\n popperOptions: PopperOptions;\n}\n\nclass AutoCompleteInput extends Component<\n AutoCompleteInputProps,\n AutoCompleteInputState\n> {\n static propTypes = {\n options: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n })\n ).isRequired,\n popperOptions: PropTypes.shape({}),\n onChange: PropTypes.func,\n inputPlaceholder: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n defaultTitle: PropTypes.string,\n spellCheck: PropTypes.bool,\n onEnter: PropTypes.func,\n noMatchText: PropTypes.string,\n 'data-testid': PropTypes.string,\n };\n\n static defaultProps = {\n onChange(): void {\n // no-op\n },\n inputPlaceholder: '',\n disabled: false,\n className: '',\n defaultTitle: '',\n popperOptions: null,\n spellCheck: true,\n onEnter(): void {\n // no-op\n },\n noMatchText: 'No matching items found',\n 'data-testid': undefined,\n };\n\n static MENU_NAVIGATION_DIRECTION = MENU_NAVIGATION_DIRECTION;\n\n constructor(props: AutoCompleteInputProps) {\n super(props);\n\n let { popperOptions } = this.props;\n popperOptions = {\n placement: 'bottom-end',\n modifiers: {\n preventOverflow: { enabled: false },\n },\n ...popperOptions,\n };\n\n this.state = {\n title: '',\n filteredOptions: [],\n keyboardOptionIndex: 0,\n menuIsOpen: false,\n inputWidth: 100,\n invalid: false,\n popperOptions,\n };\n\n this.handleMenuKeyDown = this.handleMenuKeyDown.bind(this);\n this.handleMenuBlur = this.handleMenuBlur.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handelInputFocus = this.handelInputFocus.bind(this);\n this.handleInputClick = this.handleInputClick.bind(this);\n\n this.updateInputValue = debounce(this.updateInputValue, DEBOUNCE_DELAY);\n\n this.handleOptionClick = this.handleOptionClick.bind(this);\n\n this.handleMenuOpened = this.handleMenuOpened.bind(this);\n this.handleMenuExited = this.handleMenuExited.bind(this);\n\n this.popper = React.createRef();\n this.cbContainer = React.createRef();\n this.menuContainer = React.createRef();\n this.input = React.createRef();\n }\n\n popper: React.RefObject<Popper>;\n\n cbContainer: React.RefObject<HTMLDivElement>;\n\n menuContainer: React.RefObject<HTMLDivElement>;\n\n input: React.RefObject<HTMLInputElement>;\n\n setInputWidth(): void {\n if (this.cbContainer.current) {\n this.setState({\n inputWidth: this.cbContainer.current.getBoundingClientRect().width,\n });\n }\n }\n\n getCachedFilteredOptions = memoize(\n (options: AutoCompleteOption[], input: string) =>\n options.filter(\n // supports partial match\n option => option.title.toLowerCase().indexOf(input.toLowerCase()) >= 0\n )\n );\n\n // validation needs to be an exact case-sensitve match on value\n getValueAndValidate(title: string): { value: string; isValid: boolean } {\n if (!title) {\n this.setState({ invalid: false });\n return { value: title, isValid: false };\n }\n\n // validate\n const { options } = this.props;\n const result = options.filter(\n option => option.title.toLowerCase() === title.toLowerCase()\n );\n if (result.length < 1) {\n this.setState({ invalid: true });\n return { value: title, isValid: false };\n }\n\n this.setState({ invalid: false });\n return { value: result[0].value, isValid: true };\n }\n\n // validate typed entries emit change event using value\n updateInputValue(title: string): void {\n const { menuIsOpen } = this.state;\n const { value, isValid } = this.getValueAndValidate(title);\n if (menuIsOpen) this.processFilterChange(title);\n this.fireOnChange(value, isValid);\n }\n\n fireOnChange(value: string, isValid = true): void {\n const { onChange } = this.props;\n onChange(value, isValid);\n }\n\n processFilterChange(filter: string): void {\n const { options } = this.props;\n const { menuIsOpen } = this.state;\n const filteredOptions = filter\n ? this.getCachedFilteredOptions(options, filter)\n : options;\n const perfectMatch =\n filteredOptions.length === 1 && filteredOptions[0].title === filter;\n this.setState({\n filteredOptions,\n keyboardOptionIndex: 0,\n });\n if (perfectMatch && menuIsOpen) {\n this.closeMenu();\n return;\n }\n this.popper.current?.scheduleUpdate(); // filtered options list can change size, may need to be repositioned\n }\n\n resetValue(): void {\n this.setState({ title: '' });\n this.fireOnChange('');\n }\n\n handleResize(): void {\n this.setInputWidth();\n }\n\n handleMenuKeyDown(event: React.KeyboardEvent): void {\n const { filteredOptions, keyboardOptionIndex } = this.state;\n const option = filteredOptions[keyboardOptionIndex];\n\n switch (event.key) {\n case 'Enter':\n case 'ArrowRight':\n event.stopPropagation();\n event.preventDefault();\n if (option != null) {\n this.setState({ title: option.title, invalid: false });\n this.fireOnChange(option.value);\n }\n this.closeMenu();\n this.input.current?.focus();\n break;\n case 'ArrowUp':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n case 'ArrowDown':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Tab':\n event.stopPropagation();\n event.preventDefault();\n if (event.shiftKey) {\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n }\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Escape':\n event.preventDefault();\n event.stopPropagation();\n this.closeMenu();\n break;\n default:\n break;\n }\n }\n\n navigateMenu(direction: MENU_NAVIGATION_DIRECTION): void {\n const { filteredOptions, keyboardOptionIndex } = this.state;\n let newKeyboardOptionIndex = keyboardOptionIndex;\n if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP) {\n if (keyboardOptionIndex > 0) {\n newKeyboardOptionIndex =\n (newKeyboardOptionIndex - 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n } else if (keyboardOptionIndex === 0) {\n newKeyboardOptionIndex = filteredOptions.length - 1;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n }\n } else if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN) {\n if (keyboardOptionIndex < filteredOptions.length) {\n newKeyboardOptionIndex =\n (newKeyboardOptionIndex + 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n }\n }\n this.scrollOptionIntoView(newKeyboardOptionIndex);\n }\n\n handleInputKeyDown(event: React.KeyboardEvent): void {\n const { onEnter } = this.props;\n const { menuIsOpen } = this.state;\n\n if (menuIsOpen) {\n this.handleMenuKeyDown(event);\n } else if (event.key === 'Enter') {\n onEnter();\n } else if (event.key === 'Escape') {\n this.resetValue();\n event.preventDefault();\n event.stopPropagation();\n } else if (\n !(\n event.key === 'ArrowRight' ||\n event.key === 'ArrowLeft' ||\n event.key === 'Tab' ||\n event.key === 'Shift'\n )\n ) {\n this.openMenu();\n }\n }\n\n handleInputChange(event: React.ChangeEvent<HTMLInputElement>): void {\n this.setState({ title: event.target.value });\n this.updateInputValue(event.target.value);\n }\n\n handleOptionClick(option: AutoCompleteOption): void {\n this.setState({ title: option.title, invalid: false });\n this.fireOnChange(option.value);\n this.closeMenu();\n this.input.current?.focus();\n }\n\n handelInputFocus(): void {\n const { menuIsOpen } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n\n handleInputClick(): void {\n const { menuIsOpen } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n\n handleInputBlur(event: React.FocusEvent<HTMLInputElement>): void {\n const { menuIsOpen } = this.state;\n if (\n menuIsOpen &&\n event.relatedTarget instanceof Element &&\n this.popper.current !== null &&\n this.popper.current.element.contains(event.relatedTarget)\n ) {\n return;\n }\n this.closeMenu(false);\n }\n\n handleMenuBlur(event: React.FocusEvent<HTMLDivElement>): void {\n // if blur event is caused by focusing on the input or focus on options don't close menu\n if (\n event.relatedTarget === this.input.current ||\n (event.relatedTarget instanceof Element &&\n this.popper.current !== null &&\n this.popper.current.element.contains(event.relatedTarget))\n ) {\n return;\n }\n this.closeMenu(false);\n }\n\n handleMenuOpened(): void {\n this.input.current?.focus();\n }\n\n handleMenuExited(): void {\n const { menuIsOpen } = this.state;\n if (menuIsOpen) {\n this.setState({ menuIsOpen: false, keyboardOptionIndex: 0 });\n }\n }\n\n openMenu(): void {\n const { title } = this.state;\n this.processFilterChange(title);\n this.setInputWidth();\n this.setState({ menuIsOpen: true });\n\n // https://github.com/reactjs/react-transition-group/issues/382\n window.requestAnimationFrame(() => {\n this.popper.current?.show();\n });\n }\n\n closeMenu(focusInput = true): void {\n this.setState({ menuIsOpen: false, keyboardOptionIndex: 0 });\n if (focusInput) {\n this.input.current?.focus();\n }\n this.popper.current?.hide();\n }\n\n scrollOptionIntoView(index: number): void {\n if (this.menuContainer.current) {\n this.menuContainer.current.children.item(index)?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }\n }\n\n renderMenuElement(): JSX.Element {\n const { inputWidth } = this.state;\n return (\n <div\n className={classNames('aci-options')}\n ref={this.menuContainer}\n role=\"presentation\"\n onKeyDown={this.handleMenuKeyDown}\n style={{ width: inputWidth }}\n onBlur={this.handleMenuBlur}\n >\n {this.renderOptions()}\n </div>\n );\n }\n\n renderOptions(): React.ReactNode {\n const { noMatchText } = this.props;\n const { title, filteredOptions } = this.state;\n\n if (title && filteredOptions.length === 0) {\n return <div className=\"no-match\">{noMatchText}</div>;\n }\n\n return filteredOptions.map((option, index) =>\n this.renderOption(option, index)\n );\n }\n\n renderOption(option: AutoCompleteOption, index: number): JSX.Element {\n const { keyboardOptionIndex } = this.state;\n const key = `option-${index}-${option.value}`;\n return (\n <button\n key={key}\n type=\"button\"\n className={classNames('aci-option-btn', {\n 'keyboard-active': keyboardOptionIndex === index,\n })}\n onClick={() => this.handleOptionClick(option)}\n onFocus={() => this.setState({ keyboardOptionIndex: index })}\n >\n {option.title}\n </button>\n );\n }\n\n render(): JSX.Element {\n const {\n options,\n inputPlaceholder,\n disabled,\n className,\n defaultTitle,\n spellCheck,\n 'data-testid': dataTestId,\n } = this.props;\n const { title, menuIsOpen, popperOptions, invalid } = this.state;\n\n return (\n <div className=\"aci-container\" ref={this.cbContainer}>\n <input\n value={title || defaultTitle}\n className={classNames('form-control', className, 'aci-input', {\n 'is-invalid': invalid && !menuIsOpen,\n })}\n ref={this.input}\n onChange={this.handleInputChange}\n placeholder={inputPlaceholder || options[0].title}\n disabled={disabled}\n onFocus={this.handelInputFocus}\n onClick={this.handleInputClick}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleInputKeyDown}\n spellCheck={spellCheck}\n data-testid={dataTestId}\n />\n <Popper\n ref={this.popper}\n options={popperOptions}\n className={classNames('aci-options-popper interactive')}\n onEntered={this.handleMenuOpened}\n onExited={this.handleMenuExited}\n >\n {this.renderMenuElement()}\n </Popper>\n </div>\n );\n }\n}\n\nexport default AutoCompleteInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoCompleteInput.js","names":["React","Component","PropTypes","memoize","classNames","debounce","Popper","DEBOUNCE_DELAY","MENU_NAVIGATION_DIRECTION","AutoCompleteInput","constructor","props","options","input","filter","option","title","toLowerCase","indexOf","popperOptions","placement","modifiers","preventOverflow","enabled","state","filteredOptions","keyboardOptionIndex","menuIsOpen","inputWidth","invalid","handleMenuKeyDown","bind","handleMenuBlur","handleInputChange","handleInputKeyDown","handleInputBlur","handelInputFocus","handleInputClick","updateInputValue","handleOptionClick","handleMenuOpened","handleMenuExited","popper","createRef","cbContainer","menuContainer","setInputWidth","current","setState","getBoundingClientRect","width","getValueAndValidate","value","isValid","result","length","processFilterChange","fireOnChange","onChange","getCachedFilteredOptions","perfectMatch","closeMenu","scheduleUpdate","resetValue","handleResize","event","key","stopPropagation","preventDefault","focus","navigateMenu","UP","DOWN","shiftKey","direction","newKeyboardOptionIndex","scrollOptionIntoView","onEnter","openMenu","target","relatedTarget","Element","element","contains","window","requestAnimationFrame","show","focusInput","hide","index","children","item","scrollIntoView","behavior","block","renderMenuElement","renderOptions","noMatchText","map","renderOption","render","inputPlaceholder","disabled","className","defaultTitle","spellCheck","dataTestId","arrayOf","shape","string","isRequired","func","bool","undefined"],"sources":["../src/AutoCompleteInput.tsx"],"sourcesContent":["/**\n * An Input component that pops and filters auto complete options as you type.\n *\n * props:\n * @param options :[{\n * title: 'option title for display',\n * value: 'option value' //option value\n * }]\n * @param popperOptions options for the Popper\n * @param onChange called when the value is changed from the pulldown\n * @param inputPlaceholder place holder for the input box\n * @param disabled disable both input & drop down\n * @param className an optional class name applied to the input element\n * @param defaultTitle the default title to display\n * @param spellCheck flag to disable spell checking, defaults to true\n * @param onEnter called when the Enter key is typed in the input element\n *\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport memoize from 'memoizee';\nimport classNames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport { PopperOptions } from 'popper.js';\nimport { Popper } from './popper';\n\nimport './AutoCompleteInput.scss';\n\nconst DEBOUNCE_DELAY = 100;\n\nenum MENU_NAVIGATION_DIRECTION {\n UP = 'UP',\n DOWN = 'DOWN',\n}\n\ninterface AutoCompleteOption {\n title: string;\n value: string;\n}\n\ninterface AutoCompleteInputProps {\n options: AutoCompleteOption[];\n popperOptions: PopperOptions;\n onChange(value: string, isValid: boolean): void;\n inputPlaceholder: string;\n disabled: boolean;\n className: string;\n defaultTitle: string;\n spellCheck: boolean;\n onEnter(): void;\n noMatchText: string;\n 'data-testid'?: string;\n}\n\ninterface AutoCompleteInputState {\n title: string;\n filteredOptions: AutoCompleteOption[];\n keyboardOptionIndex: number;\n menuIsOpen: boolean;\n inputWidth: number;\n invalid: boolean;\n popperOptions: PopperOptions;\n}\n\nclass AutoCompleteInput extends Component<\n AutoCompleteInputProps,\n AutoCompleteInputState\n> {\n static propTypes = {\n options: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n })\n ).isRequired,\n popperOptions: PropTypes.shape({}),\n onChange: PropTypes.func,\n inputPlaceholder: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n defaultTitle: PropTypes.string,\n spellCheck: PropTypes.bool,\n onEnter: PropTypes.func,\n noMatchText: PropTypes.string,\n 'data-testid': PropTypes.string,\n };\n\n static defaultProps = {\n onChange(): void {\n // no-op\n },\n inputPlaceholder: '',\n disabled: false,\n className: '',\n defaultTitle: '',\n popperOptions: null,\n spellCheck: true,\n onEnter(): void {\n // no-op\n },\n noMatchText: 'No matching items found',\n 'data-testid': undefined,\n };\n\n static MENU_NAVIGATION_DIRECTION = MENU_NAVIGATION_DIRECTION;\n\n constructor(props: AutoCompleteInputProps) {\n super(props);\n\n let { popperOptions } = this.props;\n popperOptions = {\n placement: 'bottom-end',\n modifiers: {\n preventOverflow: { enabled: false },\n },\n ...popperOptions,\n };\n\n this.state = {\n title: '',\n filteredOptions: [],\n keyboardOptionIndex: 0,\n menuIsOpen: false,\n inputWidth: 100,\n invalid: false,\n popperOptions,\n };\n\n this.handleMenuKeyDown = this.handleMenuKeyDown.bind(this);\n this.handleMenuBlur = this.handleMenuBlur.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handelInputFocus = this.handelInputFocus.bind(this);\n this.handleInputClick = this.handleInputClick.bind(this);\n\n this.updateInputValue = debounce(this.updateInputValue, DEBOUNCE_DELAY);\n\n this.handleOptionClick = this.handleOptionClick.bind(this);\n\n this.handleMenuOpened = this.handleMenuOpened.bind(this);\n this.handleMenuExited = this.handleMenuExited.bind(this);\n\n this.popper = React.createRef();\n this.cbContainer = React.createRef();\n this.menuContainer = React.createRef();\n this.input = React.createRef();\n }\n\n popper: React.RefObject<Popper>;\n\n cbContainer: React.RefObject<HTMLDivElement>;\n\n menuContainer: React.RefObject<HTMLDivElement>;\n\n input: React.RefObject<HTMLInputElement>;\n\n setInputWidth(): void {\n if (this.cbContainer.current) {\n this.setState({\n inputWidth: this.cbContainer.current.getBoundingClientRect().width,\n });\n }\n }\n\n getCachedFilteredOptions = memoize(\n (options: AutoCompleteOption[], input: string) =>\n options.filter(\n // supports partial match\n option => option.title.toLowerCase().indexOf(input.toLowerCase()) >= 0\n )\n );\n\n // validation needs to be an exact case-sensitve match on value\n getValueAndValidate(title: string): { value: string; isValid: boolean } {\n if (!title) {\n this.setState({ invalid: false });\n return { value: title, isValid: false };\n }\n\n // validate\n const { options } = this.props;\n const result = options.filter(\n option => option.title.toLowerCase() === title.toLowerCase()\n );\n if (result.length < 1) {\n this.setState({ invalid: true });\n return { value: title, isValid: false };\n }\n\n this.setState({ invalid: false });\n return { value: result[0].value, isValid: true };\n }\n\n // validate typed entries emit change event using value\n updateInputValue(title: string): void {\n const { menuIsOpen } = this.state;\n const { value, isValid } = this.getValueAndValidate(title);\n if (menuIsOpen) this.processFilterChange(title);\n this.fireOnChange(value, isValid);\n }\n\n fireOnChange(value: string, isValid = true): void {\n const { onChange } = this.props;\n onChange(value, isValid);\n }\n\n processFilterChange(filter: string): void {\n const { options } = this.props;\n const { menuIsOpen } = this.state;\n const filteredOptions = filter\n ? this.getCachedFilteredOptions(options, filter)\n : options;\n const perfectMatch =\n filteredOptions.length === 1 && filteredOptions[0].title === filter;\n this.setState({\n filteredOptions,\n keyboardOptionIndex: 0,\n });\n if (perfectMatch && menuIsOpen) {\n this.closeMenu();\n return;\n }\n this.popper.current?.scheduleUpdate(); // filtered options list can change size, may need to be repositioned\n }\n\n resetValue(): void {\n this.setState({ title: '' });\n this.fireOnChange('');\n }\n\n handleResize(): void {\n this.setInputWidth();\n }\n\n handleMenuKeyDown(event: React.KeyboardEvent): void {\n const { filteredOptions, keyboardOptionIndex } = this.state;\n const option = filteredOptions[keyboardOptionIndex];\n\n switch (event.key) {\n case 'Enter':\n case 'ArrowRight':\n event.stopPropagation();\n event.preventDefault();\n if (option != null) {\n this.setState({ title: option.title, invalid: false });\n this.fireOnChange(option.value);\n }\n this.closeMenu();\n this.input.current?.focus();\n break;\n case 'ArrowUp':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n case 'ArrowDown':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Tab':\n event.stopPropagation();\n event.preventDefault();\n if (event.shiftKey) {\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n }\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Escape':\n event.preventDefault();\n event.stopPropagation();\n this.closeMenu();\n break;\n default:\n break;\n }\n }\n\n navigateMenu(direction: MENU_NAVIGATION_DIRECTION): void {\n const { filteredOptions, keyboardOptionIndex } = this.state;\n let newKeyboardOptionIndex = keyboardOptionIndex;\n if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP) {\n if (keyboardOptionIndex > 0) {\n newKeyboardOptionIndex =\n (newKeyboardOptionIndex - 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n } else if (keyboardOptionIndex === 0) {\n newKeyboardOptionIndex = filteredOptions.length - 1;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n }\n } else if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN) {\n if (keyboardOptionIndex < filteredOptions.length) {\n newKeyboardOptionIndex =\n (newKeyboardOptionIndex + 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex,\n });\n }\n }\n this.scrollOptionIntoView(newKeyboardOptionIndex);\n }\n\n handleInputKeyDown(event: React.KeyboardEvent): void {\n const { onEnter } = this.props;\n const { menuIsOpen } = this.state;\n\n if (menuIsOpen) {\n this.handleMenuKeyDown(event);\n } else if (event.key === 'Enter') {\n onEnter();\n } else if (event.key === 'Escape') {\n this.resetValue();\n event.preventDefault();\n event.stopPropagation();\n } else if (\n !(\n event.key === 'ArrowRight' ||\n event.key === 'ArrowLeft' ||\n event.key === 'Tab' ||\n event.key === 'Shift'\n )\n ) {\n this.openMenu();\n }\n }\n\n handleInputChange(event: React.ChangeEvent<HTMLInputElement>): void {\n this.setState({ title: event.target.value });\n this.updateInputValue(event.target.value);\n }\n\n handleOptionClick(option: AutoCompleteOption): void {\n this.setState({ title: option.title, invalid: false });\n this.fireOnChange(option.value);\n this.closeMenu();\n this.input.current?.focus();\n }\n\n handelInputFocus(): void {\n const { menuIsOpen } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n\n handleInputClick(): void {\n const { menuIsOpen } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n\n handleInputBlur(event: React.FocusEvent<HTMLInputElement>): void {\n const { menuIsOpen } = this.state;\n if (\n menuIsOpen &&\n event.relatedTarget instanceof Element &&\n this.popper.current !== null &&\n this.popper.current.element.contains(event.relatedTarget)\n ) {\n return;\n }\n this.closeMenu(false);\n }\n\n handleMenuBlur(event: React.FocusEvent<HTMLDivElement>): void {\n // if blur event is caused by focusing on the input or focus on options don't close menu\n if (\n event.relatedTarget === this.input.current ||\n (event.relatedTarget instanceof Element &&\n this.popper.current !== null &&\n this.popper.current.element.contains(event.relatedTarget))\n ) {\n return;\n }\n this.closeMenu(false);\n }\n\n handleMenuOpened(): void {\n this.input.current?.focus();\n }\n\n handleMenuExited(): void {\n const { menuIsOpen } = this.state;\n if (menuIsOpen) {\n this.setState({ menuIsOpen: false, keyboardOptionIndex: 0 });\n }\n }\n\n openMenu(): void {\n const { title } = this.state;\n this.processFilterChange(title);\n this.setInputWidth();\n this.setState({ menuIsOpen: true });\n\n // https://github.com/reactjs/react-transition-group/issues/382\n window.requestAnimationFrame(() => {\n this.popper.current?.show();\n });\n }\n\n closeMenu(focusInput = true): void {\n this.setState({ menuIsOpen: false, keyboardOptionIndex: 0 });\n if (focusInput) {\n this.input.current?.focus();\n }\n this.popper.current?.hide();\n }\n\n scrollOptionIntoView(index: number): void {\n if (this.menuContainer.current) {\n this.menuContainer.current.children.item(index)?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }\n }\n\n renderMenuElement(): JSX.Element {\n const { inputWidth } = this.state;\n return (\n <div\n className={classNames('aci-options')}\n ref={this.menuContainer}\n role=\"presentation\"\n onKeyDown={this.handleMenuKeyDown}\n style={{ width: inputWidth }}\n onBlur={this.handleMenuBlur}\n >\n {this.renderOptions()}\n </div>\n );\n }\n\n renderOptions(): React.ReactNode {\n const { noMatchText } = this.props;\n const { title, filteredOptions } = this.state;\n\n if (title && filteredOptions.length === 0) {\n return <div className=\"no-match\">{noMatchText}</div>;\n }\n\n return filteredOptions.map((option, index) =>\n this.renderOption(option, index)\n );\n }\n\n renderOption(option: AutoCompleteOption, index: number): JSX.Element {\n const { keyboardOptionIndex } = this.state;\n const key = `option-${index}-${option.value}`;\n return (\n <button\n key={key}\n type=\"button\"\n className={classNames('aci-option-btn', {\n 'keyboard-active': keyboardOptionIndex === index,\n })}\n onClick={() => this.handleOptionClick(option)}\n onFocus={() => this.setState({ keyboardOptionIndex: index })}\n >\n {option.title}\n </button>\n );\n }\n\n render(): JSX.Element {\n const {\n options,\n inputPlaceholder,\n disabled,\n className,\n defaultTitle,\n spellCheck,\n 'data-testid': dataTestId,\n } = this.props;\n const { title, menuIsOpen, popperOptions, invalid } = this.state;\n\n return (\n <div className=\"aci-container\" ref={this.cbContainer}>\n <input\n value={title || defaultTitle}\n className={classNames('form-control', className, 'aci-input', {\n 'is-invalid': invalid && !menuIsOpen,\n })}\n ref={this.input}\n onChange={this.handleInputChange}\n placeholder={inputPlaceholder || options[0].title}\n disabled={disabled}\n onFocus={this.handelInputFocus}\n onClick={this.handleInputClick}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleInputKeyDown}\n spellCheck={spellCheck}\n data-testid={dataTestId}\n />\n <Popper\n ref={this.popper}\n options={popperOptions}\n className={classNames('aci-options-popper interactive')}\n onEntered={this.handleMenuOpened}\n onExited={this.handleMenuExited}\n >\n {this.renderMenuElement()}\n </Popper>\n </div>\n );\n }\n}\n\nexport default AutoCompleteInput;\n"],"mappings":"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"}
|
|
@@ -18,9 +18,9 @@ interface AutoResizeTextareaProps {
|
|
|
18
18
|
* then the field will also "explode" the value by the delimiter over new lines
|
|
19
19
|
* on focus, and implode on blur. By default, it doesn't word wrap.
|
|
20
20
|
*/
|
|
21
|
-
declare
|
|
22
|
-
|
|
23
|
-
propTypes: {
|
|
21
|
+
declare function AutoResizeTextarea({ className, value: propsValue, onChange, spellCheck, placeholder, disabled, delimiter, id, 'data-testid': dataTestId, }: AutoResizeTextareaProps): JSX.Element;
|
|
22
|
+
declare namespace AutoResizeTextarea {
|
|
23
|
+
var propTypes: {
|
|
24
24
|
value: PropTypes.Validator<string>;
|
|
25
25
|
onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
26
26
|
className: PropTypes.Requireable<string>;
|
|
@@ -31,7 +31,7 @@ declare const AutoResizeTextarea: {
|
|
|
31
31
|
id: PropTypes.Requireable<string>;
|
|
32
32
|
'data-testid': PropTypes.Requireable<string>;
|
|
33
33
|
};
|
|
34
|
-
defaultProps: {
|
|
34
|
+
var defaultProps: {
|
|
35
35
|
className: string;
|
|
36
36
|
id: string;
|
|
37
37
|
placeholder: string;
|
|
@@ -40,6 +40,6 @@ declare const AutoResizeTextarea: {
|
|
|
40
40
|
delimiter: string;
|
|
41
41
|
'data-testid': undefined;
|
|
42
42
|
};
|
|
43
|
-
}
|
|
43
|
+
}
|
|
44
44
|
export default AutoResizeTextarea;
|
|
45
45
|
//# sourceMappingURL=AutoResizeTextarea.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../src/AutoResizeTextarea.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAO,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../src/AutoResizeTextarea.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAO,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,SAAc,EACd,KAAK,EAAE,UAAU,EACjB,QAAQ,EACR,UAAkB,EAClB,WAAgB,EAChB,QAAgB,EAChB,SAAc,EACd,EAAO,EACP,aAAa,EAAE,UAAU,GAC1B,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CA8GvC;kBAxHQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;AAgJ3B,eAAe,kBAAkB,CAAC"}
|