@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
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EuiTableVariantContext = void 0;
7
+ var _react = require("react");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ var EuiTableVariantContext = exports.EuiTableVariantContext = /*#__PURE__*/(0, _react.createContext)({
17
+ hasBackground: true
18
+ });
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.EuiTableFooterCell = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
11
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _services = require("../../services");
14
15
  var _utils = require("./utils");
15
16
  var _table_cell_content = require("./_table_cell_content");
16
17
  var _table_cells_shared = require("./table_cells_shared.styles");
18
+ var _table_context = require("./table_context");
17
19
  var _react2 = require("@emotion/react");
18
20
  var _excluded = ["children", "align", "className", "width", "style"];
19
21
  /*
@@ -23,6 +25,8 @@ var _excluded = ["children", "align", "className", "width", "style"];
23
25
  * in compliance with, at your election, the Elastic License 2.0 or the Server
24
26
  * Side Public License, v 1.
25
27
  */
28
+ 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); }
29
+ 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; }
26
30
  var EuiTableFooterCell = exports.EuiTableFooterCell = function EuiTableFooterCell(_ref) {
27
31
  var children = _ref.children,
28
32
  _ref$align = _ref.align,
@@ -31,11 +35,14 @@ var EuiTableFooterCell = exports.EuiTableFooterCell = function EuiTableFooterCel
31
35
  width = _ref.width,
32
36
  style = _ref.style,
33
37
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+ var _useContext = (0, _react.useContext)(_table_context.EuiTableVariantContext),
39
+ hasBackground = _useContext.hasBackground;
34
40
  var classes = (0, _classnames.default)('euiTableFooterCell', className);
35
41
  var inlineStyles = (0, _utils.resolveWidthAsStyle)(style, width);
36
42
  var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
43
+ var cssStyles = [styles.euiTableFooterCell.euiTableFooterCell, hasBackground && styles.euiTableFooterCell.hasBackground];
37
44
  return (0, _react2.jsx)("td", (0, _extends2.default)({
38
- css: styles.euiTableFooterCell,
45
+ css: cssStyles,
39
46
  className: classes,
40
47
  style: inlineStyles
41
48
  }, rest), (0, _react2.jsx)(_table_cell_content.EuiTableCellContent, {
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.EuiTableRow = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
11
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _services = require("../../services");
14
15
  var _responsive_context = require("./mobile/responsive_context");
16
+ var _table_context = require("./table_context");
15
17
  var _table_row = require("./table_row.styles");
16
18
  var _react2 = require("@emotion/react");
17
19
  var _excluded = ["children", "className", "hasSelection", "isSelected", "isSelectable", "hasActions", "isExpandedRow", "isExpandable", "onClick"];
@@ -22,6 +24,8 @@ var _excluded = ["children", "className", "hasSelection", "isSelected", "isSelec
22
24
  * in compliance with, at your election, the Elastic License 2.0 or the Server
23
25
  * Side Public License, v 1.
24
26
  */
27
+ 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); }
28
+ 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; }
25
29
  var EuiTableRow = exports.EuiTableRow = function EuiTableRow(_ref) {
26
30
  var children = _ref.children,
27
31
  className = _ref.className,
@@ -34,8 +38,10 @@ var EuiTableRow = exports.EuiTableRow = function EuiTableRow(_ref) {
34
38
  onClick = _ref.onClick,
35
39
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
36
40
  var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
41
+ var _useContext = (0, _react.useContext)(_table_context.EuiTableVariantContext),
42
+ hasBackground = _useContext.hasBackground;
37
43
  var styles = (0, _services.useEuiMemoizedStyles)(_table_row.euiTableRowStyles);
38
- var cssStyles = isResponsive ? [styles.euiTableRow, styles.mobile.mobile, isSelected && styles.mobile.selected, isExpandedRow && styles.mobile.expanded, (hasActions === true || isExpandable || isExpandedRow) && styles.mobile.hasRightColumn, hasSelection && styles.mobile.hasLeftColumn] : [styles.euiTableRow, styles.desktop.desktop, onClick && styles.desktop.clickable, isSelected && styles.desktop.selected, isExpandedRow && styles.desktop.expanded, isExpandedRow && hasSelection && styles.desktop.checkboxOffset];
44
+ var cssStyles = isResponsive ? [styles.euiTableRow, styles.mobile.mobile, !hasBackground && styles.mobile.hasBorder, hasBackground && styles.mobile.hasBackground, isSelected && styles.mobile.selected, isExpandedRow && styles.mobile.expanded, (hasActions === true || isExpandable || isExpandedRow) && styles.mobile.hasRightColumn, hasSelection && styles.mobile.hasLeftColumn] : [styles.euiTableRow, styles.desktop.desktop, onClick && styles.desktop.clickable, isSelected && styles.desktop.selected, isExpandedRow && styles.desktop.expanded.expanded, isExpandedRow && hasBackground && styles.desktop.expanded.hasBackground, isExpandedRow && hasSelection && styles.desktop.checkboxOffset];
39
45
  var classes = (0, _classnames.default)('euiTableRow', className, {
40
46
  'euiTableRow-isSelectable': isSelectable,
41
47
  'euiTableRow-isSelected': isSelected,
@@ -32,7 +32,11 @@ var euiTableRowStyles = exports.euiTableRowStyles = function euiTableRowStyles(e
32
32
  euiTableRow: /*#__PURE__*/(0, _react.css)(":where(&.euiTableRow--marked){background-color:", rowColors.marked.background, ";};label:euiTableRow;"),
33
33
  desktop: {
34
34
  desktop: /*#__PURE__*/(0, _react.css)("&:hover{background-color:", rowColors.hover, ";}", markedStyles, ";;label:desktop;"),
35
- expanded: /*#__PURE__*/(0, _react.css)("background-color:", rowColors.hover, ";", expandedAnimationCss, ";;label:expanded;"),
35
+ expanded: {
36
+ expanded: /*#__PURE__*/(0, _react.css)(expandedAnimationCss, ";;label:expanded;"),
37
+ // skipping adding a css class as it's a default style when expanded
38
+ hasBackground: "\n background-color: ".concat(rowColors.hover, ";\n ")
39
+ },
36
40
  clickable: /*#__PURE__*/(0, _react.css)("&:hover{background-color:", rowColors.clickable.hover, ";cursor:pointer;}", markedStyles, " &:focus{background-color:", rowColors.clickable.focus, ";};label:clickable;"),
37
41
  selected: /*#__PURE__*/(0, _react.css)("&,&+.euiTableRow-isExpandedRow{background-color:", rowColors.selected.background, ";}&:hover,&:hover+.euiTableRow-isExpandedRow{background-color:", rowColors.selected.hover, ";};label:selected;"),
38
42
  // Offset expanded & selectable rows by the checkbox width to line up content with the 2nd column
@@ -40,9 +44,21 @@ var euiTableRowStyles = exports.euiTableRowStyles = function euiTableRowStyles(e
40
44
  checkboxOffset: /*#__PURE__*/(0, _react.css)("&>.euiTableRowCell:first-child{", (0, _global_styling.logicalCSS)('padding-left', checkboxSize), ";};label:checkboxOffset;")
41
45
  },
42
46
  mobile: {
43
- mobile: /*#__PURE__*/(0, _react.css)("position:relative;display:flex;flex-wrap:wrap;padding:", cellContentPadding, ";", (0, _global_styling.logicalCSS)('margin-bottom', cellContentPadding), (0, _euiThemeCommon.euiShadow)(euiThemeContext, 's', {
47
+ mobile: /*#__PURE__*/(0, _react.css)("position:relative;display:flex;flex-wrap:wrap;padding:", cellContentPadding, ";", (0, _global_styling.logicalCSS)('margin-bottom', cellContentPadding), " border-radius:", euiTheme.border.radius.medium, ";", (0, _supports.cssSupportsHasWithNextSibling)("\n &:has(+ .euiTableRow-isExpandedRow) {\n ".concat((0, _global_styling.logicalCSS)('border-bottom-left-radius', 0), "\n ").concat((0, _global_styling.logicalCSS)('border-bottom-right-radius', 0), "\n }\n ")), ";;label:mobile;"),
48
+ /* Omitting adding a class via css here as it's a default style on mobile, not a standalone prop-related style.
49
+ Adding it separate allows better appliance control via props without the need to override the styles. */
50
+ hasBorder: "\n ".concat((0, _global_styling.highContrastModeStyles)(euiThemeContext, {
51
+ // uses pseudo-border to align dimensions with shadows applied by `hasBackground`
52
+ none: "\n ".concat((0, _euiThemeCommon.euiBorderStyles)(euiThemeContext, {
53
+ side: 'all'
54
+ }), "\n transform: translateZ(0);\n "),
55
+ preferred: "\n border: ".concat(euiTheme.border.thin, "\n ")
56
+ }), "\n "),
57
+ hasBackground: /*#__PURE__*/(0, _react.css)((0, _euiThemeCommon.euiShadow)(euiThemeContext, 's', {
44
58
  borderAllInHighContrastMode: true
45
- }), " background-color:", euiTheme.colors.backgroundBasePlain, ";border-radius:", euiTheme.border.radius.medium, ";", (0, _supports.cssSupportsHasWithNextSibling)("\n &:has(+ .euiTableRow-isExpandedRow) {\n ".concat((0, _global_styling.logicalCSS)('border-bottom-left-radius', 0), "\n ").concat((0, _global_styling.logicalCSS)('border-bottom-right-radius', 0), "\n }\n ")), ";;label:mobile;"),
59
+ }), " background-color:", euiTheme.colors.backgroundBasePlain, ";", (0, _global_styling.highContrastModeStyles)(euiThemeContext, {
60
+ none: "\n border: none;\n "
61
+ }), ";;label:hasBackground;"),
46
62
  selected: /*#__PURE__*/(0, _react.css)("&,&+.euiTableRow-isExpandedRow{background-color:", rowColors.selected.background, ";};label:selected;"),
47
63
  /**
48
64
  * Left column offset (no border)
@@ -61,7 +77,7 @@ var euiTableRowStyles = exports.euiTableRowStyles = function euiTableRowStyles(e
61
77
  // On mobile, visually move the expanded row to join up with the
62
78
  // preceding table row via negative margins
63
79
  'margin-top', (0, _global_styling.mathWithUnits)([cellContentPadding, euiTheme.border.width.thin], function (x, y) {
64
- return (x + y * 2) * -1;
80
+ return (x + y) * -1;
65
81
  })), (0, _global_styling.logicalCSS)('padding-left', cellContentPadding), " ", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('border-top-left-radius', 0), " ", (0, _global_styling.logicalCSS)('border-top-right-radius', 0), " &:after{", (0, _global_styling.logicalCSS)('border-top', 'none'), ";}clip-path:polygon(-50% 0, 150% 0, 150% 150%, -50% 150%);>.euiTableRowCell{", (0, _global_styling.logicalCSS)('width', '100%'), ";}", expandedAnimationCss, ";;label:expanded;")
66
82
  }
67
83
  };
@@ -74,10 +74,10 @@ var euiTableRowCellStyles = exports.euiTableRowCellStyles = function euiTableRow
74
74
  rightColumnContent: "\n position: absolute;\n ".concat((0, _global_styling.logicalCSS)('right', 0), "\n ").concat((0, _global_styling.logicalCSS)('min-width', '0'), "\n ").concat((0, _global_styling.logicalCSS)('width', mobileSizes.actions.width), "\n "),
75
75
  get actions() {
76
76
  // Note: Visible-on-hover actions on desktop always show on mobile
77
- return /*#__PURE__*/(0, _react.css)(this.rightColumnContent, " ", (0, _global_styling.logicalCSS)('top', mobileSizes.actions.offset), ";;label:actions;");
77
+ return /*#__PURE__*/(0, _react.css)(this.rightColumnContent, " ", (0, _global_styling.logicalCSS)('top', mobileSizes.actions.offset), ".euiTableCellContent{padding:0;};label:actions;");
78
78
  },
79
79
  get expander() {
80
- return /*#__PURE__*/(0, _react.css)(this.rightColumnContent, " ", (0, _global_styling.logicalCSS)('bottom', mobileSizes.actions.offset), ";;label:expander;");
80
+ return /*#__PURE__*/(0, _react.css)(this.rightColumnContent, ";;label:expander;");
81
81
  },
82
82
  /**
83
83
  * Custom actions may not be icons and therefore may not fit in a column
@@ -88,6 +88,6 @@ var euiTableRowCellStyles = exports.euiTableRowCellStyles = function euiTableRow
88
88
  },
89
89
  euiTableRowCell__mobileHeader: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)(), " font-size:", (0, _global_styling.euiFontSize)(euiThemeContext, 's', {
90
90
  customScale: 'xxs'
91
- }).fontSize, ";display:block;color:", euiTheme.colors.darkShade, ";padding:", euiTheme.size.s, ";padding-block-end:0;margin-block-end:-", euiTheme.size.s, ";.euiTableRowCell:not(:only-child) &{", (0, _global_styling.logicalCSS)('min-height', euiTheme.size.l), ";};label:euiTableRowCell__mobileHeader;")
91
+ }).fontSize, ";display:block;color:", euiTheme.colors.textSubdued, ";padding:", euiTheme.size.s, ";padding-block-end:0;margin-block-end:-", euiTheme.size.s, ";.euiTableRowCell:not(:only-child) &{", (0, _global_styling.logicalCSS)('min-height', euiTheme.size.l), ";};label:euiTableRowCell__mobileHeader;")
92
92
  };
93
93
  };
@@ -11,6 +11,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _services = require("../../services");
14
15
  var _tool_tip = require("./tool_tip.styles");
15
16
  var _react2 = require("@emotion/react");
16
17
  var _excluded = ["onBlur", "onFocus", "onMouseOver", "onMouseOut", "id", "className", "children", "display", "isVisible"];
@@ -37,11 +38,18 @@ var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwar
37
38
  var anchorCss = (0, _tool_tip.euiToolTipAnchorStyles)();
38
39
  var cssStyles = [anchorCss.euiToolTipAnchor, anchorCss[display]];
39
40
  var classes = (0, _classnames.default)('euiToolTipAnchor', className);
41
+ var anchorId = (0, _services.useGeneratedHtmlId)({
42
+ suffix: 'euiToolTipAnchor',
43
+ conditionalId: id ? "".concat(id, "-wrapper") : undefined
44
+ });
40
45
  return (
41
46
  // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
42
47
  (0, _react2.jsx)("span", (0, _extends2.default)({
43
48
  ref: ref,
44
49
  css: cssStyles
50
+ /* A11y: NVDA combines elements with identical markup into a single navigational stop. ¯\_(ツ)_/¯
51
+ The `id` ensures the wrappers are unique and navigated as standalone elements. (data- attributes don't work) */,
52
+ id: anchorId
45
53
  }, rest, {
46
54
  className: classes,
47
55
  onMouseOver: onMouseOver,
@@ -21,7 +21,7 @@ var _tour_header = require("./_tour_header");
21
21
  var _tour_footer = require("./_tour_footer");
22
22
  var _tour = require("./tour.styles");
23
23
  var _react2 = require("@emotion/react");
24
- var _excluded = ["anchorPosition", "anchor", "children", "className", "css", "closePopover", "content", "isStepOpen", "minWidth", "maxWidth", "onFinish", "step", "stepsTotal", "subtitle", "title", "decoration", "footerAction", "panelProps", "panelClassName"];
24
+ var _excluded = ["anchorPosition", "anchor", "children", "className", "css", "closePopover", "content", "isStepOpen", "minWidth", "maxWidth", "onFinish", "step", "stepsTotal", "subtitle", "title", "decoration", "hasArrow", "footerAction", "panelProps", "panelClassName"];
25
25
  /*
26
26
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
27
27
  * or more contributor license agreements. Licensed under the Elastic License
@@ -57,6 +57,7 @@ var EuiTourStep = exports.EuiTourStep = function EuiTourStep(_ref) {
57
57
  title = _ref.title,
58
58
  _ref$decoration = _ref.decoration,
59
59
  decoration = _ref$decoration === void 0 ? 'beacon' : _ref$decoration,
60
+ hasArrow = _ref.hasArrow,
60
61
  footerAction = _ref.footerAction,
61
62
  panelProps = _ref.panelProps,
62
63
  panelClassName = _ref.panelClassName,
@@ -118,8 +119,9 @@ var EuiTourStep = exports.EuiTourStep = function EuiTourStep(_ref) {
118
119
  panelProps: _objectSpread(_objectSpread({}, panelProps), {}, {
119
120
  css: [tourStyles.euiTour, css, panelProps === null || panelProps === void 0 ? void 0 : panelProps.css]
120
121
  }),
121
- offset: hasBeacon ? 10 : 0,
122
+ offset: hasBeacon && hasArrow !== false ? 10 : undefined,
122
123
  "aria-labelledby": titleId,
124
+ hasArrow: hasArrow !== null && hasArrow !== void 0 ? hasArrow : hasBeacon,
123
125
  arrowChildren: hasBeacon && (0, _react2.jsx)(_beacon.EuiBeacon, {
124
126
  css: beaconCss,
125
127
  className: "euiTour__beacon"
@@ -187,7 +189,8 @@ EuiTourStep.propTypes = {
187
189
  */
188
190
  title: _propTypes.default.node.isRequired,
189
191
  /**
190
- * Extra visual indication of step location
192
+ * Extra visual indication of step location.
193
+ * It does not apply when `hasArrow=false`
191
194
  */
192
195
  decoration: _propTypes.default.oneOf(["none", "beacon"]),
193
196
  /**
@@ -11,6 +11,7 @@ var _react = require("@emotion/react");
11
11
  var _euiThemeCommon = require("@elastic/eui-theme-common");
12
12
  var _services = require("../../services");
13
13
  var _functions = require("../functions");
14
+ var _selectors = require("../utility/selectors");
14
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
16
17
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -208,11 +209,11 @@ var _interactionStyles = function _interactionStyles(euiThemeContext, buttonColo
208
209
  var baseStyles = function baseStyles() {
209
210
  // button hover is applied as pseudo element with a transparent background-color
210
211
  if (type === 'overlay') {
211
- return "\n position: relative;\n overflow: hidden;\n\n &:hover:not(:disabled) {\n &::before {\n content: '';\n position: absolute;\n /* should stay under the content */\n z-index: 0;\n inset: 0;\n background-color: ".concat(buttonColors.backgroundHover, ";\n pointer-events: none;\n }\n }\n\n &:active:not(:disabled) {\n &::before {\n ").concat((0, _functions.logicalCSS)('width', '100%'), "\n ").concat((0, _functions.logicalCSS)('height', '100%'), "\n\n content: '';\n position: absolute;\n inset: 0;\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n }\n ");
212
+ return "\n position: relative;\n overflow: hidden;\n\n &:hover:not(".concat(_selectors.euiDisabledSelector, ") {\n &::before {\n content: '';\n position: absolute;\n /* should stay under the content */\n z-index: 0;\n inset: 0;\n background-color: ").concat(buttonColors.backgroundHover, ";\n pointer-events: none;\n }\n }\n\n &:active:not(").concat(_selectors.euiDisabledSelector, ") {\n &::before {\n ").concat((0, _functions.logicalCSS)('width', '100%'), "\n ").concat((0, _functions.logicalCSS)('height', '100%'), "\n\n content: '';\n position: absolute;\n inset: 0;\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n }\n ");
212
213
  }
213
214
 
214
215
  // button hover is applied as opaque color
215
- return "\n &:hover:not(:disabled) {\n background-color: ".concat(buttonColors.backgroundHover, ";\n }\n\n &:active:not(:disabled) {\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n ");
216
+ return "\n &:hover:not(".concat(_selectors.euiDisabledSelector, ") {\n background-color: ").concat(buttonColors.backgroundHover, ";\n }\n\n &:active:not(").concat(_selectors.euiDisabledSelector, ") {\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n ");
216
217
  };
217
218
  return " \n ".concat((0, _functions.highContrastModeStyles)(euiThemeContext, {
218
219
  none: baseStyles(),
@@ -225,7 +226,7 @@ var _interactionStyles = function _interactionStyles(euiThemeContext, buttonColo
225
226
  */
226
227
  var highContrastHoverIndicatorStyles = exports.highContrastHoverIndicatorStyles = function highContrastHoverIndicatorStyles(_ref2) {
227
228
  var euiTheme = _ref2.euiTheme;
228
- return "\n &:hover:not(:disabled) {\n transition: none;\n\n /* using pseudo border to be able to control the color */\n &::after {\n content: '';\n position: absolute;\n inset: ".concat(euiTheme.border.width.thin, ";\n border: ").concat(euiTheme.border.width.thick, " solid var(--highContrastHoverIndicatorColor, ").concat(euiTheme.border.color, ");\n border-radius: ").concat((0, _euiThemeCommon.mathWithUnits)(euiTheme.border.radius.small, function (x) {
229
+ return "\n &:hover:not(".concat(_selectors.euiDisabledSelector, ") {\n transition: none;\n\n /* using pseudo border to be able to control the color */\n &::after {\n content: '';\n position: absolute;\n inset: ").concat(euiTheme.border.width.thin, ";\n border: ").concat(euiTheme.border.width.thick, " solid var(--highContrastHoverIndicatorColor, ").concat(euiTheme.border.color, ");\n border-radius: ").concat((0, _euiThemeCommon.mathWithUnits)(euiTheme.border.radius.small, function (x) {
229
230
  return x / 2;
230
231
  }), ";\n background-color: transparent;\n pointer-events: none;\n }\n }\n");
231
232
  };
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useEuiFontSize = exports.euiTextTruncate = exports.euiTextBreakWord = exports.euiNumberFormat = exports.euiFontSize = void 0;
7
+ exports.useEuiFontSize = exports.euiTextTruncateCSS = exports.euiTextTruncate = exports.euiTextBreakWord = exports.euiNumberFormat = exports.euiFontSize = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = require("@emotion/react");
9
10
  var _typography = require("../functions/typography");
10
11
  var _theme = require("../../services/theme");
11
12
  var _typography2 = require("../variables/typography");
@@ -58,6 +59,14 @@ var euiTextTruncate = exports.euiTextTruncate = function euiTextTruncate() {
58
59
  , "\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n");
59
60
  };
60
61
 
62
+ /**
63
+ * Emotion CSS wrapper around `euiTextTruncate` style.
64
+ */
65
+ var euiTextTruncateCSS = exports.euiTextTruncateCSS = function euiTextTruncateCSS() {
66
+ var maxWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '100%';
67
+ return /*#__PURE__*/(0, _react.css)(euiTextTruncate(maxWidth), ";;label:euiTextTruncateCSS;");
68
+ };
69
+
61
70
  /**
62
71
  * Fixed-width numbers for tabular data
63
72
  */
@@ -13,6 +13,8 @@ exports.toInitials = toInitials;
13
13
  * Side Public License, v 1.
14
14
  */
15
15
 
16
+ var MAX_INITIALS = exports.MAX_INITIALS = 2;
17
+
16
18
  /**
17
19
  * This function calculates the initials/acronym for a given name.
18
20
  * It defaults to only 2 characters and will take the first character (of each word).
@@ -24,11 +26,20 @@ exports.toInitials = toInitials;
24
26
  * @param {string} name The full name of the item to turn into initials
25
27
  * @param {number} initialsLength (Optional) How many characters to show (max 2 allowed)
26
28
  * @param {string} initials (Optional) Custom initials (max 2 characters)
27
- * @returns {string} True if the color is dark, false otherwise.
28
29
  */
29
-
30
- var MAX_INITIALS = exports.MAX_INITIALS = 2;
31
30
  function toInitials(name, initialsLength, initials) {
31
+ // If `initials` provided, check if it's a single emoji
32
+ // in order to support complex, "multi-character" ones
33
+ if (initials && typeof Intl !== 'undefined' && 'Segmenter' in Intl) {
34
+ var segmenter = new Intl.Segmenter('en', {
35
+ granularity: 'grapheme'
36
+ });
37
+ var segments = Array.from(segmenter.segment(initials));
38
+ if (segments.length === 1 && isEmoji(segments[0].segment)) {
39
+ return segments[0].segment;
40
+ }
41
+ }
42
+
32
43
  // Calculate the number of initials to show, maxing out at MAX_INITIALS
33
44
  var calculatedInitialsLength = initials ? initials.split('').length : name.split(' ').length;
34
45
  calculatedInitialsLength = calculatedInitialsLength > MAX_INITIALS ? MAX_INITIALS : calculatedInitialsLength;
@@ -51,5 +62,16 @@ function toInitials(name, initialsLength, initials) {
51
62
  calculatedInitials = name.substring(0, calculatedInitialsLength);
52
63
  }
53
64
  }
54
- return calculatedInitials;
65
+ return calculatedInitials || '';
66
+ }
67
+ function isEmoji(str) {
68
+ /**
69
+ * The \p escape sequence allows matching a character based on its Unicode properties
70
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape
71
+ * @see https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
72
+ * @see https://www.unicode.org/reports/tr51/#Definitions
73
+ * @see https://util.unicode.org/UnicodeJsps/character.jsp?a=1F440&B1=Show
74
+ */
75
+ 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])/;
76
+ return emojiRegex.test(str);
55
77
  }