@elastic/eui 74.1.0 → 75.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/eui_theme_dark.css +0 -323
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -323
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/code/code_block.js +5 -3
  6. package/es/components/code/code_block_annotations.js +94 -0
  7. package/es/components/code/code_block_annotations.style.js +18 -0
  8. package/es/components/code/code_block_full_screen.js +9 -3
  9. package/es/components/code/code_block_line.styles.js +3 -2
  10. package/es/components/code/utils.js +53 -13
  11. package/es/components/collapsible_nav/collapsible_nav.js +10 -11
  12. package/es/components/flyout/flyout.js +88 -24
  13. package/es/components/form/range/range_track.js +1 -1
  14. package/es/components/header/header.js +3 -1
  15. package/es/components/icon/assets/app_agent.js +2 -10
  16. package/es/components/icon/assets/app_fleet.js +10 -2
  17. package/es/components/search_bar/filters/field_value_selection_filter.js +6 -10
  18. package/es/components/selectable/selectable_list/selectable_list.js +19 -5
  19. package/es/components/steps/step.js +19 -12
  20. package/es/components/steps/step.styles.js +73 -0
  21. package/es/components/steps/step_horizontal.js +55 -42
  22. package/es/components/steps/step_horizontal.styles.js +55 -0
  23. package/es/components/steps/step_number.js +82 -73
  24. package/es/components/steps/step_number.styles.js +76 -0
  25. package/es/components/steps/steps_horizontal.js +11 -7
  26. package/es/components/steps/steps_horizontal.styles.js +35 -0
  27. package/es/components/steps/sub_steps.js +7 -1
  28. package/es/components/steps/sub_steps.styles.js +14 -0
  29. package/es/components/tour/tour_step_indicator.js +0 -3
  30. package/es/global_styling/utility/animations.js +4 -3
  31. package/eui.d.ts +130 -16
  32. package/i18ntokens.json +76 -12
  33. package/lib/components/code/code_block.js +5 -3
  34. package/lib/components/code/code_block_annotations.js +113 -0
  35. package/lib/components/code/code_block_annotations.style.js +29 -0
  36. package/lib/components/code/code_block_full_screen.js +9 -3
  37. package/lib/components/code/code_block_line.styles.js +3 -2
  38. package/lib/components/code/utils.js +54 -13
  39. package/lib/components/collapsible_nav/collapsible_nav.js +10 -11
  40. package/lib/components/flyout/flyout.js +85 -22
  41. package/lib/components/form/range/range_track.js +1 -1
  42. package/lib/components/header/header.js +3 -1
  43. package/lib/components/icon/assets/app_agent.js +2 -10
  44. package/lib/components/icon/assets/app_fleet.js +10 -2
  45. package/lib/components/icon/svgs/app_agent.svg +2 -4
  46. package/lib/components/icon/svgs/app_fleet.svg +4 -2
  47. package/lib/components/search_bar/filters/field_value_selection_filter.js +6 -10
  48. package/lib/components/selectable/selectable_list/selectable_list.js +19 -5
  49. package/lib/components/steps/step.js +21 -12
  50. package/lib/components/steps/step.styles.js +93 -0
  51. package/lib/components/steps/step_horizontal.js +56 -41
  52. package/lib/components/steps/step_horizontal.styles.js +66 -0
  53. package/lib/components/steps/step_number.js +86 -75
  54. package/lib/components/steps/step_number.styles.js +84 -0
  55. package/lib/components/steps/steps_horizontal.js +12 -7
  56. package/lib/components/steps/steps_horizontal.styles.js +38 -0
  57. package/lib/components/steps/sub_steps.js +9 -1
  58. package/lib/components/steps/sub_steps.styles.js +24 -0
  59. package/lib/components/tour/tour_step_indicator.js +0 -3
  60. package/lib/global_styling/utility/animations.js +6 -4
  61. package/optimize/es/components/code/code_block_annotations.js +79 -0
  62. package/optimize/es/components/code/code_block_annotations.style.js +18 -0
  63. package/optimize/es/components/code/code_block_full_screen.js +9 -3
  64. package/optimize/es/components/code/code_block_line.styles.js +3 -2
  65. package/optimize/es/components/code/utils.js +53 -13
  66. package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -4
  67. package/optimize/es/components/flyout/flyout.js +81 -24
  68. package/optimize/es/components/form/range/range_track.js +1 -1
  69. package/optimize/es/components/header/header.js +3 -1
  70. package/optimize/es/components/icon/assets/app_agent.js +2 -10
  71. package/optimize/es/components/icon/assets/app_fleet.js +10 -2
  72. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +6 -10
  73. package/optimize/es/components/selectable/selectable_list/selectable_list.js +19 -5
  74. package/optimize/es/components/steps/step.js +19 -12
  75. package/optimize/es/components/steps/step.styles.js +73 -0
  76. package/optimize/es/components/steps/step_horizontal.js +54 -41
  77. package/optimize/es/components/steps/step_horizontal.styles.js +55 -0
  78. package/optimize/es/components/steps/step_number.js +82 -73
  79. package/optimize/es/components/steps/step_number.styles.js +76 -0
  80. package/optimize/es/components/steps/steps_horizontal.js +11 -7
  81. package/optimize/es/components/steps/steps_horizontal.styles.js +35 -0
  82. package/optimize/es/components/steps/sub_steps.js +7 -1
  83. package/optimize/es/components/steps/sub_steps.styles.js +14 -0
  84. package/optimize/es/components/tour/tour_step_indicator.js +0 -3
  85. package/optimize/es/global_styling/utility/animations.js +4 -3
  86. package/optimize/lib/components/code/code_block_annotations.js +105 -0
  87. package/optimize/lib/components/code/code_block_annotations.style.js +29 -0
  88. package/optimize/lib/components/code/code_block_full_screen.js +9 -3
  89. package/optimize/lib/components/code/code_block_line.styles.js +3 -2
  90. package/optimize/lib/components/code/utils.js +54 -13
  91. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -4
  92. package/optimize/lib/components/flyout/flyout.js +80 -22
  93. package/optimize/lib/components/form/range/range_track.js +1 -1
  94. package/optimize/lib/components/header/header.js +3 -1
  95. package/optimize/lib/components/icon/assets/app_agent.js +2 -10
  96. package/optimize/lib/components/icon/assets/app_fleet.js +10 -2
  97. package/optimize/lib/components/icon/svgs/app_agent.svg +2 -4
  98. package/optimize/lib/components/icon/svgs/app_fleet.svg +4 -2
  99. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +6 -10
  100. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +16 -5
  101. package/optimize/lib/components/steps/step.js +21 -12
  102. package/optimize/lib/components/steps/step.styles.js +93 -0
  103. package/optimize/lib/components/steps/step_horizontal.js +55 -40
  104. package/optimize/lib/components/steps/step_horizontal.styles.js +66 -0
  105. package/optimize/lib/components/steps/step_number.js +86 -75
  106. package/optimize/lib/components/steps/step_number.styles.js +84 -0
  107. package/optimize/lib/components/steps/steps_horizontal.js +12 -7
  108. package/optimize/lib/components/steps/steps_horizontal.styles.js +38 -0
  109. package/optimize/lib/components/steps/sub_steps.js +9 -1
  110. package/optimize/lib/components/steps/sub_steps.styles.js +24 -0
  111. package/optimize/lib/components/tour/tour_step_indicator.js +0 -3
  112. package/optimize/lib/global_styling/utility/animations.js +6 -4
  113. package/package.json +3 -3
  114. package/src/components/index.scss +0 -1
  115. package/src/themes/amsterdam/global_styling/variables/_index.scss +0 -1
  116. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  117. package/test-env/components/code/code_block_annotations.js +110 -0
  118. package/test-env/components/code/code_block_annotations.style.js +29 -0
  119. package/test-env/components/code/code_block_full_screen.js +9 -3
  120. package/test-env/components/code/code_block_line.styles.js +3 -2
  121. package/test-env/components/code/utils.js +54 -13
  122. package/test-env/components/collapsible_nav/collapsible_nav.js +10 -11
  123. package/test-env/components/form/range/range_track.js +1 -1
  124. package/test-env/components/header/header.js +3 -1
  125. package/test-env/components/icon/assets/app_agent.js +2 -10
  126. package/test-env/components/icon/assets/app_fleet.js +10 -2
  127. package/test-env/components/search_bar/filters/field_value_selection_filter.js +6 -10
  128. package/test-env/components/selectable/selectable_list/selectable_list.js +16 -5
  129. package/test-env/components/steps/step.js +21 -12
  130. package/test-env/components/steps/step.styles.js +93 -0
  131. package/test-env/components/steps/step_horizontal.js +56 -41
  132. package/test-env/components/steps/step_horizontal.styles.js +66 -0
  133. package/test-env/components/steps/step_number.js +86 -75
  134. package/test-env/components/steps/step_number.styles.js +84 -0
  135. package/test-env/components/steps/steps_horizontal.js +12 -7
  136. package/test-env/components/steps/steps_horizontal.styles.js +38 -0
  137. package/test-env/components/steps/sub_steps.js +9 -1
  138. package/test-env/components/steps/sub_steps.styles.js +24 -0
  139. package/test-env/components/tour/tour_step_indicator.js +0 -3
  140. package/test-env/global_styling/utility/animations.js +6 -4
  141. package/src/components/steps/_index.scss +0 -7
  142. package/src/components/steps/_mixins.scss +0 -12
  143. package/src/components/steps/_step_number.scss +0 -52
  144. package/src/components/steps/_steps.scss +0 -57
  145. package/src/components/steps/_steps_horizontal.scss +0 -135
  146. package/src/components/steps/_sub_steps.scss +0 -15
  147. package/src/components/steps/_variables.scss +0 -11
  148. package/src/themes/amsterdam/global_styling/variables/_steps.scss +0 -8
  149. package/src/themes/amsterdam/overrides/_steps.scss +0 -101
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "74.1.0",
4
+ "version": "75.1.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -113,7 +113,7 @@
113
113
  "@cypress/code-coverage": "^3.10.0",
