@elastic/eui 90.0.0 → 91.0.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_charts_theme.js +1 -15
- package/dist/eui_charts_theme.js.map +1 -1
- package/dist/eui_theme_dark.css +112 -80
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +112 -80
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/accordion/accordion.js +13 -2
- package/es/components/accordion/accordion_children/accordion_children.js +4 -3
- package/es/components/breadcrumbs/breadcrumb.js +5 -5
- package/es/components/breadcrumbs/breadcrumbs.js +5 -5
- package/es/components/button/button_display/_button_display.js +1 -1
- package/es/components/button/button_group/button_group.js +8 -10
- package/es/components/button/button_group/button_group_button.js +8 -51
- package/es/components/button/button_group/button_group_button.styles.js +2 -12
- package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
- package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
- package/es/components/combo_box/combo_box.js +7 -5
- package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/es/components/combo_box/utils.js +23 -0
- package/es/components/control_bar/control_bar.js +5 -5
- package/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/es/components/datagrid/controls/column_selector.js +5 -6
- package/es/components/datagrid/controls/column_sorting.js +6 -9
- package/es/components/datagrid/controls/display_selector.js +21 -16
- package/es/components/datagrid/data_grid.js +3 -864
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/es/components/facet/facet_button.js +1 -1
- package/es/components/filter_group/filter_group.styles.js +1 -1
- package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
- package/es/components/header/header_links/header_links.js +5 -5
- package/es/components/i18n/i18n.js +1 -0
- package/es/components/page/page_header/page_header_content.js +5 -5
- package/es/components/popover/input_popover.js +1 -1
- package/es/components/popover/popover.js +15 -27
- package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
- package/es/components/popover/popover_panel/_popover_panel.js +2 -6
- package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
- package/es/components/toast/global_toast_list.js +11 -1
- package/es/components/tour/tour_step.js +5 -5
- package/es/global_styling/mixins/_states.js +4 -1
- package/es/services/color/eui_palettes.js +0 -6
- package/es/services/color/index.js +1 -1
- package/es/services/hooks/useCombinedRefs.js +16 -9
- package/es/services/index.js +1 -2
- package/es/test/rtl/component_helpers.d.ts +2 -0
- package/es/test/rtl/component_helpers.js +40 -1
- package/eui.d.ts +96 -82
- package/i18ntokens.json +199 -181
- package/lib/components/accordion/accordion.js +13 -2
- package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
- package/lib/components/breadcrumbs/breadcrumb.js +5 -5
- package/lib/components/button/button_display/_button_display.js +1 -1
- package/lib/components/button/button_group/button_group.js +7 -9
- package/lib/components/button/button_group/button_group_button.js +8 -51
- package/lib/components/button/button_group/button_group_button.styles.js +2 -12
- package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/lib/components/combo_box/combo_box.js +7 -5
- package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/lib/components/combo_box/utils.js +31 -0
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/lib/components/datagrid/controls/column_selector.js +5 -6
- package/lib/components/datagrid/controls/column_sorting.js +5 -8
- package/lib/components/datagrid/controls/display_selector.js +21 -16
- package/lib/components/datagrid/data_grid.js +2 -863
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/lib/components/facet/facet_button.js +1 -1
- package/lib/components/filter_group/filter_group.styles.js +1 -1
- package/lib/components/i18n/i18n.js +1 -0
- package/lib/components/popover/input_popover.js +1 -1
- package/lib/components/popover/popover.js +29 -35
- package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
- package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/lib/components/toast/global_toast_list.js +11 -1
- package/lib/global_styling/mixins/_states.js +4 -1
- package/lib/services/color/eui_palettes.js +1 -8
- package/lib/services/color/index.js +0 -7
- package/lib/services/hooks/useCombinedRefs.js +19 -10
- package/lib/services/index.js +0 -15
- package/lib/test/rtl/component_helpers.d.ts +2 -0
- package/lib/test/rtl/component_helpers.js +41 -3
- package/optimize/es/components/accordion/accordion.js +5 -2
- package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
- package/optimize/es/components/button/button_group/button_group.js +7 -8
- package/optimize/es/components/button/button_group/button_group_button.js +6 -38
- package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
- package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -3
- package/optimize/es/components/combo_box/combo_box.js +7 -5
- package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/optimize/es/components/combo_box/utils.js +23 -0
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
- package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
- package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
- package/optimize/es/components/datagrid/data_grid.js +3 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
- package/optimize/es/components/i18n/i18n.js +1 -0
- package/optimize/es/components/popover/input_popover.js +1 -1
- package/optimize/es/components/popover/popover.js +10 -22
- package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
- package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
- package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
- package/optimize/es/components/toast/global_toast_list.js +1 -1
- package/optimize/es/global_styling/mixins/_states.js +4 -1
- package/optimize/es/services/color/eui_palettes.js +0 -6
- package/optimize/es/services/color/index.js +1 -1
- package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
- package/optimize/es/services/index.js +1 -2
- package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
- package/optimize/es/test/rtl/component_helpers.js +40 -1
- package/optimize/lib/components/accordion/accordion.js +5 -2
- package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
- package/optimize/lib/components/button/button_group/button_group.js +6 -7
- package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/optimize/lib/components/combo_box/combo_box.js +7 -5
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/optimize/lib/components/combo_box/utils.js +31 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
- package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
- package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
- package/optimize/lib/components/datagrid/data_grid.js +2 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
- package/optimize/lib/components/i18n/i18n.js +1 -0
- package/optimize/lib/components/popover/input_popover.js +1 -1
- package/optimize/lib/components/popover/popover.js +24 -35
- package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
- package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/optimize/lib/components/toast/global_toast_list.js +1 -1
- package/optimize/lib/global_styling/mixins/_states.js +4 -1
- package/optimize/lib/services/color/eui_palettes.js +1 -8
- package/optimize/lib/services/color/index.js +0 -7
- package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
- package/optimize/lib/services/index.js +0 -15
- package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
- package/optimize/lib/test/rtl/component_helpers.js +41 -3
- package/package.json +10 -10
- package/src/components/combo_box/_combo_box.scss +46 -14
- package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
- package/src/components/combo_box/combo_box_input/_index.scss +0 -2
- package/src/components/datagrid/_data_grid_data_row.scss +1 -2
- package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
- package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
- package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
- package/src/global_styling/variables/_typography.scss +2 -2
- package/test-env/components/accordion/accordion.js +13 -2
- package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
- package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
- package/test-env/components/button/button_display/_button_display.js +1 -1
- package/test-env/components/button/button_group/button_group.js +7 -9
- package/test-env/components/button/button_group/button_group_button.js +8 -51
- package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
- package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
- package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
- package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -2
- package/test-env/components/combo_box/combo_box.js +7 -5
- package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
- package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
- package/test-env/components/combo_box/utils.js +31 -0
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +1 -1
- package/test-env/components/datagrid/controls/column_selector.js +5 -6
- package/test-env/components/datagrid/controls/column_sorting.js +5 -8
- package/test-env/components/datagrid/controls/display_selector.js +21 -16
- package/test-env/components/datagrid/data_grid.js +2 -863
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
- package/test-env/components/facet/facet_button.js +1 -1
- package/test-env/components/filter_group/filter_group.styles.js +1 -1
- package/test-env/components/i18n/i18n.js +1 -0
- package/test-env/components/popover/input_popover.js +1 -1
- package/test-env/components/popover/popover.js +29 -35
- package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
- package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
- package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
- package/test-env/components/toast/global_toast_list.js +11 -1
- package/test-env/global_styling/mixins/_states.js +4 -1
- package/test-env/services/color/eui_palettes.js +1 -8
- package/test-env/services/color/index.js +0 -7
- package/test-env/services/hooks/useCombinedRefs.js +19 -10
- package/test-env/services/index.js +0 -15
- package/test-env/test/rtl/component_helpers.js +41 -3
- package/es/services/random.js +0 -94
- package/es/services/utils.js +0 -25
- package/es/test/patch_random.js +0 -18
- package/lib/services/random.js +0 -100
- package/lib/services/utils.js +0 -35
- package/lib/test/patch_random.js +0 -25
- package/optimize/es/services/random.js +0 -85
- package/optimize/es/services/utils.js +0 -25
- package/optimize/es/test/patch_random.js +0 -18
- package/optimize/lib/services/random.js +0 -91
- package/optimize/lib/services/utils.js +0 -35
- package/optimize/lib/test/patch_random.js +0 -25
- package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
- package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
- package/test-env/services/random.js +0 -91
- package/test-env/services/utils.js +0 -35
- package/test-env/test/patch_random.js +0 -25
|
@@ -56,9 +56,6 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
|
|
|
56
56
|
'euiButtonGroup-isDisabled': isDisabled
|
|
57
57
|
}, className);
|
|
58
58
|
var typeIsSingle = type === 'single';
|
|
59
|
-
var nameIfSingle = (0, _services.useGeneratedHtmlId)({
|
|
60
|
-
conditionalId: name
|
|
61
|
-
});
|
|
62
59
|
return (0, _react2.jsx)("fieldset", (0, _extends2.default)({
|
|
63
60
|
css: wrapperCssStyles,
|
|
64
61
|
className: classes
|
|
@@ -70,15 +67,17 @@ var EuiButtonGroup = function EuiButtonGroup(_ref) {
|
|
|
70
67
|
}, options.map(function (option, index) {
|
|
71
68
|
return (0, _react2.jsx)(_button_group_button.EuiButtonGroupButton, (0, _extends2.default)({
|
|
72
69
|
key: index,
|
|
73
|
-
name: nameIfSingle,
|
|
74
70
|
isDisabled: isDisabled
|
|
75
71
|
}, option, {
|
|
76
|
-
|
|
72
|
+
onClick: typeIsSingle ? function () {
|
|
73
|
+
return onChange(option.id, option.value);
|
|
74
|
+
} : function () {
|
|
75
|
+
return onChange(option.id);
|
|
76
|
+
},
|
|
77
77
|
isSelected: typeIsSingle ? option.id === idSelected : idToSelectedMap[option.id],
|
|
78
78
|
color: color,
|
|
79
79
|
size: buttonSize,
|
|
80
|
-
isIconOnly: isIconOnly
|
|
81
|
-
onChange: onChange
|
|
80
|
+
isIconOnly: isIconOnly
|
|
82
81
|
}));
|
|
83
82
|
})));
|
|
84
83
|
};
|
|
@@ -169,8 +168,7 @@ EuiButtonGroup.propTypes = {
|
|
|
169
168
|
css: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.any])
|
|
170
169
|
}).isRequired).isRequired,
|
|
171
170
|
/**
|
|
172
|
-
*
|
|
173
|
-
* Defaults to a random string
|
|
171
|
+
* @deprecated No longer needed. You can safely remove this prop entirely
|
|
174
172
|
*/
|
|
175
173
|
name: _propTypes.default.string,
|
|
176
174
|
/**
|
|
@@ -17,7 +17,7 @@ var _inner_text = require("../../inner_text");
|
|
|
17
17
|
var _button_display = require("../button_display/_button_display");
|
|
18
18
|
var _button_group_button = require("./button_group_button.styles");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "
|
|
20
|
+
var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
|
|
21
21
|
/*
|
|
22
22
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
23
23
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -33,44 +33,11 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
|
|
|
33
33
|
_ref$isSelected = _ref.isSelected,
|
|
34
34
|
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
35
35
|
label = _ref.label,
|
|
36
|
-
name = _ref.name,
|
|
37
|
-
_onChange = _ref.onChange,
|
|
38
|
-
size = _ref.size,
|
|
39
36
|
value = _ref.value,
|
|
37
|
+
size = _ref.size,
|
|
40
38
|
_ref$color = _ref.color,
|
|
41
39
|
_color = _ref$color === void 0 ? 'primary' : _ref$color,
|
|
42
|
-
_ref$element = _ref.element,
|
|
43
|
-
_element = _ref$element === void 0 ? 'button' : _ref$element,
|
|
44
|
-
_ref$type = _ref.type,
|
|
45
|
-
type = _ref$type === void 0 ? 'button' : _ref$type,
|
|
46
40
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
47
|
-
// Force element to be a button if disabled
|
|
48
|
-
var element = isDisabled ? 'button' : _element;
|
|
49
|
-
var elementProps = {};
|
|
50
|
-
var singleInput;
|
|
51
|
-
if (element === 'label') {
|
|
52
|
-
singleInput = (0, _react2.jsx)("input", {
|
|
53
|
-
className: "euiScreenReaderOnly",
|
|
54
|
-
name: name,
|
|
55
|
-
checked: isSelected,
|
|
56
|
-
disabled: isDisabled,
|
|
57
|
-
value: value,
|
|
58
|
-
type: "radio",
|
|
59
|
-
onChange: function onChange() {
|
|
60
|
-
return _onChange(id, value);
|
|
61
|
-
},
|
|
62
|
-
"data-test-subj": id
|
|
63
|
-
});
|
|
64
|
-
} else {
|
|
65
|
-
elementProps = {
|
|
66
|
-
'data-test-subj': id,
|
|
67
|
-
isSelected: isSelected,
|
|
68
|
-
type: type,
|
|
69
|
-
onClick: function onClick() {
|
|
70
|
-
return _onChange(id);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
41
|
var isCompressed = size === 'compressed';
|
|
75
42
|
var color = isDisabled ? 'disabled' : _color;
|
|
76
43
|
var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
|
|
@@ -100,7 +67,6 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
|
|
|
100
67
|
return (0, _react2.jsx)(_button_display.EuiButtonDisplay, (0, _extends2.default)({
|
|
101
68
|
css: cssStyles,
|
|
102
69
|
className: buttonClasses,
|
|
103
|
-
element: element,
|
|
104
70
|
isDisabled: isDisabled,
|
|
105
71
|
size: size === 'compressed' ? 's' : size,
|
|
106
72
|
contentProps: {
|
|
@@ -111,8 +77,10 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
|
|
|
111
77
|
ref: buttonTextRef,
|
|
112
78
|
'data-text': innerText
|
|
113
79
|
},
|
|
114
|
-
title: innerText
|
|
115
|
-
|
|
80
|
+
title: innerText,
|
|
81
|
+
"data-test-subj": id,
|
|
82
|
+
isSelected: isSelected
|
|
83
|
+
}, rest), label);
|
|
116
84
|
};
|
|
117
85
|
exports.EuiButtonGroupButton = EuiButtonGroupButton;
|
|
118
86
|
EuiButtonGroupButton.propTypes = {
|
|
@@ -125,13 +93,10 @@ EuiButtonGroupButton.propTypes = {
|
|
|
125
93
|
*/
|
|
126
94
|
label: _propTypes.default.node.isRequired,
|
|
127
95
|
isDisabled: _propTypes.default.bool,
|
|
128
|
-
/**
|
|
129
|
-
* The value of the radio input for 'single'.
|
|
130
|
-
*/
|
|
131
96
|
/**
|
|
132
97
|
* The value of the radio input.
|
|
133
98
|
*/
|
|
134
|
-
value: _propTypes.default.
|
|
99
|
+
value: _propTypes.default.any,
|
|
135
100
|
/**
|
|
136
101
|
* The type of the underlying HTML button
|
|
137
102
|
*/
|
|
@@ -161,18 +126,10 @@ EuiButtonGroupButton.propTypes = {
|
|
|
161
126
|
"aria-label": _propTypes.default.string,
|
|
162
127
|
"data-test-subj": _propTypes.default.string,
|
|
163
128
|
css: _propTypes.default.any,
|
|
164
|
-
/**
|
|
165
|
-
* Element to display based on single or multi
|
|
166
|
-
*/
|
|
167
|
-
element: _propTypes.default.oneOf(["button", "label"]).isRequired,
|
|
168
129
|
/**
|
|
169
130
|
* Styles the selected button to look selected (usually with `fill`)
|
|
170
131
|
*/
|
|
171
132
|
isSelected: _propTypes.default.bool,
|
|
172
|
-
/**
|
|
173
|
-
* Name of the whole group for 'single'.
|
|
174
|
-
*/
|
|
175
|
-
name: _propTypes.default.string,
|
|
176
133
|
/**
|
|
177
134
|
* Inherit from EuiButtonGroup
|
|
178
135
|
*/
|
|
@@ -188,5 +145,5 @@ EuiButtonGroupButton.propTypes = {
|
|
|
188
145
|
/**
|
|
189
146
|
* Inherit from EuiButtonGroup
|
|
190
147
|
*/
|
|
191
|
-
|
|
148
|
+
onClick: _propTypes.default.func.isRequired
|
|
192
149
|
};
|
|
@@ -56,25 +56,15 @@ var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeCon
|
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Focus utilities - made complex by the two different button styles
|
|
62
|
-
* and the fact that `label`/`input` combos need :focus-within,
|
|
63
|
-
* but `button` does not
|
|
64
|
-
*/
|
|
65
59
|
exports.euiButtonGroupButtonStyles = euiButtonGroupButtonStyles;
|
|
66
|
-
var _outlineSelectors = function _outlineSelectors(outlineCss) {
|
|
67
|
-
return /*#__PURE__*/(0, _react.css)("&:is(button){&:focus-visible{", outlineCss, ";}}&:is(label){&:focus-within{", outlineCss, ";}@supports selector(:has(*)){/* Once all evergreen browsers support :has, we can remove\n @supports and the outline: none reset just use this selector */&:focus-within{outline:none;}&:has(:focus-visible){", outlineCss, ";}}}");
|
|
68
|
-
};
|
|
69
60
|
var _compressedButtonFocusColor = function _compressedButtonFocusColor(euiThemeContext, color) {
|
|
70
|
-
var euiTheme = euiThemeContext.euiTheme;
|
|
71
61
|
var _euiButtonFillColor = (0, _button.euiButtonFillColor)(euiThemeContext, color),
|
|
72
62
|
backgroundColor = _euiButtonFillColor.backgroundColor;
|
|
73
|
-
return
|
|
63
|
+
return /*#__PURE__*/(0, _react.css)("&:focus-visible{", (0, _global_styling.euiOutline)(euiThemeContext, 'center', backgroundColor), " &:is(.euiButtonGroupButton-isSelected){outline-offset:0;}}");
|
|
74
64
|
};
|
|
75
65
|
exports._compressedButtonFocusColor = _compressedButtonFocusColor;
|
|
76
66
|
var _uncompressedButtonFocus = function _uncompressedButtonFocus(euiThemeContext) {
|
|
77
67
|
var euiTheme = euiThemeContext.euiTheme;
|
|
78
|
-
return
|
|
68
|
+
return /*#__PURE__*/(0, _react.css)("&:focus-visible{", (0, _global_styling.euiOutline)(euiThemeContext, 'inset', euiTheme.colors.fullShade), ";}");
|
|
79
69
|
};
|
|
80
70
|
exports._uncompressedButtonFocus = _uncompressedButtonFocus;
|
|
@@ -193,6 +193,14 @@ EuiCollapsibleNavGroup.propTypes = {
|
|
|
193
193
|
* When using `fieldset`, it will enforce `buttonElement = legend` as well.
|
|
194
194
|
*/
|
|
195
195
|
element: _propTypes.default.oneOf(["div", "fieldset"]),
|
|
196
|
+
/**
|
|
197
|
+
* Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
|
|
198
|
+
*
|
|
199
|
+
* If your accordion contains significant enough content to be a document
|
|
200
|
+
* [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
|
|
201
|
+
* @default group
|
|
202
|
+
*/
|
|
203
|
+
role: _propTypes.default.any,
|
|
196
204
|
/**
|
|
197
205
|
* Class that will apply to the trigger for the accordion.
|
|
198
206
|
*/
|
package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js
CHANGED
|
@@ -43,17 +43,22 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
|
|
|
43
43
|
var euiTheme = (0, _services.useEuiTheme)();
|
|
44
44
|
var styles = (0, _collapsible_nav_group.euiCollapsibleNavGroupStyles)(euiTheme);
|
|
45
45
|
var cssStyles = [styles.euiCollapsibleNavGroup, isPush && isCollapsed ? styles.euiCollapsibleNavGroup__title : styles.isWrapper, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.css];
|
|
46
|
+
var labelledById = (0, _services.useGeneratedHtmlId)();
|
|
46
47
|
return (0, _react2.jsx)("div", (0, _extends2.default)({}, wrapperProps, {
|
|
47
48
|
className: classes,
|
|
48
49
|
css: cssStyles
|
|
49
50
|
}), isCollapsed && isPush ? (0, _react2.jsx)(_collapsed_nav_popover.EuiCollapsedNavPopover, (0, _extends2.default)({
|
|
50
51
|
className: classes,
|
|
51
52
|
items: items
|
|
52
|
-
}, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, (0, _extends2.default)({
|
|
53
|
+
}, props)) : (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavItem, (0, _extends2.default)({
|
|
54
|
+
id: labelledById
|
|
55
|
+
}, props, {
|
|
53
56
|
css: styles.euiCollapsibleNavGroup__title
|
|
54
57
|
})), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
|
|
55
58
|
items: items,
|
|
56
|
-
isGroup: true
|
|
59
|
+
isGroup: true,
|
|
60
|
+
role: "group",
|
|
61
|
+
"aria-labelledby": props.id || labelledById
|
|
57
62
|
})));
|
|
58
63
|
};
|
|
59
64
|
exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
|
package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js
CHANGED
|
@@ -51,10 +51,12 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
|
|
|
51
51
|
}
|
|
52
52
|
} : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
|
|
53
53
|
|
|
54
|
+
var labelledById = (0, _services.useGeneratedHtmlId)();
|
|
54
55
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
55
56
|
className: classes
|
|
56
57
|
}, cssStyles, rest), (0, _react2.jsx)(_collapsible_nav_link.EuiCollapsibleNavLink, (0, _extends2.default)({
|
|
57
|
-
href: href
|
|
58
|
+
href: href,
|
|
59
|
+
id: labelledById
|
|
58
60
|
}, linkProps, {
|
|
59
61
|
isSelected: isSelected,
|
|
60
62
|
isSubItem: isSubItem,
|
|
@@ -62,7 +64,9 @@ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
|
|
|
62
64
|
}), header), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
|
|
63
65
|
items: items,
|
|
64
66
|
isSubItem: isSubItem,
|
|
65
|
-
className: "euiCollapsibleNavGroup__children"
|
|
67
|
+
className: "euiCollapsibleNavGroup__children",
|
|
68
|
+
role: "group",
|
|
69
|
+
"aria-labelledby": (linkProps === null || linkProps === void 0 ? void 0 : linkProps.id) || labelledById
|
|
66
70
|
}));
|
|
67
71
|
};
|
|
68
72
|
exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
|
|
@@ -411,14 +411,16 @@ var EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
411
411
|
var _this$props10 = _this.props,
|
|
412
412
|
onSearchChange = _this$props10.onSearchChange,
|
|
413
413
|
delimiter = _this$props10.delimiter;
|
|
414
|
-
if (onSearchChange) {
|
|
415
|
-
var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
|
|
416
|
-
onSearchChange(searchValue, _hasMatchingOptions);
|
|
417
|
-
}
|
|
418
414
|
_this.setState({
|
|
419
415
|
searchValue: searchValue
|
|
420
416
|
}, function () {
|
|
421
|
-
if (searchValue && _this.state.isListOpen === false)
|
|
417
|
+
if (searchValue && _this.state.isListOpen === false) {
|
|
418
|
+
_this.openList();
|
|
419
|
+
}
|
|
420
|
+
if (onSearchChange) {
|
|
421
|
+
var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
|
|
422
|
+
onSearchChange(searchValue, _hasMatchingOptions);
|
|
423
|
+
}
|
|
422
424
|
});
|
|
423
425
|
if (delimiter && searchValue.endsWith(delimiter)) {
|
|
424
426
|
_this.setCustomOptions(false);
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.EuiComboBoxInput = void 0;
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
14
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -23,6 +23,7 @@ var _services = require("../../../services");
|
|
|
23
23
|
var _accessibility = require("../../accessibility");
|
|
24
24
|
var _form_control_layout = require("../../form/form_control_layout");
|
|
25
25
|
var _num_icons = require("../../form/form_control_layout/_num_icons");
|
|
26
|
+
var _utils = require("../utils");
|
|
26
27
|
var _combo_box_pill = require("./combo_box_pill");
|
|
27
28
|
var _react2 = require("@emotion/react");
|
|
28
29
|
var _excluded = ["key", "label", "color", "onClick", "append", "prepend", "truncationProps"];
|
|
@@ -60,6 +61,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
60
61
|
});
|
|
61
62
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateInputSize", function (inputValue) {
|
|
62
63
|
if (!_this.widthUtils) return;
|
|
64
|
+
if (_this.asPlainText) return;
|
|
63
65
|
_this.widthUtils.setTextToCheck(inputValue);
|
|
64
66
|
// Canvas has minute subpixel differences in rendering compared to DOM
|
|
65
67
|
// We'll buffer the input by ~2px just to ensure sufficient width
|
|
@@ -85,65 +87,42 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
85
87
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onKeyDown", function (event) {
|
|
86
88
|
var _this$props2 = _this.props,
|
|
87
89
|
searchValue = _this$props2.searchValue,
|
|
90
|
+
hasSelectedOptions = _this$props2.hasSelectedOptions,
|
|
88
91
|
selectedOptions = _this$props2.selectedOptions,
|
|
89
92
|
onRemoveOption = _this$props2.onRemoveOption,
|
|
90
93
|
singleSelection = _this$props2.singleSelection,
|
|
91
94
|
isListOpen = _this$props2.isListOpen,
|
|
92
|
-
onOpenListClick = _this$props2.onOpenListClick
|
|
93
|
-
|
|
94
|
-
// When backspacing from an empty input, delete the last pill option in the list
|
|
95
|
+
onOpenListClick = _this$props2.onOpenListClick,
|
|
96
|
+
onChange = _this$props2.onChange;
|
|
95
97
|
var searchIsEmpty = !searchValue.length;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
if (event.key === _services.keys.BACKSPACE) {
|
|
99
|
+
// When backspacing in a plain text combobox, change normally and remove the selection
|
|
100
|
+
if (_this.asPlainText) {
|
|
101
|
+
onChange(event.currentTarget.value);
|
|
102
|
+
if (hasSelectedOptions) {
|
|
103
|
+
onRemoveOption(selectedOptions[selectedOptions.length - 1]);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// When backspacing from an empty input, delete the last pill option in the list
|
|
107
|
+
else if (searchIsEmpty && hasSelectedOptions) {
|
|
108
|
+
onRemoveOption(selectedOptions[selectedOptions.length - 1]);
|
|
109
|
+
if (!!singleSelection && !isListOpen) {
|
|
110
|
+
onOpenListClick();
|
|
111
|
+
}
|
|
101
112
|
}
|
|
102
113
|
}
|
|
103
114
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
this.updateInputSize(this.props.searchValue);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "render",
|
|
115
|
-
value: function render() {
|
|
116
|
-
var _this$props3 = this.props,
|
|
117
|
-
compressed = _this$props3.compressed,
|
|
118
|
-
focusedOptionId = _this$props3.focusedOptionId,
|
|
119
|
-
fullWidth = _this$props3.fullWidth,
|
|
120
|
-
hasSelectedOptions = _this$props3.hasSelectedOptions,
|
|
121
|
-
id = _this$props3.id,
|
|
122
|
-
isDisabled = _this$props3.isDisabled,
|
|
123
|
-
isListOpen = _this$props3.isListOpen,
|
|
124
|
-
noIcon = _this$props3.noIcon,
|
|
125
|
-
_onChange = _this$props3.onChange,
|
|
126
|
-
onClear = _this$props3.onClear,
|
|
127
|
-
onClick = _this$props3.onClick,
|
|
128
|
-
onCloseListClick = _this$props3.onCloseListClick,
|
|
129
|
-
onOpenListClick = _this$props3.onOpenListClick,
|
|
130
|
-
onRemoveOption = _this$props3.onRemoveOption,
|
|
131
|
-
placeholder = _this$props3.placeholder,
|
|
132
|
-
rootId = _this$props3.rootId,
|
|
133
|
-
searchValue = _this$props3.searchValue,
|
|
115
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderPills", function () {
|
|
116
|
+
// Don't render a pill for plain text comboboxes - use the input instead
|
|
117
|
+
if (_this.asPlainText) return null;
|
|
118
|
+
// Don't render the single pill selection while searching
|
|
119
|
+
if (_this.props.singleSelection && _this.props.searchValue) return null;
|
|
120
|
+
var _this$props3 = _this.props,
|
|
134
121
|
selectedOptions = _this$props3.selectedOptions,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
isLoading = _this$props3.isLoading,
|
|
140
|
-
isInvalid = _this$props3.isInvalid,
|
|
141
|
-
autoFocus = _this$props3.autoFocus,
|
|
142
|
-
ariaLabel = _this$props3['aria-label'],
|
|
143
|
-
ariaLabelledby = _this$props3['aria-labelledby'];
|
|
144
|
-
var singleSelection = Boolean(singleSelectionProp);
|
|
145
|
-
var asPlainText = singleSelectionProp && (0, _typeof2.default)(singleSelectionProp) === 'object' && singleSelectionProp.asPlainText || false;
|
|
146
|
-
var pills = selectedOptions ? selectedOptions.map(function (option) {
|
|
122
|
+
isDisabled = _this$props3.isDisabled,
|
|
123
|
+
onRemoveOption = _this$props3.onRemoveOption;
|
|
124
|
+
if (!selectedOptions || !selectedOptions.length) return null;
|
|
125
|
+
return selectedOptions.map(function (option) {
|
|
147
126
|
var key = option.key,
|
|
148
127
|
label = option.label,
|
|
149
128
|
color = option.color,
|
|
@@ -152,17 +131,77 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
152
131
|
prepend = option.prepend,
|
|
153
132
|
truncationProps = option.truncationProps,
|
|
154
133
|
rest = (0, _objectWithoutProperties2.default)(option, _excluded);
|
|
155
|
-
var pillOnClose = isDisabled || singleSelection || onClick ? undefined : onRemoveOption;
|
|
134
|
+
var pillOnClose = isDisabled || _this.props.singleSelection || onClick ? undefined : onRemoveOption;
|
|
156
135
|
return (0, _react2.jsx)(_combo_box_pill.EuiComboBoxPill, (0, _extends2.default)({
|
|
157
136
|
option: option,
|
|
158
137
|
onClose: pillOnClose,
|
|
159
138
|
key: key !== null && key !== void 0 ? key : label.toLowerCase(),
|
|
160
139
|
color: color,
|
|
161
140
|
onClick: onClick,
|
|
162
|
-
onClickAriaLabel: onClick ? 'Change' : undefined
|
|
163
|
-
asPlainText: asPlainText
|
|
141
|
+
onClickAriaLabel: onClick ? 'Change' : undefined
|
|
164
142
|
}, rest), label);
|
|
165
|
-
})
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
return _this;
|
|
146
|
+
}
|
|
147
|
+
(0, _createClass2.default)(EuiComboBoxInput, [{
|
|
148
|
+
key: "componentDidUpdate",
|
|
149
|
+
value: function componentDidUpdate(prevProps) {
|
|
150
|
+
if (prevProps.searchValue !== this.props.searchValue) {
|
|
151
|
+
this.updateInputSize(this.props.searchValue);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "asPlainText",
|
|
156
|
+
get: function get() {
|
|
157
|
+
var singleSelection = this.props.singleSelection;
|
|
158
|
+
var isSingleSelectionConfig = singleSelection && (0, _typeof2.default)(singleSelection) === 'object';
|
|
159
|
+
return !!(isSingleSelectionConfig && singleSelection.asPlainText);
|
|
160
|
+
}
|
|
161
|
+
}, {
|
|
162
|
+
key: "searchValue",
|
|
163
|
+
get: function get() {
|
|
164
|
+
var _this$props4 = this.props,
|
|
165
|
+
searchValue = _this$props4.searchValue,
|
|
166
|
+
selectedOptions = _this$props4.selectedOptions;
|
|
167
|
+
if (this.asPlainText) {
|
|
168
|
+
var _selectedOptions$;
|
|
169
|
+
return searchValue || (selectedOptions === null || selectedOptions === void 0 ? void 0 : (_selectedOptions$ = selectedOptions[0]) === null || _selectedOptions$ === void 0 ? void 0 : _selectedOptions$.label) || '';
|
|
170
|
+
} else {
|
|
171
|
+
return searchValue;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
key: "render",
|
|
176
|
+
value: function render() {
|
|
177
|
+
var _this$props5 = this.props,
|
|
178
|
+
compressed = _this$props5.compressed,
|
|
179
|
+
focusedOptionId = _this$props5.focusedOptionId,
|
|
180
|
+
fullWidth = _this$props5.fullWidth,
|
|
181
|
+
hasSelectedOptions = _this$props5.hasSelectedOptions,
|
|
182
|
+
id = _this$props5.id,
|
|
183
|
+
isDisabled = _this$props5.isDisabled,
|
|
184
|
+
isListOpen = _this$props5.isListOpen,
|
|
185
|
+
noIcon = _this$props5.noIcon,
|
|
186
|
+
_onChange = _this$props5.onChange,
|
|
187
|
+
onClear = _this$props5.onClear,
|
|
188
|
+
onClick = _this$props5.onClick,
|
|
189
|
+
onFocus = _this$props5.onFocus,
|
|
190
|
+
onCloseListClick = _this$props5.onCloseListClick,
|
|
191
|
+
onOpenListClick = _this$props5.onOpenListClick,
|
|
192
|
+
placeholder = _this$props5.placeholder,
|
|
193
|
+
rootId = _this$props5.rootId,
|
|
194
|
+
searchValue = _this$props5.searchValue,
|
|
195
|
+
selectedOptions = _this$props5.selectedOptions,
|
|
196
|
+
singleSelection = _this$props5.singleSelection,
|
|
197
|
+
value = _this$props5.value,
|
|
198
|
+
prepend = _this$props5.prepend,
|
|
199
|
+
append = _this$props5.append,
|
|
200
|
+
isLoading = _this$props5.isLoading,
|
|
201
|
+
isInvalid = _this$props5.isInvalid,
|
|
202
|
+
autoFocus = _this$props5.autoFocus,
|
|
203
|
+
ariaLabel = _this$props5['aria-label'],
|
|
204
|
+
ariaLabelledby = _this$props5['aria-labelledby'];
|
|
166
205
|
var removeOptionMessage;
|
|
167
206
|
var removeOptionMessageId;
|
|
168
207
|
if (this.state.hasFocus) {
|
|
@@ -179,12 +218,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
179
218
|
id: removeOptionMessageId
|
|
180
219
|
}, removeOptionMessageContent));
|
|
181
220
|
}
|
|
182
|
-
var
|
|
183
|
-
if (placeholder && selectedOptions && !selectedOptions.length && !searchValue) {
|
|
184
|
-
placeholderMessage = (0, _react2.jsx)("p", {
|
|
185
|
-
className: "euiComboBoxPlaceholder"
|
|
186
|
-
}, placeholder);
|
|
187
|
-
}
|
|
221
|
+
var showPlaceholder = placeholder && !(selectedOptions !== null && selectedOptions !== void 0 && selectedOptions.length) && !searchValue;
|
|
188
222
|
var clickProps = {};
|
|
189
223
|
if (!isDisabled && onClear && hasSelectedOptions) {
|
|
190
224
|
clickProps.clear = {
|
|
@@ -214,6 +248,7 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
214
248
|
'euiComboBox__inputWrap--compressed': compressed,
|
|
215
249
|
'euiComboBox__inputWrap--fullWidth': fullWidth,
|
|
216
250
|
'euiComboBox__inputWrap--noWrap': singleSelection,
|
|
251
|
+
'euiComboBox__inputWrap--plainText': this.asPlainText || showPlaceholder,
|
|
217
252
|
'euiComboBox__inputWrap--inGroup': prepend || append
|
|
218
253
|
});
|
|
219
254
|
return (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, (0, _extends2.default)({
|
|
@@ -231,7 +266,10 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
231
266
|
"data-test-subj": "comboBoxInput",
|
|
232
267
|
onClick: onClick,
|
|
233
268
|
tabIndex: -1 // becomes onBlur event's relatedTarget, otherwise relatedTarget is null when clicking on this div
|
|
234
|
-
},
|
|
269
|
+
}, this.renderPills(), (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
270
|
+
option: this.asPlainText ? selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0] : undefined,
|
|
271
|
+
classNamePrefix: "euiComboBoxPlainTextSelection"
|
|
272
|
+
}, (0, _react2.jsx)("input", {
|
|
235
273
|
"aria-activedescendant": focusedOptionId,
|
|
236
274
|
"aria-autocomplete": "list",
|
|
237
275
|
"aria-controls": isListOpen ? rootId('listbox') : '',
|
|
@@ -252,11 +290,15 @@ var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
|
|
|
252
290
|
ref: this.inputRefCallback,
|
|
253
291
|
role: "combobox",
|
|
254
292
|
style: {
|
|
255
|
-
inlineSize: this.state.inputWidth
|
|
293
|
+
inlineSize: this.asPlainText || showPlaceholder ? '100%' : this.state.inputWidth
|
|
256
294
|
},
|
|
257
|
-
|
|
295
|
+
placeholder: showPlaceholder ? placeholder : undefined,
|
|
296
|
+
value: this.searchValue,
|
|
258
297
|
autoFocus: autoFocus
|
|
259
|
-
|
|
298
|
+
// Force the menu to re-open on every input click - only necessary when plain text
|
|
299
|
+
,
|
|
300
|
+
onClick: this.asPlainText ? onFocus : undefined // Type shenanigans - event should be mostly the same
|
|
301
|
+
})), removeOptionMessage));
|
|
260
302
|
}
|
|
261
303
|
}]);
|
|
262
304
|
return EuiComboBoxInput;
|
|
@@ -20,8 +20,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
20
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
21
|
var _badge = require("../../badge");
|
|
22
22
|
var _i18n = require("../../i18n");
|
|
23
|
+
var _utils = require("../utils");
|
|
23
24
|
var _react2 = require("@emotion/react");
|
|
24
|
-
var _excluded = ["
|
|
25
|
+
var _excluded = ["children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
|
|
25
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
27
|
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; }
|
|
27
28
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -57,7 +58,6 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
|
|
|
57
58
|
value: function render() {
|
|
58
59
|
var _this2 = this;
|
|
59
60
|
var _this$props2 = this.props,
|
|
60
|
-
asPlainText = _this$props2.asPlainText,
|
|
61
61
|
children = _this$props2.children,
|
|
62
62
|
className = _this$props2.className,
|
|
63
63
|
color = _this$props2.color,
|
|
@@ -66,20 +66,17 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
|
|
|
66
66
|
onClose = _this$props2.onClose,
|
|
67
67
|
option = _this$props2.option,
|
|
68
68
|
rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
|
|
69
|
-
var classes = (0, _classnames.default)('euiComboBoxPill',
|
|
70
|
-
'euiComboBoxPill--plainText': asPlainText
|
|
71
|
-
}, className);
|
|
69
|
+
var classes = (0, _classnames.default)('euiComboBoxPill', className);
|
|
72
70
|
var onClickProps = onClick && onClickAriaLabel ? {
|
|
73
71
|
onClick: onClick,
|
|
74
72
|
onClickAriaLabel: onClickAriaLabel
|
|
75
73
|
} : {};
|
|
76
|
-
var content = (0, _react2.jsx)(
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
var content = (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
75
|
+
option: option,
|
|
76
|
+
classNamePrefix: "euiComboBoxPill"
|
|
77
|
+
}, (0, _react2.jsx)("span", {
|
|
79
78
|
className: "eui-textTruncate"
|
|
80
|
-
}, children)
|
|
81
|
-
className: "euiComboBoxPill__append"
|
|
82
|
-
}, option.append));
|
|
79
|
+
}, children));
|
|
83
80
|
if (onClose) {
|
|
84
81
|
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
85
82
|
token: "euiComboBoxPill.removeSelection",
|
|
@@ -100,12 +97,6 @@ var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
|
|
|
100
97
|
}, onClickProps, rest), content);
|
|
101
98
|
});
|
|
102
99
|
}
|
|
103
|
-
if (asPlainText) {
|
|
104
|
-
return (0, _react2.jsx)("span", (0, _extends2.default)({
|
|
105
|
-
className: classes,
|
|
106
|
-
"data-test-subj": "euiComboBoxPill"
|
|
107
|
-
}, rest), content);
|
|
108
|
-
}
|
|
109
100
|
return (0, _react2.jsx)(_badge.EuiBadge, (0, _extends2.default)({
|
|
110
101
|
className: classes,
|
|
111
102
|
color: color,
|
|
@@ -121,7 +112,6 @@ exports.EuiComboBoxPill = EuiComboBoxPill;
|
|
|
121
112
|
color: 'hollow'
|
|
122
113
|
});
|
|
123
114
|
EuiComboBoxPill.propTypes = {
|
|
124
|
-
asPlainText: _propTypes.default.bool,
|
|
125
115
|
children: _propTypes.default.string,
|
|
126
116
|
className: _propTypes.default.string,
|
|
127
117
|
color: _propTypes.default.string,
|
|
@@ -30,6 +30,7 @@ var _filter_select_item = require("../../filter_group/filter_select_item");
|
|
|
30
30
|
var _badge = require("../../badge");
|
|
31
31
|
var _text_truncate = require("../../text_truncate");
|
|
32
32
|
var _input_popover = require("../../popover/input_popover");
|
|
33
|
+
var _utils = require("../utils");
|
|
33
34
|
var _react2 = require("@emotion/react");
|
|
34
35
|
var _excluded = ["children"],
|
|
35
36
|
_excluded2 = ["key", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps"],
|
|
@@ -128,13 +129,12 @@ var EuiComboBoxOptionsList = /*#__PURE__*/function (_Component) {
|
|
|
128
129
|
title: label
|
|
129
130
|
}, rest), (0, _react2.jsx)("span", {
|
|
130
131
|
className: "euiComboBoxOption__contentWrapper"
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
}, (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
133
|
+
option: option,
|
|
134
|
+
classNamePrefix: "euiComboBoxOption"
|
|
135
|
+
}, (0, _react2.jsx)("span", {
|
|
134
136
|
className: "euiComboBoxOption__content"
|
|
135
|
-
}, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps)),
|
|
136
|
-
className: "euiComboBoxOption__append"
|
|
137
|
-
}, append), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
|
|
137
|
+
}, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
|
|
138
138
|
});
|
|
139
139
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "optionWidth", void 0);
|
|
140
140
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setOptionWidth", function (width) {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.EuiComboBoxOptionAppendPrepend = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* DRY util for rendering an option with its prepend and append properties
|
|
20
|
+
*/
|
|
21
|
+
var EuiComboBoxOptionAppendPrepend = function EuiComboBoxOptionAppendPrepend(_ref) {
|
|
22
|
+
var children = _ref.children,
|
|
23
|
+
option = _ref.option,
|
|
24
|
+
classNamePrefix = _ref.classNamePrefix;
|
|
25
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (option === null || option === void 0 ? void 0 : option.prepend) && (0, _react2.jsx)("span", {
|
|
26
|
+
className: "".concat(classNamePrefix, "__prepend")
|
|
27
|
+
}, option.prepend), children, (option === null || option === void 0 ? void 0 : option.append) && (0, _react2.jsx)("span", {
|
|
28
|
+
className: "".concat(classNamePrefix, "__append")
|
|
29
|
+
}, option.append));
|
|
30
|
+
};
|
|
31
|
+
exports.EuiComboBoxOptionAppendPrepend = EuiComboBoxOptionAppendPrepend;
|