@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
@@ -6,6 +6,8 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
+ export var MAX_INITIALS = 2;
10
+
9
11
  /**
10
12
  * This function calculates the initials/acronym for a given name.
11
13
  * It defaults to only 2 characters and will take the first character (of each word).
@@ -17,11 +19,20 @@
17
19
  * @param {string} name The full name of the item to turn into initials
18
20
  * @param {number} initialsLength (Optional) How many characters to show (max 2 allowed)
19
21
  * @param {string} initials (Optional) Custom initials (max 2 characters)
20
- * @returns {string} True if the color is dark, false otherwise.
21
22
  */
22
-
23
- export var MAX_INITIALS = 2;
24
23
  export function toInitials(name, initialsLength, initials) {
24
+ // If `initials` provided, check if it's a single emoji
25
+ // in order to support complex, "multi-character" ones
26
+ if (initials && typeof Intl !== 'undefined' && 'Segmenter' in Intl) {
27
+ var segmenter = new Intl.Segmenter('en', {
28
+ granularity: 'grapheme'
29
+ });
30
+ var segments = Array.from(segmenter.segment(initials));
31
+ if (segments.length === 1 && isEmoji(segments[0].segment)) {
32
+ return segments[0].segment;
33
+ }
34
+ }
35
+
25
36
  // Calculate the number of initials to show, maxing out at MAX_INITIALS
26
37
  var calculatedInitialsLength = initials ? initials.split('').length : name.split(' ').length;
27
38
  calculatedInitialsLength = calculatedInitialsLength > MAX_INITIALS ? MAX_INITIALS : calculatedInitialsLength;
@@ -44,5 +55,16 @@ export function toInitials(name, initialsLength, initials) {
44
55
  calculatedInitials = name.substring(0, calculatedInitialsLength);
45
56
  }
46
57
  }
47
- return calculatedInitials;
58
+ return calculatedInitials || '';
59
+ }
60
+ function isEmoji(str) {
61
+ /**
62
+ * The \p escape sequence allows matching a character based on its Unicode properties
63
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape
64
+ * @see https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
65
+ * @see https://www.unicode.org/reports/tr51/#Definitions
66
+ * @see https://util.unicode.org/UnicodeJsps/character.jsp?a=1F440&B1=Show
67
+ */
68
+ var emojiRegex = /(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDFF\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFF]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])/;
69
+ return emojiRegex.test(str);
48
70
  }
@@ -37,7 +37,7 @@ var _delay_render = require("../delay_render");
37
37
  var _accessibility2 = require("../../services/accessibility");
38
38
  var _basic_table = require("./basic_table.styles");
39
39
  var _react2 = require("@emotion/react");
40
- var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout"],
40
+ var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground"],
41
41
  _excluded2 = ["align", "render", "dataType", "isExpander", "textOnly", "name", "field", "description", "sortable", "footer", "mobileOptions", "nameTooltip"];
42
42
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
43
43
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -361,6 +361,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
361
361
  tableCaption = _this$props2.tableCaption,
362
362
  rowHeader = _this$props2.rowHeader,
363
363
  tableLayout = _this$props2.tableLayout,
364
+ hasBackground = _this$props2.hasBackground,
364
365
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
365
366
  var classes = (0, _classnames.default)('euiBasicTable', {
366
367
  'euiBasicTable-loading': loading
@@ -378,6 +379,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
378
379
  compressed = _this$props3.compressed,
379
380
  responsiveBreakpoint = _this$props3.responsiveBreakpoint,
380
381
  tableLayout = _this$props3.tableLayout,
382
+ hasBackground = _this$props3.hasBackground,
381
383
  loading = _this$props3.loading;
382
384
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_table.EuiTableHeaderMobile, {
383
385
  responsiveBreakpoint: responsiveBreakpoint
@@ -386,6 +388,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
386
388
  tableLayout: tableLayout,
387
389
  responsiveBreakpoint: responsiveBreakpoint,
388
390
  compressed: compressed,
391
+ hasBackground: hasBackground,
389
392
  css: loading && _basic_table.safariLoadingWorkaround
390
393
  }, this.renderTableCaption(), this.renderTableHead(), this.renderTableBody(), this.renderTableFooter())));
391
394
  }
@@ -26,7 +26,7 @@ var _component_defaults = require("../provider/component_defaults");
26
26
  var _react2 = require("@emotion/react");
27
27
  var _excluded = ["schema"],
28
28
  _excluded2 = ["onChange"],