114
114
  "@cypress/react": "^5.10.3",
115
115
  "@cypress/webpack-dev-server": "^1.7.0",
116
- "@elastic/charts": "^53.0.0",
116
+ "@elastic/charts": "^53.1.1",
117
117
  "@elastic/datemath": "^5.0.3",
118
118
  "@elastic/eslint-config-kibana": "^0.15.0",
119
119
  "@emotion/babel-preset-css-prop": "^11.10.0",
@@ -246,7 +246,7 @@
246
246
  "webpack-dev-server": "^4.10.0",
247
247
  "yargs": "^17.2.1",
248
248
  "yeoman-generator": "^4.12.0",
249
- "yo": "^3.1.1"
249
+ "yo": "^4.3.1"
250
250
  },
251
251
  "peerDependencies": {
252
252
  "@elastic/datemath": "^5.0.2",
@@ -24,6 +24,5 @@
24
24
  @import 'side_nav/index';
25
25
  @import 'search_bar/index';
26
26
  @import 'selectable/index';
27
- @import 'steps/index';
28
27
  @import 'suggest/index';
29
28
  @import 'table/index';
@@ -5,5 +5,4 @@
5
5
  @import 'buttons';
6
6
  @import 'header';
7
7
  @import 'page';
8
- @import 'steps';
9
8
  @import 'typography';
@@ -12,4 +12,3 @@
12
12
  @import 'key_pad_menu';
13
13
  @import 'markdown_editor';
14
14
  @import 'side_nav';
15
- @import 'steps';
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.EuiCodeBlockAnnotation = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _services = require("../../services");
21
+
22
+ var _i18n = require("../i18n");
23
+
24
+ var _popover = require("../popover");
25
+
26
+ var _icon = require("../icon");
27
+
28
+ var _button = require("../../themes/amsterdam/global_styling/mixins/button");
29
+
30
+ var _code_block_annotations = require("./code_block_annotations.style");
31
+
32
+ var _react2 = require("@emotion/react");
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ /*
39
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
40
+ * or more contributor license agreements. Licensed under the Elastic License
41
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
42
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
43
+ * Side Public License, v 1.
44
+ */
45
+ var EuiCodeBlockAnnotation = function EuiCodeBlockAnnotation(_ref) {
46
+ var lineNumber = _ref.lineNumber,
47
+ children = _ref.children;
48
+
49
+ var _useState = (0, _react.useState)(false),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ isOpen = _useState2[0],
52
+ setIsOpen = _useState2[1];
53
+
54
+ var ariaLabel = (0, _i18n.useEuiI18n)('euiCodeBlockAnnotations.ariaLabel', 'Click to view a code annotation for line {lineNumber}', {
55
+ lineNumber: lineNumber
56
+ });
57
+
58
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
59
+ euiTheme = _useEuiTheme.euiTheme,
60
+ colorMode = _useEuiTheme.colorMode;
61
+
62
+ var styles = (0, _code_block_annotations.euiCodeBlockAnnotationsStyles)(euiTheme);
63
+ var buttonIconFocusStyle = (0, _button.useEuiButtonFocusCSS)();
64
+ var cssButtonIconStyles = [styles.euiCodeBlockAnnotation__buttonIcon, buttonIconFocusStyle];
65
+ var isDarkMode = colorMode === 'DARK';
66
+ return (0, _react2.jsx)(_popover.EuiPopover, {
67
+ isOpen: isOpen,
68
+ closePopover: function closePopover() {
69
+ return setIsOpen(false);
70
+ },
71
+ button: (0, _react2.jsx)("button", {
72
+ onClick: function onClick() {
73
+ return setIsOpen(!isOpen);
74
+ },
75
+ "aria-label": ariaLabel,
76
+ css: cssButtonIconStyles,
77
+ "data-test-subj": "euiCodeBlockAnnotationIcon"
78
+ }, (0, _react2.jsx)(_icon.EuiIcon, {
79
+ type: AnnotationInfoIcon,
80
+ size: "s",
81
+ color: isDarkMode ? euiTheme.colors.ink : 'ghost'
82
+ })),
83
+ css: styles.euiCodeBlockAnnotation,
84
+ zIndex: Number(euiTheme.levels.mask) + 1 // Ensure fullscreen annotation popovers sit above the mask
85
+ ,
86
+ anchorPosition: "leftCenter",
87
+ panelProps: {
88
+ 'data-test-subj': 'euiCodeBlockAnnotationPopover'
89
+ }
90
+ }, children);
91
+ };
92
+
93
+ exports.EuiCodeBlockAnnotation = EuiCodeBlockAnnotation;
94
+ EuiCodeBlockAnnotation.propTypes = {
95
+ lineNumber: _propTypes.default.number.isRequired
96
+ };
97
+
98
+ var AnnotationInfoIcon = function AnnotationInfoIcon(props) {
99
+ return (0, _react2.jsx)("svg", (0, _extends2.default)({
100
+ width: 11,
101
+ height: 11,
102
+ viewBox: "0 0 16 16",
103
+ fill: "none",
104
+ xmlns: "http://www.w3.org/2000/svg"
105
+ }, props), (0, _react2.jsx)("path", {
106
+ fillRule: "evenodd",
107
+ clipRule: "evenodd",
108
+ d: "M7.139 14l-.052-6.007H5V6.28h4.111l.052 6.007h1.915V14h-3.94zM6.712 3.38c0-.396.118-.725.354-.987S7.639 2 8.077 2c.438 0 .777.131 1.016.393.24.262.359.591.359.987 0 .39-.12.714-.359.972s-.578.388-1.016.388c-.438 0-.775-.13-1.011-.388-.236-.258-.354-.582-.354-.972z"
109
+ }));
110
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCodeBlockAnnotationsStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ /*
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
+ */
19
+ var euiCodeBlockAnnotationsStyles = function euiCodeBlockAnnotationsStyles(euiTheme) {
20
+ var buttonIconSize = (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
21
+ return x - 1.5;
22
+ });
23
+ return {
24
+ euiCodeBlockAnnotation: /*#__PURE__*/(0, _react.css)("position:absolute;", (0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.logicalCSS)('top', '50%'), " transform:translate(50%, -50%);line-height:1;;label:euiCodeBlockAnnotation;"),
25
+ euiCodeBlockAnnotation__buttonIcon: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalSizeCSS)(buttonIconSize), " display:flex;align-items:center;justify-content:center;background-color:", euiTheme.colors.primary, ";border-radius:50%;;label:euiCodeBlockAnnotation__buttonIcon;")
26
+ };
27
+ };
28
+
29
+ exports.euiCodeBlockAnnotationsStyles = euiCodeBlockAnnotationsStyles;
@@ -58,9 +58,15 @@ var useFullScreen = function useFullScreen(_ref) {
58
58
  }, []);
