@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.
Files changed (181) hide show
  1. package/dist/eui_theme_dark.css +0 -642
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -642
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/combo_box/combo_box.js +54 -50
  6. package/es/components/combo_box/combo_box.styles.js +14 -0
  7. package/es/components/combo_box/combo_box_input/combo_box_input.js +69 -62
  8. package/es/components/combo_box/combo_box_input/combo_box_input.styles.js +60 -0
  9. package/es/components/combo_box/combo_box_input/combo_box_pill.js +50 -138
  10. package/es/components/combo_box/combo_box_input/combo_box_pill.styles.js +25 -0
  11. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
  12. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +22 -0
  13. package/es/components/combo_box/combo_box_options_list/index.js +0 -1
  14. package/es/components/combo_box/utils.js +26 -3
  15. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +3 -4
  16. package/es/components/flyout/flyout.styles.js +3 -3
  17. package/es/components/form/form.styles.js +16 -8
  18. package/es/components/list_group/list_group.styles.js +3 -3
  19. package/es/components/popover/input_popover.js +3 -3
  20. package/es/components/search_bar/search_bar.styles.js +2 -4
  21. package/es/components/selectable/selectable.js +9 -8
  22. package/es/components/selectable/selectable.styles.js +22 -0
  23. package/es/components/selectable/selectable_list/selectable_list.js +38 -29
  24. package/es/components/selectable/selectable_list/selectable_list.styles.js +35 -0
  25. package/es/components/selectable/selectable_list/selectable_list_item.js +18 -17
  26. package/es/components/selectable/selectable_list/selectable_list_item.styles.js +56 -0
  27. package/es/components/selectable/selectable_message/selectable_message.js +6 -3
  28. package/es/components/selectable/selectable_message/selectable_message.styles.js +17 -0
  29. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -9
  30. package/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +47 -0
  31. package/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +40 -10
  32. package/es/services/theme/index.js +1 -1
  33. package/es/services/theme/style_memoization.js +14 -0
  34. package/eui.d.ts +146 -46
  35. package/i18ntokens.json +118 -118
  36. package/lib/components/combo_box/combo_box.js +53 -49
  37. package/lib/components/combo_box/combo_box.styles.js +20 -0
  38. package/lib/components/combo_box/combo_box_input/combo_box_input.js +68 -61
  39. package/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
  40. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +55 -144
  41. package/lib/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
  42. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
  43. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
  44. package/lib/components/combo_box/combo_box_options_list/index.js +0 -7
  45. package/lib/components/combo_box/utils.js +29 -9
  46. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
  47. package/lib/components/flyout/flyout.styles.js +2 -2
  48. package/lib/components/form/form.styles.js +16 -9
  49. package/lib/components/list_group/list_group.styles.js +2 -2
  50. package/lib/components/popover/input_popover.js +2 -2
  51. package/lib/components/search_bar/search_bar.styles.js +1 -3
  52. package/lib/components/selectable/selectable.js +9 -8
  53. package/lib/components/selectable/selectable.styles.js +26 -0
  54. package/lib/components/selectable/selectable_list/selectable_list.js +38 -29
  55. package/lib/components/selectable/selectable_list/selectable_list.styles.js +38 -0
  56. package/lib/components/selectable/selectable_list/selectable_list_item.js +18 -16
  57. package/lib/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
  58. package/lib/components/selectable/selectable_message/selectable_message.js +6 -3
  59. package/lib/components/selectable/selectable_message/selectable_message.styles.js +23 -0
  60. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
  61. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
  62. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +40 -10
  63. package/lib/services/theme/index.js +6 -0
  64. package/lib/services/theme/style_memoization.js +15 -1
  65. package/optimize/es/components/combo_box/combo_box.js +54 -50
  66. package/optimize/es/components/combo_box/combo_box.styles.js +14 -0
  67. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +64 -62
  68. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.styles.js +60 -0
  69. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +51 -78
  70. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.styles.js +25 -0
  71. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
  72. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +22 -0
  73. package/optimize/es/components/combo_box/combo_box_options_list/index.js +0 -1
  74. package/optimize/es/components/combo_box/utils.js +23 -3
  75. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +3 -4
  76. package/optimize/es/components/flyout/flyout.styles.js +3 -3
  77. package/optimize/es/components/form/form.styles.js +16 -8
  78. package/optimize/es/components/list_group/list_group.styles.js +3 -3
  79. package/optimize/es/components/popover/input_popover.js +3 -3
  80. package/optimize/es/components/search_bar/search_bar.styles.js +2 -4
  81. package/optimize/es/components/selectable/selectable.js +9 -8
  82. package/optimize/es/components/selectable/selectable.styles.js +22 -0
  83. package/optimize/es/components/selectable/selectable_list/selectable_list.js +38 -29
  84. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +35 -0
  85. package/optimize/es/components/selectable/selectable_list/selectable_list_item.js +18 -14
  86. package/optimize/es/components/selectable/selectable_list/selectable_list_item.styles.js +56 -0
  87. package/optimize/es/components/selectable/selectable_message/selectable_message.js +6 -3
  88. package/optimize/es/components/selectable/selectable_message/selectable_message.styles.js +17 -0
  89. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -9
  90. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +47 -0
  91. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
  92. package/optimize/es/services/theme/index.js +1 -1
  93. package/optimize/es/services/theme/style_memoization.js +14 -0
  94. package/optimize/lib/components/combo_box/combo_box.js +53 -49
  95. package/optimize/lib/components/combo_box/combo_box.styles.js +20 -0
  96. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +63 -61
  97. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
  98. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +52 -81
  99. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
  100. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
  101. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
  102. package/optimize/lib/components/combo_box/combo_box_options_list/index.js +0 -7
  103. package/optimize/lib/components/combo_box/utils.js +26 -9
  104. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
  105. package/optimize/lib/components/flyout/flyout.styles.js +2 -2
  106. package/optimize/lib/components/form/form.styles.js +16 -9
  107. package/optimize/lib/components/list_group/list_group.styles.js +2 -2
  108. package/optimize/lib/components/popover/input_popover.js +2 -2
  109. package/optimize/lib/components/search_bar/search_bar.styles.js +1 -3
  110. package/optimize/lib/components/selectable/selectable.js +9 -8
  111. package/optimize/lib/components/selectable/selectable.styles.js +26 -0
  112. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +38 -29
  113. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +38 -0
  114. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.js +18 -14
  115. package/optimize/lib/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
  116. package/optimize/lib/components/selectable/selectable_message/selectable_message.js +6 -3
  117. package/optimize/lib/components/selectable/selectable_message/selectable_message.styles.js +23 -0
  118. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
  119. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
  120. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
  121. package/optimize/lib/services/theme/index.js +6 -0
  122. package/optimize/lib/services/theme/style_memoization.js +15 -1
  123. package/package.json +1 -1
  124. package/src/components/index.scss +0 -2
  125. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  126. package/test-env/components/combo_box/combo_box.js +53 -49
  127. package/test-env/components/combo_box/combo_box.styles.js +20 -0
  128. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +63 -61
  129. package/test-env/components/combo_box/combo_box_input/combo_box_input.styles.js +64 -0
  130. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +51 -135
  131. package/test-env/components/combo_box/combo_box_input/combo_box_pill.styles.js +31 -0
  132. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +31 -23
  133. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.styles.js +28 -0
  134. package/test-env/components/combo_box/combo_box_options_list/index.js +0 -7
  135. package/test-env/components/combo_box/utils.js +26 -9
  136. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.styles.js +2 -3
  137. package/test-env/components/flyout/flyout.styles.js +2 -2
  138. package/test-env/components/form/form.styles.js +16 -9
  139. package/test-env/components/list_group/list_group.styles.js +2 -2
  140. package/test-env/components/popover/input_popover.js +2 -2
  141. package/test-env/components/search_bar/search_bar.styles.js +1 -3
  142. package/test-env/components/selectable/selectable.js +9 -8
  143. package/test-env/components/selectable/selectable.styles.js +26 -0
  144. package/test-env/components/selectable/selectable_list/selectable_list.js +38 -29
  145. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +38 -0
  146. package/test-env/components/selectable/selectable_list/selectable_list_item.js +18 -14
  147. package/test-env/components/selectable/selectable_list/selectable_list_item.styles.js +60 -0
  148. package/test-env/components/selectable/selectable_message/selectable_message.js +6 -3
  149. package/test-env/components/selectable/selectable_message/selectable_message.styles.js +23 -0
  150. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +11 -8
  151. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.styles.js +51 -0
  152. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_option.js +35 -10
  153. package/test-env/services/theme/index.js +6 -0
  154. package/test-env/services/theme/style_memoization.js +15 -1
  155. package/es/components/combo_box/combo_box_options_list/combo_box_option.js +0 -153
  156. package/lib/components/combo_box/combo_box_options_list/combo_box_option.js +0 -160
  157. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_option.js +0 -90
  158. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_option.js +0 -98
  159. package/src/components/combo_box/_combo_box.scss +0 -147
  160. package/src/components/combo_box/_index.scss +0 -3
  161. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -38
  162. package/src/components/combo_box/combo_box_input/_index.scss +0 -1
  163. package/src/components/combo_box/combo_box_options_list/_combo_box_option.scss +0 -72
  164. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +0 -28
  165. package/src/components/combo_box/combo_box_options_list/_combo_box_title.scss +0 -12
  166. package/src/components/combo_box/combo_box_options_list/_index.scss +0 -3
  167. package/src/components/selectable/_index.scss +0 -5
  168. package/src/components/selectable/_selectable.scss +0 -8
  169. package/src/components/selectable/selectable_list/_index.scss +0 -3
  170. package/src/components/selectable/selectable_list/_selectable_list.scss +0 -38
  171. package/src/components/selectable/selectable_list/_selectable_list_item.scss +0 -62
  172. package/src/components/selectable/selectable_list/_variables.scss +0 -2
  173. package/src/components/selectable/selectable_message/_index.scss +0 -1
  174. package/src/components/selectable/selectable_message/_selectable_message.scss +0 -19
  175. package/src/components/selectable/selectable_search/_index.scss +0 -1
  176. package/src/components/selectable/selectable_search/_selectable_search.scss +0 -3
  177. package/src/components/selectable/selectable_templates/_index.scss +0 -2
  178. package/src/components/selectable/selectable_templates/_selectable_template_sitewide_option.scss +0 -39
  179. package/src/components/selectable/selectable_templates/_variables.scss +0 -26
  180. package/src/themes/amsterdam/overrides/_combo_box.scss +0 -50
  181. package/test-env/components/combo_box/combo_box_options_list/combo_box_option.js +0 -154
