@elastic/eui 67.1.6 → 67.1.8

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 (107) hide show
  1. package/dist/eui_theme_dark.css +0 -7
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -7
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/badge/beta_badge/beta_badge.js +4 -4
  6. package/es/components/basic_table/in_memory_table.js +16 -2
  7. package/es/components/breadcrumbs/breadcrumb.js +9 -5
  8. package/es/components/breadcrumbs/breadcrumbs.js +7 -4
  9. package/es/components/card/card.js +6 -28
  10. package/es/components/card/checkable_card/checkable_card.js +3 -2
  11. package/es/components/datagrid/controls/column_selector.js +1 -1
  12. package/es/components/datagrid/controls/column_sorting.js +1 -1
  13. package/es/components/header/header_links/header_links.js +6 -0
  14. package/es/components/modal/modal.js +17 -2
  15. package/es/components/page_template/page_template.js +6 -9
  16. package/es/components/popover/popover.js +13 -3
  17. package/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  18. package/es/components/popover/popover_panel/_popover_panel.js +8 -2
  19. package/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  20. package/es/components/search_bar/query/ast.js +14 -3
  21. package/es/components/search_bar/search_bar.js +39 -5
  22. package/es/components/search_bar/search_box.js +37 -4
  23. package/es/components/tour/tour.styles.js +4 -3
  24. package/es/components/tour/tour_step.js +13 -5
  25. package/eui.d.ts +43 -8
  26. package/i18ntokens.json +12 -12
  27. package/lib/components/badge/beta_badge/beta_badge.js +4 -8
  28. package/lib/components/basic_table/in_memory_table.js +16 -2
  29. package/lib/components/breadcrumbs/breadcrumb.js +9 -5
  30. package/lib/components/breadcrumbs/breadcrumbs.js +7 -4
  31. package/lib/components/card/card.js +7 -30
  32. package/lib/components/card/checkable_card/checkable_card.js +3 -2
  33. package/lib/components/datagrid/controls/column_selector.js +1 -1
  34. package/lib/components/datagrid/controls/column_sorting.js +1 -1
  35. package/lib/components/header/header_links/header_links.js +6 -0
  36. package/lib/components/modal/modal.js +23 -2
  37. package/lib/components/page_template/page_template.js +6 -9
  38. package/lib/components/popover/popover.js +13 -3
  39. package/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  40. package/lib/components/popover/popover_panel/_popover_panel.js +8 -2
  41. package/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  42. package/lib/components/search_bar/query/ast.js +14 -3
  43. package/lib/components/search_bar/search_bar.js +40 -5
  44. package/lib/components/search_bar/search_box.js +38 -4
  45. package/lib/components/tour/tour.styles.js +3 -2
  46. package/lib/components/tour/tour_step.js +7 -5
  47. package/optimize/es/components/badge/beta_badge/beta_badge.js +4 -4
  48. package/optimize/es/components/basic_table/in_memory_table.js +1 -1
  49. package/optimize/es/components/breadcrumbs/breadcrumb.js +3 -2
  50. package/optimize/es/components/breadcrumbs/breadcrumbs.js +7 -4
  51. package/optimize/es/components/card/card.js +5 -27
  52. package/optimize/es/components/card/checkable_card/checkable_card.js +3 -2
  53. package/optimize/es/components/datagrid/controls/column_selector.js +1 -1
  54. package/optimize/es/components/datagrid/controls/column_sorting.js +1 -1
  55. package/optimize/es/components/modal/modal.js +17 -2
  56. package/optimize/es/components/page_template/page_template.js +6 -9
  57. package/optimize/es/components/popover/popover.js +7 -3
  58. package/optimize/es/components/popover/popover_arrow/_popover_arrow.js +1 -0
  59. package/optimize/es/components/popover/popover_panel/_popover_panel.js +6 -1
  60. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +15 -1
  61. package/optimize/es/components/search_bar/query/ast.js +14 -3
  62. package/optimize/es/components/search_bar/search_bar.js +31 -5
  63. package/optimize/es/components/search_bar/search_box.js +29 -3
  64. package/optimize/es/components/tour/tour.styles.js +4 -3
  65. package/optimize/es/components/tour/tour_step.js +7 -5
  66. package/optimize/lib/components/badge/beta_badge/beta_badge.js +4 -11
  67. package/optimize/lib/components/basic_table/in_memory_table.js +1 -1
  68. package/optimize/lib/components/breadcrumbs/breadcrumb.js +3 -2
  69. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +7 -4
  70. package/optimize/lib/components/card/card.js +6 -29
  71. package/optimize/lib/components/card/checkable_card/checkable_card.js +3 -2
  72. package/optimize/lib/components/datagrid/controls/column_selector.js +1 -1
  73. package/optimize/lib/components/datagrid/controls/column_sorting.js +1 -1
  74. package/optimize/lib/components/modal/modal.js +22 -2
  75. package/optimize/lib/components/page_template/page_template.js +6 -9
  76. package/optimize/lib/components/popover/popover.js +7 -3
  77. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.js +1 -0
  78. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +6 -1
  79. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  80. package/optimize/lib/components/search_bar/query/ast.js +14 -3
  81. package/optimize/lib/components/search_bar/search_bar.js +31 -5
  82. package/optimize/lib/components/search_bar/search_box.js +30 -3
  83. package/optimize/lib/components/tour/tour.styles.js +3 -2
  84. package/optimize/lib/components/tour/tour_step.js +7 -5
  85. package/package.json +1 -1
  86. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -8
  87. package/src/components/modal/_modal.scss +3 -1
  88. package/test-env/components/badge/beta_badge/beta_badge.js +4 -11
  89. package/test-env/components/basic_table/in_memory_table.js +16 -2
  90. package/test-env/components/breadcrumbs/breadcrumb.js +9 -5
  91. package/test-env/components/breadcrumbs/breadcrumbs.js +7 -4
  92. package/test-env/components/card/card.js +7 -30
  93. package/test-env/components/card/checkable_card/checkable_card.js +3 -2
  94. package/test-env/components/datagrid/controls/column_selector.js +1 -1
  95. package/test-env/components/datagrid/controls/column_sorting.js +1 -1
  96. package/test-env/components/header/header_links/header_links.js +6 -0
  97. package/test-env/components/modal/modal.js +22 -2
  98. package/test-env/components/page_template/page_template.js +6 -9
  99. package/test-env/components/popover/popover.js +13 -3
  100. package/test-env/components/popover/popover_arrow/_popover_arrow.js +1 -0
  101. package/test-env/components/popover/popover_panel/_popover_panel.js +8 -2
  102. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +16 -1
  103. package/test-env/components/search_bar/query/ast.js +14 -3
  104. package/test-env/components/search_bar/search_bar.js +39 -5
  105. package/test-env/components/search_bar/search_box.js +38 -4
  106. package/test-env/components/tour/tour.styles.js +3 -2
  107. package/test-env/components/tour/tour_step.js +7 -5