59
59
  var onKeyDown = (0, _react.useCallback)(function (event) {
60
60
  if (event.key === _services.keys.ESCAPE) {
61
- event.preventDefault();
62
- event.stopPropagation();
63
- setIsFullScreen(false);
61
+ // We need to make sure annotation Escape keypresses don't also cause fullscreen mode to close
62
+ var focus = document.activeElement;
63
+ var isAnnotationPopover = !!(focus !== null && focus !== void 0 && focus.dataset.popoverOpen) || !!(focus !== null && focus !== void 0 && focus.closest('[data-popover-open]'));
64
+
65
+ if (!isAnnotationPopover) {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ setIsFullScreen(false);
69
+ }
64
70
  }
65
71
  }, []);
66
72
 
@@ -33,11 +33,12 @@ var euiCodeBlockLineStyles = function euiCodeBlockLineStyles(euiThemeContext) {
33
33
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
34
  }),
35
35
  lineText: {
36
- euiCodeBlock__lineText: /*#__PURE__*/(0, _css.css)("flex-grow:1;display:inline-block;padding-inline-start:", euiTheme.size.s, ";border-inline-start:", euiTheme.border.thin, ";user-select:text;;label:euiCodeBlock__lineText;"),
36
+ euiCodeBlock__lineText: /*#__PURE__*/(0, _css.css)("flex-grow:1;display:inline-block;padding-inline-start:", euiTheme.size.m, ";border-inline-start:", euiTheme.border.thin, ";user-select:text;;label:euiCodeBlock__lineText;"),
37
37
  isHighlighted: /*#__PURE__*/(0, _css.css)("background:", (0, _global_styling.euiBackgroundColor)(euiThemeContext, 'primary'), ";border-inline-start:", euiTheme.border.width.thick, " solid ", euiTheme.colors.primary, ";;label:isHighlighted;")
38
38
  },