@@ -18,18 +18,20 @@ var _react = _interopRequireWildcard(require("react"));
18
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
  var _classnames = _interopRequireDefault(require("classnames"));
20
20
  var _reactWindow = require("react-window");
21
+ var _services = require("../../../services");
21
22
  var _flex = require("../../flex");
22
23
  var _highlight = require("../../highlight");
23
24
  var _mark = require("../../mark");
24
25
  var _text = require("../../text");
25
26
  var _loading = require("../../loading");
26
- var _combo_box_title = require("./combo_box_title");
27
27
  var _i18n = require("../../i18n");
28
28
  var _filter_select_item = require("../../filter_group/filter_select_item");
29
29
  var _badge = require("../../badge");
30
30
  var _text_truncate = require("../../text_truncate");
31
31
  var _input_popover = require("../../popover/input_popover");
32
32
  var _utils = require("../utils");
33
+ var _combo_box_title = require("./combo_box_title");
34
+ var _combo_box_options_list = require("./combo_box_options_list.styles");
33
35
  var _react2 = require("@emotion/react");
34
36
  var _excluded = ["children"],
35
37
  _excluded2 = ["key", "isGroupLabelOption", "label", "value", "prepend", "append", "truncationProps"],
@@ -128,7 +130,8 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
128
130
  className: "euiComboBoxOption__contentWrapper"