@@ -31,9 +31,11 @@ var _react = _interopRequireWildcard(require("react"));
31
31
 
32
32
  var _form = require("../form");
33
33
 
34
+ var _popover = require("../popover");
35
+
34
36
  var _react2 = require("@emotion/react");
35
37
 
36
- var _excluded = ["query", "incremental"];
38
+ var _excluded = ["query", "incremental", "hint"];
37
39
 
38
40
  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); }
39
41
 
@@ -78,6 +80,7 @@ var EuiSearchBox = /*#__PURE__*/function (_Component) {
78
80
  var _this$props = this.props,
79
81
  query = _this$props.query,
80
82
  incremental = _this$props.incremental,
83
+ hint = _this$props.hint,
81
84
  rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
82
85
  var ariaLabel;
83
86
 
@@ -87,15 +90,39 @@ var EuiSearchBox = /*#__PURE__*/function (_Component) {
87
90
  ariaLabel = 'This is a search bar. After typing your query, hit enter to filter the results lower in the page.';
88
91
  }
89
92
 
90
- return (0, _react2.jsx)(_form.EuiFieldSearch, (0, _extends2.default)({
93
+ var search = (0, _react2.jsx)(_form.EuiFieldSearch, (0, _extends2.default)({
91
94
  inputRef: function inputRef(input) {
92
95
  return _this2.inputElement = input;
93
96
  },
94
97
  fullWidth: true,
95
98
  defaultValue: query,
96
99
  incremental: incremental,
97
- "aria-label": ariaLabel
100
+ "aria-label": ariaLabel,
101
+ onFocus: function onFocus() {
102
+ hint === null || hint === void 0 ? void 0 : hint.setIsVisible(true);
103
+ }
98
104
  }, rest));
105
+
106
+ if (hint) {
107
+ return (0, _react2.jsx)(_popover.EuiInputPopover, (0, _extends2.default)({
108
+ disableFocusTrap: true,
109
+ input: search,
110
+ isOpen: hint.isVisible,
111
+ fullWidth: true,
112
+ closePopover: function closePopover() {
113
+ hint.setIsVisible(false);
114
+ },
115
+ panelProps: {
116
+ 'aria-live': undefined,
117
+ 'aria-modal': undefined,
118
+ role: undefined,
119
+ tabIndex: -1,
120
+ id: hint.id
121
+ }
122
+ }, hint.popoverProps), hint.content);
123
+ }
124
+
125
+ return search;
99
126
  }
100
127
  }]);
101
128
  return EuiSearchBox;
