@elastic/eui 109.1.0 → 110.0.0-snapshot.1764684698664

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 (212) hide show
  1. package/es/components/basic_table/basic_table.js +4 -1
  2. package/es/components/basic_table/in_memory_table.js +86 -233
  3. package/es/components/breadcrumbs/_breadcrumb_content.js +3 -0
  4. package/es/components/breadcrumbs/breadcrumbs.js +3 -0
  5. package/es/components/button/button_group/button_group.styles.js +2 -2
  6. package/es/components/button/button_group/button_group_button.styles.js +1 -1
  7. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -2
  8. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  9. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  10. package/es/components/date_picker/super_date_picker/quick_select_popover/index.js +1 -0
  11. package/es/components/date_picker/super_date_picker/super_date_picker.js +35 -17
  12. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +1 -3
  13. package/es/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  14. package/es/components/filter_group/filter_group.a11y.js +1 -1
  15. package/es/components/flex/flex_item.js +6 -4
  16. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -0
  17. package/es/components/header/header_links/header_links.js +3 -0
  18. package/es/components/header/header_logo/header_logo.js +6 -1
  19. package/es/components/header/header_logo/header_logo.styles.js +1 -1
  20. package/es/components/icon/icon.styles.js +4 -4
  21. package/es/components/page/page.js +11 -3
  22. package/es/components/page/page.styles.js +1 -2
  23. package/es/components/page/page_header/page_header.js +11 -3
  24. package/es/components/page/page_header/page_header_content.js +3 -0
  25. package/es/components/page_template/outer/page_outer.js +2 -3
  26. package/es/components/page_template/outer/page_outer.styles.js +29 -35
  27. package/es/components/page_template/page_template.js +8 -2
  28. package/es/components/popover/input_popover.js +4 -1
  29. package/es/components/popover/popover.js +7 -4
  30. package/es/components/search_bar/search_bar.js +4 -4
  31. package/es/components/selectable/selectable.js +7 -2
  32. package/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -0
  33. package/es/components/table/_table_cell_content.styles.js +4 -4
  34. package/es/components/table/table.js +16 -3
  35. package/es/components/table/table.styles.js +2 -1
  36. package/es/components/table/table_cells_shared.styles.js +4 -1
  37. package/es/components/table/table_context.js +12 -0
  38. package/es/components/table/table_footer_cell.js +6 -2
  39. package/es/components/table/table_row.js +5 -2
  40. package/es/components/table/table_row.styles.js +22 -6
  41. package/es/components/table/table_row_cell.styles.js +3 -3
  42. package/es/components/tool_tip/tool_tip_anchor.js +8 -0
  43. package/es/components/tour/tour_step.js +9 -3
  44. package/es/global_styling/mixins/_button.js +4 -3
  45. package/es/global_styling/mixins/_typography.js +9 -0
  46. package/es/services/string/to_initials.js +26 -4
  47. package/eui.d.ts +75 -29
  48. package/lib/components/basic_table/basic_table.js +4 -1
  49. package/lib/components/basic_table/in_memory_table.js +85 -234
  50. package/lib/components/breadcrumbs/_breadcrumb_content.js +3 -0
  51. package/lib/components/button/button_group/button_group.styles.js +1 -1
  52. package/lib/components/button/button_group/button_group_button.styles.js +1 -1
  53. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -2
  54. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  55. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  56. package/lib/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  57. package/lib/components/date_picker/super_date_picker/super_date_picker.js +34 -16
  58. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +1 -3
  59. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  60. package/lib/components/filter_group/filter_group.a11y.js +1 -1
  61. package/lib/components/flex/flex_item.js +6 -4
  62. package/lib/components/header/header_logo/header_logo.js +6 -1
  63. package/lib/components/header/header_logo/header_logo.styles.js +1 -1
  64. package/lib/components/icon/icon.styles.js +4 -4
  65. package/lib/components/page/page.js +10 -2
  66. package/lib/components/page/page.styles.js +1 -2
  67. package/lib/components/page/page_header/page_header.js +10 -2
  68. package/lib/components/page_template/outer/page_outer.js +1 -2
  69. package/lib/components/page_template/outer/page_outer.styles.js +29 -35
  70. package/lib/components/page_template/page_template.js +8 -2
  71. package/lib/components/popover/input_popover.js +4 -1
  72. package/lib/components/popover/popover.js +7 -4
  73. package/lib/components/search_bar/search_bar.js +4 -4
  74. package/lib/components/selectable/selectable.js +7 -2
  75. package/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -0
  76. package/lib/components/table/_table_cell_content.styles.js +4 -4
  77. package/lib/components/table/table.js +16 -3
  78. package/lib/components/table/table.styles.js +2 -1
  79. package/lib/components/table/table_cells_shared.styles.js +4 -1
  80. package/lib/components/table/table_context.js +18 -0
  81. package/lib/components/table/table_footer_cell.js +9 -2
  82. package/lib/components/table/table_row.js +8 -2
  83. package/lib/components/table/table_row.styles.js +20 -4
  84. package/lib/components/table/table_row_cell.styles.js +3 -3
  85. package/lib/components/tool_tip/tool_tip_anchor.js +8 -0
  86. package/lib/components/tour/tour_step.js +6 -3
  87. package/lib/global_styling/mixins/_button.js +4 -3
  88. package/lib/global_styling/mixins/_typography.js +10 -1
  89. package/lib/services/string/to_initials.js +26 -4
  90. package/optimize/es/components/basic_table/basic_table.js +4 -1
  91. package/optimize/es/components/basic_table/in_memory_table.js +73 -46
  92. package/optimize/es/components/button/button_group/button_group.styles.js +2 -2
  93. package/optimize/es/components/button/button_group/button_group_button.styles.js +1 -1
  94. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -2
  95. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  96. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  97. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/index.js +1 -0
  98. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +35 -17
  99. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +1 -3
  100. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  101. package/optimize/es/components/filter_group/filter_group.a11y.js +1 -1
  102. package/optimize/es/components/flex/flex_item.js +6 -4
  103. package/optimize/es/components/header/header_logo/header_logo.js +6 -1
  104. package/optimize/es/components/header/header_logo/header_logo.styles.js +1 -1
  105. package/optimize/es/components/icon/icon.styles.js +4 -4
  106. package/optimize/es/components/page/page.js +6 -3
  107. package/optimize/es/components/page/page.styles.js +1 -2
  108. package/optimize/es/components/page/page_header/page_header.js +6 -3
  109. package/optimize/es/components/page_template/outer/page_outer.js +2 -3
  110. package/optimize/es/components/page_template/outer/page_outer.styles.js +29 -35
  111. package/optimize/es/components/page_template/page_template.js +2 -1
  112. package/optimize/es/components/popover/input_popover.js +4 -1
  113. package/optimize/es/components/popover/popover.js +4 -4
  114. package/optimize/es/components/selectable/selectable.js +7 -2
  115. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -0
  116. package/optimize/es/components/table/_table_cell_content.styles.js +4 -4
  117. package/optimize/es/components/table/table.js +10 -3
  118. package/optimize/es/components/table/table.styles.js +2 -1
  119. package/optimize/es/components/table/table_cells_shared.styles.js +4 -1
  120. package/optimize/es/components/table/table_context.js +12 -0
  121. package/optimize/es/components/table/table_footer_cell.js +6 -2
  122. package/optimize/es/components/table/table_row.js +5 -2
  123. package/optimize/es/components/table/table_row.styles.js +22 -6
  124. package/optimize/es/components/table/table_row_cell.styles.js +3 -3
  125. package/optimize/es/components/tool_tip/tool_tip_anchor.js +8 -0
  126. package/optimize/es/components/tour/tour_step.js +4 -2
  127. package/optimize/es/global_styling/mixins/_button.js +4 -3
  128. package/optimize/es/global_styling/mixins/_typography.js +9 -0
  129. package/optimize/es/services/string/to_initials.js +26 -4
  130. package/optimize/lib/components/basic_table/basic_table.js +4 -1
  131. package/optimize/lib/components/basic_table/in_memory_table.js +72 -47
  132. package/optimize/lib/components/button/button_group/button_group.styles.js +1 -1
  133. package/optimize/lib/components/button/button_group/button_group_button.styles.js +1 -1
  134. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -2
  135. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  136. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  137. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  138. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +34 -16
  139. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +1 -3
  140. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  141. package/optimize/lib/components/filter_group/filter_group.a11y.js +1 -1
  142. package/optimize/lib/components/flex/flex_item.js +6 -4
  143. package/optimize/lib/components/header/header_logo/header_logo.js +6 -1
  144. package/optimize/lib/components/header/header_logo/header_logo.styles.js +1 -1
  145. package/optimize/lib/components/icon/icon.styles.js +4 -4
  146. package/optimize/lib/components/page/page.js +5 -2
  147. package/optimize/lib/components/page/page.styles.js +1 -2
  148. package/optimize/lib/components/page/page_header/page_header.js +5 -2
  149. package/optimize/lib/components/page_template/outer/page_outer.js +1 -2
  150. package/optimize/lib/components/page_template/outer/page_outer.styles.js +29 -35
  151. package/optimize/lib/components/page_template/page_template.js +2 -1
  152. package/optimize/lib/components/popover/input_popover.js +4 -1
  153. package/optimize/lib/components/popover/popover.js +4 -4
  154. package/optimize/lib/components/selectable/selectable.js +7 -2
  155. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -0
  156. package/optimize/lib/components/table/_table_cell_content.styles.js +4 -4
  157. package/optimize/lib/components/table/table.js +10 -3
  158. package/optimize/lib/components/table/table.styles.js +2 -1
  159. package/optimize/lib/components/table/table_cells_shared.styles.js +4 -1
  160. package/optimize/lib/components/table/table_context.js +18 -0
  161. package/optimize/lib/components/table/table_footer_cell.js +9 -2
  162. package/optimize/lib/components/table/table_row.js +8 -2
  163. package/optimize/lib/components/table/table_row.styles.js +20 -4
  164. package/optimize/lib/components/table/table_row_cell.styles.js +3 -3
  165. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +8 -0
  166. package/optimize/lib/components/tour/tour_step.js +4 -2
  167. package/optimize/lib/global_styling/mixins/_button.js +4 -3
  168. package/optimize/lib/global_styling/mixins/_typography.js +10 -1
  169. package/optimize/lib/services/string/to_initials.js +26 -4
  170. package/package.json +6 -5
  171. package/test-env/components/basic_table/basic_table.js +4 -1
  172. package/test-env/components/basic_table/in_memory_table.js +85 -234
  173. package/test-env/components/breadcrumbs/_breadcrumb_content.js +3 -0
  174. package/test-env/components/button/button_group/button_group.styles.js +1 -1
  175. package/test-env/components/button/button_group/button_group_button.styles.js +1 -1
  176. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -2
  177. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  178. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  179. package/test-env/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  180. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +34 -16
  181. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +1 -3
  182. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  183. package/test-env/components/filter_group/filter_group.a11y.js +1 -1
  184. package/test-env/components/flex/flex_item.js +6 -4
  185. package/test-env/components/header/header_logo/header_logo.js +6 -1
  186. package/test-env/components/header/header_logo/header_logo.styles.js +1 -1
  187. package/test-env/components/icon/icon.styles.js +4 -4
  188. package/test-env/components/page/page.js +10 -2
  189. package/test-env/components/page/page.styles.js +1 -2
  190. package/test-env/components/page/page_header/page_header.js +10 -2
  191. package/test-env/components/page_template/outer/page_outer.js +1 -2
  192. package/test-env/components/page_template/outer/page_outer.styles.js +29 -35
  193. package/test-env/components/page_template/page_template.js +8 -2
  194. package/test-env/components/popover/input_popover.js +4 -1
  195. package/test-env/components/popover/popover.js +7 -4
  196. package/test-env/components/search_bar/search_bar.js +4 -4
  197. package/test-env/components/selectable/selectable.js +7 -2
  198. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide_popover.js +1 -0
  199. package/test-env/components/table/_table_cell_content.styles.js +4 -4
  200. package/test-env/components/table/table.js +16 -3
  201. package/test-env/components/table/table.styles.js +2 -1
  202. package/test-env/components/table/table_cells_shared.styles.js +4 -1
  203. package/test-env/components/table/table_context.js +18 -0
  204. package/test-env/components/table/table_footer_cell.js +9 -2
  205. package/test-env/components/table/table_row.js +8 -2
  206. package/test-env/components/table/table_row.styles.js +20 -4
  207. package/test-env/components/table/table_row_cell.styles.js +3 -3
  208. package/test-env/components/tool_tip/tool_tip_anchor.js +8 -0
  209. package/test-env/components/tour/tour_step.js +6 -3
  210. package/test-env/global_styling/mixins/_button.js +4 -3
  211. package/test-env/global_styling/mixins/_typography.js +10 -1
  212. package/test-env/services/string/to_initials.js +26 -4
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout"],
1
+ var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground"],
2
2
  _excluded2 = ["align", "render", "dataType", "isExpander", "textOnly", "name", "field", "description", "sortable", "footer", "mobileOptions", "nameTooltip"];