129
131
  }, (0, _react2.jsx)(_utils.EuiComboBoxOptionAppendPrepend, {
130
132
  option: option,
131
- classNamePrefix: "euiComboBoxOption"
133
+ classNamePrefix: "euiComboBoxOption",
134
+ marginSize: "s"
132
135
  }, (0, _react2.jsx)("span", {
133
136
  className: "euiComboBoxOption__content"
134
137
  }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
@@ -186,6 +189,7 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
186
189
  }, {
187
190
  key: "render",
188
191
  value: function render() {
192
+ var _this2 = this;
189
193
  var _this$props2 = this.props,
190
194
  dataTestSubj = _this$props2['data-test-subj'],
191
195
  activeOptionIndex = _this$props2.activeOptionIndex,
@@ -304,31 +308,35 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
304
308
  default: "You've selected all available options"
305
309
  }));
306
310
  }
307
- var emptyState = emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
308
- size: "xs",
309
- className: "euiComboBoxOptionsList__empty"
310
- }, emptyStateContent) : undefined;
311
311
  var numVisibleOptions = matchingOptions.length < 7 ? matchingOptions.length : 7;
312
312
  var height = numVisibleOptions * (rowHeight + 1); // Add one for the border
313
313
 
314
314
  // bounded by max-height of .euiComboBoxOptionsList
315
- var boundedHeight = height > 200 ? 200 : height;
316
- var optionsList = (0, _react2.jsx)(_reactWindow.FixedSizeList, {
317
- className: "euiComboBoxOptionsList__virtualization",
318
- height: boundedHeight,
319
- onScroll: onScroll,
320
- itemCount: matchingOptions.length,
321
- itemSize: rowHeight,
322
- itemData: matchingOptions,
323
- ref: this.setListRef,
324
- innerElementType: this.ListInnerElement,
325
- width: this.context
326
- }, this.ListRow);
327
- return (0, _react2.jsx)("div", (0, _extends2.default)({
328
- className: "euiComboBoxOptionsList",
329
- "data-test-subj": (0, _classnames.default)('comboBoxOptionsList', dataTestSubj),
330
- ref: listRef
331
- }, rest), emptyState || optionsList);
315
+ var boundedHeight = height > _combo_box_options_list.LIST_MAX_HEIGHT ? _combo_box_options_list.LIST_MAX_HEIGHT : height;
316
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
317
+ var styles = stylesMemoizer(_combo_box_options_list.euiComboBoxOptionListStyles);
318
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
319
+ css: styles.euiComboBoxOptionList,
320
+ className: "euiComboBoxOptionsList",
321
+ "data-test-subj": (0, _classnames.default)('comboBoxOptionsList', dataTestSubj),
322
+ ref: listRef
323
+ }, rest), emptyStateContent ? (0, _react2.jsx)(_text.EuiText, {
324
+ size: "xs",
325
+ css: styles.euiComboBoxOptionsList__empty,
326
+ className: "euiComboBoxOptionsList__empty"
327
+ }, emptyStateContent) : (0, _react2.jsx)(_reactWindow.FixedSizeList, {
328
+ css: styles.euiComboBoxOptionList__virtualization,
329
+ className: "euiComboBoxOptionsList__virtualization",
330
+ height: boundedHeight,
331
+ onScroll: onScroll,
332
+ itemCount: matchingOptions.length,
333
+ itemSize: rowHeight,
334
+ itemData: matchingOptions,
335
+ ref: _this2.setListRef,
336
+ innerElementType: _this2.ListInnerElement,
337
+ width: _this2.context
338
+ }, _this2.ListRow));
339
+ });
332
340
  }
333
341
  }]);