@@ -31,7 +31,7 @@ var euiTourStyles = function euiTourStyles(_ref) {
31
31
  colorMode = _ref.colorMode;
32
32
  return {
33
33
  // Targets EuiPopoverPanel
34
- euiTour: /*#__PURE__*/(0, _react.css)("&[data-popover-open='true']{[class*='euiTourBeacon']{opacity:1;}}[data-popover-arrow='top']{&:before{", (0, _global_styling.logicalCSS)('border-top-color', backgroundColor(euiTheme.colors.lightestShade, colorMode)), ";}};label:euiTour;")
34
+ euiTour: /*#__PURE__*/(0, _react.css)("[data-popover-arrow='top']::before{", (0, _global_styling.logicalCSS)('border-top-color', backgroundColor(euiTheme.colors.lightestShade, colorMode)), ";};label:euiTour;")
35
35
  };
36
36
  };
37
37
 
@@ -48,7 +48,8 @@ var euiTourBeaconStyles = function euiTourBeaconStyles(_ref2) {
48
48
  });
49
49
  return {
50
50
  // Base
51
- euiTourBeacon: /*#__PURE__*/(0, _react.css)("pointer-events:none;position:absolute;opacity:0;transition:opacity 0s ", euiTheme.animation[_popover_panel.openAnimationTiming], ";;label:euiTourBeacon;"),
51
+ euiTourBeacon: /*#__PURE__*/(0, _react.css)("pointer-events:none;position:absolute;", _global_styling.euiCanAnimate, "{opacity:0;transition:opacity 0s ", euiTheme.animation[_popover_panel.openAnimationTiming], ";};label:euiTourBeacon;"),
52
+ isOpen: /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{opacity:1;};label:isOpen;"),
52
53
  // Positions
53
54
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('top', arrowHalfSize), ";", (0, _global_styling.logicalCSS)('left', arrowOffset), ";;label:right;"),
54
55
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('top', arrowHalfSize), ";", (0, _global_styling.logicalCSS)('left', arrowSize), ";;label:left;"),
@@ -43,7 +43,7 @@ var _tour = require("./tour.styles");
43
43
 
44
44
  var _react2 = require("@emotion/react");
45
45
 
46
- var _excluded = ["anchorPosition", "anchor", "children", "className", "closePopover", "content", "isStepOpen", "minWidth", "maxWidth", "onFinish", "step", "stepsTotal", "style", "subtitle", "title", "decoration", "footerAction"];
46
+ var _excluded = ["anchorPosition", "anchor", "children", "className", "css", "closePopover", "content", "isStepOpen", "minWidth", "maxWidth", "onFinish", "step", "stepsTotal", "style", "subtitle", "title", "decoration", "footerAction", "panelProps"];
47
47
 
48
48
  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); }
49
49
 