3
3
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
4
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
@@ -368,6 +368,7 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
368
368
  tableCaption = _this$props2.tableCaption,
369
369
  rowHeader = _this$props2.rowHeader,
370
370
  tableLayout = _this$props2.tableLayout,
371
+ hasBackground = _this$props2.hasBackground,
371
372
  rest = _objectWithoutProperties(_this$props2, _excluded);
372
373
  var classes = classNames('euiBasicTable', {
373
374
  'euiBasicTable-loading': loading
@@ -385,6 +386,7 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
385
386
  compressed = _this$props3.compressed,
386
387
  responsiveBreakpoint = _this$props3.responsiveBreakpoint,
387
388
  tableLayout = _this$props3.tableLayout,
389
+ hasBackground = _this$props3.hasBackground,
388
390
  loading = _this$props3.loading;
389
391
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiTableHeaderMobile, {
390
392
  responsiveBreakpoint: responsiveBreakpoint
@@ -393,6 +395,7 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
393
395
  tableLayout: tableLayout,
394
396
  responsiveBreakpoint: responsiveBreakpoint,
395
397
  compressed: compressed,
398
+ hasBackground: hasBackground,
396
399
  css: loading && safariLoadingWorkaround
397
400
  }, this.renderTableCaption(), this.renderTableHead(), this.renderTableBody(), this.renderTableFooter())));
