@elastic/eui 95.6.0 → 95.7.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 +0 -642
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -642
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/combo_box/combo_box.js +54 -50
- package/es/components/combo_box/combo_box.styles.js +14 -0
- package/es/components/combo_box/combo_box_input/combo_box_input.js +69 -62
- package/es/components/combo_box/combo_box_input/combo_box_input.styles.js +60 -0
- package/es/components/combo_box/combo_box_input/combo_box_pill.js +50 -138
- package/es/components/combo_box/combo_box_input/combo_box_pill.styles.js +25 -0
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +22 -0
- package/es/components/combo_box/combo_box_options_list/index.js +0 -1
- package/es/components/combo_box/utils.js +26 -3
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +3 -4
- package/es/components/flyout/flyout.styles.js +3 -3
- package/es/components/form/form.styles.js +16 -8
- package/es/components/list_group/list_group.styles.js +3 -3
- package/es/components/popover/input_popover.js +3 -3
- package/es/components/search_bar/search_bar.styles.js +2 -4
- package/es/components/selectable/selectable.js +9 -8
- package/es/components/selectable/selectable.styles.js +22 -0
- package/es/components/selectable/selectable_list/selectable_list.js +38 -29
- package/es/components/selectable/selectable_list/selectable_list.styles.js +35 -0
- package/es/components/selectable/selectable_list/selectable_list_item.js +18 -17
- package/es/components/selectable/selectable_list/selectable_list_item.styles.js +56 -0
- package/es/components/selectable/selectable_message/selectable_message.js +6 -3
- package/es/components/selectable/selectable_message/selectable_message.styles.js +17 -0
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -9
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +47 -0
- package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +40 -10
- package/es/services/theme/index.js +1 -1
- package/es/services/theme/style_memoization.js +14 -0
- package/eui.d.ts +146 -46
- package/i18ntokens.json +118 -118
- package/lib/components/combo_box/combo_box.js +53 -49
- package/lib/components/combo_box/combo_box.styles.js +20 -0
- package/lib/components/combo_box/combo_box_input/combo_box_input.js +68 -61
- package/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
- package/lib/components/combo_box/combo_box_input/combo_box_pill.js +55 -144
- package/lib/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
- package/lib/components/combo_box/combo_box_options_list/index.js +0 -7
- package/lib/components/combo_box/utils.js +29 -9
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
- package/lib/components/flyout/flyout.styles.js +2 -2
- package/lib/components/form/form.styles.js +16 -9
- package/lib/components/list_group/list_group.styles.js +2 -2
- package/lib/components/popover/input_popover.js +2 -2
- package/lib/components/search_bar/search_bar.styles.js +1 -3
- package/lib/components/selectable/selectable.js +9 -8
- package/lib/components/selectable/selectable.styles.js +26 -0
- package/lib/components/selectable/selectable_list/selectable_list.js +38 -29
- package/lib/components/selectable/selectable_list/selectable_list.styles.js +38 -0
- package/lib/components/selectable/selectable_list/selectable_list_item.js +18 -16
- package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
- package/lib/components/selectable/selectable_message/selectable_message.js +6 -3
- package/lib/components/selectable/selectable_message/selectable_message.styles.js +23 -0
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +40 -10
- package/lib/services/theme/index.js +6 -0
- package/lib/services/theme/style_memoization.js +15 -1
- package/optimize/es/components/combo_box/combo_box.js +54 -50
- package/optimize/es/components/combo_box/combo_box.styles.js +14 -0
- package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +64 -62
- package/optimize/es/components/combo_box/combo_box_input/combo_box_input.styles.js +60 -0
- package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +51 -78
- package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.styles.js +25 -0
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +22 -0
- package/optimize/es/components/combo_box/combo_box_options_list/index.js +0 -1
- package/optimize/es/components/combo_box/utils.js +23 -3
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +3 -4
- package/optimize/es/components/flyout/flyout.styles.js +3 -3
- package/optimize/es/components/form/form.styles.js +16 -8
- package/optimize/es/components/list_group/list_group.styles.js +3 -3
- package/optimize/es/components/popover/input_popover.js +3 -3
- package/optimize/es/components/search_bar/search_bar.styles.js +2 -4
- package/optimize/es/components/selectable/selectable.js +9 -8
- package/optimize/es/components/selectable/selectable.styles.js +22 -0
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +38 -29
- package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +35 -0
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +18 -14
- package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +56 -0
- package/optimize/es/components/selectable/selectable_message/selectable_message.js +6 -3
- package/optimize/es/components/selectable/selectable_message/selectable_message.styles.js +17 -0
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -9
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +47 -0
- package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
- package/optimize/es/services/theme/index.js +1 -1
- package/optimize/es/services/theme/style_memoization.js +14 -0
- package/optimize/lib/components/combo_box/combo_box.js +53 -49
- package/optimize/lib/components/combo_box/combo_box.styles.js +20 -0
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +63 -61
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +52 -81
- package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
- package/optimize/lib/components/combo_box/combo_box_options_list/index.js +0 -7
- package/optimize/lib/components/combo_box/utils.js +26 -9
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
- package/optimize/lib/components/flyout/flyout.styles.js +2 -2
- package/optimize/lib/components/form/form.styles.js +16 -9
- package/optimize/lib/components/list_group/list_group.styles.js +2 -2
- package/optimize/lib/components/popover/input_popover.js +2 -2
- package/optimize/lib/components/search_bar/search_bar.styles.js +1 -3
- package/optimize/lib/components/selectable/selectable.js +9 -8
- package/optimize/lib/components/selectable/selectable.styles.js +26 -0
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +38 -29
- package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +38 -0
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +18 -14
- package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
- package/optimize/lib/components/selectable/selectable_message/selectable_message.js +6 -3
- package/optimize/lib/components/selectable/selectable_message/selectable_message.styles.js +23 -0
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
- package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
- package/optimize/lib/services/theme/index.js +6 -0
- package/optimize/lib/services/theme/style_memoization.js +15 -1
- package/package.json +1 -1
- package/src/components/index.scss +0 -2
- package/src/themes/amsterdam/overrides/_index.scss +0 -1
- package/test-env/components/combo_box/combo_box.js +53 -49
- package/test-env/components/combo_box/combo_box.styles.js +20 -0
- package/test-env/components/combo_box/combo_box_input/combo_box_input.js +63 -61
- package/test-env/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
- package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +51 -135
- package/test-env/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
- package/test-env/components/combo_box/combo_box_options_list/index.js +0 -7
- package/test-env/components/combo_box/utils.js +26 -9
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
- package/test-env/components/flyout/flyout.styles.js +2 -2
- package/test-env/components/form/form.styles.js +16 -9
- package/test-env/components/list_group/list_group.styles.js +2 -2
- package/test-env/components/popover/input_popover.js +2 -2
- package/test-env/components/search_bar/search_bar.styles.js +1 -3
- package/test-env/components/selectable/selectable.js +9 -8
- package/test-env/components/selectable/selectable.styles.js +26 -0
- package/test-env/components/selectable/selectable_list/selectable_list.js +38 -29
- package/test-env/components/selectable/selectable_list/selectable_list.styles.js +38 -0
- package/test-env/components/selectable/selectable_list/selectable_list_item.js +18 -14
- package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
- package/test-env/components/selectable/selectable_message/selectable_message.js +6 -3
- package/test-env/components/selectable/selectable_message/selectable_message.styles.js +23 -0
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
- package/test-env/services/theme/index.js +6 -0
- package/test-env/services/theme/style_memoization.js +15 -1
- package/es/components/combo_box/combo_box_options_list/combo_box_option.js +0 -153
- package/lib/components/combo_box/combo_box_options_list/combo_box_option.js +0 -160
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_option.js +0 -90
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_option.js +0 -98
- package/src/components/combo_box/_combo_box.scss +0 -147
- package/src/components/combo_box/_index.scss +0 -3
- package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -38
- package/src/components/combo_box/combo_box_input/_index.scss +0 -1
- package/src/components/combo_box/combo_box_options_list/_combo_box_option.scss +0 -72
- package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +0 -28
- package/src/components/combo_box/combo_box_options_list/_combo_box_title.scss +0 -12
- package/src/components/combo_box/combo_box_options_list/_index.scss +0 -3
- package/src/components/selectable/_index.scss +0 -5
- package/src/components/selectable/_selectable.scss +0 -8
- package/src/components/selectable/selectable_list/_index.scss +0 -3
- package/src/components/selectable/selectable_list/_selectable_list.scss +0 -38
- package/src/components/selectable/selectable_list/_selectable_list_item.scss +0 -62
- package/src/components/selectable/selectable_list/_variables.scss +0 -2
- package/src/components/selectable/selectable_message/_index.scss +0 -1
- package/src/components/selectable/selectable_message/_selectable_message.scss +0 -19
- package/src/components/selectable/selectable_search/_index.scss +0 -1
- package/src/components/selectable/selectable_search/_selectable_search.scss +0 -3
- package/src/components/selectable/selectable_templates/_index.scss +0 -2
- package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +0 -39
- package/src/components/selectable/selectable_templates/_variables.scss +0 -26
- package/src/themes/amsterdam/overrides/_combo_box.scss +0 -50
- package/test-env/components/combo_box/combo_box_options_list/combo_box_option.js +0 -154
|
@@ -18,11 +18,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
19
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
20
|
var _services = require("../../services");
|
|
21
|
+
var _global_styling = require("../../global_styling");
|
|
21
22
|
var _popover = require("../popover");
|
|
22
23
|
var _i18n = require("../i18n");
|
|
24
|
+
var _form = require("../form/form.styles");
|
|
23
25
|
var _matching_options = require("./matching_options");
|
|
24
26
|
var _combo_box_input = require("./combo_box_input/combo_box_input");
|
|
25
27
|
var _combo_box_options_list = require("./combo_box_options_list");
|
|
28
|
+
var _combo_box = require("./combo_box.styles");
|
|
26
29
|
var _react2 = require("@emotion/react");
|
|
27
30
|
var _excluded = ["data-test-subj", "async", "className", "compressed", "customOptionText", "fullWidth", "id", "inputRef", "isCaseSensitive", "isClearable", "isDisabled", "isInvalid", "isLoading", "noSuggestions", "onBlur", "onChange", "onCreateOption", "onSearchChange", "options", "placeholder", "renderOption", "rowHeight", "selectedOptions", "singleSelection", "prepend", "sortMatchesBy", "delimiter", "append", "autoFocus", "truncationProps", "inputPopoverProps", "optionMatcher", "aria-label", "aria-labelledby"];
|
|
28
31
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -488,10 +491,6 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
488
491
|
// options, this tells the user that they've entered invalid input.
|
|
489
492
|
var markAsInvalid = !!(isInvalid || (hasFocus === false || isListOpen === false) && searchValue);
|
|
490
493
|
var classes = (0, _classnames.default)('euiComboBox', className, {
|
|
491
|
-
'euiComboBox--compressed': compressed,
|
|
492
|
-
'euiComboBox--fullWidth': fullWidth,
|
|
493
|
-
'euiComboBox--prepended': prepend,
|
|
494
|
-
'euiComboBox--appended': append,
|
|
495
494
|
'euiComboBox-isDisabled': isDisabled,
|
|
496
495
|
'euiComboBox-isInvalid': markAsInvalid,
|
|
497
496
|
'euiComboBox-isOpen': isListOpen
|
|
@@ -544,52 +543,57 @@ var EuiComboBox = exports.EuiComboBox = /*#__PURE__*/function (_Component) {
|
|
|
544
543
|
*
|
|
545
544
|
* https://www.w3.org/TR/wai-aria-practices-1.2/examples/combobox/combobox-autocomplete-list.html
|
|
546
545
|
*/
|
|
547
|
-
(0, _react2.jsx)(
|
|
548
|
-
|
|
549
|
-
"
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}, inputPopoverProps, {
|
|
559
|
-
isOpen: isListOpen,
|
|
560
|
-
closePopover: this.closeList,
|
|
561
|
-
input: (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
|
|
562
|
-
compressed: compressed,
|
|
563
|
-
focusedOptionId: this.hasActiveOption() ? this.rootId("_option-".concat(this.state.activeOptionIndex)) : undefined,
|
|
546
|
+
(0, _react2.jsx)(_services.RenderWithEuiTheme, null, function (euiTheme) {
|
|
547
|
+
var cssStyles = [_combo_box.euiComboBoxStyles.euiComboBox, fullWidth ? _combo_box.euiComboBoxStyles.fullWidth : (0, _global_styling.logicalStyle)('max-width', (0, _form.euiFormMaxWidth)(euiTheme))];
|
|
548
|
+
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
549
|
+
css: cssStyles
|
|
550
|
+
}, rest, {
|
|
551
|
+
className: classes,
|
|
552
|
+
"data-test-subj": dataTestSubj,
|
|
553
|
+
onKeyDown: _this2.onKeyDown,
|
|
554
|
+
onBlur: _this2.onContainerBlur,
|
|
555
|
+
ref: _this2.comboBoxRefCallback
|
|
556
|
+
}), (0, _react2.jsx)(_popover.EuiInputPopover, (0, _extends2.default)({
|
|
564
557
|
fullWidth: fullWidth,
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
558
|
+
panelPaddingSize: "none",
|
|
559
|
+
disableFocusTrap: true,
|
|
560
|
+
closeOnScroll: true
|
|
561
|
+
}, inputPopoverProps, {
|
|
562
|
+
isOpen: isListOpen,
|
|
563
|
+
closePopover: _this2.closeList,
|
|
564
|
+
input: (0, _react2.jsx)(_combo_box_input.EuiComboBoxInput, {
|
|
565
|
+
compressed: compressed,
|
|
566
|
+
focusedOptionId: _this2.hasActiveOption() ? _this2.rootId("_option-".concat(_this2.state.activeOptionIndex)) : undefined,
|
|
567
|
+
fullWidth: fullWidth,
|
|
568
|
+
hasSelectedOptions: selectedOptions.length > 0,
|
|
569
|
+
id: inputId,
|
|
570
|
+
inputRef: _this2.searchInputRefCallback,
|
|
571
|
+
isDisabled: isDisabled,
|
|
572
|
+
isListOpen: isListOpen,
|
|
573
|
+
noIcon: !!noSuggestions,
|
|
574
|
+
onChange: _this2.onSearchChange,
|
|
575
|
+
onClear: isClearable && !isDisabled ? _this2.clearSelectedOptions : undefined,
|
|
576
|
+
onClick: _this2.onComboBoxClick,
|
|
577
|
+
onCloseListClick: _this2.closeList,
|
|
578
|
+
onFocus: _this2.onComboBoxFocus,
|
|
579
|
+
onOpenListClick: _this2.onOpenListClick,
|
|
580
|
+
onRemoveOption: _this2.onRemoveOption,
|
|
581
|
+
placeholder: placeholder,
|
|
582
|
+
rootId: _this2.rootId,
|
|
583
|
+
searchValue: searchValue,
|
|
584
|
+
selectedOptions: selectedOptions,
|
|
585
|
+
singleSelection: singleSelection,
|
|
586
|
+
value: value,
|
|
587
|
+
append: singleSelection ? append : undefined,
|
|
588
|
+
prepend: singleSelection ? prepend : undefined,
|
|
589
|
+
isLoading: isLoading,
|
|
590
|
+
isInvalid: markAsInvalid,
|
|
591
|
+
autoFocus: autoFocus,
|
|
592
|
+
"aria-label": ariaLabel,
|
|
593
|
+
"aria-labelledby": ariaLabelledby
|
|
594
|
+
})
|
|
595
|
+
}), optionsList));
|
|
596
|
+
})
|
|
593
597
|
);
|
|
594
598
|
}
|
|
595
599
|
}], [{
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiComboBoxStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../global_styling");
|
|
9
|
+
/*
|
|
10
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
12
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
13
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
14
|
+
* Side Public License, v 1.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var euiComboBoxStyles = exports.euiComboBoxStyles = {
|
|
18
|
+
euiComboBox: /*#__PURE__*/(0, _react.css)("position:relative;", (0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalCSS)('height', 'auto'), ";;label:euiComboBox;"),
|
|
19
|
+
fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', '100%'), ";;label:fullWidth;")
|
|
20
|
+
};
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.EuiComboBoxInput = void 0;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -21,9 +22,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
21
22
|
var _services = require("../../../services");
|
|
22
23
|
var _accessibility = require("../../accessibility");
|
|
23
24
|
var _form_control_layout = require("../../form/form_control_layout");
|
|
24
|
-
var _num_icons = require("../../form/form_control_layout/_num_icons");
|
|
25
25
|
var _utils = require("../utils");
|
|
26
26
|
var _combo_box_pill = require("./combo_box_pill");
|
|
27
|
+
var _combo_box_input = require("./combo_box_input.styles");
|
|
27
28
|
var _react2 = require("@emotion/react");
|
|
28
29
|
var _excluded = ["key", "label", "color", "onClick", "append", "prepend", "truncationProps", "toolTipContent", "toolTipProps"];
|
|
29
30
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -174,6 +175,7 @@ var EuiComboBoxInput = exports.EuiComboBoxInput = /*#__PURE__*/function (_Compon
|
|
|
174
175
|
}, {
|
|
175
176
|
key: "render",
|
|
176
177
|
value: function render() {
|
|
178
|
+
var _this2 = this;
|
|
177
179
|
var _this$props5 = this.props,
|
|
178
180
|
compressed = _this$props5.compressed,
|
|
179
181
|
focusedOptionId = _this$props5.focusedOptionId,
|
|
@@ -218,6 +220,7 @@ var EuiComboBoxInput = exports.EuiComboBoxInput = /*#__PURE__*/function (_Compon
|
|
|
218
220
|
id: removeOptionMessageId
|
|
219
221
|
}, removeOptionMessageContent));
|
|
220
222
|
}
|
|
223
|
+
var isInGroup = singleSelection && (prepend || append);
|
|
221
224
|
var showPlaceholder = placeholder && !(selectedOptions !== null && selectedOptions !== void 0 && selectedOptions.length) && !searchValue;
|
|
222
225
|
var clickProps = {};
|
|
223
226
|
if (!isDisabled && onClear && hasSelectedOptions) {
|
|
@@ -238,68 +241,67 @@ var EuiComboBoxInput = exports.EuiComboBoxInput = /*#__PURE__*/function (_Compon
|
|
|
238
241
|
type: 'arrowDown'
|
|
239
242
|
};
|
|
240
243
|
}
|
|
241
|
-
var
|
|
242
|
-
|
|
243
|
-
clear: !!clickProps.clear,
|
|
244
|
-
isInvalid: isInvalid,
|
|
245
|
-
isLoading: isLoading
|
|
244
|
+
var wrapClasses = (0, _classnames.default)('euiComboBox__inputWrap', {
|
|
245
|
+
'euiComboBox__inputWrap--plainText': this.asPlainText
|
|
246
246
|
});
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
247
|
+
return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
|
|
248
|
+
var styles = stylesMemoizer(_combo_box_input.euiComboBoxInputStyles);
|
|
249
|
+
var cssStyles = [styles.euiComboBoxInputWrapper, !singleSelection && styles.multiSelect, compressed ? styles.compressed : styles.uncompressed].concat((0, _toConsumableArray2.default)(_this2.asPlainText || showPlaceholder ? [styles.plainText.plainText, compressed ? styles.plainText.compressed : styles.plainText.uncompressed] : []), [isDisabled ? styles.disabled : isInvalid ? styles.invalid : isListOpen ? styles.open : undefined, isInGroup && styles.inGroup]);
|
|
250
|
+
var formLayoutStyles = [styles.formLayout.euiComboBox__formControlLayout, !singleSelection && styles.formLayout.multiSelect, isInGroup && !append && styles.formLayout.prependOnly, isInGroup && !prepend && styles.formLayout.appendOnly];
|
|
251
|
+
return (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, (0, _extends2.default)({
|
|
252
|
+
icon: icon
|
|
253
|
+
}, clickProps, {
|
|
254
|
+
inputId: id,
|
|
255
|
+
isLoading: isLoading,
|
|
256
|
+
isInvalid: isInvalid,
|
|
257
|
+
compressed: compressed,
|
|
258
|
+
fullWidth: fullWidth,
|
|
259
|
+
prepend: prepend,
|
|
260
|
+
append: append,
|
|
261
|
+
css: formLayoutStyles
|
|
262
|
+
}), (0, _react2.jsx)("div", {
|
|
263
|
+
css: cssStyles,
|
|
264
|
+
className: wrapClasses,
|
|
265
|
+
"data-test-subj": "comboBoxInput",
|
|
266
|
+
onClick: onClick,
|
|
267
|
+
tabIndex: -1 // becomes onBlur event's relatedTarget, otherwise relatedTarget is null when clicking on this div
|
|
268
|
+
}, _this2.renderPills(), (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
269
|
+
option: _this2.asPlainText ? selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0] : undefined,
|
|
270
|
+
classNamePrefix: "euiComboBoxPlainTextSelection",
|
|
271
|
+
marginSize: "xxs"
|
|
272
|
+
}, (0, _react2.jsx)("input", {
|
|
273
|
+
"aria-activedescendant": focusedOptionId,
|
|
274
|
+
"aria-autocomplete": "list",
|
|
275
|
+
"aria-controls": isListOpen ? rootId('listbox') : '',
|
|
276
|
+
"aria-expanded": isListOpen,
|
|
277
|
+
"aria-label": ariaLabel,
|
|
278
|
+
"aria-labelledby": ariaLabelledby,
|
|
279
|
+
"aria-invalid": isInvalid,
|
|
280
|
+
css: styles.euiComboBoxInput,
|
|
281
|
+
className: "euiComboBox__input",
|
|
282
|
+
"data-test-subj": "comboBoxSearchInput",
|
|
283
|
+
disabled: isDisabled,
|
|
284
|
+
id: id,
|
|
285
|
+
onBlur: _this2.onBlur,
|
|
286
|
+
onChange: function onChange(event) {
|
|
287
|
+
return _onChange(event.target.value);
|
|
288
|
+
},
|
|
289
|
+
onFocus: _this2.onFocus,
|
|
290
|
+
onKeyDown: _this2.onKeyDown,
|
|
291
|
+
ref: _this2.inputRefCallback,
|
|
292
|
+
role: "combobox",
|
|
293
|
+
style: {
|
|
294
|
+
inlineSize: _this2.asPlainText || showPlaceholder ? '100%' : _this2.state.inputWidth
|
|
295
|
+
},
|
|
296
|
+
placeholder: showPlaceholder ? placeholder : undefined,
|
|
297
|
+
value: _this2.searchValue,
|
|
298
|
+
autoFocus: autoFocus,
|
|
299
|
+
autoComplete: "off"
|
|
300
|
+
// Force the menu to re-open on every input click - only necessary when plain text
|
|
301
|
+
,
|
|
302
|
+
onClick: _this2.asPlainText ? onFocus : undefined // Type shenanigans - event should be mostly the same
|
|
303
|
+
})), removeOptionMessage));
|
|
253
304
|
});
|
|
254
|
-
return (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, (0, _extends2.default)({
|
|
255
|
-
icon: icon
|
|
256
|
-
}, clickProps, {
|
|
257
|
-
inputId: id,
|
|
258
|
-
isLoading: isLoading,
|
|
259
|
-
isInvalid: isInvalid,
|
|
260
|
-
compressed: compressed,
|
|
261
|
-
fullWidth: fullWidth,
|
|
262
|
-
prepend: prepend,
|
|
263
|
-
append: append
|
|
264
|
-
}), (0, _react2.jsx)("div", {
|
|
265
|
-
className: wrapClasses,
|
|
266
|
-
"data-test-subj": "comboBoxInput",
|
|
267
|
-
onClick: onClick,
|
|
268
|
-
tabIndex: -1 // becomes onBlur event's relatedTarget, otherwise relatedTarget is null when clicking on this div
|
|
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", {
|
|
273
|
-
"aria-activedescendant": focusedOptionId,
|
|
274
|
-
"aria-autocomplete": "list",
|
|
275
|
-
"aria-controls": isListOpen ? rootId('listbox') : '',
|
|
276
|
-
"aria-expanded": isListOpen,
|
|
277
|
-
"aria-label": ariaLabel,
|
|
278
|
-
"aria-labelledby": ariaLabelledby,
|
|
279
|
-
"aria-invalid": isInvalid,
|
|
280
|
-
className: "euiComboBox__input",
|
|
281
|
-
"data-test-subj": "comboBoxSearchInput",
|
|
282
|
-
disabled: isDisabled,
|
|
283
|
-
id: id,
|
|
284
|
-
onBlur: this.onBlur,
|
|
285
|
-
onChange: function onChange(event) {
|
|
286
|
-
return _onChange(event.target.value);
|
|
287
|
-
},
|
|
288
|
-
onFocus: this.onFocus,
|
|
289
|
-
onKeyDown: this.onKeyDown,
|
|
290
|
-
ref: this.inputRefCallback,
|
|
291
|
-
role: "combobox",
|
|
292
|
-
style: {
|
|
293
|
-
inlineSize: this.asPlainText || showPlaceholder ? '100%' : this.state.inputWidth
|
|
294
|
-
},
|
|
295
|
-
placeholder: showPlaceholder ? placeholder : undefined,
|
|
296
|
-
value: this.searchValue,
|
|
297
|
-
autoFocus: autoFocus,
|
|
298
|
-
autoComplete: "off"
|
|
299
|
-
// Force the menu to re-open on every input click - only necessary when plain text
|
|
300
|
-
,
|
|
301
|
-
onClick: this.asPlainText ? onFocus : undefined // Type shenanigans - event should be mostly the same
|
|
302
|
-
})), removeOptionMessage));
|
|
303
305
|
}
|
|
304
306
|
}]);
|
|
305
307
|
}(_react.Component);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiComboBoxInputStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../global_styling");
|
|
9
|
+
var _form = require("../../form/form.styles");
|
|
10
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
|
|
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
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
18
|
+
name: "kedu1h-plainText",
|
|
19
|
+
styles: "align-items:center;cursor:text;label:plainText;"
|
|
20
|
+
} : {
|
|
21
|
+
name: "kedu1h-plainText",
|
|
22
|
+
styles: "align-items:center;cursor:text;label:plainText;",
|
|
23
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
|
+
};
|
|
25
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
26
|
+
name: "dkzr1g-multiSelect",
|
|
27
|
+
styles: "flex-wrap:wrap;label:multiSelect;"
|
|
28
|
+
} : {
|
|
29
|
+
name: "dkzr1g-multiSelect",
|
|
30
|
+
styles: "flex-wrap:wrap;label:multiSelect;",
|
|
31
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
32
|
+
};
|
|
33
|
+
var euiComboBoxInputStyles = exports.euiComboBoxInputStyles = function euiComboBoxInputStyles(euiThemeContext) {
|
|
34
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
35
|
+
var formStyles = (0, _form.euiFormControlStyles)(euiThemeContext);
|
|
36
|
+
return {
|
|
37
|
+
// Wrapper which visually mimics a form control
|
|
38
|
+
euiComboBoxInputWrapper: /*#__PURE__*/(0, _react.css)((0, _form.euiFormControlDefaultShadow)(euiThemeContext), " display:flex;;label:euiComboBoxInputWrapper;"),
|
|
39
|
+
multiSelect: _ref2,
|
|
40
|
+
uncompressed: "\n ".concat(formStyles.uncompressed, "\n ").concat((0, _global_styling.logicalCSS)('height', 'auto'), "\n ").concat((0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.s), "\n ").concat((0, _global_styling.logicalCSS)('padding-left', euiTheme.size.s), "\n column-gap: ").concat(euiTheme.size.s, ";\n row-gap: ").concat(euiTheme.size.xs, ";\n "),
|
|
41
|
+
compressed: /*#__PURE__*/(0, _react.css)(formStyles.compressed, " ", (0, _global_styling.logicalCSS)('height', 'auto'), " ", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.xs), " column-gap:", euiTheme.size.xs, ";row-gap:", euiTheme.size.xxs, ";;label:compressed;"),
|
|
42
|
+
plainText: {
|
|
43
|
+
plainText: _ref,
|
|
44
|
+
compressed: "\n ".concat((0, _global_styling.logicalCSS)('padding-left', euiTheme.size.s), "\n "),
|
|
45
|
+
uncompressed: "\n ".concat((0, _global_styling.logicalCSS)('padding-left', euiTheme.size.m), "\n ")
|
|
46
|
+
},
|
|
47
|
+
invalid: /*#__PURE__*/(0, _react.css)(formStyles.invalid, ";label:invalid;"),
|
|
48
|
+
disabled: /*#__PURE__*/(0, _react.css)(formStyles.disabled, ";label:disabled;"),
|
|
49
|
+
open: /*#__PURE__*/(0, _react.css)(formStyles.focus, ";label:open;"),
|
|
50
|
+
inGroup: /*#__PURE__*/(0, _react.css)(formStyles.inGroup, ";label:inGroup;"),
|
|
51
|
+
// Actual input element, which has variable width depending on its value
|
|
52
|
+
euiComboBoxInput: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', euiTheme.size.l), " ", (0, _global_styling.logicalCSS)('min-width', '2px'), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), (0, _form.euiFormControlText)(euiThemeContext), " background:transparent;&:disabled{color:", euiTheme.colors.disabledText, ";}appearance:none!important;border:none!important;box-shadow:none!important;outline:none!important;;label:euiComboBoxInput;"),
|
|
53
|
+
// EuiFormControlLayout overrides
|
|
54
|
+
formLayout: {
|
|
55
|
+
euiComboBox__formControlLayout: /*#__PURE__*/(0, _react.css)(";label:euiComboBox__formControlLayout;"),
|
|
56
|
+
// Allow the form control to expand to any height to accommodate multiple rows of pills
|
|
57
|
+
// TODO: Remove && specificity override once EuiFormControlLayout is on Emotion
|
|
58
|
+
multiSelect: /*#__PURE__*/(0, _react.css)("&&{", (0, _global_styling.logicalCSS)('height', 'auto'), ";};label:multiSelect;"),
|
|
59
|
+
// Fix overflowing input wrapper background
|
|
60
|
+
prependOnly: /*#__PURE__*/(0, _react.css)(".euiFormControlLayout__childrenWrapper{", (0, _global_styling.logicalCSS)('border-top-right-radius', 'inherit'), " ", (0, _global_styling.logicalCSS)('border-bottom-right-radius', 'inherit'), ";};label:prependOnly;"),
|
|
61
|
+
appendOnly: /*#__PURE__*/(0, _react.css)(".euiFormControlLayout__childrenWrapper{", (0, _global_styling.logicalCSS)('border-top-left-radius', 'inherit'), " ", (0, _global_styling.logicalCSS)('border-bottom-left-radius', 'inherit'), ";};label:appendOnly;")
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
};
|
|
@@ -1,163 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.EuiComboBoxPill = void 0;
|
|
9
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
var
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
var _services = require("../../../services");
|
|
20
13
|
var _badge = require("../../badge");
|
|
21
14
|
var _i18n = require("../../i18n");
|
|
22
15
|
var _utils = require("../utils");
|
|
16
|
+
var _combo_box_pill = require("./combo_box_pill.styles");
|
|
23
17
|
var _react2 = require("@emotion/react");
|
|
24
18
|
var _excluded = ["children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
|
|
25
|
-
|
|
26
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
28
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*
|
|
19
|
+
/*
|
|
29
20
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
30
21
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
31
22
|
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
32
23
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
33
24
|
* Side Public License, v 1.
|
|
34
25
|
*/
|
|
35
|
-
var EuiComboBoxPill = exports.EuiComboBoxPill =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
onClose = _this$props2.onClose,
|
|
65
|
-
option = _this$props2.option,
|
|
66
|
-
rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
|
|
67
|
-
var classes = (0, _classnames.default)('euiComboBoxPill', className);
|
|
68
|
-
var onClickProps = onClick && onClickAriaLabel ? {
|
|
69
|
-
onClick: onClick,
|
|
70
|
-
onClickAriaLabel: onClickAriaLabel
|
|
71
|
-
} : {};
|
|
72
|
-
var content = (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
73
|
-
option: option,
|
|
74
|
-
classNamePrefix: "euiComboBoxPill"
|
|
75
|
-
}, (0, _react2.jsx)("span", {
|
|
76
|
-
className: "eui-textTruncate"
|
|
77
|
-
}, children));
|
|
78
|
-
if (onClose) {
|
|
79
|
-
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
80
|
-
token: "euiComboBoxPill.removeSelection",
|
|
81
|
-
default: "Remove {children} from selection in this group",
|
|
82
|
-
values: {
|
|
83
|
-
children: children
|
|
84
|
-
}
|
|
85
|
-
}, function (removeSelection) {
|
|
86
|
-
return (0, _react2.jsx)(_badge.EuiBadge, (0, _extends2.default)({
|
|
87
|
-
className: classes,
|
|
88
|
-
color: color,
|
|
89
|
-
"data-test-subj": "euiComboBoxPill",
|
|
90
|
-
iconOnClick: _this2.onCloseButtonClick,
|
|
91
|
-
iconOnClickAriaLabel: removeSelection,
|
|
92
|
-
iconSide: "right",
|
|
93
|
-
iconType: "cross",
|
|
94
|
-
title: children
|
|
95
|
-
}, onClickProps, rest), content);
|
|
96
|
-
});
|
|
26
|
+
var EuiComboBoxPill = exports.EuiComboBoxPill = function EuiComboBoxPill(_ref) {
|
|
27
|
+
var children = _ref.children,
|
|
28
|
+
className = _ref.className,
|
|
29
|
+
_ref$color = _ref.color,
|
|
30
|
+
color = _ref$color === void 0 ? 'hollow' : _ref$color,
|
|
31
|
+
onClick = _ref.onClick,
|
|
32
|
+
onClickAriaLabel = _ref.onClickAriaLabel,
|
|
33
|
+
onClose = _ref.onClose,
|
|
34
|
+
option = _ref.option,
|
|
35
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
36
|
+
var classes = (0, _classnames.default)('euiComboBoxPill', className);
|
|
37
|
+
var styles = (0, _services.useEuiMemoizedStyles)(_combo_box_pill.euiComboBoxPillStyles);
|
|
38
|
+
var cssStyles = styles.euiComboBoxPill;
|
|
39
|
+
var onClickProps = onClick && onClickAriaLabel ? {
|
|
40
|
+
onClick: onClick,
|
|
41
|
+
onClickAriaLabel: onClickAriaLabel
|
|
42
|
+
} : {};
|
|
43
|
+
var content = (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
|
|
44
|
+
option: option,
|
|
45
|
+
classNamePrefix: "euiComboBoxPill"
|
|
46
|
+
}, (0, _react2.jsx)("span", {
|
|
47
|
+
className: "eui-textTruncate"
|
|
48
|
+
}, children));
|
|
49
|
+
if (onClose) {
|
|
50
|
+
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
51
|
+
token: "euiComboBoxPill.removeSelection",
|
|
52
|
+
default: "Remove {children} from selection in this group",
|
|
53
|
+
values: {
|
|
54
|
+
children: children
|
|
97
55
|
}
|
|
56
|
+
}, function (removeSelection) {
|
|
98
57
|
return (0, _react2.jsx)(_badge.EuiBadge, (0, _extends2.default)({
|
|
58
|
+
css: cssStyles,
|
|
99
59
|
className: classes,
|
|
100
60
|
color: color,
|
|
101
61
|
"data-test-subj": "euiComboBoxPill",
|
|
62
|
+
iconOnClick: function iconOnClick() {
|
|
63
|
+
return onClose(option);
|
|
64
|
+
},
|
|
65
|
+
iconOnClickAriaLabel: removeSelection,
|
|
66
|
+
iconSide: "right",
|
|
67
|
+
iconType: "cross",
|
|
102
68
|
title: children
|
|
103
|
-
},
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
color: _propTypes.default.string,
|
|
114
|
-
onClick: _propTypes.default.func,
|
|
115
|
-
onClickAriaLabel: _propTypes.default.any,
|
|
116
|
-
onClose: _propTypes.default.func,
|
|
117
|
-
option: _propTypes.default.shape({
|
|
118
|
-
isGroupLabelOption: _propTypes.default.bool,
|
|
119
|
-
label: _propTypes.default.string.isRequired,
|
|
120
|
-
key: _propTypes.default.string,
|
|
121
|
-
options: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
122
|
-
isGroupLabelOption: _propTypes.default.bool,
|
|
123
|
-
label: _propTypes.default.string.isRequired,
|
|
124
|
-
key: _propTypes.default.string,
|
|
125
|
-
options: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
|
|
126
|
-
value: _propTypes.default.any,
|
|
127
|
-
prepend: _propTypes.default.node,
|
|
128
|
-
append: _propTypes.default.node,
|
|
129
|
-
truncationProps: _propTypes.default.any,
|
|
130
|
-
/**
|
|
131
|
-
* Optional custom tooltip content for the button
|
|
132
|
-
*/
|
|
133
|
-
toolTipContent: _propTypes.default.node,
|
|
134
|
-
/**
|
|
135
|
-
* Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
|
|
136
|
-
*/
|
|
137
|
-
toolTipProps: _propTypes.default.any,
|
|
138
|
-
className: _propTypes.default.string,
|
|
139
|
-
"aria-label": _propTypes.default.string,
|
|
140
|
-
"data-test-subj": _propTypes.default.string,
|
|
141
|
-
css: _propTypes.default.any
|
|
142
|
-
}).isRequired),
|
|
143
|
-
value: _propTypes.default.any,
|
|
144
|
-
prepend: _propTypes.default.node,
|
|
145
|
-
append: _propTypes.default.node,
|
|
146
|
-
truncationProps: _propTypes.default.any,
|
|
147
|
-
/**
|
|
148
|
-
* Optional custom tooltip content for the button
|
|
149
|
-
*/
|
|
150
|
-
toolTipContent: _propTypes.default.node,
|
|
151
|
-
/**
|
|
152
|
-
* Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
|
|
153
|
-
*/
|
|
154
|
-
toolTipProps: _propTypes.default.any,
|
|
155
|
-
className: _propTypes.default.string,
|
|
156
|
-
"aria-label": _propTypes.default.string,
|
|
157
|
-
"data-test-subj": _propTypes.default.string,
|
|
158
|
-
css: _propTypes.default.any
|
|
159
|
-
}).isRequired,
|
|
160
|
-
"aria-label": _propTypes.default.string,
|
|
161
|
-
"data-test-subj": _propTypes.default.string,
|
|
162
|
-
css: _propTypes.default.any
|
|
69
|
+
}, onClickProps, rest), content);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return (0, _react2.jsx)(_badge.EuiBadge, (0, _extends2.default)({
|
|
73
|
+
css: cssStyles,
|
|
74
|
+
className: classes,
|
|
75
|
+
color: color,
|
|
76
|
+
"data-test-subj": "euiComboBoxPill",
|
|
77
|
+
title: children
|
|
78
|
+
}, rest, onClickProps), content);
|
|
163
79
|
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiComboBoxPillStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../global_styling");
|
|
9
|
+
/*
|
|
10
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
12
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
13
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
14
|
+
* Side Public License, v 1.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var euiComboBoxPillStyles = exports.euiComboBoxPillStyles = function euiComboBoxPillStyles(euiThemeContext) {
|
|
18
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
19
|
+
|
|
20
|
+
// Ensure the input doesn't drop to the next line when the EuiBadge has a very long text
|
|
21
|
+
var pillMaxWidth = "calc(100% - ".concat(euiTheme.size.xxs, " - ").concat(euiTheme.size.base, ")");
|
|
22
|
+
var pillHeight = (0, _global_styling.mathWithUnits)(euiTheme.size.l, function (x) {
|
|
23
|
+
return x - 2;
|
|
24
|
+
});
|
|
25
|
+
var pillLineHeight = (0, _global_styling.mathWithUnits)(pillHeight, function (x) {
|
|
26
|
+
return x - 2;
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
euiComboBoxPill: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', pillMaxWidth), " ", (0, _global_styling.logicalCSS)('height', pillHeight), " line-height:", pillLineHeight, ";vertical-align:baseline;", (0, _global_styling.logicalCSS)('margin-vertical', '1px'), "&+.euiBadge{", (0, _global_styling.logicalCSS)('margin-left', 0), ";}.euiBadge__text{display:flex;align-items:center;.euiIcon{display:block;}};label:euiComboBoxPill;")
|
|
30
|
+
};
|
|
31
|
+
};
|