@@ -59,6 +59,7 @@ var EuiTourStep = function EuiTourStep(_ref) {
59
59
  anchor = _ref.anchor,
60
60
  children = _ref.children,
61
61
  className = _ref.className,
62
+ css = _ref.css,
62
63
  _ref$closePopover = _ref.closePopover,
63
64
  closePopover = _ref$closePopover === void 0 ? function () {} : _ref$closePopover,
64
65
  content = _ref.content,
@@ -78,6 +79,7 @@ var EuiTourStep = function EuiTourStep(_ref) {
78
79
  _ref$decoration = _ref.decoration,
79
80
  decoration = _ref$decoration === void 0 ? 'beacon' : _ref$decoration,
80
81
  footerAction = _ref.footerAction,
82
+ panelProps = _ref.panelProps,
81
83
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
82
84
  var titleId = (0, _services.useGeneratedHtmlId)();
83
85
 
@@ -120,7 +122,7 @@ var EuiTourStep = function EuiTourStep(_ref) {
120
122
  var headerStyles = (0, _tour.euiTourHeaderStyles)(euiTheme);
121
123
  var footerStyles = (0, _tour.euiTourFooterStyles)(euiTheme);
122
124
  var beaconStyles = (0, _tour.euiTourBeaconStyles)(euiTheme);
123
- var beaconCss = [beaconStyles.euiTourBeacon, popoverPosition && beaconStyles[popoverPosition]];
125
+ var beaconCss = [beaconStyles.euiTourBeacon, isStepOpen && beaconStyles.isOpen, popoverPosition && beaconStyles[popoverPosition]];
124
126
  var finishButtonProps = {
125
127
  color: 'text',
126
128
  flush: 'right',
@@ -179,9 +181,9 @@ var EuiTourStep = function EuiTourStep(_ref) {
179
181
  ownFocus: false,
180
182
  panelClassName: classes,
181
183
  panelStyle: style,
182
- panelProps: {
183
- css: tourStyles.euiTour
184
- },
184
+ panelProps: _objectSpread(_objectSpread({}, panelProps), {}, {
185
+ css: [tourStyles.euiTour, css, panelProps === null || panelProps === void 0 ? void 0 : panelProps.css]
186
+ }),
185
187
  offset: hasBeacon ? 10 : 0,
186
188
  'aria-labelledby': titleId,
187
189
  arrowChildren: hasBeacon && (0, _react2.jsx)(_beacon.EuiBeacon, {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "67.1.6",
4
+ "version": "67.1.8",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -52,14 +52,6 @@
52
52
  }
53
53
  }
54
54
 
55
- .euiDataGrid__controlPopoverWithDragDrop {
56
- // Hack because the fixed positions of drag and drop don't work inside of transformed elements
57
- // sass-lint:disable-block no-important
58
- transform: none !important;
59
- transition: none !important;
60
- margin-top: -$euiSizeS;
61
- }
62
-
63
55
  .euiDataGrid__controlScroll {
64
56
  @include euiYScrollWithShadows;
65
57
  max-height: $euiDataGridPopoverMaxHeight;
@@ -5,7 +5,9 @@
5
5
  display: flex;
6
6
  flex-direction: column;
7
7
  max-height: 75vh; // We overflow the modal body based off this
8
- overflow: hidden; // Ensure long, non-breaking text doesn't expand beyond the modal bounds
8
+
9
+ // TODO: Consider restoring this once https://bugs.chromium.org/p/chromium/issues/detail?id=1229700 is resolved
10
+ // overflow: hidden; Ensure long, non-breaking text doesn't expand beyond the modal bounds
9
11
 
10
12
  position: relative;
11
13
  background-color: $euiColorEmptyShade;
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -15,7 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
13
 
16
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
15
 
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
19
 
@@ -32,11 +30,6 @@ var _icon = require("../../icon");
32
30
  var _react2 = require("@emotion/react");
33
31
 
34
32
  var _excluded = ["className", "label", "color", "tooltipContent", "tooltipPosition", "anchorProps", "title", "iconType", "onClick", "onClickAriaLabel", "href", "rel", "target", "size"];
35
-
36
- 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); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
39
-
40
33
  var colorToClassMap = {
41
34
  accent: 'euiBetaBadge--accent',
42
35
  subdued: 'euiBetaBadge--subdued',
@@ -129,7 +122,7 @@ var EuiBetaBadge = function EuiBetaBadge(_ref) {
129
122
  anchorProps: anchorProps
130
123
  }, content);
131
124
  } else {
132
- return (0, _react2.jsx)(_react.Fragment, null, content);
125
+ return (0, _react2.jsx)("span", anchorProps, content);
133
126
  }
134
127
  } else {
135
128
  if (tooltipContent) {
@@ -150,10 +143,10 @@ var EuiBetaBadge = function EuiBetaBadge(_ref) {
150
143
  console.warn("Only string titles are permitted on badges that do not use tooltips. Found: ".concat((0, _typeof2.default)(spanTitle)));
151
144
  }
152
145
 
153
- return (0, _react2.jsx)("span", (0, _extends2.default)({
146
+ return (0, _react2.jsx)("span", anchorProps, (0, _react2.jsx)("span", (0, _extends2.default)({
154
147
  className: classes,
155
148
  title: spanTitle
156
- }, rest), icon || label);
149
+ }, rest), icon || label));
157
150
  }
158
151
  }
159
152
  };
@@ -403,7 +403,7 @@ var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
403
403
  sortName = _this$state2.sortName,
404
404
  pageIndex = _this$state2.pageIndex,
405
405
  pageSize = _this$state2.pageSize;
406
- var matchingItems = query ? _search_bar.EuiSearchBar.Query.execute(query, items, executeQueryOptions) : items;
406
+ var matchingItems = query !== null && (executeQueryOptions === null || executeQueryOptions === void 0 ? void 0 : executeQueryOptions.enabled) !== false ? _search_bar.EuiSearchBar.Query.execute(query, items, executeQueryOptions) : items;
407
407
  var sortedItems = sortName ? matchingItems.slice(0) // avoid mutating the source array
408
408
  .sort(this.getItemSorter()) // sort, causes mutation
409
409
  : matchingItems;
@@ -1134,6 +1134,14 @@ EuiInMemoryTable.propTypes = {
1134
1134
  * Date formatter to use when parsing date values
1135
1135
  */
1136
1136
  dateFormat: _propTypes.default.any,
1137
+
1138
+ /**
1139
+ * Hint to render below the search bar
1140
+ */
1141
+ hint: _propTypes.default.shape({
1142
+ content: _propTypes.default.node.isRequired,
1143
+ popoverProps: _propTypes.default.any
1144
+ }),
1137
1145
  className: _propTypes.default.string,
1138
1146
  "aria-label": _propTypes.default.string,
1139
1147
  "data-test-subj": _propTypes.default.string,
@@ -1198,7 +1206,13 @@ EuiInMemoryTable.propTypes = {
1198
1206
  executeQueryOptions: _propTypes.default.shape({
1199
1207
  defaultFields: _propTypes.default.arrayOf(_propTypes.default.string.isRequired),
1200
1208
  isClauseMatcher: _propTypes.default.func,
1201
- explain: _propTypes.default.bool
1209
+ explain: _propTypes.default.bool,
1210
+
1211
+ /**
1212
+ * When the search bar Query is controlled and passed to the `search` prop it is by default executed against the items passed to the table to filter them out.
1213
+ * If the filtering is already done before passing the `items` to the table we can disable the execution by setting `enabled` to `false`.
1214
+ */
1215
+ enabled: _propTypes.default.bool
1202
1216
  }),
1203
1217
 
1204
1218
  /**
@@ -40,7 +40,7 @@ var _breadcrumb = require("./breadcrumb.styles");
40
40
  var _react2 = require("@emotion/react");
41
41
 
42
42
  var _excluded = ["children", "className", "type", "truncate"],
43
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb"];
43
+ _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
44
44
 
45
45
  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); }
46
46
 
@@ -68,7 +68,8 @@ EuiBreadcrumb.propTypes = {
68
68
  isFirstBreadcrumb: _propTypes.default.bool,
69
69
  isLastBreadcrumb: _propTypes.default.bool,
70
70
  isOnlyBreadcrumb: _propTypes.default.bool,
71
- highlightLastBreadcrumb: _propTypes.default.bool
71
+ highlightLastBreadcrumb: _propTypes.default.bool,
72
+ truncateLastBreadcrumb: _propTypes.default.bool
72
73
  };
73
74
 
74
75
  var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
@@ -84,11 +85,12 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
84
85
  isLastBreadcrumb = _ref2.isLastBreadcrumb,
85
86
  isOnlyBreadcrumb = _ref2.isOnlyBreadcrumb,
86
87
  highlightLastBreadcrumb = _ref2.highlightLastBreadcrumb,
88
+ truncateLastBreadcrumb = _ref2.truncateLastBreadcrumb,
87
89
  rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
88
90
  var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
89
91
  var euiTheme = (0, _services.useEuiTheme)();
90
92
  var styles = (0, _breadcrumb.euiBreadcrumbContentStyles)(euiTheme);
91
- var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && (isLastBreadcrumb ? styles.isTruncatedLast : styles.isTruncated)];
93
+ var cssStyles = [styles.euiBreadcrumb__content, styles[type], truncate && !truncateLastBreadcrumb && styles.isTruncated, truncateLastBreadcrumb && styles.isTruncatedLast];
92
94
 
93
95
  if (type === 'application') {
94
96
  if (isOnlyBreadcrumb) {
@@ -159,7 +161,8 @@ EuiBreadcrumbContent.propTypes = {
159
161
  isFirstBreadcrumb: _propTypes.default.bool,
160
162
  isLastBreadcrumb: _propTypes.default.bool,
161
163
  isOnlyBreadcrumb: _propTypes.default.bool,
162
- highlightLastBreadcrumb: _propTypes.default.bool
164
+ highlightLastBreadcrumb: _propTypes.default.bool,
165
+ truncateLastBreadcrumb: _propTypes.default.bool
163
166
  };
164
167
 
165
168
  var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
@@ -208,5 +211,6 @@ EuiBreadcrumbCollapsed.propTypes = {
208
211
  isFirstBreadcrumb: _propTypes.default.bool,
209
212
  isLastBreadcrumb: _propTypes.default.bool,
210
213
  isOnlyBreadcrumb: _propTypes.default.bool,
211
- highlightLastBreadcrumb: _propTypes.default.bool
214
+ highlightLastBreadcrumb: _propTypes.default.bool,
215
+ truncateLastBreadcrumb: _propTypes.default.bool
212
216
  };
@@ -68,12 +68,14 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
68
68
  }, [breadcrumbs, responsiveMax]);
69
69
  var breadcrumbChildren = (0, _react.useMemo)(function () {
70
70
  return visibleBreadcrumbs.map(function (breadcrumb, index) {
71
+ var _breadcrumb$truncate;
72
+
71
73
  var isFirstBreadcrumb = index === 0;
72
74
  var isLastBreadcrumb = index === visibleBreadcrumbs.length - 1;
73
75
  var isOnlyBreadcrumb = visibleBreadcrumbs.length === 1;
74
76
  var sharedProps = {
75
77
  type: type,
76
- truncate: truncate
78
+ truncate: (_breadcrumb$truncate = breadcrumb.truncate) !== null && _breadcrumb$truncate !== void 0 ? _breadcrumb$truncate : truncate
77
79
  };
78
80
  return breadcrumb.isCollapsedButton ? (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbCollapsed, (0, _extends2.default)({
79
81
  key: "collapsed"
@@ -87,12 +89,13 @@ var EuiBreadcrumbs = function EuiBreadcrumbs(_ref) {
87
89
  max: 0
88
90
  })) : (0, _react2.jsx)(_breadcrumb.EuiBreadcrumb, (0, _extends2.default)({
89
91
  key: index
90
- }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({
92
+ }, sharedProps), (0, _react2.jsx)(_breadcrumb.EuiBreadcrumbContent, (0, _extends2.default)({}, breadcrumb, sharedProps, {
91
93
  isFirstBreadcrumb: isFirstBreadcrumb,
92
94
  isLastBreadcrumb: isLastBreadcrumb,
93
95
  isOnlyBreadcrumb: isOnlyBreadcrumb,
94
- highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage
95
- }, sharedProps, breadcrumb)));
96
+ highlightLastBreadcrumb: isLastBreadcrumb && lastBreadcrumbIsCurrentPage,
97
+ truncateLastBreadcrumb: isLastBreadcrumb && truncate && breadcrumb.truncate == null
98
+ })));
96
99
  });
97
100
  }, [visibleBreadcrumbs, truncate, type, lastBreadcrumbIsCurrentPage]);
98
101
  return (0, _react2.jsx)("nav", (0, _extends2.default)({
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.LAYOUT_ALIGNMENTS = exports.EuiCard = exports.ALIGNMENTS = void 0;
10
+ exports.EuiCard = exports.ALIGNMENTS = void 0;
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
@@ -21,10 +21,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
22
  var _classnames = _interopRequireDefault(require("classnames"));
23
23
 
24
- var _common = require("../common");
25
-
26
24
  var _services = require("../../services");
27
25
 
26
+ var _clone_element = require("../../services/theme/clone_element");
27
+
28
28
  var _text = require("../text");
29
29
 
30
30
  var _title = require("../title");
@@ -56,23 +56,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
56
56
 
57
57
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
58
58
 
59
- var textAlignToClassNameMap = {
60
- left: 'euiCard--leftAligned',
61
- center: 'euiCard--centerAligned',
62
- right: 'euiCard--rightAligned'
63
- };
64
- var ALIGNMENTS = (0, _common.keysOf)(textAlignToClassNameMap);
59
+ var ALIGNMENTS = ['left', 'center', 'right'];
65
60
  exports.ALIGNMENTS = ALIGNMENTS;
66
- var layoutToClassNameMap = {
67
- vertical: '',
68
- horizontal: 'euiCard--horizontal'
69
- };
70
- var LAYOUT_ALIGNMENTS = (0, _common.keysOf)(layoutToClassNameMap);
71
- /**
72
- * Certain props are only allowed when the layout is vertical
73
- */
74
-
75
- exports.LAYOUT_ALIGNMENTS = LAYOUT_ALIGNMENTS;
76
61
 
77
62
  var EuiCard = function EuiCard(_ref) {
78
63
  var className = _ref.className,
@@ -132,15 +117,7 @@ var EuiCard = function EuiCard(_ref) {
132
117
  }
133
118
  }
134
119
 
135
- var selectableColorClass = selectable ? "euiCard--isSelectable--".concat((0, _card_select.euiCardSelectableColor)(selectable.color, selectable.isSelected)) : undefined;
136
- var classes = (0, _classnames.default)('euiCard', textAlignToClassNameMap[textAlign], layoutToClassNameMap[layout], {
137
- 'euiCard--isClickable': isClickable,
138
- 'euiCard--hasBetaBadge': betaBadgeProps === null || betaBadgeProps === void 0 ? void 0 : betaBadgeProps.label,
139
- 'euiCard--hasIcon': icon,
140
- 'euiCard--isSelectable': selectable,
141
- 'euiCard-isSelected': selectable === null || selectable === void 0 ? void 0 : selectable.isSelected,
142
- 'euiCard-isDisabled': isDisabled
143
- }, selectableColorClass, className);
120
+ var classes = (0, _classnames.default)('euiCard', className);
144
121
  var ariaId = (0, _accessibility.useGeneratedHtmlId)();
145
122
  var ariaDesc = description ? "".concat(ariaId, "Description") : '';
146
123
  /**
@@ -168,7 +145,7 @@ var EuiCard = function EuiCard(_ref) {
168
145
 
169
146
  if (icon) {
170
147
  var iconStyles = [styles.icon.euiCard__icon, styles.icon.layout[layout], imageNode && styles.icon.withImage];
171
- iconNode = /*#__PURE__*/_react.default.cloneElement(icon, {
148
+ iconNode = (0, _clone_element.cloneElementWithCss)(icon, {
172
149
  className: (0, _classnames.default)(icon.props.className, 'euiCard__icon'),
173
150
  css: iconStyles
174
151
  });
@@ -343,7 +320,7 @@ EuiCard.propTypes = {
343
320
  /**
344
321
  * Changes alignment of the title and description
345
322
  */
346
- textAlign: _propTypes.default.oneOf(["left", "center", "right"]),
323
+ textAlign: _propTypes.default.any,
347
324
 
348
325
  /**
349
326
  * Accepts any combination of elements
@@ -29,7 +29,7 @@ var _checkable_card = require("./checkable_card.styles");
29
29
 
30
30
  var _react2 = require("@emotion/react");
31
31
 
32
- var _excluded = ["children", "className", "checkableType", "label", "checked", "disabled", "hasShadow", "hasBorder"];
32
+ var _excluded = ["children", "className", "css", "checkableType", "label", "checked", "disabled", "hasShadow", "hasBorder"];
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
 
@@ -38,6 +38,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
38
38
  var EuiCheckableCard = function EuiCheckableCard(_ref) {
39
39
  var children = _ref.children,
40
40
  className = _ref.className,
41
+ css = _ref.css,
41
42
  _ref$checkableType = _ref.checkableType,
42
43
  checkableType = _ref$checkableType === void 0 ? 'radio' : _ref$checkableType,
43
44
  label = _ref.label,
@@ -49,7 +50,7 @@ var EuiCheckableCard = function EuiCheckableCard(_ref) {
49
50
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
51
  var euiThemeContext = (0, _services.useEuiTheme)();
51
52
  var styles = (0, _checkable_card.euiCheckableCardStyles)(euiThemeContext);
52
- var baseStyles = [styles.euiCheckableCard, checked && !disabled && styles.isChecked];
53
+ var baseStyles = [styles.euiCheckableCard, checked && !disabled && styles.isChecked, css];
53
54
  var labelStyles = [styles.label.euiCheckableCard__label, disabled && styles.label.isDisabled];
54
55
  var childStyles = [styles.euiCheckableCard__children];
55
56
  var id = rest.id;
@@ -138,7 +138,7 @@ var useDataGridColumnSelector = function useDataGridColumnSelector(availableColu
138
138
  },
139
139
  anchorPosition: "downLeft",
140
140
  panelPaddingSize: "s",
141
- panelClassName: "euiDataGrid__controlPopoverWithDragDrop",
141
+ hasDragDrop: true,
142
142
  button: (0, _react2.jsx)(_button.EuiButtonEmpty, {
143
143
  size: "xs",
144
144
  iconType: allowColumnHiding ? 'listAdd' : 'list',
@@ -150,7 +150,7 @@ var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sortin
150
150
  },
151
151
  anchorPosition: "downLeft",
152
152
  panelPaddingSize: "s",
153
- panelClassName: "euiDataGrid__controlPopoverWithDragDrop",
153
+ hasDragDrop: true,
154
154
  button: (0, _react2.jsx)(_button.EuiButtonEmpty, {
155
155
  size: "xs",
156
156
  iconType: "sortable",
@@ -260,6 +260,12 @@ EuiHeaderLinks.propTypes = {
260
260
  */
261
261
  repositionOnScroll: _propTypes.default.bool,
262
262
 
263
+ /**
264
+ * Must be set to true if using `EuiDragDropContext` within a popover,
265
+ * otherwise your nested drag & drop will have incorrect positioning
266
+ */
267
+ hasDragDrop: _propTypes.default.bool,
268
+
263
269
  /**
264
270
  * By default, popover content inherits the z-index of the anchor
265
271
  * component; pass `zIndex` to override
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -13,7 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
15
 
14
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
21
 
@@ -33,6 +35,10 @@ var _react2 = require("@emotion/react");
33
35
 
34
36
  var _excluded = ["className", "children", "initialFocus", "onClose", "maxWidth", "style"];
35
37
 
38
+ 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); }
39
+
40
+ 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; }
41
+
36
42
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
37
43
 
38
44
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -46,6 +52,18 @@ var EuiModal = function EuiModal(_ref) {
46
52
  maxWidth = _ref$maxWidth === void 0 ? true : _ref$maxWidth,
47
53
  style = _ref.style,
48
54
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
+ // TODO: Remove this onFocus scroll workaround after react-focus-on supports focusOptions
56
+ // @see https://github.com/elastic/eui/issues/6304
57
+ var bodyScrollTop = (0, _react.useRef)(typeof window === 'undefined' ? undefined : window.scrollY // Account for SSR
58
+ );
59
+ var onFocus = (0, _react.useCallback)(function () {
60
+ if (bodyScrollTop.current != null) {
61
+ window.scrollTo({
62
+ top: bodyScrollTop.current
63
+ });
64
+ bodyScrollTop.current = undefined; // Unset after first auto focus
65
+ }
66
+ }, []);
49
67
 
50
68
  var onKeyDown = function onKeyDown(event) {
51
69
  if (event.key === _services.keys.ESCAPE) {
@@ -69,11 +87,13 @@ var EuiModal = function EuiModal(_ref) {
69
87
 
70
88
  var classes = (0, _classnames.default)('euiModal', widthClassName, className);
71
89
  return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
72
- initialFocus: initialFocus
90
+ initialFocus: initialFocus,
91
+ scrollLock: true
73
92
  }, (0, _react2.jsx)("div", (0, _extends2.default)({
74
93
  className: classes,
75
94
  onKeyDown: onKeyDown,
76
95
  tabIndex: 0,
96
+ onFocus: onFocus,
77
97
  style: newStyle || style
78
98
  }, rest), (0, _react2.jsx)(_i18n.EuiI18n, {
79
99
  token: "euiModal.closeModal",
@@ -157,15 +157,12 @@ var _EuiPageTemplate = function _EuiPageTemplate(_ref) {
157
157
  _react.default.Children.toArray(children).forEach(function (child, index) {
158
158
  if (! /*#__PURE__*/_react.default.isValidElement(child)) return; // Skip non-components
159
159
 
160
- switch (child.type) {
161
- case _page.EuiPageSidebar:
162
- sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
163
- key: "sidebar".concat(index)
164
- }, getSideBarProps()), child.props)));
165
- break;
166
-
167
- default:
168
- sections.push(child);
160
+ if (child.type === _page.EuiPageSidebar || child.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ === _page.EuiPageSidebar) {
161
+ sidebar.push( /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
162
+ key: "sidebar".concat(index)
163
+ }, getSideBarProps()), child.props)));
164
+ } else {
165
+ sections.push(child);
169
166
  }