398
401
  }
@@ -1,6 +1,6 @@
1
1
  var _excluded = ["schema"],
2
2
  _excluded2 = ["onChange"],
3
- _excluded3 = ["columns", "loading", "message", "noItemsMessage", "error", "selection", "compressed", "pagination", "sorting", "itemIdToExpandedRowMap", "itemId", "rowProps", "cellProps", "tableLayout", "items", "search", "searchFormat", "onTableChange", "executeQueryOptions", "allowNeutralSort", "childrenBetween"];
3
+ _excluded3 = ["columns", "loading", "noItemsMessage", "error", "selection", "compressed", "pagination", "sorting", "itemIdToExpandedRowMap", "itemId", "rowProps", "cellProps", "tableLayout", "items", "search", "searchFormat", "onTableChange", "executeQueryOptions", "allowNeutralSort", "childrenBetween"];
4
4
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
5
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
6
6
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
@@ -38,21 +38,33 @@ import { EuiSearchBox } from '../search_bar/search_box';
38
38
  import { EuiSpacer } from '../spacer';
39
39
  import { euiTablePaginationDefaults } from '../table/table_pagination';
40
40
  import { EuiComponentDefaultsContext } from '../provider/component_defaults';
41
+
42
+ // allows `query: null` in the onChange callback when using `searchFormat="text"`
41
43
  import { jsx as ___EmotionJSX } from "@emotion/react";
42
44
  function isEuiSearchBarProps(x) {
43
45
  return typeof x !== 'boolean';
44
46
  }
