@elastic/eui 116.3.1 → 116.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/es/components/banner/banner.js +1 -2
  2. package/es/components/banner/banner.styles.js +1 -1
  3. package/es/components/basic_table/basic_table.js +35 -5
  4. package/es/components/basic_table/basic_table.styles.js +19 -1
  5. package/es/components/basic_table/in_memory_table.js +17 -0
  6. package/es/components/basic_table/index.js +2 -1
  7. package/es/components/basic_table/pagination_bar.js +19 -4
  8. package/es/components/basic_table/pagination_bar.styles.js +21 -0
  9. package/es/components/basic_table/panel.styles.js +14 -0
  10. package/es/components/basic_table/use_panel_props.js +28 -0
  11. package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
  12. package/es/components/flyout/flyout.component.js +10 -6
  13. package/es/components/flyout/flyout_menu.js +122 -19
  14. package/es/components/flyout/flyout_menu.styles.js +2 -1
  15. package/es/components/flyout/manager/actions.js +20 -0
  16. package/es/components/flyout/manager/flyout_child.js +23 -1
  17. package/es/components/flyout/manager/flyout_managed.js +65 -19
  18. package/es/components/flyout/manager/hooks.js +1 -1
  19. package/es/components/flyout/manager/index.js +2 -2
  20. package/es/components/flyout/manager/reducer.js +32 -8
  21. package/es/components/flyout/manager/selectors.js +8 -2
  22. package/es/components/flyout/manager/store.js +35 -2
  23. package/es/components/flyout/use_flyout_menu.js +2 -2
  24. package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
  25. package/es/components/notification_icon/assets/info_fill.js +34 -0
  26. package/es/components/notification_icon/assets/warning_static.js +40 -0
  27. package/es/components/notification_icon/notification_icon.js +87 -0
  28. package/es/components/notification_icon/notification_icon.styles.js +22 -0
  29. package/es/components/table/mobile/table_sort_mobile.js +64 -103
  30. package/es/components/toast/global_toast_list.js +132 -6
  31. package/es/components/toast/global_toast_list.styles.js +31 -7
  32. package/es/components/toast/toast.js +242 -47
  33. package/es/components/toast/toast.styles.js +35 -47
  34. package/es/components/toast/toast_action.js +34 -0
  35. package/es/components/toast/types.js +9 -0
  36. package/es/components/tool_tip/tool_tip.js +3 -3
  37. package/eui.d.ts +1203 -971
  38. package/i18ntokens.json +1582 -1546
  39. package/lib/components/banner/banner.js +1 -2
  40. package/lib/components/banner/banner.styles.js +1 -1
  41. package/lib/components/basic_table/basic_table.js +34 -4
  42. package/lib/components/basic_table/basic_table.styles.js +19 -1
  43. package/lib/components/basic_table/in_memory_table.js +17 -0
  44. package/lib/components/basic_table/index.js +8 -1
  45. package/lib/components/basic_table/pagination_bar.js +19 -4
  46. package/lib/components/basic_table/pagination_bar.styles.js +26 -0
  47. package/lib/components/basic_table/panel.styles.js +20 -0
  48. package/lib/components/basic_table/use_panel_props.js +33 -0
  49. package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
  50. package/lib/components/flyout/flyout.component.js +10 -6
  51. package/lib/components/flyout/flyout_menu.js +120 -19
  52. package/lib/components/flyout/flyout_menu.styles.js +2 -1
  53. package/lib/components/flyout/manager/actions.js +21 -1
  54. package/lib/components/flyout/manager/flyout_child.js +23 -1
  55. package/lib/components/flyout/manager/flyout_managed.js +41 -17
  56. package/lib/components/flyout/manager/hooks.js +6 -0
  57. package/lib/components/flyout/manager/index.js +12 -0
  58. package/lib/components/flyout/manager/reducer.js +31 -7
  59. package/lib/components/flyout/manager/selectors.js +9 -3
  60. package/lib/components/flyout/manager/store.js +34 -1
  61. package/lib/components/flyout/use_flyout_menu.js +2 -2
  62. package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
  63. package/lib/components/notification_icon/assets/info_fill.js +41 -0
  64. package/lib/components/notification_icon/assets/warning_static.js +47 -0
  65. package/lib/components/notification_icon/notification_icon.js +93 -0
  66. package/lib/components/notification_icon/notification_icon.styles.js +28 -0
  67. package/lib/components/notification_icon/svgs/info_fill.svg +3 -0
  68. package/lib/components/notification_icon/svgs/warning_static.svg +5 -0
  69. package/lib/components/table/mobile/table_sort_mobile.js +71 -108
  70. package/lib/components/toast/global_toast_list.js +132 -6
  71. package/lib/components/toast/global_toast_list.styles.js +31 -8
  72. package/lib/components/toast/toast.js +244 -47
  73. package/lib/components/toast/toast.styles.js +32 -45
  74. package/lib/components/toast/toast_action.js +40 -0
  75. package/lib/components/toast/types.js +15 -0
  76. package/lib/components/tool_tip/tool_tip.js +2 -2
  77. package/optimize/es/components/banner/banner.js +1 -2
  78. package/optimize/es/components/banner/banner.styles.js +1 -1
  79. package/optimize/es/components/basic_table/basic_table.js +18 -5
  80. package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
  81. package/optimize/es/components/basic_table/index.js +2 -1
  82. package/optimize/es/components/basic_table/pagination_bar.js +19 -4
  83. package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
  84. package/optimize/es/components/basic_table/panel.styles.js +14 -0
  85. package/optimize/es/components/basic_table/use_panel_props.js +28 -0
  86. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
  87. package/optimize/es/components/flyout/flyout.component.js +10 -6
  88. package/optimize/es/components/flyout/flyout_menu.js +99 -18
  89. package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
  90. package/optimize/es/components/flyout/manager/actions.js +20 -0
  91. package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
  92. package/optimize/es/components/flyout/manager/hooks.js +1 -1
  93. package/optimize/es/components/flyout/manager/index.js +2 -2
  94. package/optimize/es/components/flyout/manager/reducer.js +32 -8
  95. package/optimize/es/components/flyout/manager/selectors.js +8 -2
  96. package/optimize/es/components/flyout/manager/store.js +35 -2
  97. package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
  98. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
  99. package/optimize/es/components/notification_icon/assets/info_fill.js +33 -0
  100. package/optimize/es/components/notification_icon/assets/warning_static.js +39 -0
  101. package/optimize/es/components/notification_icon/notification_icon.js +77 -0
  102. package/optimize/es/components/notification_icon/notification_icon.styles.js +22 -0
  103. package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
  104. package/optimize/es/components/toast/global_toast_list.js +31 -6
  105. package/optimize/es/components/toast/global_toast_list.styles.js +31 -7
  106. package/optimize/es/components/toast/toast.js +143 -47
  107. package/optimize/es/components/toast/toast.styles.js +35 -47
  108. package/optimize/es/components/toast/toast_action.js +33 -0
  109. package/optimize/es/components/toast/types.js +9 -0
  110. package/optimize/es/components/tool_tip/tool_tip.js +3 -3
  111. package/optimize/lib/components/banner/banner.js +1 -2
  112. package/optimize/lib/components/banner/banner.styles.js +1 -1
  113. package/optimize/lib/components/basic_table/basic_table.js +17 -4
  114. package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
  115. package/optimize/lib/components/basic_table/index.js +8 -1
  116. package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
  117. package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
  118. package/optimize/lib/components/basic_table/panel.styles.js +20 -0
  119. package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
  120. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
  121. package/optimize/lib/components/flyout/flyout.component.js +10 -6
  122. package/optimize/lib/components/flyout/flyout_menu.js +98 -18
  123. package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
  124. package/optimize/lib/components/flyout/manager/actions.js +21 -1
  125. package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
  126. package/optimize/lib/components/flyout/manager/hooks.js +6 -0
  127. package/optimize/lib/components/flyout/manager/index.js +12 -0
  128. package/optimize/lib/components/flyout/manager/reducer.js +31 -7
  129. package/optimize/lib/components/flyout/manager/selectors.js +9 -3
  130. package/optimize/lib/components/flyout/manager/store.js +34 -1
  131. package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
  132. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
  133. package/optimize/lib/components/notification_icon/assets/info_fill.js +41 -0
  134. package/optimize/lib/components/notification_icon/assets/warning_static.js +47 -0
  135. package/optimize/lib/components/notification_icon/notification_icon.js +83 -0
  136. package/optimize/lib/components/notification_icon/notification_icon.styles.js +28 -0
  137. package/optimize/lib/components/notification_icon/svgs/info_fill.svg +3 -0
  138. package/optimize/lib/components/notification_icon/svgs/warning_static.svg +5 -0
  139. package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
  140. package/optimize/lib/components/toast/global_toast_list.js +31 -6
  141. package/optimize/lib/components/toast/global_toast_list.styles.js +30 -7
  142. package/optimize/lib/components/toast/toast.js +146 -47
  143. package/optimize/lib/components/toast/toast.styles.js +33 -45
  144. package/optimize/lib/components/toast/toast_action.js +39 -0
  145. package/optimize/lib/components/toast/types.js +15 -0
  146. package/optimize/lib/components/tool_tip/tool_tip.js +2 -2
  147. package/package.json +7 -5
  148. package/test-env/components/banner/banner.js +1 -2
  149. package/test-env/components/banner/banner.styles.js +1 -1
  150. package/test-env/components/basic_table/basic_table.js +34 -4
  151. package/test-env/components/basic_table/basic_table.styles.js +19 -1
  152. package/test-env/components/basic_table/in_memory_table.js +17 -0
  153. package/test-env/components/basic_table/index.js +8 -1
  154. package/test-env/components/basic_table/pagination_bar.js +19 -4
  155. package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
  156. package/test-env/components/basic_table/panel.styles.js +20 -0
  157. package/test-env/components/basic_table/use_panel_props.js +33 -0
  158. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
  159. package/test-env/components/flyout/flyout.component.js +10 -6
  160. package/test-env/components/flyout/flyout_menu.js +121 -19
  161. package/test-env/components/flyout/flyout_menu.styles.js +2 -1
  162. package/test-env/components/flyout/manager/actions.js +21 -1
  163. package/test-env/components/flyout/manager/flyout_child.js +23 -1
  164. package/test-env/components/flyout/manager/flyout_managed.js +41 -17
  165. package/test-env/components/flyout/manager/hooks.js +6 -0
  166. package/test-env/components/flyout/manager/index.js +12 -0
  167. package/test-env/components/flyout/manager/reducer.js +31 -7
  168. package/test-env/components/flyout/manager/selectors.js +9 -3
  169. package/test-env/components/flyout/manager/store.js +34 -1
  170. package/test-env/components/flyout/use_flyout_menu.js +2 -2
  171. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
  172. package/test-env/components/notification_icon/assets/info_fill.js +41 -0
  173. package/test-env/components/notification_icon/assets/warning_static.js +47 -0
  174. package/test-env/components/notification_icon/notification_icon.js +46 -0
  175. package/test-env/components/notification_icon/notification_icon.styles.js +28 -0
  176. package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
  177. package/test-env/components/toast/global_toast_list.js +132 -6
  178. package/test-env/components/toast/global_toast_list.styles.js +30 -7
  179. package/test-env/components/toast/toast.js +242 -47
  180. package/test-env/components/toast/toast.styles.js +33 -45
  181. package/test-env/components/toast/toast_action.js +39 -0
  182. package/test-env/components/toast/types.js +15 -0
  183. package/test-env/components/tool_tip/tool_tip.js +2 -2