39
39
  lineNumber: {
40
- euiCodeBlock__lineNumber: /*#__PURE__*/(0, _css.css)("flex-grow:0;flex-shrink:0;user-select:none;padding-inline-end:", euiTheme.size.s, ";box-sizing:content-box;&:before{content:attr(data-line-number);color:", euiTheme.colors.subduedText, ";text-align:end;display:block;};label:euiCodeBlock__lineNumber;")
40
+ euiCodeBlock__lineNumberWrapper: /*#__PURE__*/(0, _css.css)("position:relative;flex-grow:0;flex-shrink:0;user-select:none;padding-inline-end:", euiTheme.size.m, ";box-sizing:content-box;;label:euiCodeBlock__lineNumberWrapper;"),
41
+ euiCodeBlock__lineNumber: /*#__PURE__*/(0, _css.css)("color:", euiTheme.colors.subduedText, ";text-align:end;display:block;;label:euiCodeBlock__lineNumber;")
41
42
  }
42
43
  };
43
44
  };
@@ -17,6 +17,8 @@ var _refractor = require("refractor");
17
17
 
18
18
  var _css = require("@emotion/css");
19
19
 
20
+ var _code_block_annotations = require("./code_block_annotations");
21
+
20
22
  var _code_block_line = require("./code_block_line.styles");
21
23
 
22
24
  var _react2 = require("@emotion/react");
@@ -68,7 +70,15 @@ var nodeToHtml = function nodeToHtml(node, idx, nodes) {
68
70
  key: key,
69
71
  className: (0, _css.cx)(properties.className)
70
72
  }), children && children.map(function (el, i) {
71
- return nodeToHtml(el, i, nodes, depth + 1);
73
+ return (// @ts-ignore - using a custom type here to handle JSX annotations
74
+ el.type === 'annotation' ? // @ts-ignore - custom keys are passed by annotationElement below
75
+ (0, _react2.jsx)(_code_block_annotations.EuiCodeBlockAnnotation, {
76
+ lineNumber: el.lineNumber,
77
+ children: el.annotation,
78
+ key: i
79
+ }) // prettier-ignore
80
+ : nodeToHtml(el, i, nodes, depth + 1)
81
+ );
72
82
  }));