45
- var getQueryFromSearch = function getQueryFromSearch(search, defaultQuery) {
46
- var query;
47
+ /**
48
+ * Extracts and formats a query from search props based on the search format
49
+ * @param search - The search configuration
50
+ * @param defaultQuery - Whether to use the defaultQuery property as fallback
51
+ * @param searchFormat - The search format: 'eql' for parsed queries, 'text' for plain text
52
+ * @returns Formatted query string or Query object
53
+ */
54
+ var getQueryFromSearch = function getQueryFromSearch(search, defaultQuery, searchFormat) {
55
+ var _ref, _searchProps$defaultQ, _searchProps$query;
47
56
  if (!search) {
48
- query = '';
49
- } else {
50
- query = (defaultQuery ? search.defaultQuery || search.query || '' : search.query) || '';
57
+ return searchFormat === 'text' ? '""' : '';
51
58
  }
52
- return isString(query) ? EuiSearchBar.Query.parse(query) : query;
59
+ var searchProps = search;
60
+ var queryString = defaultQuery ? (_ref = (_searchProps$defaultQ = searchProps.defaultQuery) !== null && _searchProps$defaultQ !== void 0 ? _searchProps$defaultQ : searchProps.query) !== null && _ref !== void 0 ? _ref : '' : (_searchProps$query = searchProps.query) !== null && _searchProps$query !== void 0 ? _searchProps$query : '';
61
+ if (searchFormat === 'text') {
62
+ return "\"".concat(queryString, "\"");
63
+ }
64
+ return isString(queryString) ? EuiSearchBar.Query.parse(queryString) : queryString;
53
65
  };
54
66
  var getInitialPagination = function getInitialPagination(pagination, consumerDefaults) {
55
- var _ref2, _pagination$pageIndex, _ref3, _pagination$pageSize;
67
+ var _ref3, _pagination$pageIndex, _ref4, _pagination$pageSize;
56
68
  if (!pagination) {
57
69
  return {
58
70
  pageIndex: undefined,
@@ -60,14 +72,14 @@ var getInitialPagination = function getInitialPagination(pagination, consumerDef
60
72
  };
61
73
  }
62
74
  var defaults = _objectSpread(_objectSpread({}, euiTablePaginationDefaults), consumerDefaults);
63
- var _ref = pagination,
64
- _ref$pageSizeOptions = _ref.pageSizeOptions,
65
- pageSizeOptions = _ref$pageSizeOptions === void 0 ? defaults.itemsPerPageOptions : _ref$pageSizeOptions,
66
- _ref$showPerPageOptio = _ref.showPerPageOptions,
67
- showPerPageOptions = _ref$showPerPageOptio === void 0 ? defaults.showPerPageOptions : _ref$showPerPageOptio;
75
+ var _ref2 = pagination,
76
+ _ref2$pageSizeOptions = _ref2.pageSizeOptions,
77
+ pageSizeOptions = _ref2$pageSizeOptions === void 0 ? defaults.itemsPerPageOptions : _ref2$pageSizeOptions,
78
+ _ref2$showPerPageOpti = _ref2.showPerPageOptions,
79
+ showPerPageOptions = _ref2$showPerPageOpti === void 0 ? defaults.showPerPageOptions : _ref2$showPerPageOpti;
68
80
  var defaultPageSize = pageSizeOptions !== null && pageSizeOptions !== void 0 && pageSizeOptions.includes(defaults.itemsPerPage) ? defaults.itemsPerPage : pageSizeOptions[0];
69
- var initialPageIndex = pagination === true ? 0 : (_ref2 = (_pagination$pageIndex = pagination.pageIndex) !== null && _pagination$pageIndex !== void 0 ? _pagination$pageIndex : pagination.initialPageIndex) !== null && _ref2 !== void 0 ? _ref2 : 0;
70
- var initialPageSize = pagination === true ? defaultPageSize : (_ref3 = (_pagination$pageSize = pagination.pageSize) !== null && _pagination$pageSize !== void 0 ? _pagination$pageSize : pagination.initialPageSize) !== null && _ref3 !== void 0 ? _ref3 : defaultPageSize;
81
+ var initialPageIndex = pagination === true ? 0 : (_ref3 = (_pagination$pageIndex = pagination.pageIndex) !== null && _pagination$pageIndex !== void 0 ? _pagination$pageIndex : pagination.initialPageIndex) !== null && _ref3 !== void 0 ? _ref3 : 0;
82
+ var initialPageSize = pagination === true ? defaultPageSize : (_ref4 = (_pagination$pageSize = pagination.pageSize) !== null && _pagination$pageSize !== void 0 ? _pagination$pageSize : pagination.initialPageSize) !== null && _ref4 !== void 0 ? _ref4 : defaultPageSize;
71
83
  if (showPerPageOptions && initialPageSize != null && !(pageSizeOptions !== null && pageSizeOptions !== void 0 && pageSizeOptions.includes(initialPageSize))) {
72
84
  throw new Error("EuiInMemoryTable received initialPageSize ".concat(initialPageSize, ", which wasn't provided within pageSizeOptions."));
73
85
  }
@@ -120,15 +132,16 @@ function getInitialSorting(columns, sorting) {
120
132
  }
121
133
  export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
122
134
  function EuiInMemoryTable(props, context) {
135
+ var _props$searchFormat;
123
136
  var _this;
124
137
  _classCallCheck(this, EuiInMemoryTable);
125
138
  _this = _callSuper(this, EuiInMemoryTable, [props]);
126
- _defineProperty(_this, "onTableChange", function (_ref4) {
127
- var page = _ref4.page,
128
- sort = _ref4.sort;
129
- var _ref5 = page || {},
130
- pageIndex = _ref5.index,
131
- pageSize = _ref5.size;
139
+ _defineProperty(_this, "onTableChange", function (_ref5) {
140
+ var page = _ref5.page,
141
+ sort = _ref5.sort;
142
+ var _ref6 = page || {},
143
+ pageIndex = _ref6.index,
144
+ pageSize = _ref6.size;
132
145
 
133
146
  // don't apply pagination changes that are otherwise controlled
134
147
  // `page` is left unchanged as it goes to the consumer's `onTableChange` callback, allowing the app to respond
@@ -137,9 +150,9 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
137
150
  if (pagination.pageSize != null) pageSize = pagination.pageSize;
138
151
  if (pagination.pageIndex != null) pageIndex = pagination.pageIndex;
139
152
  }
140
- var _ref6 = sort || {},
141
- sortName = _ref6.field,
142
- sortDirection = _ref6.direction;
153
+ var _ref7 = sort || {},
154
+ sortName = _ref7.field,
155
+ sortDirection = _ref7.direction;
143
156
 
144
157
  // To keep backwards compatibility reportedSortName needs to be tracked separately
145
158
  // from sortName; sortName gets stored internally while reportedSortName is sent to the callback
@@ -182,10 +195,10 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
182
195
  sortDirection: sortDirection
183
196
  });
184
197
  });
185
- _defineProperty(_this, "onQueryChange", function (_ref7) {
186
- var query = _ref7.query,
187
- queryText = _ref7.queryText,
188
- error = _ref7.error;
198
+ _defineProperty(_this, "onQueryChange", function (_ref8) {
199
+ var query = _ref8.query,
200
+ queryText = _ref8.queryText,
201
+ error = _ref8.error;
189
202
  var search = _this.props.search;
190
203
  if (isEuiSearchBarProps(search)) {
191
204
  if (search.onChange) {
@@ -219,12 +232,11 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
219
232
  // search bar to ignore EQL syntax and only use the searchbar for plain text
220
233
  _defineProperty(_this, "onPlainTextSearch", function (searchValue) {
221
234
  var escapedQueryText = searchValue.replace(/["\\]/g, '\\$&');
222
- var finalQuery = "\"".concat(escapedQueryText, "\"");
223
235
  var search = _this.props.search;
224
236
  if (isEuiSearchBarProps(search)) {
225
237
  if (search.onChange) {
226
238
  var shouldQueryInMemory = search.onChange({
227
- query: EuiSearchBar.Query.parse(finalQuery),
239
+ query: null,
228
240
  queryText: escapedQueryText,
229
241
  error: null
230
242
  });
@@ -234,7 +246,7 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
234
246
  }
235
247
  }
236
248
  _this.setState({
237
- query: EuiSearchBar.Query.parse(finalQuery)
249
+ query: "\"".concat(escapedQueryText, "\"")
238
250
  });
239
251
  });
240
252
  var columns = props.columns,
@@ -258,7 +270,7 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
258
270
  search: _search
259
271
  },
260
272
  search: _search,
261
- query: getQueryFromSearch(_search, true),
273
+ query: getQueryFromSearch(_search, true, (_props$searchFormat = props.searchFormat) !== null && _props$searchFormat !== void 0 ? _props$searchFormat : 'eql'),
262
274
  pageIndex: _pageIndex || 0,
263
275
  pageSize: _pageSize,
264
276
  pageSizeOptions: pageSizeOptions,
@@ -279,13 +291,28 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
279
291
  if (!search) return;
280
292
  var searchBar;
281
293
  if (searchFormat === 'text') {
282
- var _searchBoxProps = (search === null || search === void 0 ? void 0 : search.box) || {}; // Work around | boolean type
283
- var schema = _searchBoxProps.schema,
284
- searchBoxProps = _objectWithoutProperties(_searchBoxProps, _excluded); // Destructure `schema` so it doesn't get rendered to DOM
294
+ var _ref9 = search,
295
+ _ref9$box = _ref9.box,
296
+ box = _ref9$box === void 0 ? {} : _ref9$box,
297
+ query = _ref9.query,
298
+ defaultQuery = _ref9.defaultQuery;
299
+ var schema = box.schema,
300
+ searchBoxProps = _objectWithoutProperties(box, _excluded);
301
+
302
+ // in the unexpected case a Query object is passed with searchFormat=text
303
+ if (process.env.NODE_ENV === 'development') {
304
+ if (query != null && !isString(query)) {
305
+ console.warn('EuiInMemoryTable: `query` should be a string when using searchFormat="text". Query objects are only supported with searchFormat="eql".');
306
+ }
307
+ if (defaultQuery != null && !isString(defaultQuery)) {
308
+ console.warn('EuiInMemoryTable: `defaultQuery` should be a string when using searchFormat="text". Query objects are only supported with searchFormat="eql".');
309
+ }
310
+ }
285
311
 
286
- searchBar = ___EmotionJSX(EuiSearchBox, _extends({
287
- query: "" // Unused, passed to satisfy Typescript
288
- }, searchBoxProps, {
312
+ // use only string values, ignore Query objects
313
+ var displayQuery = isString(query) ? query : isString(defaultQuery) ? defaultQuery : '';
314
+ searchBar = ___EmotionJSX(EuiSearchBox, _extends({}, searchBoxProps, {
315
+ query: displayQuery,
289
316
  onSearch: this.onPlainTextSearch
290
317
  }));
291
318
  } else {
@@ -313,9 +340,9 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
313
340
  value: function resolveSearchSchema() {
314
341
  var columns = this.props.columns;
315
342
  return columns.reduce(function (schema, column) {
316
- var _ref8 = column,
317
- field = _ref8.field,
318
- dataType = _ref8.dataType;
343
+ var _ref10 = column,
344
+ field = _ref10.field,
345
+ dataType = _ref10.dataType;
319
346
  if (field) {
320
347
  var type = dataType || 'string';
321
348
  schema.fields[field] = {
@@ -335,8 +362,8 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
335
362
  sortName = _this$state.sortName,
336
363
  sortDirection = _this$state.sortDirection;
337
364
  var columns = this.props.columns;
338
- var sortColumn = columns.find(function (_ref9) {
339
- var name = _ref9.name;
365
+ var sortColumn = columns.find(function (_ref11) {
366
+ var name = _ref11.name;
340
367
  return name === sortName;
341
368
  });
342
369
  if (sortColumn == null) {
@@ -386,7 +413,6 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
386
413
  var _this$props2 = this.props,
387
414
  columns = _this$props2.columns,
388
415
  loading = _this$props2.loading,
389
- message = _this$props2.message,
390
416
  noItemsMessage = _this$props2.noItemsMessage,
391
417
  error = _this$props2.error,
392
418
  selection = _this$props2.selection,
@@ -449,7 +475,7 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
449
475
  onChange: this.onTableChange,
450
476
  error: error,
451
477
  loading: loading,
452
- noItemsMessage: noItemsMessage || message,
478
+ noItemsMessage: noItemsMessage,
453
479
  tableLayout: tableLayout,
454
480
  compressed: compressed,
455
481
  itemIdToExpandedRowMap: itemIdToExpandedRowMap
@@ -507,11 +533,12 @@ export var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
507
533
  var nextQuery = nextProps.search ? nextProps.search.query : '';
508
534
  var prevQuery = prevState.prevProps.search ? prevState.prevProps.search.query : '';
509
535
  if (nextQuery !== prevQuery) {
536
+ var _nextProps$searchForm;
510
537
  updatedPrevState = _objectSpread(_objectSpread({}, updatedPrevState), {}, {
511
538
  prevProps: _objectSpread(_objectSpread({}, updatedPrevState.prevProps), {}, {
512
539
  search: nextProps.search
513
540
  }),
514
- query: getQueryFromSearch(nextProps.search, false)
541
+ query: getQueryFromSearch(nextProps.search, false, (_nextProps$searchForm = nextProps.searchFormat) !== null && _nextProps$searchForm !== void 0 ? _nextProps$searchForm : 'eql')
515
542
  });
516
543
  }
517
544
  if (updatedPrevState !== prevState) {
@@ -990,15 +1017,6 @@ EuiInMemoryTable.propTypes = {
990
1017
  * Sets the table-layout CSS property. Note that auto tableLayout prevents truncateText from working properly.
991
1018
  */
992
1019
  tableLayout: PropTypes.oneOf(["fixed", "auto"]),
993
- /**
994
- * Message to display if table is empty
995
- * @deprecated Use `noItemsMessage` instead.
996
- */
997
- /**
998
- * Message to display if table is empty
999
- * @deprecated Use `noItemsMessage` instead.
1000
- */
1001
- message: PropTypes.node,
1002
1020
  /**
1003
1021
  * Message to display if table is empty
1004
1022
  */
@@ -1007,194 +1025,28 @@ EuiInMemoryTable.propTypes = {
1007
1025
  */
1008
1026
  noItemsMessage: PropTypes.node,
1009
1027
  /**
1010
- * Configures {@link Search}.
1028
+ * Configures the search bar. Can be `true` for defaults,
1029
+ * or an {@link EuiSearchBarProps} object.
1030
+ *
1031
+ * When `searchFormat="text"`, `query` and `defaultQuery` must be strings
1032
+ * ({@link Query} objects are ignored).
1011
1033
  */
1012
1034
  /**
1013
- * Configures {@link Search}.
1035
+ * Configures the search bar. Can be `true` for defaults,
1036
+ * or an {@link EuiSearchBarProps} object.
1037
+ *
1038
+ * When `searchFormat="text"`, `query` and `defaultQuery` must be strings
1039
+ * ({@link Query} objects are ignored).
1014
1040
  */
1015
1041
  search: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.shape({
1016
- onChange: PropTypes.func,
1017
- /**
1018
- The initial query the bar will hold when first mounted
1019
- */
1020
- defaultQuery: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.string.isRequired]),
1021
- /**
1022
- If you wish to use the search bar as a controlled component, continuously pass the query via this prop.
1023
- */
1024
- query: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.string.isRequired]),
1025
- /**
1026
- Configures the search box. Set `placeholder` to change the placeholder text in the box and `incremental` to support incremental (as you type) search.
1027
- */
1028
- box: PropTypes.shape({
1029
- name: PropTypes.string,
1030
- id: PropTypes.string,
1031
- placeholder: PropTypes.string,
1032
- value: PropTypes.string,
1033
- isInvalid: PropTypes.bool,
1034
- /**
1035
- * Expand to fill 100% of the parent.
1036
- * Defaults to `fullWidth` prop of `<EuiForm>`.
1037
- * @default false
1038
- */
1039
- fullWidth: PropTypes.bool,
1040
- isLoading: PropTypes.bool,
1041
- /**
1042
- * Called when the user presses [Enter] OR on change if the incremental prop is `true`.
1043
- * If you don't need the on[Enter] functionality, prefer using onChange
1044
- */
1045
- onSearch: PropTypes.func,
1046
- /**
1047
- * When `true` the search will be executed (that is, the `onSearch` will be called) as the
1048
- * user types.
1049
- */
1050
- incremental: PropTypes.bool,
1051
- /**
1052
- * when `true` creates a shorter height input
1053
- */
1054
- compressed: PropTypes.bool,
1055
- inputRef: PropTypes.func,
1056
- /**
1057
- * Shows a button that quickly clears any input
1058
- */
1059
- isClearable: PropTypes.bool,
1060
- /**
1061
- * Creates an input group with element(s) coming before input
1062
- * `string` | `ReactElement` or an array of these
1063
- */
1064
- prepend: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired).isRequired]),
1065
- /**
1066
- * Creates an input group with element(s) coming after input.
1067
- * `string` | `ReactElement` or an array of these
1068
- */
1069
- append: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.element.isRequired]).isRequired).isRequired]),
1070
- className: PropTypes.string,
1071
- "aria-label": PropTypes.string,
1072
- "data-test-subj": PropTypes.string,
1073
- css: PropTypes.any,
1074
- // Boolean values are not meaningful to this EuiSearchBox, but are allowed so that other
1075
- // components can use e.g. a true value to mean "auto-derive a schema". See EuiInMemoryTable.
1076
- // Admittedly, this is a bit of a hack.
1077
- schema: PropTypes.oneOfType([PropTypes.shape({
1078
- strict: PropTypes.bool,
1079
- fields: PropTypes.any,
1080
- flags: PropTypes.arrayOf(PropTypes.string.isRequired),
1081
- // Controls which phrases will be parsed as field clauses
1082
- recognizedFields: PropTypes.arrayOf(PropTypes.string.isRequired)
1083
- }).isRequired, PropTypes.bool.isRequired])
1084
- }),
1085
- /**
1086
- An array of search filters. See {@link SearchFilterConfig}.
1087
- */
1088
- filters: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
1089
- type: PropTypes.oneOf(["is"]).isRequired,
1090
- field: PropTypes.string.isRequired,
1091
- name: PropTypes.string.isRequired,
1092
- negatedName: PropTypes.string,
1093
- available: PropTypes.func
1094
- }).isRequired, PropTypes.shape({
1095
- type: PropTypes.oneOf(["field_value_selection"]).isRequired,
1096
- field: PropTypes.string,
1097
- name: PropTypes.string.isRequired,
1098
- /**
1099
- * See {@link FieldValueOptionType}
1100
- */
1101
- options: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({
1102
- field: PropTypes.string,
1103
- value: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired, PropTypes.bool.isRequired, PropTypes.shape({
1104
- type: PropTypes.oneOf(["date"]).isRequired,
1105
- raw: PropTypes.any.isRequired,
1106
- granularity: PropTypes.oneOfType([PropTypes.shape({
1107
- es: PropTypes.oneOf(["d", "w", "M", "y"]).isRequired,
1108
- js: PropTypes.oneOf(["day", "week", "month", "year"]).isRequired,
1109
- isSame: PropTypes.func.isRequired,
1110
- start: PropTypes.func.isRequired,
1111
- startOfNext: PropTypes.func.isRequired,
1112
- iso8601: PropTypes.func.isRequired
1113
- }).isRequired, PropTypes.oneOf([undefined])]).isRequired,
1114
- text: PropTypes.string.isRequired,
1115
- resolve: PropTypes.func.isRequired
1116
- }).isRequired]).isRequired,
1117
- name: PropTypes.string,
1118
- view: PropTypes.node
1119
- }).isRequired).isRequired, PropTypes.func.isRequired]).isRequired,
1120
- filterWith: PropTypes.oneOfType([PropTypes.oneOf(["prefix", "includes"]), PropTypes.func.isRequired]),
1121
- cache: PropTypes.number,
1122
- multiSelect: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.oneOf(["and", "or"])]),
1123
- loadingMessage: PropTypes.string,
1124
- noOptionsMessage: PropTypes.string,
1125
- searchThreshold: PropTypes.number,
1126
- available: PropTypes.func,
1127
- autoClose: PropTypes.bool,
1128
- operator: PropTypes.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"]),
1129
- autoSortOptions: PropTypes.bool
1130
- }).isRequired, PropTypes.shape({
1131
- type: PropTypes.oneOf(["field_value_toggle"]).isRequired,
1132
- field: PropTypes.string.isRequired,
1133
- value: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired, PropTypes.bool.isRequired, PropTypes.shape({
1134
- type: PropTypes.oneOf(["date"]).isRequired,
1135
- raw: PropTypes.any.isRequired,
1136
- granularity: PropTypes.oneOfType([PropTypes.shape({
1137
- es: PropTypes.oneOf(["d", "w", "M", "y"]).isRequired,
1138
- js: PropTypes.oneOf(["day", "week", "month", "year"]).isRequired,
1139
- isSame: PropTypes.func.isRequired,
1140
- start: PropTypes.func.isRequired,
1141
- startOfNext: PropTypes.func.isRequired,
1142
- iso8601: PropTypes.func.isRequired
1143
- }).isRequired, PropTypes.oneOf([undefined])]).isRequired,
1144
- text: PropTypes.string.isRequired,
1145
- resolve: PropTypes.func.isRequired
1146
- }).isRequired]).isRequired,
1147
- name: PropTypes.string.isRequired,
1148
- negatedName: PropTypes.string,
1149
- available: PropTypes.func,
1150
- operator: PropTypes.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
1151
- }).isRequired, PropTypes.shape({
1152
- type: PropTypes.oneOf(["field_value_toggle_group"]).isRequired,
1153
- field: PropTypes.string.isRequired,
1154
- /**
1155
- * See {@link FieldValueToggleGroupFilterItemType}
1156
- */
1157
- items: PropTypes.arrayOf(PropTypes.shape({
1158
- value: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired, PropTypes.bool.isRequired]).isRequired,
1159
- name: PropTypes.string.isRequired,
1160
- negatedName: PropTypes.string,
1161
- operator: PropTypes.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
1162
- }).isRequired).isRequired,
1163
- available: PropTypes.func
1164
- }).isRequired, PropTypes.shape({
1165
- type: PropTypes.oneOf(["custom_component"]).isRequired,
1166
- component: PropTypes.elementType.isRequired,
1167
- available: PropTypes.func
1168
- }).isRequired]).isRequired),
1169
- /**
1170
- * Tools which go to the left of the search bar.
1171
- */
1172
- toolsLeft: PropTypes.oneOfType([PropTypes.element.isRequired, PropTypes.arrayOf(PropTypes.element.isRequired).isRequired]),
1173
- /**
1174
- * Tools which go to the right of the search bar.
1175
- */
1176
- toolsRight: PropTypes.oneOfType([PropTypes.element.isRequired, PropTypes.arrayOf(PropTypes.element.isRequired).isRequired]),
1177
- /**
1178
- * Date formatter to use when parsing date values
1179
- */
1180
- dateFormat: PropTypes.any,
1181
- /**
1182
- * Hint to render below the search bar
1183
- */
1184
- hint: PropTypes.shape({
1185
- content: PropTypes.node.isRequired,
1186
- popoverProps: PropTypes.any
1187
- }),
1188
- className: PropTypes.string,
1189
- "aria-label": PropTypes.string,
1190
- "data-test-subj": PropTypes.string,
1191
- css: PropTypes.any
1042
+ onChange: PropTypes.func
1192
1043
  }).isRequired]),