334
342
  }(_react.Component);
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiComboBoxOptionListStyles = exports.LIST_MAX_HEIGHT = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ var _title = require("../../title/title.styles");
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
+ var LIST_MAX_HEIGHT = exports.LIST_MAX_HEIGHT = 200;
19
+ var euiComboBoxOptionListStyles = exports.euiComboBoxOptionListStyles = function euiComboBoxOptionListStyles(euiThemeContext) {
20
+ var euiTheme = euiThemeContext.euiTheme;
21
+ return {
22
+ euiComboBoxOptionList: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-height', "".concat(LIST_MAX_HEIGHT, "px")), " overflow:hidden;.euiTextTruncate{pointer-events:none;}.euiComboBoxOption__contentWrapper{display:flex;align-items:center;}.euiComboBoxOption__content{flex:1;text-align:start;", (0, _global_styling.euiTextTruncate)(), ";}.euiComboBoxOption__emptyStateText{flex:1;text-align:start;", (0, _global_styling.logicalCSS)('margin-bottom', 0), ";}.euiComboBoxOption__enterBadge{", (0, _global_styling.logicalCSS)('margin-left', euiTheme.size.xs), ";}.euiComboBoxTitle{display:flex;", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.s), (0, _global_styling.logicalCSS)('padding-top', (0, _global_styling.mathWithUnits)(euiTheme.size.s, function (x) {
23
+ return x + 1;
24
+ })), " ", (0, _global_styling.logicalCSS)('padding-bottom', euiTheme.size.xs), " ", (0, _title.euiTitle)(euiThemeContext, 'xxxs'), ";};label:euiComboBoxOptionList;"),
25
+ euiComboBoxOptionList__virtualization: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:euiComboBoxOptionList__virtualization;"),
26
+ euiComboBoxOptionsList__empty: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";text-align:center;", (0, _global_styling.euiTextBreakWord)(), ";;label:euiComboBoxOptionsList__empty;")
27
+ };
28
+ };
@@ -3,12 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "EuiComboBoxOption", {
7
- enumerable: true,
8
- get: function get() {
9
- return _combo_box_option.EuiComboBoxOption;
10
- }
11
- });
12
6
  Object.defineProperty(exports, "EuiComboBoxOptionsList", {
13
7
  enumerable: true,
14
8
  get: function get() {
@@ -22,5 +16,4 @@ Object.defineProperty(exports, "EuiComboBoxTitle", {
22
16
  }
23
17
  });
24
18
  var _combo_box_options_list = require("./combo_box_options_list");
25
- var _combo_box_option = require("./combo_box_option");
26
19
  var _combo_box_title = require("./combo_box_title");
@@ -5,26 +5,43 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.EuiComboBoxOptionAppendPrepend = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _react2 = require("@emotion/react");
10
- /*
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = require("@emotion/react");
10
+ var _react2 = _interopRequireDefault(require("react"));
11
+ var _services = require("../../services");
12
+ var _global_styling = require("../../global_styling");
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
11
15
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
16
  * or more contributor license agreements. Licensed under the Elastic License
13
17
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
18
  * in compliance with, at your election, the Elastic License 2.0 or the Server
15
19
  * Side Public License, v 1.
16
20
  */
17
-
18
21
  /**
19
22
  * DRY util for rendering an option with its prepend and append properties
20
23
  */
21
24
  var EuiComboBoxOptionAppendPrepend = exports.EuiComboBoxOptionAppendPrepend = function EuiComboBoxOptionAppendPrepend(_ref) {
22
25
  var children = _ref.children,
23
26
  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")
27
+ classNamePrefix = _ref.classNamePrefix,
28
+ _ref$marginSize = _ref.marginSize,
29
+ marginSize = _ref$marginSize === void 0 ? 'xs' : _ref$marginSize;
30
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
31
+ euiTheme = _useEuiTheme.euiTheme;
32
+ var margin = euiTheme.size[marginSize];
33
+ return (0, _react.jsx)(_react2.default.Fragment, null, (option === null || option === void 0 ? void 0 : option.prepend) && (0, _react.jsx)("span", {
34
+ className: "".concat(classNamePrefix, "__prepend"),
35
+ css: /*#__PURE__*/(0, _react.css)(_objectSpread(_objectSpread({}, (0, _global_styling.logicalStyle)('margin-right', margin)), centerIcons), ";label:EuiComboBoxOptionAppendPrepend;")
36
+ }, option.prepend), children, (option === null || option === void 0 ? void 0 : option.append) && (0, _react.jsx)("span", {
37
+ className: "".concat(classNamePrefix, "__append"),
38
+ css: /*#__PURE__*/(0, _react.css)(_objectSpread(_objectSpread({}, (0, _global_styling.logicalStyle)('margin-left', margin)), centerIcons), ";label:EuiComboBoxOptionAppendPrepend;")
29
39
  }, option.append));
40
+ };
41
+
42
+ // Fix vertical alignment of EuiIcons in prepend/append nodes
43
+ var centerIcons = {
44
+ '.euiIcon': {
45
+ display: 'block'
46
+ }
30
47
  };
@@ -17,10 +17,9 @@ var _form = require("../../../form/form.styles");
17
17
 
18
18
  var euiQuickSelectPopoverStyles = exports.euiQuickSelectPopoverStyles = function euiQuickSelectPopoverStyles(euiThemeContext) {
19
19
  var euiTheme = euiThemeContext.euiTheme;
20
- var _euiFormVariables = (0, _form.euiFormVariables)(euiThemeContext),
21
- maxWidth = _euiFormVariables.maxWidth;
20
+ var formMaxWidth = (0, _form.euiFormMaxWidth)(euiThemeContext);
22
21
  return {
23
- euiQuickSelectPopover: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', maxWidth), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), ";;label:euiQuickSelectPopover;"),
22
+ euiQuickSelectPopover: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', formMaxWidth), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), ";;label:euiQuickSelectPopover;"),
24
23
  euiQuickSelectPopoverButton: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-top-right-radius', 0), " ", (0, _global_styling.logicalCSS)('border-bottom-right-radius', 0), ".euiIcon{", (0, _global_styling.logicalCSS)('width', euiTheme.size.base), ";};label:euiQuickSelectPopoverButton;"),
25
24
  euiQuickSelectPopoverButton__content: /*#__PURE__*/(0, _react.css)("gap:", euiTheme.size.xs, ";;label:euiQuickSelectPopoverButton__content;")
26
25
  };
@@ -61,7 +61,7 @@ var euiFlyoutStyles = exports.euiFlyoutStyles = function euiFlyoutStyles(euiThem
61
61
  };
62
62
  var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
63
63
  var euiTheme = euiThemeContext.euiTheme;
64
- var form = (0, _form.euiFormVariables)(euiThemeContext);
64
+ var formMaxWidth = (0, _form.euiFormMaxWidth)(euiThemeContext);
65
65
 
66
66
  // 1. Calculating the minimum width based on the screen takeover breakpoint
67
67
  var flyoutSizes = {
@@ -73,7 +73,7 @@ var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
73
73
  },
74
74
  m: {
75
75
  // Calculated for forms plus padding
76
- min: "".concat((0, _global_styling.mathWithUnits)(form.maxWidth, function (x) {
76
+ min: "".concat((0, _global_styling.mathWithUnits)(formMaxWidth, function (x) {
77
77
  return x + 24;
78
78
  })),
79
79
  width: '50vw',
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.euiFormVariables = exports.euiFormControlText = exports.euiFormControlStyles = exports.euiFormControlReadOnlyStyles = exports.euiFormControlInvalidStyles = exports.euiFormControlFocusStyles = exports.euiFormControlDisabledStyles = exports.euiFormControlDefaultShadow = exports.euiFormControlAutoFillStyles = exports.euiCustomControl = void 0;
7
+ exports.euiFormVariables = exports.euiFormMaxWidth = exports.euiFormControlText = exports.euiFormControlStyles = exports.euiFormControlReadOnlyStyles = exports.euiFormControlInvalidStyles = exports.euiFormControlFocusStyles = exports.euiFormControlDisabledStyles = exports.euiFormControlDefaultShadow = exports.euiFormControlAutoFillStyles = exports.euiCustomControl = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _services = require("../../services");
10
10
  var _global_styling = require("../../global_styling");
@@ -17,6 +17,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
17
17
  * in compliance with, at your election, the Elastic License 2.0 or the Server
18
18
  * Side Public License, v 1.
19
19
  */
20
+ // There are multiple components that only need the form max-width size &
21
+ // don't need the extra overhead/color computing expense of every form var.
22
+ // For microperf, we're making this its own util
23
+ var euiFormMaxWidth = exports.euiFormMaxWidth = function euiFormMaxWidth(_ref) {
24
+ var euiTheme = _ref.euiTheme;
25
+ return (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
26
+ return x * 25;
27
+ });
28
+ };
20
29
  var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiThemeContext) {
21
30
  var euiTheme = euiThemeContext.euiTheme,
22
31
  colorMode = euiThemeContext.colorMode;
@@ -25,9 +34,7 @@ var euiFormVariables = exports.euiFormVariables = function euiFormVariables(euiT
25
34
  var controlHeight = euiTheme.size.xxl;
26
35
  var controlCompressedHeight = euiTheme.size.xl;
27
36
  var sizes = {
28
- maxWidth: (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
29
- return x * 25;
30
- }),
37
+ maxWidth: euiFormMaxWidth(euiThemeContext),
31
38
  controlHeight: controlHeight,
32
39
  controlCompressedHeight: controlCompressedHeight,
33
40
  controlPadding: euiTheme.size.m,
@@ -136,13 +143,13 @@ var euiFormControlDefaultShadow = exports.euiFormControlDefaultShadow = function
136
143
  var form = euiFormVariables(euiThemeContext);
137
144
  return "\n /* We use inset box-shadow instead of border to skip extra hight calculations */\n border: none;\n box-shadow: inset 0 0 0 ".concat(euiTheme.border.width.thin, " ").concat(form.borderColor, ";\n background-color: ").concat(form.backgroundColor, ";\n\n background-repeat: no-repeat;\n background-size: 0% 100%;\n background-image: linear-gradient(to top,\n var(--euiFormControlStateColor),\n var(--euiFormControlStateColor) ").concat(euiTheme.border.width.thick, ",\n transparent ").concat(euiTheme.border.width.thick, ",\n transparent 100%\n );\n\n ").concat(_global_styling.euiCanAnimate, " {\n transition:\n box-shadow ").concat(form.animationTiming, ",\n background-image ").concat(form.animationTiming, ",\n background-size ").concat(form.animationTiming, ",\n background-color ").concat(form.animationTiming, ";\n }\n ");
138
145
  };
139
- var euiFormControlFocusStyles = exports.euiFormControlFocusStyles = function euiFormControlFocusStyles(_ref) {
140
- var euiTheme = _ref.euiTheme,
141
- colorMode = _ref.colorMode;
146
+ var euiFormControlFocusStyles = exports.euiFormControlFocusStyles = function euiFormControlFocusStyles(_ref2) {
147
+ var euiTheme = _ref2.euiTheme,
148
+ colorMode = _ref2.colorMode;
142
149
  return "\n --euiFormControlStateColor: ".concat(euiTheme.colors.primary, ";\n background-color: ").concat(colorMode === 'DARK' ? (0, _services.shade)(euiTheme.colors.emptyShade, 0.4) : euiTheme.colors.emptyShade, ";\n background-size: 100% 100%;\n outline: none; /* Remove all outlines and rely on our own bottom border gradient */\n");
143
150
  };
144
- var euiFormControlInvalidStyles = exports.euiFormControlInvalidStyles = function euiFormControlInvalidStyles(_ref2) {
145
- var euiTheme = _ref2.euiTheme;
151
+ var euiFormControlInvalidStyles = exports.euiFormControlInvalidStyles = function euiFormControlInvalidStyles(_ref3) {
152
+ var euiTheme = _ref3.euiTheme;
146
153
  return "\n --euiFormControlStateColor: ".concat(euiTheme.colors.danger, ";\n background-size: 100% 100%;\n");
147
154
  };
148
155
  var euiFormControlDisabledStyles = exports.euiFormControlDisabledStyles = function euiFormControlDisabledStyles(euiThemeContext) {
@@ -32,14 +32,14 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
32
32
  };
33
33
  var euiListGroupStyles = exports.euiListGroupStyles = function euiListGroupStyles(euiThemeContext) {
34
34
  var euiTheme = euiThemeContext.euiTheme;
35
- var form = (0, _form.euiFormVariables)(euiThemeContext);
35
+ var formMaxWidth = (0, _form.euiFormMaxWidth)(euiThemeContext);
36
36
  return {
37
37
  // Base
38
38
  euiListGroup: _ref2,
39
39
  // Variants
40
40
  flush: _ref,
41
41
  bordered: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";border:", euiTheme.border.thin, ";;label:bordered;"),
42
- maxWidthDefault: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";;label:maxWidthDefault;"),
42
+ maxWidthDefault: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', formMaxWidth), ";;label:maxWidthDefault;"),
43
43
  // Gutter sizes
44
44
  none: /*#__PURE__*/(0, _react.css)(";label:none;"),
45
45
  s: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.s, ";gap:", euiTheme.size.s, ";;label:s;"),
@@ -68,7 +68,7 @@ var EuiInputPopover = exports.EuiInputPopover = function EuiInputPopover(_ref) {
68
68
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
69
69
  var classes = (0, _classnames.default)('euiInputPopover', className);
70
70
  var euiTheme = (0, _services.useEuiTheme)();
71
- var form = (0, _form.euiFormVariables)(euiTheme);
71
+ var formMaxWidth = (0, _form.euiFormMaxWidth)(euiTheme);
72
72
 
73
73
  /**
74
74
  * Ref setup
@@ -188,7 +188,7 @@ var EuiInputPopover = exports.EuiInputPopover = function EuiInputPopover(_ref) {
188
188
  }, [closeOnScroll, closePopover, panelEl, inputEl]);
189
189
  return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
190
190
  className: classes,
191
- css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
191
+ css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', formMaxWidth), ";label:EuiInputPopover;"),
192
192
  display: display,
193
193
  button: input,
194
194
  popoverRef: inputRef,
@@ -16,9 +16,7 @@ var _form = require("../form/form.styles");
16
16
  */
17
17
 
18
18
  var euiSearchBar__searchHolder = exports.euiSearchBar__searchHolder = function euiSearchBar__searchHolder(euiThemeContext) {
19
- var _euiFormVariables = (0, _form.euiFormVariables)(euiThemeContext),
20
- maxWidth = _euiFormVariables.maxWidth;
21
- return /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('min-width', (0, _global_styling.mathWithUnits)(maxWidth, function (x) {
19
+ return /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('min-width', (0, _global_styling.mathWithUnits)((0, _form.euiFormMaxWidth)(euiThemeContext), function (x) {
22
20
  return x / 2;
23
21
  })), ";;label:euiSearchBar__searchHolder;");
24
22
  };
@@ -18,15 +18,16 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
- var _selectable_search = require("./selectable_search");
22
- var _selectable_message = require("./selectable_message");
23
- var _selectable_list = require("./selectable_list");
21
+ var _services = require("../../services");
24
22
  var _loading = require("../loading");
25
23
  var _spacer = require("../spacer");
26
- var _matching_options = require("./matching_options");
27
- var _services = require("../../services");
28
24
  var _accessibility = require("../accessibility");
29
25
  var _i18n = require("../i18n");
26
+ var _selectable_search = require("./selectable_search");
27
+ var _selectable_message = require("./selectable_message");
28
+ var _selectable_list = require("./selectable_list");
29
+ var _matching_options = require("./matching_options");
30
+ var _selectable = require("./selectable.styles");
30
31
  var _react2 = require("@emotion/react");
31
32
  var _excluded = ["children", "className", "options", "onChange", "onActiveOptionChange", "searchable", "searchProps", "singleSelection", "isLoading", "listProps", "renderOption", "height", "allowExclusions", "aria-label", "aria-describedby", "loadingMessage", "noMatchesMessage", "emptyMessage", "errorMessage", "selectableScreenReaderText", "isPreFiltered", "optionMatcher"],
32
33
  _excluded2 = ["aria-label", "aria-describedby", "onChange", "defaultValue", "inputRef"],
@@ -360,9 +361,8 @@ var EuiSelectable = exports.EuiSelectable = /*#__PURE__*/function (_Component) {
360
361
  rowHeight: rowHeight
361
362
  };
362
363
  }
363
- var classes = (0, _classnames.default)('euiSelectable', {
364
- 'euiSelectable-fullHeight': height === 'full'
365
- }, className);
364
+ var classes = (0, _classnames.default)('euiSelectable', className);
365
+ var cssStyles = [_selectable.euiSelectableStyles.euiSelectable, height === 'full' && _selectable.euiSelectableStyles.fullHeight];
366
366
 
367
367
  /** Create message content that replaces the list if no options are available (yet) */
368
368
  var messageContent;
@@ -529,6 +529,7 @@ var EuiSelectable = exports.EuiSelectable = /*#__PURE__*/function (_Component) {
529
529
  });
530
530
  return (0, _react2.jsx)("div", (0, _extends2.default)({
531
531
  ref: this.containerRef,
532
+ css: cssStyles,
532
533
  className: classes,
533
534
  onKeyDown: this.onKeyDown,
534
535
  onBlur: this.onContainerBlur,
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiSelectableStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../global_styling");
9
+ 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)."; } /*
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
+ var euiSelectableStyles = exports.euiSelectableStyles = {
17
+ euiSelectable: process.env.NODE_ENV === "production" ? {
18
+ name: "1sd0qv-euiSelectable",
19
+ styles: "display:flex;flex-direction:column;label:euiSelectable;"
20
+ } : {
21
+ name: "1sd0qv-euiSelectable",
22
+ styles: "display:flex;flex-direction:column;label:euiSelectable;",
23
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
+ },
25
+ fullHeight: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', '100%'), ";;label:fullHeight;")
26
+ };
@@ -19,11 +19,13 @@ var _react = _interopRequireWildcard(require("react"));
19
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
21
  var _reactWindow = require("react-window");
22
+ var _services = require("../../../services");
22
23
  var _auto_sizer = require("../../auto_sizer");
23
24
  var _highlight = require("../../highlight");
24
25
  var _mark = require("../../mark");
25
26
  var _text_truncate = require("../../text_truncate");
26
27
  var _selectable_list_item = require("./selectable_list_item");
28
+ var _selectable_list = require("./selectable_list.styles");
27
29
  var _react2 = require("@emotion/react");
28
30
  var _excluded = ["data"],
29
31
  _excluded2 = ["label", "isGroupLabel", "checked", "disabled", "prepend", "append", "ref", "key", "searchableLabel", "data", "truncationProps"],
@@ -140,12 +142,15 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
140
142
  isPreFiltered = _this$props2.isPreFiltered,
141
143
  isVirtualized = _this$props2.isVirtualized;
142
144
  if (isGroupLabel) {
143
- return (0, _react2.jsx)("li", (0, _extends2.default)({
144
- role: "presentation",
145
- className: "euiSelectableList__groupLabel",
146
- style: style
147
- // @ts-ignore complex
148
- }, optionRest), prepend, label, append);
145
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
146
+ var styles = stylesMemoizer(_selectable_list.euiSelectableListStyles);
147
+ return (0, _react2.jsx)("li", (0, _extends2.default)({
148
+ role: "presentation",
149
+ css: styles.euiSelectableList__groupLabel,
150
+ className: "euiSelectableList__groupLabel",
151
+ style: style
152
+ }, optionRest), prepend, label, append);
153
+ });
149
154
  }
150
155
  var id = makeOptionId(index);
151
156
  var isFocused = activeOptionIndex === index;
@@ -186,10 +191,11 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
186
191
  paddingSize: paddingSize,
187
192
  searchable: searchable,
188
193
  textWrap: textWrap
194
+ // @ts-ignore complex
189
195
  }, optionRest), renderOption ? renderOption( // @ts-ignore complex
190
196
  _objectSpread(_objectSpread({}, _option), optionData), searchValue) : highlightSearch ? _this.renderSearchedText(label, truncationProps) : truncationProps ? _this.renderTruncatedText(label, truncationProps) : label);
191
197
  }, _reactWindow.areEqual));
192
- (0, _defineProperty2.default)(_this, "renderVirtualizedList", function () {
198
+ (0, _defineProperty2.default)(_this, "renderVirtualizedList", function (listClasses) {
193
199
  if (!_this.props.isVirtualized) return null;
194
200
  var _this$state = _this.state,
195
201
  optionArray = _this$state.optionArray,
@@ -200,7 +206,7 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
200
206
  rowHeight = _this$props3.rowHeight;
201
207
  var heightIsFull = forcedHeight === 'full';
202
208
  var virtualizationProps = _objectSpread({
203
- className: 'euiSelectableList__list',
209
+ className: listClasses,
204
210
  ref: _this.setListRef,
205
211
  outerRef: _this.removeScrollableTabStop,
206
212
  innerRef: _this.setListBoxRef,
@@ -540,27 +546,30 @@ var EuiSelectableList = exports.EuiSelectableList = /*#__PURE__*/function (_Comp
540
546
  truncationProps = _this$props11.truncationProps,
541
547
  rest = (0, _objectWithoutProperties2.default)(_this$props11, _excluded3);
542
548
  var heightIsFull = forcedHeight === 'full';
543
- var classes = (0, _classnames.default)('euiSelectableList', {
544
- 'euiSelectableList-fullHeight': heightIsFull,
545
- 'euiSelectableList-bordered': bordered
546
- }, className);
547
- return (0, _react2.jsx)("div", (0, _extends2.default)({
548
- className: classes
549
- }, rest), isVirtualized ? this.renderVirtualizedList() : (0, _react2.jsx)("div", {
550
- className: "euiSelectableList__list",
551
- style: !heightIsFull ? {
552
- blockSize: forcedHeight
553
- } : undefined,
554
- ref: this.removeScrollableTabStop
555
- }, (0, _react2.jsx)("ul", {
556
- ref: this.setListBoxRef
557
- }, this.state.optionArray.map(function (_, index) {
558
- return /*#__PURE__*/_react.default.createElement(_this2.ListRow, {
559
- key: "".concat(index, "-").concat(_this2.listRowRerender),
560
- data: _this2.state.optionArray,
561
- index: index
562
- }, null);
563
- }))));
549
+ var classes = (0, _classnames.default)('euiSelectableList', className);
550
+ return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
551
+ var styles = stylesMemoizer(_selectable_list.euiSelectableListStyles);
552
+ var cssStyles = [styles.euiSelectableList, heightIsFull && styles.fullHeight, bordered && styles.bordered];
553
+ var listClasses = (0, _classnames.default)('euiSelectableList__list', styles.euiSelectableList__list);
554
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
555
+ css: cssStyles,
556
+ className: classes
557
+ }, rest), isVirtualized ? _this2.renderVirtualizedList(listClasses) : (0, _react2.jsx)("div", {
558
+ className: listClasses,
559
+ style: !heightIsFull ? {
560
+ blockSize: forcedHeight
561
+ } : undefined,
562
+ ref: _this2.removeScrollableTabStop
563
+ }, (0, _react2.jsx)("ul", {
564
+ ref: _this2.setListBoxRef
565
+ }, _this2.state.optionArray.map(function (_, index) {
566
+ return /*#__PURE__*/_react.default.createElement(_this2.ListRow, {
567
+ key: "".concat(index, "-").concat(_this2.listRowRerender),
568
+ data: _this2.state.optionArray,
569
+ index: index
570
+ }, null);
571
+ }))));
572
+ });
564
573
  }
565
574
  }]);