73
83
  }
74
84
 
@@ -176,31 +186,61 @@ function wrapLines(nodes, options, euiTheme) {
176
186
  var lineStyles = (0, _css.cx)([styles.euiCodeBlock__line, options.showLineNumbers && styles.hasLineNumbers]);
177
187
 
178
188
  if (options.showLineNumbers) {
179
- var _properties;
189
+ var _properties, _options$annotations;
180
190
 
181
191
  var lineNumber = i + 1;
182
192
  var digits = grouped.length.toString().length;
183
- var width = digits * CHAR_SIZE;
193
+ var width = digits * CHAR_SIZE; // Line text element and highlights
194
+
184
195
  var highlights = options.highlight ? parseLineRanges(options.highlight) : [];
185
196
  var lineTextStyles = (0, _css.cx)([styles.lineText.euiCodeBlock__lineText, highlights.includes(lineNumber) && styles.lineText.isHighlighted]);
186
- var lineNumberStyles = (0, _css.cx)(styles.lineNumber.euiCodeBlock__lineNumber);
187
- children = [{
197
+ var lineTextElement = {
198
+ type: 'element',
199
+ tagName: 'span',
200
+ properties: {
201
+ className: ['euiCodeBlock__lineText', lineTextStyles]
202
+ },
203
+ children: node
204
+ }; // Line number column/wrapper
205
+
206
+ var lineNumberWrapperStyles = (0, _css.cx)(styles.lineNumber.euiCodeBlock__lineNumberWrapper);
207
+ var lineNumberWrapperElement = {
188
208
  type: 'element',
189
209
  tagName: 'span',
190
210
  properties: (_properties = {
191
211
  style: {
192
212
  inlineSize: width
193
213
  }
194
- }, (0, _defineProperty2.default)(_properties, 'data-line-number', lineNumber), (0, _defineProperty2.default)(_properties, 'aria-hidden', true), (0, _defineProperty2.default)(_properties, "className", ['euiCodeBlock__lineNumber', lineNumberStyles]), _properties),
214
+ }, (0, _defineProperty2.default)(_properties, 'data-line-number', lineNumber), (0, _defineProperty2.default)(_properties, "className", ['euiCodeBlock__lineNumber', lineNumberWrapperStyles]), _properties),
195
215
  children: []
196
- }, {
216
+ }; // Line number element
217
+
218
+ var lineNumberStyles = (0, _css.cx)(styles.lineNumber.euiCodeBlock__lineNumber);
219
+ var lineNumberElement = {
197
220
  type: 'element',
198
221
  tagName: 'span',
199
- properties: {
200
- className: ['euiCodeBlock__lineText', lineTextStyles]
201
- },
202
- children: node
203
- }];
222
+ properties: (0, _defineProperty2.default)({
223
+ className: [lineNumberStyles]
224
+ }, 'aria-hidden', true),
225
+ children: [{
226
+ type: 'text',
227
+ value: String(lineNumber)
228
+ }]
229
+ };
230
+ lineNumberWrapperElement.children.push(lineNumberElement); // Annotation element
231
+
232
+ var hasAnnotation = (_options$annotations = options.annotations) === null || _options$annotations === void 0 ? void 0 : _options$annotations.hasOwnProperty(lineNumber);
233
+
234
+ if (hasAnnotation) {
235
+ var annotationElement = {
236
+ type: 'annotation',
237
+ annotation: options.annotations[lineNumber],
238
+ lineNumber: lineNumber
239
+ };
240
+ lineNumberWrapperElement.children.push(annotationElement);
241
+ }
242
+
243
+ children = [lineNumberWrapperElement, lineTextElement];
204
244
  }
205
245
 
206
246
  wrapped.push({
@@ -220,7 +260,8 @@ var highlightByLine = function highlightByLine(children, language, data, euiThem
220
260
  lineNumber: data.start
221
261
  }), {
222
262
  showLineNumbers: data.show,
223
- highlight: data.highlight
263
+ highlight: data.highlight,
264
+ annotations: data.annotations
224
265
  }, euiTheme);
225
266
  };
226
267
 
@@ -29,7 +29,7 @@ var _flyout = require("../flyout");
29
29
 
30
30
  var _react2 = require("@emotion/react");
31
31
 
32
- var _excluded = ["id", "children", "className", "isDocked", "isOpen", "button", "showButtonIfDocked", "dockedBreakpoint", "as", "size", "side", "role", "ownFocus", "outsideClickCloses", "closeButtonPosition", "paddingSize", "focusTrapProps"];
32
+ var _excluded = ["id", "children", "className", "isDocked", "isOpen", "button", "showButtonIfDocked", "dockedBreakpoint", "as", "size", "side", "ownFocus", "outsideClickCloses", "closeButtonPosition", "paddingSize", "focusTrapProps"];
33
33
 
34
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
35
 