1193
1044
  /**
1194
1045
  * By default, tables use `eql` format for search which allows using advanced filters.
1195
1046
  *
1196
1047
  * However, certain special characters (such as quotes, parentheses, and colons)
1197
1048
  * are reserved for EQL syntax and will error if used.
1049
+ *
1198
1050
  * If your table does not require filter search and instead requires searching for certain
1199
1051
  * symbols, use a plain `text` search format instead (note that filters will be ignored
1200
1052
  * in this format).
@@ -1206,6 +1058,7 @@ EuiInMemoryTable.propTypes = {
1206
1058
  *
1207
1059
  * However, certain special characters (such as quotes, parentheses, and colons)
1208
1060
  * are reserved for EQL syntax and will error if used.
1061
+ *
1209
1062
  * If your table does not require filter search and instead requires searching for certain
1210
1063
  * symbols, use a plain `text` search format instead (note that filters will be ignored
1211
1064
  * in this format).
@@ -144,6 +144,7 @@ EuiBreadcrumbContent.propTypes = {
144
144
  popoverProps: PropTypes.shape({
145
145
  /**
146
146
  * Alignment of the popover and arrow relative to the button
147
+ * @default downLeft
147
148
  */
148
149
  anchorPosition: PropTypes.any,
149
150
  /**
@@ -165,6 +166,7 @@ EuiBreadcrumbContent.propTypes = {
165
166
  focusTrapProps: PropTypes.any,
166
167
  /**
167
168
  * Show arrow indicating to originating button
169
+ * @default false
168
170
  */