170
167
  });
171
168
 
@@ -66,7 +66,7 @@ var _popover2 = require("./popover.styles");
66
66
 
67
67
  var _popover_panel = require("./popover_panel");
68
68
 
69
- var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
69
+ var _excluded = ["anchorClassName", "anchorPosition", "button", "buttonRef", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "hasDragDrop", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "onTrapDeactivation", "buffer", "aria-label", "aria-labelledby", "container", "focusTrapProps", "initialFocus", "tabIndex"];
70
70
 
71
71
  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); }
72
72
 
@@ -403,7 +403,8 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
403
403
  }, {
404
404
  key: "render",
405
405
  value: function render() {
406
- var _this4 = this;
406
+ var _panelProps$tabIndex,
407
+ _this4 = this;
407
408
 
408
409
  var _this$props = this.props,
409
410
  anchorClassName = _this$props.anchorClassName,
@@ -426,6 +427,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
426
427
  hasArrow = _this$props.hasArrow,
427
428
  arrowChildren = _this$props.arrowChildren,
428
429
  repositionOnScroll = _this$props.repositionOnScroll,
430
+ hasDragDrop = _this$props.hasDragDrop,
429
431
  zIndex = _this$props.zIndex,
430
432
  attachToAnchor = _this$props.attachToAnchor,
431
433
  display = _this$props.display,
@@ -438,8 +440,9 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
438
440
  container = _this$props.container,
439
441
  focusTrapProps = _this$props.focusTrapProps,
440
442
  initialFocusProp = _this$props.initialFocus,
441
- tabIndexProp = _this$props.tabIndex,
443
+ _tabIndexProp = _this$props.tabIndex,
442
444
  rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
445
+ var tabIndexProp = (_panelProps$tabIndex = panelProps === null || panelProps === void 0 ? void 0 : panelProps.tabIndex) !== null && _panelProps$tabIndex !== void 0 ? _panelProps$tabIndex : _tabIndexProp;
443
446
  var styles = (0, _popover2.euiPopoverStyles)();
444
447
  var popoverStyles = [styles.euiPopover, {
445
448
  display: display
@@ -503,6 +506,7 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
503
506
  position: this.state.arrowPosition,
504
507
  isAttached: attachToAnchor,
505
508
  className: (0, _classnames.default)(panelClassName, panelProps === null || panelProps === void 0 ? void 0 : panelProps.className),
509
+ hasDragDrop: hasDragDrop,
506
510
  hasShadow: false,
507
511
  paddingSize: panelPaddingSize,
508
512
  tabIndex: tabIndex,
@@ -720,6 +724,12 @@ EuiPopover.propTypes = {
720
724
  */
721
725
  repositionOnScroll: _propTypes.default.bool,
722
726
 
727
+ /**
728
+ * Must be set to true if using `EuiDragDropContext` within a popover,
729
+ * otherwise your nested drag & drop will have incorrect positioning
730
+ */
731
+ hasDragDrop: _propTypes.default.bool,
732
+
723
733
  /**
724
734
  * By default, popover content inherits the z-index of the anchor
725
735
  * component; pass `zIndex` to override
@@ -33,6 +33,7 @@ var EuiPopoverArrow = function EuiPopoverArrow(_ref) {
33
33
  var styles = (0, _popover_arrow.euiPopoverArrowStyles)(euiTheme);
34
34
  var cssStyles = [styles.euiPopoverArrow, styles[position]];
35
35
  return (0, _react2.jsx)("div", (0, _extends2.default)({
36
+ className: "euiPopover__arrow",
36
37
  "data-popover-arrow": position,
37
38
  css: cssStyles
38
39
  }, rest), children);