566
575
  }(_react.Component);
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiSelectableListStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _css = require("@emotion/css");
9
+ var _global_styling = require("../../../global_styling");
10
+ var _title = require("../../title/title.styles");
11
+ var _selectable_list_item = require("./selectable_list_item.styles");
12
+ 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)."; } /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */ // .euiSelectableList__list requires a static vanilla className
19
+ // as it's passed down to react-window's virtualization library
20
+ var _ref = process.env.NODE_ENV === "production" ? {
21
+ name: "1giu8j5-fullHeight",
22
+ styles: "flex-grow:1;label:fullHeight;"
23
+ } : {
24
+ name: "1giu8j5-fullHeight",
25
+ styles: "flex-grow:1;label:fullHeight;",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ };
28
+ var euiSelectableListStyles = exports.euiSelectableListStyles = function euiSelectableListStyles(euiThemeContext) {
29
+ var euiTheme = euiThemeContext.euiTheme;
30
+ var itemVars = (0, _selectable_list_item.euiSelectableListItemVariables)(euiThemeContext);
31
+ return {
32
+ euiSelectableList: /*#__PURE__*/(0, _react.css)("&:has(:focus-visible){", (0, _global_styling.euiFocusRing)(euiThemeContext, 'outset'), ";};label:euiSelectableList;"),
33
+ fullHeight: _ref,
34
+ bordered: /*#__PURE__*/(0, _react.css)("overflow:hidden;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";;label:bordered;"),
35
+ euiSelectableList__list: /*#__PURE__*/(0, _css.css)((0, _global_styling.euiYScrollWithShadows)(euiThemeContext), " &:focus,&>ul:focus{outline:none;};label:euiSelectableList__list;"),
36
+ euiSelectableList__groupLabel: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxxs'), " display:flex;align-items:center;", (0, _global_styling.logicalCSS)('border-bottom', itemVars.border), " ", (0, _global_styling.logicalCSS)('padding-vertical', itemVars.paddingVertical), " ", (0, _global_styling.logicalCSS)('padding-horizontal', itemVars.paddingHorizontal), ";;label:euiSelectableList__groupLabel;")
37
+ };
38
+ };