169
171
  hasArrow: PropTypes.bool,
170
172
  /**
@@ -257,6 +259,7 @@ EuiBreadcrumbContent.propTypes = {
257
259
  zIndex: PropTypes.number,
258
260
  /**
259
261
  * Distance away from the anchor that the popover will render
262
+ * @default 4 (0 when `hasArrow=true`)
260
263
  */
261
264
  offset: PropTypes.number,
262
265
  /**
@@ -155,6 +155,7 @@ EuiBreadcrumbs.propTypes = {
155
155
  popoverProps: PropTypes.shape({
156
156
  /**
157
157
  * Alignment of the popover and arrow relative to the button
158
+ * @default downLeft
158
159
  */
159
160
  anchorPosition: PropTypes.any,
160
161
  /**
@@ -176,6 +177,7 @@ EuiBreadcrumbs.propTypes = {
176
177
  focusTrapProps: PropTypes.any,
177
178
  /**
178
179
  * Show arrow indicating to originating button
180
+ * @default false
179
181
  */
180
182
  hasArrow: PropTypes.bool,
181
183
  /**
@@ -268,6 +270,7 @@ EuiBreadcrumbs.propTypes = {
268
270
  zIndex: PropTypes.number,
269
271
  /**
270
272
  * Distance away from the anchor that the popover will render
273
+ * @default 4 (0 when `hasArrow=true`)
271
274
  */
