@elastic/eui 76.0.0 → 76.1.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/eui_theme_dark.css +4 -0
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +4 -0
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
- package/es/components/datagrid/body/data_grid_cell.js +6 -3
- package/es/components/datagrid/body/data_grid_cell_popover.js +32 -12
- package/es/components/date_picker/auto_refresh/auto_refresh.js +2 -1
- package/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/es/components/form/range/dual_range.js +14 -7
- package/es/components/form/range/range.js +10 -3
- package/es/components/form/super_select/super_select.js +21 -18
- package/es/components/form/super_select/super_select_control.js +7 -14
- package/es/components/selectable/selectable.js +59 -36
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/suggest/suggest.js +3 -10
- package/eui.d.ts +27 -12
- package/i18ntokens.json +81 -49
- package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
- package/lib/components/datagrid/body/data_grid_cell.js +6 -3
- package/lib/components/datagrid/body/data_grid_cell_popover.js +35 -12
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -1
- package/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/lib/components/form/range/dual_range.js +14 -7
- package/lib/components/form/range/range.js +10 -3
- package/lib/components/form/super_select/super_select.js +21 -18
- package/lib/components/form/super_select/super_select_control.js +7 -16
- package/lib/components/selectable/selectable.js +59 -36
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/suggest/suggest.js +3 -12
- package/optimize/es/components/datagrid/body/data_grid_cell.js +4 -2
- package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +30 -12
- package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +2 -1
- package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/optimize/es/components/form/range/dual_range.js +14 -7
- package/optimize/es/components/form/range/range.js +10 -3
- package/optimize/es/components/form/super_select/super_select.js +16 -12
- package/optimize/es/components/form/super_select/super_select_control.js +7 -14
- package/optimize/es/components/selectable/selectable.js +50 -34
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/es/components/suggest/suggest.js +3 -10
- package/optimize/lib/components/datagrid/body/data_grid_cell.js +4 -2
- package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +33 -19
- package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -1
- package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/optimize/lib/components/form/range/dual_range.js +14 -7
- package/optimize/lib/components/form/range/range.js +10 -3
- package/optimize/lib/components/form/super_select/super_select.js +16 -11
- package/optimize/lib/components/form/super_select/super_select_control.js +7 -16
- package/optimize/lib/components/selectable/selectable.js +50 -35
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/lib/components/suggest/suggest.js +3 -12
- package/package.json +1 -1
- package/src/components/form/super_select/_super_select_control.scss +4 -0
- package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
- package/test-env/components/datagrid/body/data_grid_cell.js +6 -3
- package/test-env/components/datagrid/body/data_grid_cell_popover.js +33 -19
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +2 -1
- package/test-env/components/form/form_control_layout/form_control_layout_icons.js +1 -1
- package/test-env/components/form/range/dual_range.js +14 -7
- package/test-env/components/form/range/range.js +10 -3
- package/test-env/components/form/super_select/super_select.js +21 -17
- package/test-env/components/form/super_select/super_select_control.js +7 -16
- package/test-env/components/selectable/selectable.js +58 -36
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/suggest/suggest.js +3 -12
|
@@ -44,6 +44,7 @@ import { EuiRangeWrapper } from './range_wrapper';
|
|
|
44
44
|
import { calculateThumbPosition } from './utils';
|
|
45
45
|
import { euiRangeStyles } from './range.styles';
|
|
46
46
|
import { euiDualRangeStyles } from './dual_range.styles';
|
|
47
|
+
import { EuiI18n } from '../../i18n';
|
|
47
48
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
48
49
|
export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
49
50
|
_inherits(EuiDualRangeClass, _Component);
|
|
@@ -553,6 +554,11 @@ export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
553
554
|
backgroundColor: euiRangeLevelColor(rightThumbColor, theme.euiTheme)
|
|
554
555
|
}) : rightThumbPosition;
|
|
555
556
|
|
|
557
|
+
var dualSliderScreenReaderInstructions = ___EmotionJSX(EuiI18n, {
|
|
558
|
+
token: "euiDualRange.sliderScreenReaderInstructions",
|
|
559
|
+
default: "You are in a custom range slider. Use the Up and Down arrow keys to change the minimum value. Press Tab to interact with the maximum value."
|
|
560
|
+
});
|
|
561
|
+
|
|
556
562
|
var theRange = ___EmotionJSX(EuiRangeWrapper, {
|
|
557
563
|
css: cssStyles,
|
|
558
564
|
className: classes,
|
|
@@ -608,8 +614,8 @@ export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
608
614
|
onFocus: _this2.onThumbFocus,
|
|
609
615
|
onBlur: _this2.onThumbBlur,
|
|
610
616
|
onKeyDown: _this2.handleDraggableKeyDown,
|
|
611
|
-
"aria-describedby": _this2.props['aria-describedby'],
|
|
612
|
-
"aria-label": _this2.props['aria-label']
|
|
617
|
+
"aria-describedby": showInputOnly ? undefined : _this2.props['aria-describedby'],
|
|
618
|
+
"aria-label": showInputOnly ? undefined : _this2.props['aria-label']
|
|
613
619
|
}), ___EmotionJSX(EuiRangeThumb, {
|
|
614
620
|
min: min,
|
|
615
621
|
max: Number(_this2.upperValue),
|
|
@@ -621,8 +627,8 @@ export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
621
627
|
onFocus: _this2.onThumbFocus,
|
|
622
628
|
onBlur: _this2.onThumbBlur,
|
|
623
629
|
style: logicalStyles(leftThumbStyles),
|
|
624
|
-
"aria-describedby": _this2.props['aria-describedby'],
|
|
625
|
-
"aria-label": _this2.props['aria-label']
|
|
630
|
+
"aria-describedby": showInputOnly ? undefined : _this2.props['aria-describedby'],
|
|
631
|
+
"aria-label": showInputOnly ? undefined : _this2.props['aria-label']
|
|
626
632
|
}), ___EmotionJSX(EuiRangeThumb, {
|
|
627
633
|
min: Number(_this2.lowerValue),
|
|
628
634
|
max: max,
|
|
@@ -634,8 +640,8 @@ export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
634
640
|
onFocus: _this2.onThumbFocus,
|
|
635
641
|
onBlur: _this2.onThumbBlur,
|
|
636
642
|
style: logicalStyles(rightThumbStyles),
|
|
637
|
-
"aria-describedby": _this2.props['aria-describedby'],
|
|
638
|
-
"aria-label": _this2.props['aria-label']
|
|
643
|
+
"aria-describedby": showInputOnly ? undefined : _this2.props['aria-describedby'],
|
|
644
|
+
"aria-label": showInputOnly ? undefined : _this2.props['aria-label']
|
|
639
645
|
})), showRange && _this2.isValid && ___EmotionJSX(EuiRangeHighlight, {
|
|
640
646
|
showTicks: showTicks,
|
|
641
647
|
min: Number(min),
|
|
@@ -669,7 +675,8 @@ export var EuiDualRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
669
675
|
isOpen: this.state.isPopoverOpen,
|
|
670
676
|
closePopover: this.closePopover,
|
|
671
677
|
disableFocusTrap: true,
|
|
672
|
-
onPanelResize: this.onResize
|
|
678
|
+
onPanelResize: this.onResize,
|
|
679
|
+
popoverScreenReaderText: dualSliderScreenReaderInstructions
|
|
673
680
|
}, theRange) : undefined;
|
|
674
681
|
return thePopover || theRange;
|
|
675
682
|
}
|
|
@@ -35,6 +35,7 @@ import { EuiRangeTooltip } from './range_tooltip';
|
|
|
35
35
|
import { EuiRangeTrack } from './range_track';
|
|
36
36
|
import { EuiRangeWrapper } from './range_wrapper';
|
|
37
37
|
import { euiRangeStyles } from './range.styles';
|
|
38
|
+
import { EuiI18n } from '../../i18n';
|
|
38
39
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
39
40
|
export var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
40
41
|
_inherits(EuiRangeClass, _Component);
|
|
@@ -180,6 +181,11 @@ export var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
180
181
|
var cssStyles = [styles.euiRange, showInput && styles.hasInput];
|
|
181
182
|
var thumbColor = levels && getLevelColor(levels, Number(value));
|
|
182
183
|
|
|
184
|
+
var sliderScreenReaderInstructions = ___EmotionJSX(EuiI18n, {
|
|
185
|
+
token: "euiRange.sliderScreenReaderInstructions",
|
|
186
|
+
default: "You are in a custom range slider. Use the Up and Down arrow keys to change the value."
|
|
187
|
+
});
|
|
188
|
+
|
|
183
189
|
var theRange = ___EmotionJSX(EuiRangeWrapper, {
|
|
184
190
|
className: classes,
|
|
185
191
|
css: cssStyles,
|
|
@@ -200,7 +206,7 @@ export var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
200
206
|
levels: levels,
|
|
201
207
|
onChange: this.handleOnChange,
|
|
202
208
|
value: value,
|
|
203
|
-
"aria-hidden": showInput
|
|
209
|
+
"aria-hidden": !!showInput,
|
|
204
210
|
showRange: showRange
|
|
205
211
|
}, function (trackWidth) {
|
|
206
212
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiRangeSlider, _extends({
|
|
@@ -221,7 +227,7 @@ export var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
221
227
|
} : undefined,
|
|
222
228
|
onFocus: showInput === true ? undefined : onFocus,
|
|
223
229
|
onBlur: showInputOnly ? _this2.onInputBlur : onBlur,
|
|
224
|
-
"aria-hidden": showInput
|
|
230
|
+
"aria-hidden": !!showInput,
|
|
225
231
|
thumbColor: thumbColor
|
|
226
232
|
}, rest)), showRange && _this2.isValid && ___EmotionJSX(EuiRangeHighlight, {
|
|
227
233
|
showTicks: showTicks,
|
|
@@ -255,7 +261,8 @@ export var EuiRangeClass = /*#__PURE__*/function (_Component) {
|
|
|
255
261
|
fullWidth: fullWidth,
|
|
256
262
|
isOpen: this.state.isPopoverOpen,
|
|
257
263
|
closePopover: this.closePopover,
|
|
258
|
-
disableFocusTrap: true
|
|
264
|
+
disableFocusTrap: true,
|
|
265
|
+
popoverScreenReaderText: sliderScreenReaderInstructions
|
|
259
266
|
}, theRange) : undefined;
|
|
260
267
|
return thePopover ? thePopover : theRange;
|
|
261
268
|
}
|
|
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
7
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
8
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
-
var _excluded = ["className", "options", "valueOfSelected", "onChange", "isOpen", "isInvalid", "hasDividers", "itemClassName", "itemLayoutAlign", "fullWidth", "popoverProps", "compressed"],
|
|
10
|
+
var _excluded = ["className", "options", "valueOfSelected", "placeholder", "onChange", "isOpen", "isInvalid", "hasDividers", "itemClassName", "itemLayoutAlign", "fullWidth", "popoverProps", "compressed"],
|
|
11
11
|
_excluded2 = ["value", "dropdownDisplay", "inputDisplay"];
|
|
12
12
|
|
|
13
13
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
@@ -59,8 +59,6 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
59
59
|
|
|
60
60
|
_defineProperty(_assertThisInitialized(_this), "describedById", htmlIdGenerator('euiSuperSelect_')('_screenreaderDescribeId'));
|
|
61
61
|
|
|
62
|
-
_defineProperty(_assertThisInitialized(_this), "labelledById", htmlIdGenerator('euiSuperSelect_')('_screenreaderLabelId'));
|
|
63
|
-
|
|
64
62
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
65
63
|
isPopoverOpen: _this.props.isOpen || false
|
|
66
64
|
});
|
|
@@ -226,6 +224,7 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
226
224
|
className = _this$props.className,
|
|
227
225
|
options = _this$props.options,
|
|
228
226
|
valueOfSelected = _this$props.valueOfSelected,
|
|
227
|
+
placeholder = _this$props.placeholder,
|
|
229
228
|
onChange = _this$props.onChange,
|
|
230
229
|
isOpen = _this$props.isOpen,
|
|
231
230
|
isInvalid = _this$props.isInvalid,
|
|
@@ -246,9 +245,9 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
246
245
|
}, itemClassName);
|
|
247
246
|
|
|
248
247
|
var button = ___EmotionJSX(EuiSuperSelectControl, _extends({
|
|
249
|
-
screenReaderId: this.labelledById,
|
|
250
248
|
options: options,
|
|
251
249
|
value: valueOfSelected,
|
|
250
|
+
placeholder: placeholder,
|
|
252
251
|
onClick: this.state.isPopoverOpen ? this.closePopover : this.openPopover,
|
|
253
252
|
onKeyDown: this.onSelectKeyDown,
|
|
254
253
|
className: buttonClasses,
|
|
@@ -293,14 +292,19 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
|
|
|
293
292
|
}, ___EmotionJSX(EuiI18n, {
|
|
294
293
|
token: "euiSuperSelect.screenReaderAnnouncement",
|
|
295
294
|
default: "You are in a form selector and must select a single option. Use the Up and Down arrow keys to navigate or Escape to close."
|
|
296
|
-
}))), ___EmotionJSX(
|
|
297
|
-
|
|
298
|
-
"
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
295
|
+
}))), ___EmotionJSX(EuiI18n, {
|
|
296
|
+
token: "euiSuperSelect.ariaLabel",
|
|
297
|
+
default: "Select listbox"
|
|
298
|
+
}, function (ariaLabel) {
|
|
299
|
+
return ___EmotionJSX("div", {
|
|
300
|
+
"aria-label": ariaLabel,
|
|
301
|
+
"aria-describedby": _this2.describedById,
|
|
302
|
+
className: "euiSuperSelect__listbox",
|
|
303
|
+
role: "listbox",
|
|
304
|
+
"aria-activedescendant": valueOfSelected,
|
|
305
|
+
tabIndex: 0
|
|
306
|
+
}, items);
|
|
307
|
+
}));
|
|
304
308
|
}
|
|
305
309
|
}]);
|
|
306
310
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["className", "options", "id", "name", "fullWidth", "isLoading", "isInvalid", "readOnly", "defaultValue", "compressed", "value", "
|
|
3
|
+
var _excluded = ["className", "options", "id", "name", "fullWidth", "isLoading", "isInvalid", "readOnly", "defaultValue", "compressed", "value", "placeholder", "prepend", "append", "disabled"];
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
6
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -11,9 +11,7 @@ var _excluded = ["className", "options", "id", "name", "fullWidth", "isLoading",
|
|
|
11
11
|
*/
|
|
12
12
|
import React, { Fragment } from 'react';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
|
-
import { EuiScreenReaderOnly } from '../../accessibility';
|
|
15
14
|
import { EuiFormControlLayout } from '../form_control_layout';
|
|
16
|
-
import { EuiI18n } from '../../i18n';
|
|
17
15
|
import { getFormControlClassNameForIconCount } from '../form_control_layout/_num_icons';
|
|
18
16
|
import { useFormContext } from '../eui_form_context';
|
|
19
17
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
@@ -37,9 +35,9 @@ export var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
|
|
|
37
35
|
_props$compressed = props.compressed,
|
|
38
36
|
compressed = _props$compressed === void 0 ? false : _props$compressed,
|
|
39
37
|
value = props.value,
|
|
38
|
+
placeholder = props.placeholder,
|
|
40
39
|
prepend = props.prepend,
|
|
41
40
|
append = props.append,
|
|
42
|
-
screenReaderId = props.screenReaderId,
|
|
43
41
|
disabled = props.disabled,
|
|
44
42
|
rest = _objectWithoutProperties(props, _excluded);
|
|
45
43
|
|
|
@@ -72,6 +70,7 @@ export var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
|
|
|
72
70
|
selectedValue = selectedOption ? selectedOption.inputDisplay : selectedValue;
|
|
73
71
|
}
|
|
74
72
|
|
|
73
|
+
var showPlaceholder = !!placeholder && !selectedValue;
|
|
75
74
|
return ___EmotionJSX(Fragment, null, ___EmotionJSX("input", {
|
|
76
75
|
type: "hidden",
|
|
77
76
|
id: id,
|
|
@@ -89,20 +88,14 @@ export var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
|
|
|
89
88
|
compressed: compressed,
|
|
90
89
|
prepend: prepend,
|
|
91
90
|
append: append
|
|
92
|
-
}, ___EmotionJSX(
|
|
93
|
-
id: screenReaderId
|
|
94
|
-
}, ___EmotionJSX(EuiI18n, {
|
|
95
|
-
token: "euiSuperSelectControl.selectAnOption",
|
|
96
|
-
default: "Select an option: {selectedValue}, is selected",
|
|
97
|
-
values: {
|
|
98
|
-
selectedValue: selectedValue
|
|
99
|
-
}
|
|
100
|
-
}))), ___EmotionJSX("button", _extends({
|
|
91
|
+
}, ___EmotionJSX("button", _extends({
|
|
101
92
|
type: "button",
|
|
102
93
|
className: classes,
|
|
103
94
|
"aria-haspopup": "listbox",
|
|
104
95
|
disabled: disabled || readOnly // @ts-ignore Using as a selector only for mixin use
|
|
105
96
|
,
|
|
106
97
|
readOnly: readOnly
|
|
107
|
-
}, rest),
|
|
98
|
+
}, rest), showPlaceholder ? ___EmotionJSX("span", {
|
|
99
|
+
className: "euiSuperSelectControl__placeholder"
|
|
100
|
+
}, placeholder) : selectedValue)));
|
|
108
101
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
4
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
5
5
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
@@ -8,7 +8,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
8
8
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
9
9
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
10
10
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
11
|
-
var _excluded = ["children", "className", "options", "onChange", "onActiveOptionChange", "searchable", "searchProps", "singleSelection", "isLoading", "listProps", "renderOption", "height", "allowExclusions", "aria-label", "aria-describedby", "loadingMessage", "noMatchesMessage", "emptyMessage", "errorMessage", "isPreFiltered"],
|
|
11
|
+
var _excluded = ["children", "className", "options", "onChange", "onActiveOptionChange", "searchable", "searchProps", "singleSelection", "isLoading", "listProps", "renderOption", "height", "allowExclusions", "aria-label", "aria-describedby", "loadingMessage", "noMatchesMessage", "emptyMessage", "errorMessage", "selectableScreenReaderText", "isPreFiltered"],
|
|
12
12
|
_excluded2 = ["aria-label", "aria-describedby", "onChange", "defaultValue", "inputRef"],
|
|
13
13
|
_excluded3 = ["aria-label", "aria-describedby", "isVirtualized", "rowHeight"];
|
|
14
14
|
|
|
@@ -67,6 +67,16 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
67
67
|
|
|
68
68
|
_defineProperty(_assertThisInitialized(_this), "listId", void 0);
|
|
69
69
|
|
|
70
|
+
_defineProperty(_assertThisInitialized(_this), "isFocusOnSearchOrListBox", function (target) {
|
|
71
|
+
var _this$optionsListRef$, _this$optionsListRef$2;
|
|
72
|
+
|
|
73
|
+
var searchHasFocus = _this.props.searchable && target === _this.inputRef;
|
|
74
|
+
var listBox = (_this$optionsListRef$ = _this.optionsListRef.current) === null || _this$optionsListRef$ === void 0 ? void 0 : (_this$optionsListRef$2 = _this$optionsListRef$.listBoxRef) === null || _this$optionsListRef$2 === void 0 ? void 0 : _this$optionsListRef$2.parentElement;
|
|
75
|
+
var listBoxContainsFocus = target instanceof Node && (listBox === null || listBox === void 0 ? void 0 : listBox.contains(target));
|
|
76
|
+
var listBoxHasFocus = target === listBox || listBoxContainsFocus;
|
|
77
|
+
return searchHasFocus || listBoxHasFocus;
|
|
78
|
+
});
|
|
79
|
+
|
|
70
80
|
_defineProperty(_assertThisInitialized(_this), "onMouseDown", function () {
|
|
71
81
|
// Bypass onFocus when a click event originates from this.containerRef.
|
|
72
82
|
// Prevents onFocus from scrolling away from a clicked option and negating the selection event.
|
|
@@ -74,7 +84,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
74
84
|
_this.preventOnFocus = true;
|
|
75
85
|
});
|
|
76
86
|
|
|
77
|
-
_defineProperty(_assertThisInitialized(_this), "onFocus", function () {
|
|
87
|
+
_defineProperty(_assertThisInitialized(_this), "onFocus", function (event) {
|
|
78
88
|
if (_this.preventOnFocus) {
|
|
79
89
|
_this.preventOnFocus = false;
|
|
80
90
|
return;
|
|
@@ -84,6 +94,10 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
84
94
|
return;
|
|
85
95
|
}
|
|
86
96
|
|
|
97
|
+
if (event && !_this.isFocusOnSearchOrListBox(event.target)) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
87
101
|
var firstSelected = _this.state.visibleOptions.findIndex(function (option) {
|
|
88
102
|
return option.checked && !option.disabled && !option.isGroupLabel;
|
|
89
103
|
});
|
|
@@ -104,7 +118,19 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
104
118
|
});
|
|
105
119
|
|
|
106
120
|
_defineProperty(_assertThisInitialized(_this), "onKeyDown", function (event) {
|
|
107
|
-
var optionsList = _this.optionsListRef.current;
|
|
121
|
+
var optionsList = _this.optionsListRef.current; // Check if the user is interacting with something other than the
|
|
122
|
+
// searchbox or selection list. If so, the user may be attempting to
|
|
123
|
+
// interact with the search clear button or a totally custom button,
|
|
124
|
+
// and listbox keyboard navigation/selection should not be triggered.
|
|
125
|
+
|
|
126
|
+
if (!_this.isFocusOnSearchOrListBox(event.target)) {
|
|
127
|
+
_this.setState({
|
|
128
|
+
activeOptionIndex: undefined,
|
|
129
|
+
isFocused: false
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
108
134
|
|
|
109
135
|
switch (event.key) {
|
|
110
136
|
case keys.ARROW_UP:
|
|
@@ -129,20 +155,10 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
129
155
|
case keys.ENTER:
|
|
130
156
|
case keys.SPACE:
|
|
131
157
|
if (_this.props.searchable) {
|
|
132
|
-
var _this$optionsListRef$, _this$optionsListRef$2;
|
|
133
|
-
|
|
134
158
|
// For searchable instances, SPACE is reserved as a character for filtering
|
|
135
159
|
// via the input box, and as such only ENTER will toggle selection.
|
|
136
160
|
if (event.target === _this.inputRef && event.key === keys.SPACE) {
|
|
137
161
|
return;
|
|
138
|
-
} // Check if the user is interacting with something other than the
|
|
139
|
-
// searchbox or selection list. If not, the user is attempting to
|
|
140
|
-
// interact with an internal button such as the clear button,
|
|
141
|
-
// and the event should not be altered.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (!(event.target === _this.inputRef || event.target === ((_this$optionsListRef$ = _this.optionsListRef.current) === null || _this$optionsListRef$ === void 0 ? void 0 : (_this$optionsListRef$2 = _this$optionsListRef$.listBoxRef) === null || _this$optionsListRef$2 === void 0 ? void 0 : _this$optionsListRef$2.parentElement))) {
|
|
145
|
-
return;
|
|
146
162
|
}
|
|
147
163
|
}
|
|
148
164
|
|
|
@@ -233,10 +249,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
233
249
|
});
|
|
234
250
|
|
|
235
251
|
_defineProperty(_assertThisInitialized(_this), "onContainerBlur", function (e) {
|
|
236
|
-
var _e$relatedTarget, _e$relatedTarget$firs;
|
|
237
|
-
|
|
238
252
|
// Ignore blur events when moving from search to option to avoid activeOptionIndex conflicts
|
|
239
|
-
if ((
|
|
253
|
+
if (_this.isFocusOnSearchOrListBox(e.relatedTarget)) {
|
|
240
254
|
return;
|
|
241
255
|
}
|
|
242
256
|
|
|
@@ -343,6 +357,7 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
343
357
|
noMatchesMessage = _this$props3.noMatchesMessage,
|
|
344
358
|
emptyMessage = _this$props3.emptyMessage,
|
|
345
359
|
errorMessage = _this$props3.errorMessage,
|
|
360
|
+
selectableScreenReaderText = _this$props3.selectableScreenReaderText,
|
|
346
361
|
isPreFiltered = _this$props3.isPreFiltered,
|
|
347
362
|
rest = _objectWithoutProperties(_this$props3, _excluded);
|
|
348
363
|
|
|
@@ -478,10 +493,15 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
478
493
|
var searchAccessibleName = getAccessibleName(searchProps, this.messageContentId);
|
|
479
494
|
var searchHasAccessibleName = Boolean(Object.keys(searchAccessibleName).length);
|
|
480
495
|
var search = searchable ? ___EmotionJSX(EuiI18n, {
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
}, function (
|
|
484
|
-
|
|
496
|
+
tokens: ['euiSelectable.screenReaderInstructions', 'euiSelectable.placeholderName'],
|
|
497
|
+
defaults: ['Use the Up and Down arrow keys to move focus over options. Press Enter to select. Press Escape to collapse options.', 'Filter options']
|
|
498
|
+
}, function (_ref4) {
|
|
499
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
500
|
+
screenReaderInstructions = _ref5[0],
|
|
501
|
+
placeholderName = _ref5[1];
|
|
502
|
+
|
|
503
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiSelectableSearch, _extends({
|
|
504
|
+
"aria-describedby": listAriaDescribedbyId,
|
|
485
505
|
key: "listSearch",
|
|
486
506
|
options: options,
|
|
487
507
|
value: searchValue,
|
|
@@ -500,7 +520,9 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
500
520
|
}
|
|
501
521
|
}, searchHasAccessibleName ? searchAccessibleName : {
|
|
502
522
|
'aria-label': placeholderName
|
|
503
|
-
}, cleanedSearchProps))
|
|
523
|
+
}, cleanedSearchProps)), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
|
|
524
|
+
id: listAriaDescribedbyId
|
|
525
|
+
}, selectableScreenReaderText, " ", screenReaderInstructions)));
|
|
504
526
|
}) : undefined;
|
|
505
527
|
var resultsLength = visibleOptions.filter(function (option) {
|
|
506
528
|
return !option.disabled;
|
|
@@ -508,8 +530,8 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
508
530
|
|
|
509
531
|
var listScreenReaderStatus = searchable && ___EmotionJSX(EuiI18n, {
|
|
510
532
|
token: "euiSelectable.searchResults",
|
|
511
|
-
default: function _default(
|
|
512
|
-
var resultsLength =
|
|
533
|
+
default: function _default(_ref6) {
|
|
534
|
+
var resultsLength = _ref6.resultsLength;
|
|
513
535
|
return "".concat(resultsLength, " result").concat(resultsLength === 1 ? '' : 's', " available");
|
|
514
536
|
},
|
|
515
537
|
values: {
|
|
@@ -522,18 +544,12 @@ export var EuiSelectable = /*#__PURE__*/function (_Component) {
|
|
|
522
544
|
var listHasAccessibleName = Boolean(Object.keys(listAccessibleName).length);
|
|
523
545
|
|
|
524
546
|
var list = ___EmotionJSX(EuiI18n, {
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
}, function (
|
|
528
|
-
var _ref6 = _slicedToArray(_ref5, 2),
|
|
529
|
-
placeholderName = _ref6[0],
|
|
530
|
-
screenReaderInstructions = _ref6[1];
|
|
531
|
-
|
|
547
|
+
token: "euiSelectable.placeholderName",
|
|
548
|
+
default: "Filter options"
|
|
549
|
+
}, function (placeholderName) {
|
|
532
550
|
return ___EmotionJSX(React.Fragment, null, searchable && ___EmotionJSX(EuiScreenReaderLive, {
|
|
533
551
|
isActive: messageContent != null || activeOptionIndex != null
|
|
534
|
-
}, messageContent || listScreenReaderStatus),
|
|
535
|
-
id: listAriaDescribedbyId
|
|
536
|
-
}, screenReaderInstructions)), messageContent ? ___EmotionJSX(EuiSelectableMessage, {
|
|
552
|
+
}, messageContent || listScreenReaderStatus), messageContent ? ___EmotionJSX(EuiSelectableMessage, {
|
|
537
553
|
"data-test-subj": "euiSelectableMessage",
|
|
538
554
|
id: _this2.messageContentId,
|
|
539
555
|
bordered: listProps && listProps.bordered
|
|
@@ -16,8 +16,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
16
16
|
*/
|
|
17
17
|
import React, { useState, useCallback } from 'react';
|
|
18
18
|
import classNames from 'classnames';
|
|
19
|
-
import { useGeneratedHtmlId } from '../../services';
|
|
20
|
-
import { EuiScreenReaderOnly } from '../accessibility';
|
|
21
19
|
import { EuiIcon } from '../icon';
|
|
22
20
|
import { useEuiI18n } from '../i18n';
|
|
23
21
|
import { EuiInputPopover } from '../popover';
|
|
@@ -112,14 +110,11 @@ export var EuiSuggest = function EuiSuggest(_ref) {
|
|
|
112
110
|
var searchOnChange = function searchOnChange(value) {
|
|
113
111
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(value);
|
|
114
112
|
};
|
|
115
|
-
|
|
116
|
-
var inputDescribedbyId = useGeneratedHtmlId({
|
|
117
|
-
prefix: id
|
|
118
|
-
});
|
|
119
113
|
/**
|
|
120
114
|
* Status
|
|
121
115
|
*/
|
|
122
116
|
|
|
117
|
+
|
|
123
118
|
var icon = '';
|
|
124
119
|
var color = '';
|
|
125
120
|
|
|
@@ -210,6 +205,7 @@ export var EuiSuggest = function EuiSuggest(_ref) {
|
|
|
210
205
|
}
|
|
211
206
|
}, [onItemClick, suggestions]);
|
|
212
207
|
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiSelectable, {
|
|
208
|
+
selectableScreenReaderText: stateMessage,
|
|
213
209
|
singleSelection: true,
|
|
214
210
|
height: isVirtualized ? undefined : 'full',
|
|
215
211
|
options: suggestionList,
|
|
@@ -234,7 +230,6 @@ export var EuiSuggest = function EuiSuggest(_ref) {
|
|
|
234
230
|
onBlur: searchOnBlur,
|
|
235
231
|
onInput: searchOnInput,
|
|
236
232
|
onChange: searchOnChange,
|
|
237
|
-
'aria-describedby': inputDescribedbyId,
|
|
238
233
|
'aria-label': ariaLabel,
|
|
239
234
|
'aria-labelledby': labelId
|
|
240
235
|
}, rest)
|
|
@@ -258,7 +253,5 @@ export var EuiSuggest = function EuiSuggest(_ref) {
|
|
|
258
253
|
},
|
|
259
254
|
className: "eui-yScroll"
|
|
260
255
|
}, list));
|
|
261
|
-
})
|
|
262
|
-
id: inputDescribedbyId
|
|
263
|
-
}, stateMessage)));
|
|
256
|
+
}));
|
|
264
257
|
};
|
|
@@ -334,7 +334,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
|
|
|
334
334
|
if (_this.isPopoverOpen()) {
|
|
335
335
|
var _this$props$popoverCo2 = _this.props.popoverContext,
|
|
336
336
|
setPopoverAnchor = _this$props$popoverCo2.setPopoverAnchor,
|
|
337
|
-
setPopoverContent = _this$props$popoverCo2.setPopoverContent
|
|
337
|
+
setPopoverContent = _this$props$popoverCo2.setPopoverContent,
|
|
338
|
+
setCellPopoverProps = _this$props$popoverCo2.setCellPopoverProps; // Set popover anchor
|
|
338
339
|
|
|
339
340
|
var cellAnchorEl = _this.popoverAnchorRef.current;
|
|
340
341
|
setPopoverAnchor(cellAnchorEl); // Set popover contents with cell content
|
|
@@ -360,7 +361,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
|
|
|
360
361
|
cellActions: (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellPopoverActions, (0, _extends2.default)({}, sharedProps, {
|
|
361
362
|
column: column
|
|
362
363
|
})),
|
|
363
|
-
DefaultCellPopover: _data_grid_cell_popover.DefaultCellPopover
|
|
364
|
+
DefaultCellPopover: _data_grid_cell_popover.DefaultCellPopover,
|
|
365
|
+
setCellPopoverProps: setCellPopoverProps
|
|
364
366
|
}), (0, _react2.jsx)(CellElement, (0, _extends2.default)({}, sharedProps, {
|
|
365
367
|
setCellProps: _this.setCellProps,
|
|
366
368
|
isExpandable: true,
|
|
@@ -9,10 +9,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.useCellPopover = exports.JsonPopoverContent = exports.DefaultCellPopover = exports.DataGridCellPopoverContext = void 0;
|
|
11
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
12
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
17
|
|
|
14
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
19
|
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
+
|
|
16
22
|
var _services = require("../../../services");
|
|
17
23
|
|
|
18
24
|
var _popover = require("../../popover");
|
|
@@ -27,13 +33,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
33
|
|
|
28
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
35
|
-
* Side Public License, v 1.
|
|
36
|
-
*/
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
+
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
39
|
+
|
|
37
40
|
var DataGridCellPopoverContext = /*#__PURE__*/(0, _react.createContext)({
|
|
38
41
|
popoverIsOpen: false,
|
|
39
42
|
cellLocation: {
|
|
@@ -43,11 +46,14 @@ var DataGridCellPopoverContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
43
46
|
openCellPopover: function openCellPopover() {},
|
|
44
47
|
closeCellPopover: function closeCellPopover() {},
|
|
45
48
|
setPopoverAnchor: function setPopoverAnchor() {},
|
|
46
|
-
setPopoverContent: function setPopoverContent() {}
|
|
49
|
+
setPopoverContent: function setPopoverContent() {},
|
|
50
|
+
setCellPopoverProps: function setCellPopoverProps() {}
|
|
47
51
|
});
|
|
48
52
|
exports.DataGridCellPopoverContext = DataGridCellPopoverContext;
|
|
49
53
|
|
|
50
54
|
var useCellPopover = function useCellPopover() {
|
|
55
|
+
var _cellPopoverProps$pan;
|
|
56
|
+
|
|
51
57
|
// Current open state & cell location are handled here
|
|
52
58
|
var _useState = (0, _react.useState)(false),
|
|
53
59
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -71,7 +77,13 @@ var useCellPopover = function useCellPopover() {
|
|
|
71
77
|
var _useState7 = (0, _react.useState)(),
|
|
72
78
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
73
79
|
popoverContent = _useState8[0],
|
|
74
|
-
setPopoverContent = _useState8[1];
|
|
80
|
+
setPopoverContent = _useState8[1]; // Allow customization of most (not all) popover props by consumers
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
var _useState9 = (0, _react.useState)({}),
|
|
84
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
85
|
+
cellPopoverProps = _useState10[0],
|
|
86
|
+
setCellPopoverProps = _useState10[1];
|
|
75
87
|
|
|
76
88
|
var closeCellPopover = (0, _react.useCallback)(function () {
|
|
77
89
|
return setPopoverIsOpen(false);
|
|
@@ -101,20 +113,20 @@ var useCellPopover = function useCellPopover() {
|
|
|
101
113
|
openCellPopover: openCellPopover,
|
|
102
114
|
cellLocation: cellLocation,
|
|
103
115
|
setPopoverAnchor: setPopoverAnchor,
|
|
104
|
-
setPopoverContent: setPopoverContent
|
|
116
|
+
setPopoverContent: setPopoverContent,
|
|
117
|
+
setCellPopoverProps: setCellPopoverProps
|
|
105
118
|
}; // Note that this popover is rendered once at the top grid level, rather than one popover per cell
|
|
106
119
|
|
|
107
|
-
var cellPopover = popoverIsOpen && popoverAnchor && (0, _react2.jsx)(_popover.EuiWrappingPopover, {
|
|
120
|
+
var cellPopover = popoverIsOpen && popoverAnchor && (0, _react2.jsx)(_popover.EuiWrappingPopover, (0, _extends2.default)({
|
|
108
121
|
isOpen: popoverIsOpen,
|
|
109
|
-
button: popoverAnchor,
|
|
110
122
|
display: "block",
|
|
111
123
|
hasArrow: false,
|
|
112
|
-
panelPaddingSize: "s"
|
|
113
|
-
|
|
114
|
-
panelProps: {
|
|
124
|
+
panelPaddingSize: "s"
|
|
125
|
+
}, cellPopoverProps, {
|
|
126
|
+
panelProps: _objectSpread({
|
|
115
127
|
'data-test-subj': 'euiDataGridExpansionPopover'
|
|
116
|
-
},
|
|
117
|
-
|
|
128
|
+
}, cellPopoverProps.panelProps || {}),
|
|
129
|
+
panelClassName: (0, _classnames.default)('euiDataGridRowCell__popover', cellPopoverProps.panelClassName, (_cellPopoverProps$pan = cellPopoverProps.panelProps) === null || _cellPopoverProps$pan === void 0 ? void 0 : _cellPopoverProps$pan.className),
|
|
118
130
|
onKeyDown: function onKeyDown(event) {
|
|
119
131
|
if (event.key === _services.keys.F2 || event.key === _services.keys.ESCAPE) {
|
|
120
132
|
event.preventDefault();
|
|
@@ -125,8 +137,10 @@ var useCellPopover = function useCellPopover() {
|
|
|
125
137
|
return popoverAnchor.parentElement.focus();
|
|
126
138
|
});
|
|
127
139
|
}
|
|
128
|
-
}
|
|
129
|
-
|
|
140
|
+
},
|
|
141
|
+
button: popoverAnchor,
|
|
142
|
+
closePopover: closeCellPopover
|
|
143
|
+
}), popoverContent);
|
|
130
144
|
return {
|
|
131
145
|
cellPopoverContext: cellPopoverContext,
|
|
132
146
|
cellPopover: cellPopover
|
|
@@ -141,7 +141,8 @@ var EuiAutoRefreshButton = function EuiAutoRefreshButton(_ref2) {
|
|
|
141
141
|
isOpen: isPopoverOpen,
|
|
142
142
|
closePopover: function closePopover() {
|
|
143
143
|
setIsPopoverOpen(false);
|
|
144
|
-
}
|
|
144
|
+
},
|
|
145
|
+
popoverScreenReaderText: isPaused ? autoRefeshLabelOff : autoRefeshLabelOn
|
|
145
146
|
}, (0, _react2.jsx)(_refresh_interval.EuiRefreshInterval, {
|
|
146
147
|
onRefreshChange: onRefreshChange,
|
|
147
148
|
isPaused: isPaused,
|