@@ -58,8 +58,6 @@ var EuiCollapsibleNav = function EuiCollapsibleNav(_ref) {
58
58
  size = _ref$size === void 0 ? 320 : _ref$size,
59
59
  _ref$side = _ref.side,
60
60
  side = _ref$side === void 0 ? 'left' : _ref$side,
61
- _ref$role = _ref.role,
62
- role = _ref$role === void 0 ? null : _ref$role,
63
61
  _ref$ownFocus = _ref.ownFocus,
64
62
  ownFocus = _ref$ownFocus === void 0 ? true : _ref$ownFocus,
65
63
  _ref$outsideClickClos = _ref.outsideClickCloses,
@@ -108,7 +106,6 @@ var EuiCollapsibleNav = function EuiCollapsibleNav(_ref) {
108
106
  as: as,
109
107
  size: size,
110
108
  side: side,
111
- role: role,
112
109
  ownFocus: ownFocus,
113
110
  outsideClickCloses: outsideClickCloses,
114
111
  closeButtonPosition: closeButtonPosition,
@@ -217,13 +214,6 @@ EuiCollapsibleNav.propTypes = {
217
214
  */
218
215
  side: _propTypes.default.any,
219
216
 
220
- /**
221
- * Defaults to `dialog` which is best for most cases of the flyout.
222
- * Otherwise pass in your own, aria-role, or `null` to remove it and use the semantic `as` element instead
223
- * @default dialog
224
- */
225
- role: _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.string.isRequired]),
226
-
227
217
  /**
228
218
  * Named breakpoint (`xs` through `xl`) for customizing the minimum window width to enable docking
229
219
  */
@@ -237,6 +227,15 @@ EuiCollapsibleNav.propTypes = {
237
227
  */
238
228
  focusTrapProps: _propTypes.default.any,
239
229
 
230
+ /**
231
+ * By default, EuiFlyout will consider any fixed `EuiHeader`s that sit alongside or above the EuiFlyout
232
+ * as part of the flyout's focus trap. This prevents focus fighting with interactive elements
233
+ * within fixed headers.
234
+ *
235
+ * Set this to `false` if you need to disable this behavior for a specific reason.
236
+ */
237
+ includeFixedHeadersInFocusTrap: _propTypes.default.bool,
238
+
240
239
  /**
241
240
  * ReactNode to render as this component's content
242
241
  */
@@ -105,7 +105,7 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
105
105
  }, [showTicks, ticks, min, max, tickInterval, step]);
106
106
  var euiTheme = (0, _services.useEuiTheme)();
107
107
  var styles = (0, _range_track.euiRangeTrackStyles)(euiTheme);
108
- var cssStyles = [styles.euiRangeTrack, disabled && styles.disabled, levels && !!levels.length && styles.hasLevels, (tickSequence || ticks) && styles.hasTicks];
108
+ var cssStyles = [styles.euiRangeTrack, disabled && styles.disabled, levels && !!levels.length && styles.hasLevels, showTicks && (tickSequence || ticks) && styles.hasTicks];
109
109
 
110
110
  var _useState = (0, _react.useState)(0),
111
111
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -103,7 +103,9 @@ var EuiHeader = function EuiHeader(_ref) {
103
103
  }
104
104
 
105
105
  return (0, _react2.jsx)("div", (0, _extends2.default)({
106
- className: classes
106
+ className: classes,
107
+ "data-fixed-header": position === 'fixed' || undefined // Used by EuiFlyouts as a query selector
108
+
107
109
  }, rest), contents);
108
110
  };
109
111
 
@@ -36,18 +36,10 @@ var EuiIconAppAgent = function EuiIconAppAgent(_ref) {
36
36
  }, props), title ? (0, _react2.jsx)("title", {
37
37
  id: titleId
38
38
  }, title) : null, (0, _react2.jsx)("path", {
39
- className: "euiIcon__fillSecondary",
40
- d: "M21 2.82L16 .038 11 2.82v2.289l5-2.782 5 2.782v-2.29z"
41
- }), (0, _react2.jsx)("path", {
42
- className: "euiIcon__fillSecondary",
43
- d: "M21 7.282L16 4.5l-5 2.782V9.57l5-2.781 5 2.781V7.282z"
44
- }), (0, _react2.jsx)("path", {
45
- d: "M7 5.045L2 7.827v15.577l14 7.788 14-7.788V7.827l-5-2.782v2.289l3 1.669v13.225l-12 6.676-12-6.676V9.003l3-1.669V5.045z"
39
+ d: "M2.996 18.636L0 20.434v6.132l6 3.6 5-3 5 3 5-3 5 3 6-3.6v-6.132l-5-3v-5l-5-3v-5l-6-3.6-6 3.6v2.832l2 .033V5.566l4-2.4 4 2.4v3.868l-1.996 1.197 1 1.733L21 11.166l4 2.4v3.868l-4 2.4-2.257-1.354-.971 1.75L20 21.565v3.868l-4 2.4-4-2.4v-1.7l-2-.033v1.733l-4 2.4-4-2.4v-3.868l1.996-1.197-1-1.733zM22 25.434v-3.868l4-2.4 4 2.4v3.868l-4 2.4-4-2.4z"
46
40
  }), (0, _react2.jsx)("path", {
47
41
  className: "euiIcon__fillSecondary",
48
- fillRule: "evenodd",
49
- clipRule: "evenodd",
50
- d: "M22 12.5L16 9l-6 3.5v7l6 3.5 6-3.5v-7zm-9.974 1.205L16 11.387l3.974 2.318v4.59L16 20.613l-3.974-2.318v-4.59z"
42
+ d: "M11 22.166l-6-3.6v-6.132l6-3.6 6 3.6v6.132l-6 3.6zm4-4.732v-3.868l-4-2.4-4 2.4v3.868l4 2.4 4-2.4z"
51
43
  }));