272
275
  offset: PropTypes.number,
273
276
  /**
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { logicalCSS } from '../../../global_styling';
11
+ import { euiDisabledSelector, logicalCSS } from '../../../global_styling';
12
12
  import { highContrastModeStyles, preventForcedColors } from '../../../global_styling/functions/high_contrast';
13
13
  import { euiFormVariables } from '../../form/form.styles';
14
14
  export var euiButtonGroupStyles = {
@@ -43,6 +43,6 @@ var _highContrastStyles = function _highContrastStyles(euiThemeContext, compress
43
43
  var euiTheme = euiThemeContext.euiTheme;
44
44
  return highContrastModeStyles(euiThemeContext, {
45
45
  preferred: compressed ? "\n .euiButtonGroupButton {\n border: none;\n }\n " : '',
46
- forced: "\n .euiButtonGroupButton-isSelected {\n ".concat(preventForcedColors(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.fullShade, ";\n\n &:is(:hover, :focus):not(:disabled) {\n &::before {\n border-color: ").concat(euiTheme.colors.textInverse, ";\n }\n }\n }\n\n .euiButtonGroupButton[disabled] {\n opacity: 0.5;\n }\n ")
46
+ forced: "\n .euiButtonGroupButton-isSelected {\n ".concat(preventForcedColors(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.fullShade, ";\n\n &:is(:hover, :focus):not(").concat(euiDisabledSelector, ") {\n &::before {\n border-color: ").concat(euiTheme.colors.textInverse, ";\n }\n }\n }\n\n .euiButtonGroupButton:is(").concat(euiDisabledSelector, ") {\n opacity: 0.5;\n }\n ")
47
47
  });
48
48
  };
@@ -92,7 +92,7 @@ export var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiT
92
92
  },
93
93
  compressed: /*#__PURE__*/css(logicalCSS('height', compressedButtonHeight), " line-height:", compressedButtonHeight, ";font-weight:", euiTheme.font.weight.medium, ";padding:0;margin:", euiTheme.size.xxs, ";border-radius:", mathWithUnits(euiTheme.border.radius.small, function (x) {
94
94
  return x / 2;
95
- }), ";&+.euiButtonGroupButton{", logicalCSS('margin-left', '0'), ";}&:is(", selectedSelectors, "):not(:disabled){border:none;", highContrastModeStyles(euiThemeContext, {
95
+ }), ";&+.euiButtonGroupButton{", logicalCSS('margin-left', '0'), ";}&:is(", selectedSelectors, "):not(", euiDisabledSelector, "){border:none;", highContrastModeStyles(euiThemeContext, {
96
96
  forced: "\n /* use inset focus outline to ensure visibility, same as custom hover.\n NOTE: temp solution - this will be revisited once we handle global focus styles */\n &:focus-visible {\n outline-color: ".concat(euiTheme.colors.textInverse, ";\n /* has to be inset due to overflow: hidden */\n outline-offset: -").concat(mathWithUnits(euiTheme.border.width.thin, function (x) {
97
97
  return x * 3;
98
98
  }), ";\n }\n ")
@@ -63,6 +63,7 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
63
63
  setHasUnparsedText(false);
64
64
  setIsTextInvalid(false);
65
65
  }, [dateFormat]);
66
+ var textInputLabelId = useGeneratedHtmlId();
66
67
  var timeZomeDescriptionId = useGeneratedHtmlId();
67
68
  var submitButtonLabel = useEuiI18n('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
68
69
  var dateFormatError = useEuiI18n('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
@@ -101,10 +102,16 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
101
102
  return;
102
103
  }
103
104
 
105
+ // We can be forgiving for `dateFormat` if we are certain
106
+ // we're not expecting any of the other formats allowed;
107
+ // otherwise we can get valid but inaccurate results e.g.
108
+ // `1970-01-01` -> `Jan 19, 1970 @ 01:01:00.000`
109
+ var strictModeForPassedFormat = moment(textInputValue, ALLOWED_USER_DATE_FORMATS, true).isValid();
110
+
104
111
  // Attempt to parse with passed `dateFormat` and `locale`
105
112
  var _valueAsMoment = moment(textInputValue, dateFormat, typeof locale === 'string' ? locale : 'en',
106
113
  // Narrow the union type to string
107
- true);
114
+ strictModeForPassedFormat);
108
115
  var dateIsValid = _valueAsMoment.isValid();
109
116
 
110
117
  // If not valid, try a few other standardized formats
@@ -157,6 +164,7 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
157
164
  helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
158
165
  describedByIds: [timeZomeDescriptionId]
159
166
  }, ___EmotionJSX(EuiFieldText, {
167
+ "aria-labelledby": textInputLabelId,
160
168
  compressed: true,
161
169
  isInvalid: isTextInvalid,
162
170
  value: textInputValue,
@@ -169,7 +177,9 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
169
177
  setIsReadyToParse(true);
170
178
  },
171
179
  "data-test-subj": "superDatePickerAbsoluteDateInput",
172
- prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
180
+ prepend: ___EmotionJSX(EuiFormLabel, {
181
+ id: textInputLabelId
182
+ }, labelPrefix)
173
183
  })), hasUnparsedText && ___EmotionJSX(EuiButtonIcon, {
174
184
  type: "submit",
175
185
  css: styles.euiAbsoluteTabDateForm__submit,
@@ -86,6 +86,7 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
86
86
  if (!parsedValue || !parsedValue.isValid()) return '';
87
87
  return parsedValue.locale(locale || 'en').format(dateFormat);
88
88
  }, [isInvalid, value, roundUp, locale, dateFormat]);
89
+ var textInputLabelId = useGeneratedHtmlId();
89
90
  var relativeDateInputNumberDescriptionId = useGeneratedHtmlId();
90
91
  var timeZomeDescriptionId = useGeneratedHtmlId();
91
92
  var numberAriaLabel = useEuiI18n('euiRelativeTab.numberInputLabel', 'Time span amount');
@@ -118,11 +119,14 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
118
119
  }))), ___EmotionJSX(EuiSpacer, {
119
120
  size: "s"
120
121
  }), ___EmotionJSX(EuiFieldText, {
122
+ "aria-labelledby": textInputLabelId,
121
123
  compressed: true,
122
124
  value: formattedValue,
123
125
  readOnly: true,
124
126
  "aria-describedby": timeZomeDescriptionId,
125
- prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
127
+ prepend: ___EmotionJSX(EuiFormLabel, {
128
+ id: textInputLabelId
129
+ }, labelPrefix)
126
130
  }), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
127
131
  id: relativeDateInputNumberDescriptionId
128
132
  }, ___EmotionJSX(EuiI18n, {