@@ -58,8 +58,7 @@ var EuiBanner = exports.EuiBanner = /*#__PURE__*/(0, _react.forwardRef)(function
58
58
  var headingSize = size === 's' ? 'xxs' : 'xs';
59
59
  var primaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.primary;
60
60
  var secondaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.secondary;
61
- // a standalone secondary action is not supported
62
- var hasActions = Boolean(primaryActionProps);
61
+ var hasActions = Boolean(primaryActionProps) || Boolean(secondaryActionProps);
63
62
  var componentClass = 'euiBanner';
64
63
  var classes = (0, _classnames.default)(componentClass, className);
65
64
  var backgroundColorStyles = (0, _global_styling.useEuiBackgroundColorCSS)()[color];
@@ -64,7 +64,7 @@ var euiBannerStyles = exports.euiBannerStyles = function euiBannerStyles(_ref3)
64
64
  }), ";;label:body;"),
65
65
  // At size `s` the content slot becomes a block container so the title and
66
66
  // text flow inline. Other sizes keep the flex column with a fixed gap.
67
- content: /*#__PURE__*/(0, _react.css)("flex:1 1 auto;min-inline-size:0;max-inline-size:", TEXT_MAX_WIDTH, "px;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";[data-size='s'] &{display:block;>*+*:not(.euiButtonIcon){margin-block-start:", euiTheme.size.s, ";}};label:content;"),
67
+ content: /*#__PURE__*/(0, _react.css)("flex:1 1 auto;min-inline-size:0;max-inline-size:", TEXT_MAX_WIDTH, "px;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";[data-size='s'] &{display:block;>*+*:not(.euiButtonIcon){margin-block-start:", euiTheme.size.s, ";}}[data-size='m'] &{>.euiText+*{margin-block-start:", euiTheme.size.s, ";}};label:content;"),
68
68
  title: _ref,
69
69
  text: /*#__PURE__*/(0, _react.css)("[data-size='s'] &{display:inline;&::before{content:'\xB7';display:inline-block;inline-size:calc(", euiTheme.size.s, " + ", euiTheme.size.xxs, ");text-align:center;color:", euiTheme.colors.textHeading, ";}};label:text;"),
70
70
  actions: /*#__PURE__*/(0, _react.css)("display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:", euiTheme.size.s, ";@container ", CONTAINER_NAME, " ", CQC_BREAKPOINT_NARROWEST, "{flex-wrap:wrap;>*{inline-size:100%;}}", withContainerQuery({
@@ -39,7 +39,7 @@ var _accessibility2 = require("../../services/accessibility");
39
39
  var _basic_table = require("./basic_table.styles");
40
40
  var _tool_tip = require("../tool_tip");
41
41
  var _react2 = require("@emotion/react");
42
- var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground", "scrollableInline", "stickyScrollbar", "stickyHeader"],
42
+ var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground", "scrollableInline", "stickyScrollbar", "stickyHeader", "panelled"],
43
43
  _excluded2 = ["align", "render", "dataType", "isExpander", "textOnly", "name", "field", "description", "sortable", "footer", "mobileOptions", "nameTooltip"];
44
44
  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); }
45
45
  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; }
@@ -370,6 +370,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
370
370
  scrollableInline = _this$props2.scrollableInline,
371
371
  stickyScrollbar = _this$props2.stickyScrollbar,
372
372
  stickyHeader = _this$props2.stickyHeader,
373
+ panelled = _this$props2.panelled,
373
374
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
374
375
  var classes = (0, _classnames.default)('euiBasicTable', {
375
376
  'euiBasicTable-loading': loading
@@ -391,8 +392,9 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
391
392
  loading = _this$props3.loading,
392
393
  scrollableInline = _this$props3.scrollableInline,
393
394
  stickyScrollbar = _this$props3.stickyScrollbar,
394
- stickyHeader = _this$props3.stickyHeader;
395
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_table.EuiTableHeaderMobile, {
395
+ stickyHeader = _this$props3.stickyHeader,
396
+ panelled = _this$props3.panelled;
397
+ var content = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_table.EuiTableHeaderMobile, {
396
398
  responsiveBreakpoint: responsiveBreakpoint
397
399
  }, this.renderSelectAll(true), this.renderTableMobileSort()), (0, _react2.jsx)(_services.OverrideCopiedTabularContent, null, (0, _react2.jsx)(_table.EuiTable, {
398
400
  id: this.tableId,
@@ -405,6 +407,13 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
405
407
  stickyHeader: stickyHeader,
406
408
  css: loading && _basic_table.safariLoadingWorkaround
407
409
  }, this.renderTableCaption(), this.renderTableHead(), this.renderTableBody(), this.renderTableFooter())));
410
+ if (panelled) {
411
+ return (0, _react2.jsx)("div", {
412
+ css: panelled && (0, _basic_table.euiBasicTableWrapperPanelledStyles)(responsiveBreakpoint),
413
+ "data-test-subj": "euiBasicTablePanelledWrapper"
414
+ }, content);
415
+ }
416
+ return content;
408
417
  }
409
418
  }, {
410
419
  key: "renderTableMobileSort",
@@ -961,7 +970,9 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
961
970
  error = _this$props11.error,
962
971
  pagination = _this$props11.pagination,
963
972
  tableCaption = _this$props11.tableCaption,
964
- onChange = _this$props11.onChange;
973
+ onChange = _this$props11.onChange,
974
+ panelled = _this$props11.panelled,
975
+ responsiveBreakpoint = _this$props11.responsiveBreakpoint;
965
976
  if (!error && pagination && pagination.totalItemCount > 0) {
966
977
  if (!onChange) {
967
978
  throw new Error("The Basic Table is configured with pagination but [onChange] is\n not configured. This callback must be implemented to handle pagination changes");
@@ -975,6 +986,8 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
975
986
  }, function (tablePagination) {
976
987
  return (0, _react2.jsx)(_pagination_bar.PaginationBar, {
977
988
  pagination: pagination,
989
+ panelled: panelled,
990
+ responsiveBreakpoint: responsiveBreakpoint,
978
991
  onPageSizeChange: _this7.onPageSizeChange.bind(_this7),
979
992
  onPageChange: _this7.onPageChange.bind(_this7),
980
993
  "aria-controls": _this7.tableId,
@@ -1495,6 +1508,23 @@ EuiBasicTable.propTypes = {
1495
1508
  * Provides an infinite loading indicator
1496
1509
  */
1497
1510
  loading: _propTypes.default.bool,
1511
+ /**
1512
+ * Enable the panelled style of the table.
1513
+ *
1514
+ * Panelled style adds contrast between the table navigation controls
1515
+ * and table content itself. It should be used in tables rendered outside
1516
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
1517
+ * @default false
1518
+ */
1519
+ /**
1520
+ * Enable the panelled style of the table.
1521
+ *
1522
+ * Panelled style adds contrast between the table navigation controls
1523
+ * and table content itself. It should be used in tables rendered outside
1524
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
1525
+ * @default false
1526
+ */
1527
+ panelled: _propTypes.default.bool,
1498
1528
  /**
1499
1529
  * Message to display if table is empty
1500
1530
  */
@@ -4,10 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.safariLoadingWorkaround = exports.euiBasicTableBodyLoading = void 0;
7
+ exports.safariLoadingWorkaround = exports.euiBasicTableWrapperPanelledStyles = exports.euiBasicTableBodyLoading = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _global_styling = require("../../global_styling");
11
+ var _use_panel_props = require("./use_panel_props");
11
12
  var _templateObject;
12
13
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
13
14
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -24,6 +25,23 @@ var euiBasicTableBodyLoading = exports.euiBasicTableBodyLoading = function euiBa
24
25
  }), ";}};label:euiBasicTableBodyLoading;");
25
26
  };
26
27
 
28
+ /**
29
+ * @internal
30
+ */
31
+ var euiBasicTableWrapperPanelledStyles = exports.euiBasicTableWrapperPanelledStyles = function euiBasicTableWrapperPanelledStyles(responsiveBreakpoint) {
32
+ return function (theme) {
33
+ var euiTheme = theme.euiTheme;
34
+ var styles = /*#__PURE__*/(0, _react.css)("border:", euiTheme.border.thin, ";border-block-end-width:0;padding-block-start:", euiTheme.border.width.thin, ";border-radius:", euiTheme.border.radius.medium, ";.euiTable{border-radius:", euiTheme.border.radius.medium, ";}.", _use_panel_props.EUI_BASIC_TABLE_PANEL_CLASS_NAME, "+.euiBasicTable &{border-start-start-radius:0;border-start-end-radius:0;.euiTable{border-start-start-radius:0;border-start-end-radius:0;}}&:not(:last-child),&:has(+ .", _use_panel_props.EUI_BASIC_TABLE_PANEL_CLASS_NAME, "){border-end-start-radius:0;border-end-end-radius:0;.euiTable{border-end-start-radius:0;border-end-end-radius:0;}};label:styles;");
35
+ if (responsiveBreakpoint === true) {
36
+ return null;
37
+ }
38
+ if (!responsiveBreakpoint) {
39
+ return styles;
40
+ }
41
+ return /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMinBreakpoint)(theme, responsiveBreakpoint), "{", styles, ";};label:euiBasicTableWrapperPanelledStyles;");
42
+ };
43
+ };
44
+
27
45
  // Fix to make the loading indicator position correctly in Safari
28
46
  // For whatever annoying reason, Safari doesn't respect `position: relative;`
29
47
  // on `tbody` without `position: relative` on the parent `table`
@@ -1015,6 +1015,23 @@ EuiInMemoryTable.propTypes = {
1015
1015
  * Provides an infinite loading indicator
1016
1016
  */
1017
1017
  loading: _propTypes.default.bool,
1018
+ /**
1019
+ * Enable the panelled style of the table.
1020
+ *
1021
+ * Panelled style adds contrast between the table navigation controls
1022
+ * and table content itself. It should be used in tables rendered outside
1023
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
1024
+ * @default false
1025
+ */
1026
+ /**
1027
+ * Enable the panelled style of the table.
1028
+ *
1029
+ * Panelled style adds contrast between the table navigation controls
1030
+ * and table content itself. It should be used in tables rendered outside
1031
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
1032
+ * @default false
1033
+ */
1034
+ panelled: _propTypes.default.bool,
1018
1035
  /**
1019
1036
  * Applied to `EuiTableRow`
1020
1037
  */
@@ -15,5 +15,12 @@ Object.defineProperty(exports, "EuiInMemoryTable", {
15
15
  return _in_memory_table.EuiInMemoryTable;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "useEuiBasicTablePanelProps", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _use_panel_props.useEuiBasicTablePanelProps;
22
+ }
23
+ });
18
24
  var _basic_table = require("./basic_table");
19
- var _in_memory_table = require("./in_memory_table");
25
+ var _in_memory_table = require("./in_memory_table");
26
+ var _use_panel_props = require("./use_panel_props");
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.PaginationBar = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _spacer = require("../spacer");
9
+ var _services = require("../../services");
10
10
  var _table_pagination = require("../table/table_pagination");
11
+ var _responsive_context = require("../table/mobile/responsive_context");
12
+ var _pagination_bar = require("./pagination_bar.styles");
11
13
  var _react2 = require("@emotion/react");
12
14
  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); }