52
44
  };
53
45
 
@@ -36,10 +36,18 @@ var EuiIconAppFleet = function EuiIconAppFleet(_ref) {
36
36
  }, props), title ? (0, _react2.jsx)("title", {
37
37
  id: titleId
38
38
  }, title) : null, (0, _react2.jsx)("path", {
39
- d: "M2.996 18.636L0 20.434v6.132l6 3.6 5-3 5 3 5-3 5 3 6-3.6v-6.132l-5-3v-5l-5-3v-5l-6-3.6-6 3.6v2.832l2 .033V5.566l4-2.4 4 2.4v3.868l-1.996 1.197 1 1.733L21 11.166l4 2.4v3.868l-4 2.4-2.257-1.354-.971 1.75L20 21.565v3.868l-4 2.4-4-2.4v-1.7l-2-.033v1.733l-4 2.4-4-2.4v-3.868l1.996-1.197-1-1.733zM22 25.434v-3.868l4-2.4 4 2.4v3.868l-4 2.4-4-2.4z"
39
+ className: "euiIcon__fillSecondary",
40
+ d: "M21 2.82L16 .038 11 2.82v2.289l5-2.782 5 2.782v-2.29z"
41
+ }), (0, _react2.jsx)("path", {
42
+ className: "euiIcon__fillSecondary",
43
+ d: "M21 7.282L16 4.5l-5 2.782V9.57l5-2.781 5 2.781V7.282z"
44
+ }), (0, _react2.jsx)("path", {
45
+ d: "M7 5.045L2 7.827v15.577l14 7.788 14-7.788V7.827l-5-2.782v2.289l3 1.669v13.225l-12 6.676-12-6.676V9.003l3-1.669V5.045z"
40
46
  }), (0, _react2.jsx)("path", {
41
47
  className: "euiIcon__fillSecondary",
42
- d: "M11 22.166l-6-3.6v-6.132l6-3.6 6 3.6v6.132l-6 3.6zm4-4.732v-3.868l-4-2.4-4 2.4v3.868l4 2.4 4-2.4z"
48
+ fillRule: "evenodd",
49
+ clipRule: "evenodd",
50
+ d: "M22 12.5L16 9l-6 3.5v7l6 3.5 6-3.5v-7zm-9.974 1.205L16 11.387l3.974 2.318v4.59L16 20.613l-3.974-2.318v-4.59z"
43
51
  }));
44
52
  };
45
53
 
@@ -275,16 +275,16 @@ var FieldValueSelectionFilter = /*#__PURE__*/function (_Component) {
275
275
  if (!multiSelect && autoClose) {
276
276
  this.closePopover();
277
277
 
278
- var _query = checked ? this.props.query.removeSimpleFieldClauses(field) : this.props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator);
278
+ var _query = checked ? this.props.query.removeSimpleFieldClauses(field).addSimpleFieldValue(field, value, true, operator) : this.props.query.removeSimpleFieldClauses(field);
279
279
 
280
280
  this.props.onChange(_query);
281
281
  } else {
282
282
  if (multiSelect === 'or') {
283
- var _query2 = checked ? this.props.query.removeOrFieldValue(field, value) : this.props.query.addOrFieldValue(field, value, true, operator);
283
+ var _query2 = checked ? this.props.query.addOrFieldValue(field, value, true, operator) : this.props.query.removeOrFieldValue(field, value);
284
284
 
285
285
  this.props.onChange(_query2);
286
286
  } else {
287
- var _query3 = checked ? this.props.query.removeSimpleFieldValue(field, value) : this.props.query.addSimpleFieldValue(field, value, true, operator);
287
+ var _query3 = checked ? this.props.query.addSimpleFieldValue(field, value, true, operator) : this.props.query.removeSimpleFieldValue(field, value);
288
288
 
289
289
  this.props.onChange(_query3);
290
290
  }
@@ -392,13 +392,9 @@ var FieldValueSelectionFilter = /*#__PURE__*/function (_Component) {
392
392
  listProps: {
393
393
  isVirtualized: isOverSearchThreshold || false
394
394
  },
395
- onChange: function onChange(options) {
396
- var diff = items.find(function (item, index) {
397
- return item.checked !== options[index].checked;
398
- });
399
-
400
- if (diff) {
401
- _this5.onOptionClick(diff.data.optionField, diff.data.value, diff.checked);
395
+ onChange: function onChange(options, event, changedOption) {
396
+ if (changedOption.data) {
397
+ _this5.onOptionClick(changedOption.data.optionField, changedOption.data.value, changedOption.checked);
402
398
  }
403
399
  }
404
400
  }, searchProps), function (list, search) {
@@ -118,6 +118,19 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
118
118
  }
119
119
  }
120
120
  });