29
- _excluded3 = ["columns", "loading", "message", "noItemsMessage", "error", "selection", "compressed", "pagination", "sorting", "itemIdToExpandedRowMap", "itemId", "rowProps", "cellProps", "tableLayout", "items", "search", "searchFormat", "onTableChange", "executeQueryOptions", "allowNeutralSort", "childrenBetween"];
29
+ _excluded3 = ["columns", "loading", "noItemsMessage", "error", "selection", "compressed", "pagination", "sorting", "itemIdToExpandedRowMap", "itemId", "rowProps", "cellProps", "tableLayout", "items", "search", "searchFormat", "onTableChange", "executeQueryOptions", "allowNeutralSort", "childrenBetween"];
30
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
32
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -38,21 +38,31 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
38
38
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
39
39
  * in compliance with, at your election, the Elastic License 2.0 or the Server
40
40
  * Side Public License, v 1.
41
- */
41
+ */ // allows `query: null` in the onChange callback when using `searchFormat="text"`
42
42
  function isEuiSearchBarProps(x) {
43
43
  return typeof x !== 'boolean';
44
44
  }
45
- var getQueryFromSearch = function getQueryFromSearch(search, defaultQuery) {
46
- var query;
45
+ /**
46
+ * Extracts and formats a query from search props based on the search format
47
+ * @param search - The search configuration
48
+ * @param defaultQuery - Whether to use the defaultQuery property as fallback
49
+ * @param searchFormat - The search format: 'eql' for parsed queries, 'text' for plain text
50
+ * @returns Formatted query string or Query object
51
+ */
52
+ var getQueryFromSearch = function getQueryFromSearch(search, defaultQuery, searchFormat) {
53
+ var _ref, _searchProps$defaultQ, _searchProps$query;
47
54
  if (!search) {
48
- query = '';
49
- } else {
50
- query = (defaultQuery ? search.defaultQuery || search.query || '' : search.query) || '';
55
+ return searchFormat === 'text' ? '""' : '';
51
56
  }
52
- return (0, _predicate.isString)(query) ? _search_bar.EuiSearchBar.Query.parse(query) : query;
57
+ var searchProps = search;
58
+ 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 : '';
59
+ if (searchFormat === 'text') {
60
+ return "\"".concat(queryString, "\"");
61
+ }
62
+ return (0, _predicate.isString)(queryString) ? _search_bar.EuiSearchBar.Query.parse(queryString) : queryString;
53
63
  };
54
64
  var getInitialPagination = function getInitialPagination(pagination, consumerDefaults) {
55
- var _ref2, _pagination$pageIndex, _ref3, _pagination$pageSize;
65
+ var _ref3, _pagination$pageIndex, _ref4, _pagination$pageSize;
56
66
  if (!pagination) {
57
67
  return {
58
68
  pageIndex: undefined,
@@ -60,14 +70,14 @@ var getInitialPagination = function getInitialPagination(pagination, consumerDef
60
70
  };
61
71
  }
62
72
  var defaults = _objectSpread(_objectSpread({}, _table_pagination.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;
73
+ var _ref2 = pagination,
74
+ _ref2$pageSizeOptions = _ref2.pageSizeOptions,
75
+ pageSizeOptions = _ref2$pageSizeOptions === void 0 ? defaults.itemsPerPageOptions : _ref2$pageSizeOptions,
76
+ _ref2$showPerPageOpti = _ref2.showPerPageOptions,
77
+ showPerPageOptions = _ref2$showPerPageOpti === void 0 ? defaults.showPerPageOptions : _ref2$showPerPageOpti;
68
78
  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;
79
+ 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;
80
+ 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
81
  if (showPerPageOptions && initialPageSize != null && !(pageSizeOptions !== null && pageSizeOptions !== void 0 && pageSizeOptions.includes(initialPageSize))) {
72
82
  throw new Error("EuiInMemoryTable received initialPageSize ".concat(initialPageSize, ", which wasn't provided within pageSizeOptions."));
73
83
  }
@@ -120,15 +130,16 @@ function getInitialSorting(columns, sorting) {
120
130
  }
121
131
  var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Component) {
122
132
  function EuiInMemoryTable(props, context) {
133
+ var _props$searchFormat;
123
134
  var _this;
124
135
  (0, _classCallCheck2.default)(this, EuiInMemoryTable);
125
136
  _this = _callSuper(this, EuiInMemoryTable, [props]);
126
- (0, _defineProperty2.default)(_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;
137
+ (0, _defineProperty2.default)(_this, "onTableChange", function (_ref5) {
138
+ var page = _ref5.page,
139
+ sort = _ref5.sort;
140
+ var _ref6 = page || {},
141
+ pageIndex = _ref6.index,
142
+ pageSize = _ref6.size;
132
143
 
133
144
  // don't apply pagination changes that are otherwise controlled
134
145
  // `page` is left unchanged as it goes to the consumer's `onTableChange` callback, allowing the app to respond
@@ -137,9 +148,9 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
137
148
  if (pagination.pageSize != null) pageSize = pagination.pageSize;
138
149
  if (pagination.pageIndex != null) pageIndex = pagination.pageIndex;
139
150
  }
140
- var _ref6 = sort || {},
141
- sortName = _ref6.field,
142
- sortDirection = _ref6.direction;
151
+ var _ref7 = sort || {},
152
+ sortName = _ref7.field,
153
+ sortDirection = _ref7.direction;
143
154
 
144
155
  // To keep backwards compatibility reportedSortName needs to be tracked separately
145
156
  // from sortName; sortName gets stored internally while reportedSortName is sent to the callback
@@ -182,10 +193,10 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
182
193
  sortDirection: sortDirection
183
194
  });
184
195
  });
185
- (0, _defineProperty2.default)(_this, "onQueryChange", function (_ref7) {
186
- var query = _ref7.query,
187
- queryText = _ref7.queryText,
188
- error = _ref7.error;
196
+ (0, _defineProperty2.default)(_this, "onQueryChange", function (_ref8) {
197
+ var query = _ref8.query,
198
+ queryText = _ref8.queryText,
199
+ error = _ref8.error;
189
200
  var search = _this.props.search;
190
201
  if (isEuiSearchBarProps(search)) {
191
202
  if (search.onChange) {
@@ -219,12 +230,11 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
219
230
  // search bar to ignore EQL syntax and only use the searchbar for plain text
220
231
  (0, _defineProperty2.default)(_this, "onPlainTextSearch", function (searchValue) {
221
232
  var escapedQueryText = searchValue.replace(/["\\]/g, '\\$&');
222
- var finalQuery = "\"".concat(escapedQueryText, "\"");
223
233
  var search = _this.props.search;
224
234
  if (isEuiSearchBarProps(search)) {
225
235
  if (search.onChange) {
226
236
  var shouldQueryInMemory = search.onChange({
227
- query: _search_bar.EuiSearchBar.Query.parse(finalQuery),
237
+ query: null,
228
238
  queryText: escapedQueryText,
229
239
  error: null
230
240
  });
@@ -234,7 +244,7 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
234
244
  }
235
245
  }
236
246
  _this.setState({
237
- query: _search_bar.EuiSearchBar.Query.parse(finalQuery)
247
+ query: "\"".concat(escapedQueryText, "\"")
238
248
  });
239
249
  });
240
250
  var columns = props.columns,
@@ -258,7 +268,7 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
258
268
  search: _search
259
269
  },
260
270
  search: _search,
261
- query: getQueryFromSearch(_search, true),
271
+ query: getQueryFromSearch(_search, true, (_props$searchFormat = props.searchFormat) !== null && _props$searchFormat !== void 0 ? _props$searchFormat : 'eql'),
262
272
  pageIndex: _pageIndex || 0,
263
273
  pageSize: _pageSize,
264
274
  pageSizeOptions: pageSizeOptions,
@@ -279,13 +289,28 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
279
289
  if (!search) return;
280
290
  var searchBar;
281
291
  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 = (0, _objectWithoutProperties2.default)(_searchBoxProps, _excluded); // Destructure `schema` so it doesn't get rendered to DOM
292
+ var _ref9 = search,
293
+ _ref9$box = _ref9.box,
294
+ box = _ref9$box === void 0 ? {} : _ref9$box,
295
+ query = _ref9.query,
296
+ defaultQuery = _ref9.defaultQuery;
297
+ var schema = box.schema,
298
+ searchBoxProps = (0, _objectWithoutProperties2.default)(box, _excluded);
299
+
300
+ // in the unexpected case a Query object is passed with searchFormat=text
301
+ if (process.env.NODE_ENV === 'development') {
302
+ if (query != null && !(0, _predicate.isString)(query)) {
303
+ console.warn('EuiInMemoryTable: `query` should be a string when using searchFormat="text". Query objects are only supported with searchFormat="eql".');
304
+ }
305
+ if (defaultQuery != null && !(0, _predicate.isString)(defaultQuery)) {
306
+ console.warn('EuiInMemoryTable: `defaultQuery` should be a string when using searchFormat="text". Query objects are only supported with searchFormat="eql".');
307
+ }
308
+ }
285
309
 
286
- searchBar = (0, _react2.jsx)(_search_box.EuiSearchBox, (0, _extends2.default)({
287
- query: "" // Unused, passed to satisfy Typescript
288
- }, searchBoxProps, {
310
+ // use only string values, ignore Query objects
311
+ var displayQuery = (0, _predicate.isString)(query) ? query : (0, _predicate.isString)(defaultQuery) ? defaultQuery : '';
312
+ searchBar = (0, _react2.jsx)(_search_box.EuiSearchBox, (0, _extends2.default)({}, searchBoxProps, {
313
+ query: displayQuery,
289
314
  onSearch: this.onPlainTextSearch
290
315
  }));
291
316
  } else {
@@ -313,9 +338,9 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
313
338
  value: function resolveSearchSchema() {
314
339
  var columns = this.props.columns;
315
340
  return columns.reduce(function (schema, column) {
316
- var _ref8 = column,
317
- field = _ref8.field,
318
- dataType = _ref8.dataType;
341
+ var _ref10 = column,
342
+ field = _ref10.field,
343
+ dataType = _ref10.dataType;
319
344
  if (field) {
320
345
  var type = dataType || 'string';
321
346
  schema.fields[field] = {
@@ -335,8 +360,8 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
335
360
  sortName = _this$state.sortName,
336
361
  sortDirection = _this$state.sortDirection;
337
362
  var columns = this.props.columns;
338
- var sortColumn = columns.find(function (_ref9) {
339
- var name = _ref9.name;
363
+ var sortColumn = columns.find(function (_ref11) {
364
+ var name = _ref11.name;
340
365
  return name === sortName;
341
366
  });
342
367
  if (sortColumn == null) {
@@ -386,7 +411,6 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
386
411
  var _this$props2 = this.props,
387
412
  columns = _this$props2.columns,
388
413
  loading = _this$props2.loading,
389
- message = _this$props2.message,
390
414
  noItemsMessage = _this$props2.noItemsMessage,
391
415
  error = _this$props2.error,
392
416
  selection = _this$props2.selection,
@@ -449,7 +473,7 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
449
473
  onChange: this.onTableChange,
450
474
  error: error,
451
475
  loading: loading,
452
- noItemsMessage: noItemsMessage || message,
476
+ noItemsMessage: noItemsMessage,
453
477
  tableLayout: tableLayout,
454
478
  compressed: compressed,
455
479
  itemIdToExpandedRowMap: itemIdToExpandedRowMap
@@ -507,11 +531,12 @@ var EuiInMemoryTable = exports.EuiInMemoryTable = /*#__PURE__*/function (_Compon
507
531
  var nextQuery = nextProps.search ? nextProps.search.query : '';
508
532
  var prevQuery = prevState.prevProps.search ? prevState.prevProps.search.query : '';
509
533
  if (nextQuery !== prevQuery) {
534
+ var _nextProps$searchForm;
510
535
  updatedPrevState = _objectSpread(_objectSpread({}, updatedPrevState), {}, {
511
536
  prevProps: _objectSpread(_objectSpread({}, updatedPrevState.prevProps), {}, {
512
537
  search: nextProps.search
513
538
  }),
514
- query: getQueryFromSearch(nextProps.search, false)
539
+ query: getQueryFromSearch(nextProps.search, false, (_nextProps$searchForm = nextProps.searchFormat) !== null && _nextProps$searchForm !== void 0 ? _nextProps$searchForm : 'eql')
515
540
  });
516
541
  }
517
542
  if (updatedPrevState !== prevState) {
@@ -47,6 +47,6 @@ var _highContrastStyles = function _highContrastStyles(euiThemeContext, compress
47
47
  var euiTheme = euiThemeContext.euiTheme;
48
48
  return (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
49
49
  preferred: compressed ? "\n .euiButtonGroupButton {\n border: none;\n }\n " : '',
50
- forced: "\n .euiButtonGroupButton-isSelected {\n ".concat((0, _high_contrast.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 ")
50
+ forced: "\n .euiButtonGroupButton-isSelected {\n ".concat((0, _high_contrast.preventForcedColors)(euiThemeContext), "\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.fullShade, ";\n\n &:is(:hover, :focus):not(").concat(_global_styling.euiDisabledSelector, ") {\n &::before {\n border-color: ").concat(euiTheme.colors.textInverse, ";\n }\n }\n }\n\n .euiButtonGroupButton:is(").concat(_global_styling.euiDisabledSelector, ") {\n opacity: 0.5;\n }\n ")
51
51
  });
52
52
  };
@@ -89,7 +89,7 @@ var euiButtonGroupButtonStyles = exports.euiButtonGroupButtonStyles = function e
89
89
  },
90
90
  compressed: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', compressedButtonHeight), " line-height:", compressedButtonHeight, ";font-weight:", euiTheme.font.weight.medium, ";padding:0;margin:", euiTheme.size.xxs, ";border-radius:", (0, _global_styling.mathWithUnits)(euiTheme.border.radius.small, function (x) {
91
91
  return x / 2;
92
- }), ";&+.euiButtonGroupButton{", (0, _global_styling.logicalCSS)('margin-left', '0'), ";}&:is(", selectedSelectors, "):not(:disabled){border:none;", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
92
+ }), ";&+.euiButtonGroupButton{", (0, _global_styling.logicalCSS)('margin-left', '0'), ";}&:is(", selectedSelectors, "):not(", _global_styling.euiDisabledSelector, "){border:none;", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
93
93
  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((0, _global_styling.mathWithUnits)(euiTheme.border.width.thin, function (x) {
94
94
  return x * 3;
95
95
  }), ";\n }\n ")
@@ -66,6 +66,7 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
66
66
  setHasUnparsedText(false);
67
67
  setIsTextInvalid(false);
68
68
  }, [dateFormat]);
69
+ var textInputLabelId = (0, _services.useGeneratedHtmlId)();
69
70
  var timeZomeDescriptionId = (0, _services.useGeneratedHtmlId)();
70
71
  var submitButtonLabel = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
71
72
  var dateFormatError = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
@@ -104,10 +105,16 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
104
105
  return;
105
106
  }
106
107
 
108
+ // We can be forgiving for `dateFormat` if we are certain
109
+ // we're not expecting any of the other formats allowed;
110
+ // otherwise we can get valid but inaccurate results e.g.
111
+ // `1970-01-01` -> `Jan 19, 1970 @ 01:01:00.000`
112
+ var strictModeForPassedFormat = (0, _moment.default)(textInputValue, ALLOWED_USER_DATE_FORMATS, true).isValid();
113
+
107
114
  // Attempt to parse with passed `dateFormat` and `locale`
108
115
  var _valueAsMoment = (0, _moment.default)(textInputValue, dateFormat, typeof locale === 'string' ? locale : 'en',
109
116
  // Narrow the union type to string
110
- true);
117
+ strictModeForPassedFormat);
111
118
  var dateIsValid = _valueAsMoment.isValid();
112
119
 
113
120
  // If not valid, try a few other standardized formats
@@ -160,6 +167,7 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
160
167
  helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
161
168
  describedByIds: [timeZomeDescriptionId]
162
169
  }, (0, _react2.jsx)(_form.EuiFieldText, {
170
+ "aria-labelledby": textInputLabelId,
163
171
  compressed: true,
164
172
  isInvalid: isTextInvalid,
165
173
  value: textInputValue,
@@ -172,7 +180,9 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
172
180
  setIsReadyToParse(true);
173
181
  },
174
182
  "data-test-subj": "superDatePickerAbsoluteDateInput",
175
- prepend: (0, _react2.jsx)(_form.EuiFormLabel, null, labelPrefix)
183
+ prepend: (0, _react2.jsx)(_form.EuiFormLabel, {
184
+ id: textInputLabelId
185
+ }, labelPrefix)
176
186
  })), hasUnparsedText && (0, _react2.jsx)(_button.EuiButtonIcon, {
177
187
  type: "submit",
178
188
  css: styles.euiAbsoluteTabDateForm__submit,
@@ -90,6 +90,7 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
90
90
  if (!parsedValue || !parsedValue.isValid()) return '';
91
91
  return parsedValue.locale(locale || 'en').format(dateFormat);
92
92
  }, [isInvalid, value, roundUp, locale, dateFormat]);
93
+ var textInputLabelId = (0, _services.useGeneratedHtmlId)();
93
94
  var relativeDateInputNumberDescriptionId = (0, _services.useGeneratedHtmlId)();
94
95
  var timeZomeDescriptionId = (0, _services.useGeneratedHtmlId)();
95
96
  var numberAriaLabel = (0, _i18n.useEuiI18n)('euiRelativeTab.numberInputLabel', 'Time span amount');
@@ -122,11 +123,14 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
122
123
  }))), (0, _react2.jsx)(_spacer.EuiSpacer, {
123
124
  size: "s"
124
125
  }), (0, _react2.jsx)(_form.EuiFieldText, {
126
+ "aria-labelledby": textInputLabelId,
125
127
  compressed: true,
126
128
  value: formattedValue,
127
129
  readOnly: true,
128
130
  "aria-describedby": timeZomeDescriptionId,
129
- prepend: (0, _react2.jsx)(_form.EuiFormLabel, null, labelPrefix)
131
+ prepend: (0, _react2.jsx)(_form.EuiFormLabel, {
132
+ id: textInputLabelId
133
+ }, labelPrefix)
130
134
  }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
131
135
  id: relativeDateInputNumberDescriptionId
132
136
  }, (0, _react2.jsx)(_i18n.EuiI18n, {
@@ -59,7 +59,9 @@ var EuiTimeZoneDisplay = exports.EuiTimeZoneDisplay = function EuiTimeZoneDispla
59
59
  "data-test-subj": "euiTimeZoneDisplay",
60
60
  "aria-label": label
61
61
  }, rest), typeof customRender === 'function' ? customRender({
62
- nameDisplay: nameDisplay
62
+ nameDisplay: nameDisplay,
63
+ utcOffset: utc,
64
+ timeZoneName: name
63
65
  }) : nameDisplay);
64
66
  };
65
67
 
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "EuiQuickSelect", {
15
15
  return _quick_select.EuiQuickSelect;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "EuiQuickSelectPanel", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _quick_select_panel.EuiQuickSelectPanel;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "EuiQuickSelectPopover", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -30,4 +36,5 @@ Object.defineProperty(exports, "EuiRecentlyUsed", {
30
36
  var _commonly_used_time_ranges = require("./commonly_used_time_ranges");
31
37
  var _quick_select_popover = require("./quick_select_popover");
32
38
  var _quick_select = require("./quick_select");
39
+ var _quick_select_panel = require("./quick_select_panel");
33
40
  var _recently_used = require("./recently_used");
@@ -20,9 +20,11 @@ var _moment = _interopRequireDefault(require("moment"));
20
20
  var _datemath = _interopRequireDefault(require("@elastic/datemath"));
21
21
  var _services = require("../../../services");
22
22
  var _predicate = require("../../../services/predicate");
23
+ var _global_styling = require("../../../global_styling");
23
24
  var _context = require("../../context");
24
25
  var _date_picker_range = require("../date_picker_range");
25
26
  var _form = require("../../form");
27
+ var _tool_tip = require("../../tool_tip");
26
28
  var _time_options = require("./time_options");
27
29
  var _pretty_duration = require("./pretty_duration");
28
30
  var _time_window_buttons = require("./time_window_buttons");
@@ -301,22 +303,38 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
301
303
  };
302
304
  var isDisabledDisplay = (0, _predicate.isObject)(isDisabled) && (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled.display);
303
305
  if (isDisabledDisplay || showPrettyDuration && !isStartDatePopoverOpen && !isEndDatePopoverOpen) {
304
- return (0, _react2.jsx)(_form.EuiFormControlLayout, formControlLayoutProps, !isQuickSelectOnly && (0, _react2.jsx)(_form.EuiFormControlButton, {
305
- type: "button",
306
- css: styles.euiSuperDatePicker__prettyFormat,
307
- className: (0, _classnames.default)('euiSuperDatePicker__prettyFormat', {
308
- 'euiSuperDatePicker__prettyFormat--disabled': isDisabled
309
- }),
310
- "data-test-subj": "superDatePickerShowDatesButton",
311
- disabled: !!isDisabled,
312
- onClick: _this.hidePrettyDuration,
313
- onFocus: onFocus
314
- }, isDisabledDisplay ? isDisabled.display : (0, _react2.jsx)(_pretty_duration.PrettyDuration, {
315
- timeFrom: start,
316
- timeTo: end,
317
- quickRanges: commonlyUsedRanges,
318
- dateFormat: dateFormat
319
- })));
306
+ // Tooltip content with full range
307
+ var startMoment = _datemath.default.parse(start);
308
+ var endMoment = _datemath.default.parse(end, {
309
+ roundUp: true
310
+ });
311
+ var separator = ' – ';
312
+ var formattedFullRange = isInvalid ? '' : (startMoment === null || startMoment === void 0 ? void 0 : startMoment.format(dateFormat)) + separator + (endMoment === null || endMoment === void 0 ? void 0 : endMoment.format(dateFormat));
313
+ return (0, _react2.jsx)(_services.RenderWithEuiTheme, null, function (euiTheme) {
314
+ return (0, _react2.jsx)(_form.EuiFormControlLayout, formControlLayoutProps, !isQuickSelectOnly && (0, _react2.jsx)(_tool_tip.EuiToolTip, {
315
+ css: styles.euiSuperDatePicker__prettyDurationTooltip,
316
+ content: formattedFullRange,
317
+ display: "block",
318
+ offset: euiTheme.euiTheme.base * 0.5
319
+ }, (0, _react2.jsx)(_form.EuiFormControlButton, {
320
+ type: "button",
321
+ className: (0, _classnames.default)('euiSuperDatePicker__prettyFormat', {
322
+ 'euiSuperDatePicker__prettyFormat--disabled': isDisabled
323
+ }),
324
+ compressed: compressed,
325
+ "data-test-subj": "superDatePickerShowDatesButton",
326
+ disabled: !!isDisabled,
327
+ onClick: _this.hidePrettyDuration,
328
+ onFocus: onFocus
329
+ }, isDisabledDisplay ? isDisabled.display : (0, _react2.jsx)("span", {
330
+ css: (0, _global_styling.euiTextTruncateCSS)()
331
+ }, (0, _react2.jsx)(_pretty_duration.PrettyDuration, {
332
+ timeFrom: start,
333
+ timeTo: end,
334
+ quickRanges: commonlyUsedRanges,
335
+ dateFormat: dateFormat
336
+ })))));
337
+ });
320
338
  }
321
339
  var rangeCssStyles = [styles.euiSuperDatePicker__range, formControlLayoutProps.css];
322
340
 
@@ -69,9 +69,7 @@ var euiSuperDatePickerStyles = exports.euiSuperDatePickerStyles = function euiSu
69
69
  isQuickSelectOnly: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('min-width', 0), ".euiFormControlLayout__prepend{", (0, _global_styling.logicalCSS)('max-width', 'none'), ";}.euiFormControlLayoutDelimited__delimiter:first-child{", (0, _global_styling.logicalCSS)('padding-horizontal', 0), ";};label:isQuickSelectOnly;"),
70
70
  euiSuperDatePicker__range: _ref,
71
71
  euiSuperDatePicker__rangeInput: /*#__PURE__*/(0, _react.css)("flex-grow:1;", (0, _global_styling.logicalCSS)('width', 'auto'), " overflow:hidden;;label:euiSuperDatePicker__rangeInput;"),
72
- euiSuperDatePicker__prettyFormat: /*#__PURE__*/(0, _react.css)(_buttonStyles(euiThemeContext), " text-align:start;--euiFormControlStateHoverColor:", forms.borderHovered, ";", (0, _form.euiFormControlDefaultShadow)(euiThemeContext), " &:focus{", (0, _form.euiFormControlFocusStyles)(euiThemeContext), ";}", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
73
- preferred: "\n border: none;\n "
74
- }), ";;label:euiSuperDatePicker__prettyFormat;"),
72
+ euiSuperDatePicker__prettyDurationTooltip: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('max-width', 'min(58ch, 90vw)'), ";;label:euiSuperDatePicker__prettyDurationTooltip;"),
75
73
  // Form states
76
74
  states: {
77
75
  euiSuperDatePicker__formControlLayout: /*#__PURE__*/(0, _react.css)(".euiFormControlLayout__childrenWrapper{--euiFormControlStateHoverColor:", forms.borderHovered, ";", (0, _high_contrast.highContrastModeStyles)(euiThemeContext, {
@@ -43,7 +43,7 @@ var EuiTimeWindowButtons = exports.EuiTimeWindowButtons = function EuiTimeWindow
43
43
  zoomFactor = _ref$zoomFactor === void 0 ? ZOOM_FACTOR_DEFAULT : _ref$zoomFactor;
44
44
  var buttonColor = 'text';
45
45
  var buttonSize = compressed ? 's' : 'm';
46
- var iconSize = compressed ? 's' : 'm';
46
+ var iconSize = 'm';
47
47
  var styles = (0, _services.useEuiMemoizedStyles)(_button_group.euiButtonGroupButtonsStyles);
48
48
  var _useEuiTimeWindow = useEuiTimeWindow(start, end, applyTime, {
49
49
  zoomFactor: zoomFactor
@@ -237,7 +237,7 @@ describe('EuiFilterGroup multiselect example', function () {
237
237
  cy.realPress('Enter');
238
238
  cy.get('div[data-test-subj="euiSelectableList"]').should('exist');
239
239
  cy.realPress('Tab');
240
- cy.repeatRealPress('ArrowDown', 3);
240
+ cy.repeatRealPress('ArrowDown', 4);
241
241
  cy.realPress('Enter');
242
242
  cy.get('li[aria-selected="true"]').find('span.euiSelectableListItem__text').should('have.text', 'Dmitri Shostakovich. Checked option. To exclude this option, press Enter.');
243
243
  cy.realPress('ArrowDown');
@@ -27,15 +27,17 @@ var EuiFlexItemInternal = function EuiFlexItemInternal(_ref, ref) {
27
27
  var children = _ref.children,
28
28
  className = _ref.className,
29
29
  _ref$grow = _ref.grow,
30
- grow = _ref$grow === void 0 ? true : _ref$grow,
30
+ _grow = _ref$grow === void 0 ? true : _ref$grow,
31
31
  _ref$component = _ref.component,
32
32
  component = _ref$component === void 0 ? 'div' : _ref$component,
33
33
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
+ // resets `grow` to the default value when an invalid value is passed
35
+ var grow = VALID_GROW_VALUES.indexOf(_grow) === -1 ? true : _grow;
34
36
  (0, _react.useEffect)(function () {
35
- if (VALID_GROW_VALUES.indexOf(grow) === -1) {
36
- throw new Error("Prop `grow` passed to `EuiFlexItem` must be a boolean or an integer between 0 and 10, received `".concat(grow, "`"));
37
+ if (process.env.NODE_ENV === 'development' && VALID_GROW_VALUES.indexOf(_grow) === -1) {
38
+ console.warn("Prop `grow` passed to `EuiFlexItem` must be a boolean or an integer between 0 and 10, received `".concat(_grow, "`. Defaulting to `true`."));
37
39
  }
38
- }, [grow]);
40
+ }, [_grow]);
39
41
  var cssStyles = [_flex_item.euiFlexItemStyles.euiFlexItem, !grow ? _flex_item.euiFlexItemStyles.growZero : _flex_item.euiFlexItemStyles.grow, grow && (typeof grow === 'number' ? _flex_item.euiFlexItemStyles.growSizes[grow] : _flex_item.euiFlexItemStyles.growSizes['1'])];
40
42
  var classes = (0, _classnames.default)('euiFlexItem', className);
41
43
 
@@ -11,6 +11,7 @@ var _react = _interopRequireDefault(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _services = require("../../../services");
13
13
  var _href_validator = require("../../../services/security/href_validator");
14
+ var _global_styling = require("../../../global_styling");
14
15
  var _icon = require("../../icon");
15
16
  var _header_logo = require("./header_logo.styles");
16
17
  var _react2 = require("@emotion/react");
@@ -35,6 +36,10 @@ var EuiHeaderLogo = exports.EuiHeaderLogo = function EuiHeaderLogo(_ref) {
35
36
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
36
37
  var classes = (0, _classnames.default)('euiHeaderLogo', className);
37
38
  var styles = (0, _services.useEuiMemoizedStyles)(_header_logo.euiHeaderLogoStyles);
39
+ var buttonColorStyles = (0, _global_styling.useEuiButtonColorCSS)({
40
+ display: 'empty'
41
+ });
42
+ var cssStyles = [styles.euiHeaderLogo, buttonColorStyles.text];
38
43
  var secureRel = (0, _services.getSecureRelForTarget)({
39
44
  href: href,
40
45
  rel: rel,
@@ -45,7 +50,7 @@ var EuiHeaderLogo = exports.EuiHeaderLogo = function EuiHeaderLogo(_ref) {
45
50
  href: isHrefValid ? href : '',
46
51
  rel: secureRel,
47
52
  target: target,
48
- css: styles.euiHeaderLogo,
53
+ css: cssStyles,
49
54
  className: classes
50
55
  }, rest), (0, _react2.jsx)(_icon.EuiIcon, {
51
56
  "aria-label": iconTitle,
@@ -21,7 +21,7 @@ var euiHeaderLogoStyles = exports.euiHeaderLogoStyles = function euiHeaderLogoSt
21
21
  var _euiHeaderVariables = (0, _header.euiHeaderVariables)(euiThemeContext),
22
22
  childHeight = _euiHeaderVariables.childHeight;
23
23
  return {
24
- euiHeaderLogo: /*#__PURE__*/(0, _react.css)("position:relative;", (0, _global_styling.logicalCSS)('height', childHeight), " line-height:", childHeight, ";", (0, _global_styling.logicalCSS)('min-width', childHeight), " padding-inline:", euiTheme.size.s, ";display:inline-flex;align-items:center;white-space:nowrap;", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.xs), ";};label:euiHeaderLogo;"),
24
+ euiHeaderLogo: /*#__PURE__*/(0, _react.css)("position:relative;", (0, _global_styling.logicalCSS)('height', childHeight), " line-height:", childHeight, ";", (0, _global_styling.logicalCSS)('min-width', childHeight), " padding-inline:", euiTheme.size.s, ";display:inline-flex;border-radius:", euiTheme.border.radius.small, ";align-items:center;white-space:nowrap;", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.xs), ";};label:euiHeaderLogo;"),
25
25
  euiHeaderLogo__text: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxs'), " ", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.base), " ", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.s), ";};label:euiHeaderLogo__text;")
26
26
  };
27
27
  };