13
15
  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; }
@@ -19,8 +21,19 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
19
21
  * Side Public License, v 1.
20
22
  */
21
23
 
24
+ /**
25
+ * @internal
26
+ */
27
+
28
+ /**
29
+ * An internal utility component that renders EuiTablePagination with
30
+ * proper configuration and handles the `panelled` styles.
31
+ * @internal
32
+ */
22
33
  var PaginationBar = exports.PaginationBar = function PaginationBar(_ref) {
23
34
  var pagination = _ref.pagination,
35
+ panelled = _ref.panelled,
36
+ responsiveBreakpoint = _ref.responsiveBreakpoint,
24
37
  onPageSizeChange = _ref.onPageSizeChange,
25
38
  onPageChange = _ref.onPageChange,
26
39
  ariaControls = _ref['aria-controls'],
@@ -35,14 +48,16 @@ var PaginationBar = exports.PaginationBar = function PaginationBar(_ref) {
35
48
  _pagination$showPerPa = pagination.showPerPageOptions,
36
49
  showPerPageOptions = _pagination$showPerPa === void 0 ? defaults.showPerPageOptions : _pagination$showPerPa;
37
50
  var pageCount = pageSize ? Math.ceil(totalItemCount / pageSize) : 1;
51
+ var styles = (0, _services.useEuiMemoizedStyles)(_pagination_bar.euiBasicTablePaginationBarStyles);
52
+ var isResponsive = (0, _responsive_context.useIsEuiTableResponsive)(responsiveBreakpoint);
38
53
  (0, _react.useEffect)(function () {
39
54
  if (pageCount < pageIndex + 1) {
40
55
  onPageChange === null || onPageChange === void 0 || onPageChange(pageCount - 1);
41
56
  }
42
57
  }, [pageCount, onPageChange, pageIndex]);
43
- return (0, _react2.jsx)("div", null, (0, _react2.jsx)(_spacer.EuiSpacer, {
44
- size: "m"
45
- }), (0, _react2.jsx)(_table_pagination.EuiTablePagination, {
58
+ return (0, _react2.jsx)("div", {
59
+ css: [styles.root, !isResponsive && panelled && styles.panelled, ";label:PaginationBar;"]
60
+ }, (0, _react2.jsx)(_table_pagination.EuiTablePagination, {
46
61
  activePage: pageIndex,
47
62
  showPerPageOptions: showPerPageOptions,
48
63
  itemsPerPage: pageSize,
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBasicTablePaginationBarStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ /**
18
+ * @internal
19
+ */
20
+ var euiBasicTablePaginationBarStyles = exports.euiBasicTablePaginationBarStyles = function euiBasicTablePaginationBarStyles(theme) {
21
+ var euiTheme = theme.euiTheme;
22
+ return {
23
+ root: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalShorthandCSS)('padding', "".concat(euiTheme.size.xs, " ").concat(euiTheme.size.s)), ";;label:root;"),
24
+ panelled: /*#__PURE__*/(0, _react.css)("background:", euiTheme.colors.backgroundBaseSubdued, ";border:", euiTheme.border.thin, ";border-block-start-width:0;", (0, _global_styling.logicalShorthandCSS)('border-radius', "0 0 ".concat(euiTheme.border.radius.medium, " ").concat(euiTheme.border.radius.medium)), ";;label:panelled;")
25
+ };
26
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBasicTablePanelStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiBasicTablePanelStyles = exports.euiBasicTablePanelStyles = function euiBasicTablePanelStyles(_ref) {
18
+ var euiTheme = _ref.euiTheme;
19
+ return /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.backgroundBaseSubdued, ";border:", euiTheme.border.thin, ";border-block-end-width:0;", (0, _global_styling.logicalShorthandCSS)('border-radius', "".concat(euiTheme.border.radius.medium, " ").concat(euiTheme.border.radius.medium, " 0 0")), "&+&{border-start-start-radius:0;border-start-end-radius:0;};label:euiBasicTablePanelStyles;");
20
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEuiBasicTablePanelProps = exports.EUI_BASIC_TABLE_PANEL_CLASS_NAME = void 0;
7
+ var _services = require("../../services");
8
+ var _panel = require("./panel.styles");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ /**
18
+ * @internal
19
+ */
20
+ var EUI_BASIC_TABLE_PANEL_CLASS_NAME = exports.EUI_BASIC_TABLE_PANEL_CLASS_NAME = 'euiBasicTablePanel';
21
+
22
+ /**
23
+ * A utility hook that returns props needed to be passed to element(s) being
24
+ * a part of the paneled table look and feel (e.g., a toolbar above the table).
25
+ * @beta
26
+ */
27
+ var useEuiBasicTablePanelProps = exports.useEuiBasicTablePanelProps = function useEuiBasicTablePanelProps() {
28
+ var css = (0, _services.useEuiMemoizedStyles)(_panel.euiBasicTablePanelStyles);
29
+ return {
30
+ css: css,
31
+ className: EUI_BASIC_TABLE_PANEL_CLASS_NAME
32
+ };
33
+ };