121
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ariaSetSize", 0);
122
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ariaPosInSetMap", {});
123
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calculateAriaSetAttrs", function (optionArray) {
124
+ _this.ariaPosInSetMap = {};
125
+ var latestAriaPosIndex = 0;
126
+ optionArray.forEach(function (option, index) {
127
+ if (!option.isGroupLabel) {
128
+ latestAriaPosIndex++;
129
+ _this.ariaPosInSetMap[index] = latestAriaPosIndex;
130
+ }
131
+ });
132
+ _this.ariaSetSize = latestAriaPosIndex;
133
+ });
121
134
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ListRow", /*#__PURE__*/(0, _react.memo)(function (_ref) {
122
135
  var data = _ref.data,
123
136
  index = _ref.index,
@@ -160,9 +173,6 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
160
173
  }, optionRest), prepend, label, append);
161
174
  }
162
175
 
163
- var labelCount = data.filter(function (option) {
164
- return option.isGroupLabel;
165
- }).length;
166
176
  var id = makeOptionId(index);
167
177
  return (0, _react2.jsx)(_selectable_list_item.EuiSelectableListItem, (0, _extends2.default)({
168
178
  key: id,
@@ -183,8 +193,8 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
183
193
  disabled: disabled,
184
194
  prepend: prepend,
185
195
  append: append,
186
- "aria-posinset": index + 1 - labelCount,
187
- "aria-setsize": data.length - labelCount,
196
+ "aria-posinset": _this.ariaPosInSetMap[index],
197
+ "aria-setsize": _this.ariaSetSize,
188
198
  onFocusBadge: onFocusBadge,
189
199
  allowExclusions: allowExclusions,
190
200
  showIcons: showIcons,
@@ -335,6 +345,7 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
335
345
  textWrap = _this$props7.textWrap,
336
346
  rest = (0, _objectWithoutProperties2.default)(_this$props7, _excluded3);
337
347
  var optionArray = visibleOptions || options;
348
+ this.calculateAriaSetAttrs(optionArray);
338
349
  var heightIsFull = forcedHeight === 'full';
339
350
  var calculatedHeight = heightIsFull ? false : forcedHeight; // If calculatedHeight is still undefined, then calculate it
340
351
 
@@ -23,6 +23,10 @@ var _title = require("../title");
23
23
 
24
24
  var _step_number = require("./step_number");
25
25
 
26
+ var _services = require("../../services");
27
+
28
+ var _step = require("./step.styles");
29
+
26
30
  var _react2 = require("@emotion/react");
27
31
 
28
32
  var _excluded = ["className", "children", "headingElement", "step", "title", "titleSize", "status"];
@@ -43,27 +47,32 @@ var EuiStep = function EuiStep(_ref) {
43
47
  titleSize = _ref$titleSize === void 0 ? 's' : _ref$titleSize,
44
48
  status = _ref.status,
45
49
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
46
- var classes = (0, _classnames.default)('euiStep', {
47
- 'euiStep--small': titleSize === 'xs',
48
- 'euiStep-isDisabled': status === 'disabled'
49
- }, className);
50
- var numberClasses = (0, _classnames.default)('euiStep__circle', {
51
- 'euiStepNumber--small': titleSize === 'xs'
52
- });
50
+ var classes = (0, _classnames.default)('euiStep', className);
51
+ var euiTheme = (0, _services.useEuiTheme)();
52
+ var styles = (0, _step.euiStepStyles)(euiTheme);
53
+ var cssStyles = [styles.euiStep, styles[titleSize]];
54
+ var contentStyles = (0, _step.euiStepContentStyles)(euiTheme);
55
+ var cssContentStyles = [contentStyles.euiStep__content, contentStyles[titleSize]];
56
+ var titleStyles = (0, _step.euiStepTitleStyles)(euiTheme);
57
+ var cssStepTitleStyles = [titleStyles.euiStep__title, status === 'disabled' && titleStyles.isDisabled, titleStyles[titleSize]];
58
+ var cssTitleWrapperStyles = titleStyles.euiStep__titleWrapper;
53
59
  return (0, _react2.jsx)("div", (0, _extends2.default)({
54
- className: classes
60
+ className: classes,
61
+ css: cssStyles
55
62
  }, rest), (0, _react2.jsx)("div", {
56
- className: "euiStep__titleWrapper"
63
+ className: "euiStep__titleWrapper",
64
+ css: cssTitleWrapperStyles
57
65
  }, (0, _react2.jsx)(_step_number.EuiStepNumber, {
58
- className: numberClasses,
59
66
  number: step,
60
67
  status: status,
61
68
  titleSize: titleSize
62
69
  }), (0, _react2.jsx)(_title.EuiTitle, {
63
70
  size: titleSize,
64
- className: "euiStep__title"
71
+ className: "euiStep__title",
72
+ css: cssStepTitleStyles
65
73
  }, /*#__PURE__*/(0, _react.createElement)(headingElement, null, title))), (0, _react2.jsx)("div", {
66
- className: "euiStep__content"
74
+ className: "euiStep__content",
75
+ css: cssContentStyles
67
76
  }, children));
68
77
  };
69
78