@elastic/eui 95.11.0 → 95.12.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 (144) hide show
  1. package/README.md +1 -69
  2. package/es/components/basic_table/basic_table.js +39 -32
  3. package/es/components/datagrid/body/cell/data_grid_cell.js +121 -15
  4. package/es/components/datagrid/body/cell/data_grid_cell.styles.js +5 -2
  5. package/es/components/datagrid/body/data_grid_body_custom.js +5 -2
  6. package/es/components/datagrid/body/data_grid_body_virtualized.js +5 -2
  7. package/es/components/datagrid/body/footer/data_grid_footer_row.js +17 -9
  8. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -2
  9. package/es/components/datagrid/body/header/data_grid_header_cell.js +3 -1
  10. package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +0 -2
  11. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +6 -3
  12. package/es/components/datagrid/body/header/data_grid_header_row.js +5 -1
  13. package/es/components/datagrid/data_grid.js +3 -3
  14. package/es/components/datagrid/data_grid.stories.utils.js +65 -29
  15. package/es/components/datagrid/utils/row_heights.js +9 -33
  16. package/es/components/date_picker/date_picker.js +1 -1
  17. package/es/components/provider/provider.js +16 -13
  18. package/es/components/provider/system_color_mode/index.js +9 -0
  19. package/es/components/provider/system_color_mode/system_color_mode_provider.js +49 -0
  20. package/es/components/resizable_container/resizable_button.js +9 -2
  21. package/es/components/resizable_container/resizable_button.styles.js +19 -6
  22. package/es/components/table/table_header_cell.js +10 -3
  23. package/es/components/table/table_header_cell_checkbox.js +5 -3
  24. package/es/components/table/table_row_cell.js +10 -3
  25. package/es/components/table/table_row_cell_checkbox.js +5 -3
  26. package/es/services/copy/index.js +10 -0
  27. package/es/services/copy/tabular_copy.js +103 -0
  28. package/es/services/index.js +1 -1
  29. package/eui.d.ts +162 -67
  30. package/i18ntokens.json +90 -90
  31. package/lib/components/basic_table/basic_table.js +38 -31
  32. package/lib/components/datagrid/body/cell/data_grid_cell.js +120 -14
  33. package/lib/components/datagrid/body/cell/data_grid_cell.styles.js +5 -2
  34. package/lib/components/datagrid/body/data_grid_body_custom.js +5 -2
  35. package/lib/components/datagrid/body/data_grid_body_virtualized.js +5 -2
  36. package/lib/components/datagrid/body/footer/data_grid_footer_row.js +13 -5
  37. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +5 -2
  38. package/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -1
  39. package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +0 -2
  40. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  41. package/lib/components/datagrid/body/header/data_grid_header_row.js +5 -1
  42. package/lib/components/datagrid/data_grid.js +2 -2
  43. package/lib/components/datagrid/data_grid.stories.utils.js +66 -31
  44. package/lib/components/datagrid/utils/row_heights.js +8 -32
  45. package/lib/components/date_picker/date_picker.js +1 -1
  46. package/lib/components/provider/provider.js +16 -13
  47. package/lib/components/provider/system_color_mode/index.js +12 -0
  48. package/lib/components/provider/system_color_mode/system_color_mode_provider.js +54 -0
  49. package/lib/components/resizable_container/resizable_button.js +9 -2
  50. package/lib/components/resizable_container/resizable_button.styles.js +19 -6
  51. package/lib/components/table/table_header_cell.js +10 -3
  52. package/lib/components/table/table_header_cell_checkbox.js +5 -3
  53. package/lib/components/table/table_row_cell.js +10 -3
  54. package/lib/components/table/table_row_cell_checkbox.js +5 -3
  55. package/lib/services/copy/index.js +25 -0
  56. package/lib/services/copy/tabular_copy.js +111 -0
  57. package/lib/services/index.js +12 -8
  58. package/optimize/es/components/basic_table/basic_table.js +39 -32
  59. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +18 -14
  60. package/optimize/es/components/datagrid/body/cell/data_grid_cell.styles.js +5 -2
  61. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +5 -2
  62. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +5 -2
  63. package/optimize/es/components/datagrid/body/footer/data_grid_footer_row.js +17 -9
  64. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -2
  65. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +3 -1
  66. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +0 -2
  67. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -3
  68. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +5 -1
  69. package/optimize/es/components/datagrid/data_grid.js +3 -3
  70. package/optimize/es/components/datagrid/data_grid.stories.utils.js +65 -29
  71. package/optimize/es/components/datagrid/utils/row_heights.js +9 -33
  72. package/optimize/es/components/date_picker/date_picker.js +1 -1
  73. package/optimize/es/components/provider/provider.js +16 -13
  74. package/optimize/es/components/provider/system_color_mode/index.js +9 -0
  75. package/optimize/es/components/provider/system_color_mode/system_color_mode_provider.js +40 -0
  76. package/optimize/es/components/resizable_container/resizable_button.js +3 -2
  77. package/optimize/es/components/resizable_container/resizable_button.styles.js +19 -6
  78. package/optimize/es/components/table/table_header_cell.js +3 -2
  79. package/optimize/es/components/table/table_header_cell_checkbox.js +3 -2
  80. package/optimize/es/components/table/table_row_cell.js +4 -3
  81. package/optimize/es/components/table/table_row_cell_checkbox.js +3 -2
  82. package/optimize/es/services/copy/index.js +10 -0
  83. package/optimize/es/services/copy/tabular_copy.js +103 -0
  84. package/optimize/es/services/index.js +1 -1
  85. package/optimize/lib/components/basic_table/basic_table.js +38 -31
  86. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +17 -13
  87. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.styles.js +5 -2
  88. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +5 -2
  89. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +5 -2
  90. package/optimize/lib/components/datagrid/body/footer/data_grid_footer_row.js +13 -5
  91. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +4 -2
  92. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -1
  93. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +0 -2
  94. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
  95. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +5 -1
  96. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  97. package/optimize/lib/components/datagrid/data_grid.stories.utils.js +70 -37
  98. package/optimize/lib/components/datagrid/utils/row_heights.js +8 -32
  99. package/optimize/lib/components/date_picker/date_picker.js +1 -1
  100. package/optimize/lib/components/provider/provider.js +16 -13
  101. package/optimize/lib/components/provider/system_color_mode/index.js +12 -0
  102. package/optimize/lib/components/provider/system_color_mode/system_color_mode_provider.js +47 -0
  103. package/optimize/lib/components/resizable_container/resizable_button.js +3 -2
  104. package/optimize/lib/components/resizable_container/resizable_button.styles.js +19 -6
  105. package/optimize/lib/components/table/table_header_cell.js +3 -2
  106. package/optimize/lib/components/table/table_header_cell_checkbox.js +3 -2
  107. package/optimize/lib/components/table/table_row_cell.js +4 -3
  108. package/optimize/lib/components/table/table_row_cell_checkbox.js +3 -2
  109. package/optimize/lib/services/copy/index.js +25 -0
  110. package/optimize/lib/services/copy/tabular_copy.js +111 -0
  111. package/optimize/lib/services/index.js +12 -8
  112. package/package.json +1 -1
  113. package/test-env/components/basic_table/basic_table.js +38 -31
  114. package/test-env/components/datagrid/body/cell/data_grid_cell.js +120 -14
  115. package/test-env/components/datagrid/body/cell/data_grid_cell.styles.js +5 -2
  116. package/test-env/components/datagrid/body/data_grid_body_custom.js +5 -2
  117. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +5 -2
  118. package/test-env/components/datagrid/body/footer/data_grid_footer_row.js +13 -5
  119. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +5 -2
  120. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +3 -1
  121. package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +0 -2
  122. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  123. package/test-env/components/datagrid/body/header/data_grid_header_row.js +5 -1
  124. package/test-env/components/datagrid/data_grid.js +2 -2
  125. package/test-env/components/datagrid/data_grid.stories.utils.js +70 -37
  126. package/test-env/components/datagrid/utils/row_heights.js +8 -32
  127. package/test-env/components/date_picker/date_picker.js +1 -1
  128. package/test-env/components/provider/provider.js +16 -13
  129. package/test-env/components/provider/system_color_mode/index.js +12 -0
  130. package/test-env/components/provider/system_color_mode/system_color_mode_provider.js +51 -0
  131. package/test-env/components/resizable_container/resizable_button.js +9 -2
  132. package/test-env/components/resizable_container/resizable_button.styles.js +19 -6
  133. package/test-env/components/table/table_header_cell.js +10 -3
  134. package/test-env/components/table/table_header_cell_checkbox.js +5 -3
  135. package/test-env/components/table/table_row_cell.js +10 -3
  136. package/test-env/components/table/table_row_cell_checkbox.js +5 -3
  137. package/test-env/services/copy/index.js +25 -0
  138. package/test-env/services/copy/tabular_copy.js +30 -0
  139. package/test-env/services/index.js +12 -8
  140. /package/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  141. /package/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  142. /package/optimize/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  143. /package/optimize/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  144. /package/test-env/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
package/eui.d.ts CHANGED
@@ -2533,6 +2533,12 @@ declare module '@elastic/eui/src/components/table/table_row_cell' {
2533
2533
  * See #EuiTableRowCellMobileOptionsShape
2534
2534
  */
2535
2535
  mobileOptions?: EuiTableRowCellMobileOptionsShape;
2536
+ /**
2537
+ * Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
2538
+ *
2539
+ * Used by EuiBasicTable to render hidden copy markers
2540
+ */
2541
+ append?: ReactNode;
2536
2542
  } type Props = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'valign'> & EuiTableRowCellProps;
2537
2543
  export const EuiTableRowCell: FunctionComponent<Props>;
2538
2544
  export {};
@@ -3268,7 +3274,7 @@ declare module '@elastic/eui/src/components/table/table_header_cell_shared' {
3268
3274
 
3269
3275
  }
3270
3276
  declare module '@elastic/eui/src/components/table/table_header_cell' {
3271
- import { FunctionComponent, ThHTMLAttributes } from 'react';
3277
+ import { FunctionComponent, ThHTMLAttributes, ReactNode } from 'react';
3272
3278
  import { HorizontalAlignment } from '@elastic/eui/src/services';
3273
3279
  import { CommonProps, NoArgCallback } from '@elastic/eui/src/components/common';
3274
3280
  import type { EuiTableRowCellMobileOptionsShape } from '@elastic/eui/src/components/table/table_row_cell';
@@ -3287,18 +3293,25 @@ declare module '@elastic/eui/src/components/table/table_header_cell' {
3287
3293
  * Shows the sort indicator but removes the button
3288
3294
  */
3289
3295
  readOnly?: boolean;
3296
+ /**
3297
+ * Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
3298
+ *
3299
+ * Used by EuiBasicTable to render hidden copy markers
3300
+ */
3301
+ append?: ReactNode;
3290
3302
  };
3291
3303
  export const EuiTableHeaderCell: FunctionComponent<EuiTableHeaderCellProps>;
3292
3304
 
3293
3305
  }
3294
3306
  declare module '@elastic/eui/src/components/table/table_header_cell_checkbox' {
3295
- import { FunctionComponent, ThHTMLAttributes } from 'react';
3307
+ import { FunctionComponent, ThHTMLAttributes, ReactNode } from 'react';
3296
3308
  import { CommonProps } from '@elastic/eui/src/components/common';
3297
3309
  import { HEADER_CELL_SCOPE } from '@elastic/eui/src/components/table/table_header_cell_shared';
3298
3310
  export type EuiTableHeaderCellCheckboxScope = (typeof HEADER_CELL_SCOPE)[number];
3299
3311
  export interface EuiTableHeaderCellCheckboxProps {
3300
3312
  width?: string | number;
3301
3313
  scope?: EuiTableHeaderCellCheckboxScope;
3314
+ append?: ReactNode;
3302
3315
  }
3303
3316
  export const EuiTableHeaderCellCheckbox: FunctionComponent<CommonProps & ThHTMLAttributes<HTMLTableHeaderCellElement> & EuiTableHeaderCellCheckboxProps>;
3304
3317
 
@@ -5286,9 +5299,11 @@ declare module '@elastic/eui/src/components/table/table_row' {
5286
5299
 
5287
5300
  }
5288
5301
  declare module '@elastic/eui/src/components/table/table_row_cell_checkbox' {
5289
- import { FunctionComponent, TdHTMLAttributes } from 'react';
5302
+ import { FunctionComponent, TdHTMLAttributes, ReactNode } from 'react';
5290
5303
  import { CommonProps } from '@elastic/eui/src/components/common';
5291
- export const EuiTableRowCellCheckbox: FunctionComponent<CommonProps & TdHTMLAttributes<HTMLTableCellElement>>;
5304
+ export const EuiTableRowCellCheckbox: FunctionComponent<CommonProps & TdHTMLAttributes<HTMLTableCellElement> & {
5305
+ append?: ReactNode;
5306
+ }>;
5292
5307
 
5293
5308
  }
5294
5309
  declare module '@elastic/eui/src/components/table' {
@@ -7157,9 +7172,38 @@ declare module '@elastic/eui/src/services/console' {
7157
7172
  export * from '@elastic/eui/src/services/console/warn_once';
7158
7173
 
7159
7174
  }
7160
- declare module '@elastic/eui/src/services/copy_to_clipboard' {
7175
+ declare module '@elastic/eui/src/services/copy/copy_to_clipboard' {
7161
7176
  export function copyToClipboard(text: string): boolean;
7162
7177
 
7178
+ }
7179
+ declare module '@elastic/eui/src/services/copy/tabular_copy' {
7180
+ import React, { PropsWithChildren } from 'react';
7181
+ /**
7182
+ * Clipboard text cleaning logic
7183
+ */
7184
+ export const CHARS: {
7185
+ NEWLINE: string;
7186
+ TAB: string;
7187
+ TABULAR_CONTENT_BOUND: string;
7188
+ NO_COPY_BOUND: string;
7189
+ };
7190
+ export const onTabularCopy: (event: ClipboardEvent | React.ClipboardEvent) => void;
7191
+ export const tabularCopyMarkers: {
7192
+ hiddenTab: React.JSX.Element;
7193
+ hiddenNewline: React.JSX.Element;
7194
+ hiddenWrapperBoundary: React.JSX.Element;
7195
+ hiddenNoCopyBoundary: React.JSX.Element;
7196
+ };
7197
+ /**
7198
+ * Wrapper setup around table/grid tabular content we want to override/clean up on copy
7199
+ */
7200
+ export const OverrideCopiedTabularContent: ({ children, }: PropsWithChildren) => React.JSX.Element;
7201
+
7202
+ }
7203
+ declare module '@elastic/eui/src/services/copy' {
7204
+ export { copyToClipboard } from '@elastic/eui/src/services/copy/copy_to_clipboard';
7205
+ export { tabularCopyMarkers, OverrideCopiedTabularContent, } from '@elastic/eui/src/services/copy/tabular_copy';
7206
+
7163
7207
  }
7164
7208
  declare module '@elastic/eui/src/services/findElement' {
7165
7209
  /**
@@ -7498,7 +7542,7 @@ declare module '@elastic/eui/src/services' {
7498
7542
  export { useColorPickerState, useColorStopsState } from '@elastic/eui/src/services/color_picker';
7499
7543
  export type { EuiSetColorMethod } from '@elastic/eui/src/services/color_picker';
7500
7544
  export * from '@elastic/eui/src/services/console';
7501
- export { copyToClipboard } from '@elastic/eui/src/services/copy_to_clipboard';
7545
+ export * from '@elastic/eui/src/services/copy';
7502
7546
  export * from '@elastic/eui/src/services/emotion';
7503
7547
  export * from '@elastic/eui/src/services/findElement';
7504
7548
  export { dateFormatAliases, formatAuto, formatBoolean, formatDate, formatNumber, formatText, } from '@elastic/eui/src/services/format';
@@ -11867,6 +11911,20 @@ declare module '@elastic/eui/src/components/resizable_container/resizable_button
11867
11911
  euiResizableButton: import("@emotion/utils").SerializedStyles;
11868
11912
  horizontal: import("@emotion/utils").SerializedStyles;
11869
11913
  vertical: import("@emotion/utils").SerializedStyles;
11914
+ accountForScrollbars: {
11915
+ horizontal: {
11916
+ both: import("@emotion/utils").SerializedStyles;
11917
+ before: import("@emotion/utils").SerializedStyles;
11918
+ after: import("@emotion/utils").SerializedStyles;
11919
+ none: import("@emotion/utils").SerializedStyles;
11920
+ };
11921
+ vertical: {
11922
+ both: import("@emotion/utils").SerializedStyles;
11923
+ before: import("@emotion/utils").SerializedStyles;
11924
+ after: import("@emotion/utils").SerializedStyles;
11925
+ none: import("@emotion/utils").SerializedStyles;
11926
+ };
11927
+ };
11870
11928
  border: import("@emotion/utils").SerializedStyles;
11871
11929
  borderDirection: {
11872
11930
  horizontal: import("@emotion/utils").SerializedStyles;
@@ -11906,6 +11964,12 @@ declare module '@elastic/eui/src/components/resizable_container/resizable_button
11906
11964
  * tall content that scrolls off-screen
11907
11965
  */
11908
11966
  alignIndicator?: 'center' | 'start' | 'end';
11967
+ /**
11968
+ * By default, EuiResizableButton will overlap into the panels before/after it.
11969
+ * This can occasionally occlude interactive elements like scrollbars. To prevent
11970
+ * this overlap, use this prop to remove the overlap for the specified side.
11971
+ */
11972
+ accountForScrollbars?: 'before' | 'after' | 'both';
11909
11973
  /**
11910
11974
  * When disabled, the resizer button will be completely hidden
11911
11975
  */
@@ -11932,6 +11996,12 @@ declare module '@elastic/eui/src/components/resizable_container/resizable_button
11932
11996
  * tall content that scrolls off-screen
11933
11997
  */
11934
11998
  alignIndicator?: "center" | "end" | "start" | undefined;
11999
+ /**
12000
+ * By default, EuiResizableButton will overlap into the panels before/after it.
12001
+ * This can occasionally occlude interactive elements like scrollbars. To prevent
12002
+ * this overlap, use this prop to remove the overlap for the specified side.
12003
+ */
12004
+ accountForScrollbars?: "both" | "before" | "after" | undefined;
11935
12005
  /**
11936
12006
  * When disabled, the resizer button will be completely hidden
11937
12007
  */
@@ -14171,51 +14241,6 @@ declare module '@elastic/eui/src/components/comment_list' {
14171
14241
  export type { EuiCommentListProps } from '@elastic/eui/src/components/comment_list/comment_list';
14172
14242
  export { EuiCommentList } from '@elastic/eui/src/components/comment_list/comment_list';
14173
14243
 
14174
- }
14175
- declare module '@elastic/eui/src/components/datagrid/data_grid.styles' {
14176
- import { UseEuiTheme } from '@elastic/eui/src/services';
14177
- export const euiDataGridVariables: (euiThemeContext: UseEuiTheme) => {
14178
- cellPadding: {
14179
- s: string;
14180
- m: string;
14181
- l: string;
14182
- };
14183
- lineHeight: {
14184
- s: import("csstype").Property.LineHeight<string | number> | undefined;
14185
- m: import("csstype").Property.LineHeight<string | number> | undefined;
14186
- };
14187
- fontSize: {
14188
- s: import("csstype").Property.FontSize<string | number> | undefined;
14189
- m: import("csstype").Property.FontSize<string | number> | undefined;
14190
- };
14191
- levels: {
14192
- cellPopover: number;
14193
- readonly stickyHeader: number;
14194
- };
14195
- };
14196
- export const euiDataGridStyles: (euiThemeContext: UseEuiTheme) => {
14197
- euiDataGrid: import("@emotion/utils").SerializedStyles;
14198
- cellPadding: {
14199
- cellPadding: (size: 's' | 'm' | 'l') => import("@emotion/utils").SerializedStyles;
14200
- readonly s: import("@emotion/utils").SerializedStyles;
14201
- readonly m: import("@emotion/utils").SerializedStyles;
14202
- readonly l: import("@emotion/utils").SerializedStyles;
14203
- };
14204
- fontSize: {
14205
- fontSize: (size: 's' | 'm') => import("@emotion/utils").SerializedStyles;
14206
- readonly s: import("@emotion/utils").SerializedStyles;
14207
- readonly m: import("@emotion/utils").SerializedStyles;
14208
- readonly l: import("@emotion/utils").SerializedStyles;
14209
- };
14210
- borders: {
14211
- none: null;
14212
- horizontal: import("@emotion/utils").SerializedStyles;
14213
- all: import("@emotion/utils").SerializedStyles;
14214
- };
14215
- euiDataGrid__content: import("@emotion/utils").SerializedStyles;
14216
- euiDataGrid__focusWrap: import("@emotion/utils").SerializedStyles;
14217
- };
14218
-
14219
14244
  }
14220
14245
  declare module '@elastic/eui/src/components/datagrid/utils/data_grid_schema' {
14221
14246
  import { EuiDataGridColumn, EuiDataGridInMemory, EuiDataGridInMemoryValues, EuiDataGridSchema, EuiDataGridSchemaDetector } from '@elastic/eui/src/components/datagrid/data_grid_types';
@@ -14268,17 +14293,11 @@ declare module '@elastic/eui/src/components/datagrid/utils/row_heights' {
14268
14293
  import { MutableRefObject } from 'react';
14269
14294
  import { GridOnItemsRenderedProps } from 'react-window';
14270
14295
  import { EuiDataGridColumn, EuiDataGridRowHeightOption, EuiDataGridRowHeightsOptions, EuiDataGridScrollAnchorRow, EuiDataGridStyle, ImperativeGridApi } from '@elastic/eui/src/components/datagrid/data_grid_types';
14271
- import { euiDataGridVariables } from '@elastic/eui/src/components/datagrid/data_grid.styles';
14272
14296
  export type RowHeightUtilsType = RowHeightUtils | RowHeightVirtualizationUtils;
14273
14297
  export class RowHeightUtils {
14274
14298
  getRowHeightOption(rowIndex: number, rowHeightsOptions?: EuiDataGridRowHeightsOptions): EuiDataGridRowHeightOption | undefined;
14275
14299
  isRowHeightOverride(rowIndex: number, rowHeightsOptions?: EuiDataGridRowHeightsOptions): boolean;
14276
14300
  getCalculatedHeight(heightOption: EuiDataGridRowHeightOption, defaultHeight: number, rowIndex?: number, isRowHeightOverride?: boolean): number;
14277
- /**
14278
- * Styles utils
14279
- */
14280
- private styles;
14281
- cacheStyles(gridStyles: EuiDataGridStyle, cellPaddingsMap: ReturnType<typeof euiDataGridVariables>['cellPadding']): void;
14282
14301
  /**
14283
14302
  * Height types
14284
14303
  */
@@ -14287,7 +14306,7 @@ declare module '@elastic/eui/src/components/datagrid/utils/row_heights' {
14287
14306
  * Line count utils
14288
14307
  */
14289
14308
  getLineCount(option?: EuiDataGridRowHeightOption): number | undefined;
14290
- calculateHeightForLineCount(cellRef: HTMLElement, lineCount: number, excludePadding?: boolean): number;
14309
+ calculateHeightForLineCount(cellRef: HTMLElement, lineCount: number): number;
14291
14310
  /**
14292
14311
  * Auto height utils
14293
14312
  */
@@ -14325,7 +14344,7 @@ declare module '@elastic/eui/src/components/datagrid/utils/row_heights' {
14325
14344
  * Hook for instantiating RowHeightUtils, setting internal class vars,
14326
14345
  * and setting up various row-height-related side effects
14327
14346
  */
14328
- export const useRowHeightUtils: ({ virtualization, rowHeightsOptions, gridStyles, columns, }: {
14347
+ export const useRowHeightUtils: ({ virtualization, rowHeightsOptions, columns, }: {
14329
14348
  virtualization?: false | {
14330
14349
  gridRef: MutableRefObject<ImperativeGridApi | null>;
14331
14350
  outerGridElementRef: MutableRefObject<HTMLDivElement | null>;
@@ -14558,6 +14577,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14558
14577
  schemaDetectors: EuiDataGridSchemaDetector[];
14559
14578
  defaultColumnWidth?: number | null;
14560
14579
  setColumnWidth: (columnId: string, width: number) => void;
14580
+ visibleColCount: number;
14561
14581
  setVisibleColumns: (columnId: string[]) => void;
14562
14582
  switchColumnPos: (colFromId: string, colToId: string) => void;
14563
14583
  gridStyles: EuiDataGridStyle;
@@ -14569,12 +14589,14 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14569
14589
  }
14570
14590
  export interface EuiDataGridControlHeaderCellProps {
14571
14591
  index: number;
14592
+ visibleColCount: number;
14572
14593
  controlColumn: EuiDataGridControlColumn;
14573
14594
  }
14574
14595
  export interface EuiDataGridHeaderCellWrapperProps {
14575
14596
  children: ReactNode | ((renderFocusTrap: boolean) => ReactNode);
14576
14597
  id: string;
14577
14598
  index: number;
14599
+ visibleColCount: number;
14578
14600
  width?: number | null;
14579
14601
  className?: string;
14580
14602
  'aria-label'?: AriaAttributes['aria-label'];
@@ -14593,6 +14615,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14593
14615
  renderCellPopover?: EuiDataGridCellProps['renderCellPopover'];
14594
14616
  interactiveCellId: EuiDataGridCellProps['interactiveCellId'];
14595
14617
  visibleRowIndex?: number;
14618
+ visibleColCount: number;
14596
14619
  gridStyles: EuiDataGridStyle;
14597
14620
  };
14598
14621
  export interface EuiDataGridVisibleRows {
@@ -14989,6 +15012,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14989
15012
  rowHeightUtils?: RowHeightUtilsType;
14990
15013
  rowManager?: EuiDataGridRowManager;
14991
15014
  pagination?: Required<EuiDataGridPaginationProps>;
15015
+ gridStyles: EuiDataGridStyle;
14992
15016
  }
14993
15017
  export interface EuiDataGridCellState {
14994
15018
  cellProps: EuiDataGridSetCellProps;
@@ -15559,9 +15583,9 @@ declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell.st
15559
15583
  euiDataGridRowCell: import("@emotion/utils").SerializedStyles;
15560
15584
  content: {
15561
15585
  euiDataGridRowCell__content: import("@emotion/utils").SerializedStyles;
15562
- controlColumn: import("@emotion/utils").SerializedStyles;
15563
15586
  autoHeight: import("@emotion/utils").SerializedStyles;
15564
15587
  defaultHeight: import("@emotion/utils").SerializedStyles;
15588
+ controlColumn: import("@emotion/utils").SerializedStyles;
15565
15589
  };
15566
15590
  };
15567
15591
 
@@ -15828,7 +15852,6 @@ declare module '@elastic/eui/src/components/datagrid/body/header/data_grid_heade
15828
15852
  */
15829
15853
  export const euiDataGridHeaderCellStyles: (euiThemeContext: UseEuiTheme) => {
15830
15854
  euiDataGridHeaderCell__content: import("@emotion/utils").SerializedStyles;
15831
- left: import("@emotion/utils").SerializedStyles;
15832
15855
  right: import("@emotion/utils").SerializedStyles;
15833
15856
  euiDataGridHeaderCell__popover: import("@emotion/utils").SerializedStyles;
15834
15857
  euiDataGridHeaderCell__button: import("@emotion/utils").SerializedStyles;
@@ -15863,6 +15886,51 @@ declare module '@elastic/eui/src/components/datagrid/body/header/data_grid_heade
15863
15886
  popoverScreenReaderText: React.JSX.Element;
15864
15887
  };
15865
15888
 
15889
+ }
15890
+ declare module '@elastic/eui/src/components/datagrid/data_grid.styles' {
15891
+ import { UseEuiTheme } from '@elastic/eui/src/services';
15892
+ export const euiDataGridVariables: (euiThemeContext: UseEuiTheme) => {
15893
+ cellPadding: {
15894
+ s: string;
15895
+ m: string;
15896
+ l: string;
15897
+ };
15898
+ lineHeight: {
15899
+ s: import("csstype").Property.LineHeight<string | number> | undefined;
15900
+ m: import("csstype").Property.LineHeight<string | number> | undefined;
15901
+ };
15902
+ fontSize: {
15903
+ s: import("csstype").Property.FontSize<string | number> | undefined;
15904
+ m: import("csstype").Property.FontSize<string | number> | undefined;
15905
+ };
15906
+ levels: {
15907
+ cellPopover: number;
15908
+ readonly stickyHeader: number;
15909
+ };
15910
+ };
15911
+ export const euiDataGridStyles: (euiThemeContext: UseEuiTheme) => {
15912
+ euiDataGrid: import("@emotion/utils").SerializedStyles;
15913
+ cellPadding: {
15914
+ cellPadding: (size: 's' | 'm' | 'l') => import("@emotion/utils").SerializedStyles;
15915
+ readonly s: import("@emotion/utils").SerializedStyles;
15916
+ readonly m: import("@emotion/utils").SerializedStyles;
15917
+ readonly l: import("@emotion/utils").SerializedStyles;
15918
+ };
15919
+ fontSize: {
15920
+ fontSize: (size: 's' | 'm') => import("@emotion/utils").SerializedStyles;
15921
+ readonly s: import("@emotion/utils").SerializedStyles;
15922
+ readonly m: import("@emotion/utils").SerializedStyles;
15923
+ readonly l: import("@emotion/utils").SerializedStyles;
15924
+ };
15925
+ borders: {
15926
+ none: null;
15927
+ horizontal: import("@emotion/utils").SerializedStyles;
15928
+ all: import("@emotion/utils").SerializedStyles;
15929
+ };
15930
+ euiDataGrid__content: import("@emotion/utils").SerializedStyles;
15931
+ euiDataGrid__focusWrap: import("@emotion/utils").SerializedStyles;
15932
+ };
15933
+
15866
15934
  }
15867
15935
  declare module '@elastic/eui/src/components/datagrid/body/header/data_grid_header_row.styles' {
15868
15936
  import { UseEuiTheme } from '@elastic/eui/src/services';
@@ -15982,7 +16050,7 @@ declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell' {
15982
16050
  declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell_wrapper' {
15983
16051
  import { FunctionComponent } from 'react';
15984
16052
  import { EuiDataGridCellProps, EuiDataGridBodyProps, EuiDataGridHeaderRowProps } from '@elastic/eui/src/components/datagrid/data_grid_types';
15985
- export type CellProps = Pick<EuiDataGridCellProps, 'colIndex' | 'visibleRowIndex' | 'style' | 'renderCellValue' | 'cellContext' | 'renderCellPopover' | 'interactiveCellId' | 'rowHeightsOptions' | 'rowHeightUtils' | 'rowManager' | 'setRowHeight' | 'column'> & Pick<EuiDataGridBodyProps, 'schema' | 'schemaDetectors' | 'pagination' | 'columns' | 'leadingControlColumns' | 'trailingControlColumns' | 'visibleColCount'> & Pick<EuiDataGridHeaderRowProps, 'columnWidths' | 'defaultColumnWidth'> & Partial<EuiDataGridCellProps>;
16053
+ export type CellProps = Pick<EuiDataGridCellProps, 'colIndex' | 'visibleRowIndex' | 'style' | 'renderCellValue' | 'cellContext' | 'renderCellPopover' | 'interactiveCellId' | 'gridStyles' | 'rowHeightsOptions' | 'rowHeightUtils' | 'rowManager' | 'setRowHeight' | 'column'> & Pick<EuiDataGridBodyProps, 'schema' | 'schemaDetectors' | 'pagination' | 'columns' | 'leadingControlColumns' | 'trailingControlColumns' | 'visibleColCount'> & Pick<EuiDataGridHeaderRowProps, 'columnWidths' | 'defaultColumnWidth'> & Partial<EuiDataGridCellProps>;
15986
16054
  /**
15987
16055
  * A DRY wrapper used by both custom and virtualized grid cells.
15988
16056
  * It grabs context, determines the type of cell being rendered
@@ -16022,6 +16090,7 @@ declare module '@elastic/eui/src/components/datagrid/body/footer/data_grid_foote
16022
16090
  renderCellPopover?: React.JSXElementConstructor<import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellPopoverElementProps> | ((props: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridCellPopoverElementProps) => React.ReactNode) | undefined;
16023
16091
  interactiveCellId: string;
16024
16092
  visibleRowIndex?: number | undefined;
16093
+ visibleColCount: number;
16025
16094
  gridStyles: import ("@elastic/eui/src/components/datagrid/data_grid_types").EuiDataGridStyle;
16026
16095
  } & React.RefAttributes<HTMLDivElement>>>;
16027
16096
  export { EuiDataGridFooterRow };
@@ -21067,6 +21136,19 @@ declare module '@elastic/eui/src/components/provider/cache/cache_provider' {
21067
21136
  declare module '@elastic/eui/src/components/provider/cache' {
21068
21137
  export * from '@elastic/eui/src/components/provider/cache/cache_provider';
21069
21138
 
21139
+ }
21140
+ declare module '@elastic/eui/src/components/provider/system_color_mode/system_color_mode_provider' {
21141
+ import { FunctionComponent, ReactElement } from 'react';
21142
+ import { EuiThemeColorModeStandard } from '@elastic/eui/src/services';
21143
+ export const COLOR_MODE_MEDIA_QUERY = "(prefers-color-scheme: dark)";
21144
+ export const EuiSystemColorModeProvider: FunctionComponent<{
21145
+ children: (systemColorMode: EuiThemeColorModeStandard) => ReactElement;
21146
+ }>;
21147
+
21148
+ }
21149
+ declare module '@elastic/eui/src/components/provider/system_color_mode' {
21150
+ export { EuiSystemColorModeProvider } from '@elastic/eui/src/components/provider/system_color_mode/system_color_mode_provider';
21151
+
21070
21152
  }
21071
21153
  declare module '@elastic/eui/src/components/provider/nested/nested_context' {
21072
21154
  import React, { PropsWithChildren } from 'react';
@@ -21088,15 +21170,20 @@ declare module '@elastic/eui/src/components/provider/nested' {
21088
21170
  declare module '@elastic/eui/src/components/provider/provider' {
21089
21171
  import React, { PropsWithChildren } from 'react';
21090
21172
  import type { EmotionCache } from '@emotion/css';
21091
- import { EuiThemeProviderProps, EuiThemeSystem } from '@elastic/eui/src/services';
21173
+ import { EuiThemeProviderProps, EuiThemeSystem, EuiThemeColorMode } from '@elastic/eui/src/services';
21092
21174
  import { EuiGlobalStylesProps } from '@elastic/eui/src/global_styling/reset/global_styles';
21093
21175
  import { EuiComponentDefaults } from '@elastic/eui/src/components/provider/component_defaults';
21094
- export interface EuiProviderProps<T> extends PropsWithChildren, EuiGlobalStylesProps, Pick<EuiThemeProviderProps<T>, 'colorMode' | 'modify'> {
21176
+ export interface EuiProviderProps<T> extends PropsWithChildren, EuiGlobalStylesProps, Pick<EuiThemeProviderProps<T>, 'modify'> {
21095
21177
  /**
21096
21178
  * Provide a specific EuiTheme; Defaults to EuiThemeAmsterdam;
21097
21179
  * Pass `null` to remove all theming including global reset
21098
21180
  */
21099
21181
  theme?: EuiThemeSystem | null;
21182
+ /**
21183
+ * Allows setting `light` or `dark` mode.
21184
+ * Defaults to the user's OS/system setting if undefined.
21185
+ */
21186
+ colorMode?: EuiThemeColorMode;
21100
21187
  /**
21101
21188
  * Provide global styles via `@emotion/react` `Global` for your custom theme.
21102
21189
  * Pass `false` to remove the default EUI global styles.
@@ -24519,7 +24606,8 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
24519
24606
  renderItemActionsCell(itemId: ItemIdResolved, item: T, column: EuiTableActionsColumnType<T>, columnIndex: number, rowIndex: number, hasCustomActions: boolean): React.JSX.Element;
24520
24607
  renderItemFieldDataCell(itemId: ItemId<T>, item: T, column: EuiTableFieldDataColumnType<T>, columnIndex: number, setScopeRow: boolean): React.JSX.Element;
24521
24608
  renderItemComputedCell(itemId: ItemId<T>, item: T, column: EuiTableComputedColumnType<T>, columnIndex: number): React.JSX.Element;
24522
- renderItemCell(item: T, column: EuiBasicTableColumn<T>, key: string | number, content: ReactNode, setScopeRow: boolean): React.JSX.Element;
24609
+ renderItemCell(item: T, column: EuiBasicTableColumn<T>, columnIndex: number, key: string | number, content: ReactNode, setScopeRow: boolean): React.JSX.Element;
24610
+ renderCopyChar: (columnIndex: number) => React.JSX.Element;
24523
24611
  resolveColumnSortDirection: (column: EuiBasicTableColumn<T>) => "desc" | "asc" | undefined;
24524
24612
  resolveColumnOnSort: (column: EuiBasicTableColumn<T>) => (() => void) | undefined;
24525
24613
  getRendererForDataType(dataType?: EuiTableDataType): (value: any) => string;
@@ -25133,10 +25221,11 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25133
25221
  location: React.JSX.Element;
25134
25222
  date: string;
25135
25223
  account: string;
25136
- version: string;
25224
+ version: React.JSX.Element;
25137
25225
  }[];
25138
25226
  export const defaultStorybookArgs: {
25139
25227
  'aria-label': string;
25228
+ css: import("@emotion/utils").SerializedStyles;
25140
25229
  columns: ({
25141
25230
  id: string;
25142
25231
  displayAsText: string;
@@ -25145,6 +25234,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25145
25234
  initialWidth?: undefined;
25146
25235
  actions?: undefined;
25147
25236
  isResizable?: undefined;
25237
+ schema?: undefined;
25148
25238
  } | {
25149
25239
  id: string;
25150
25240
  displayAsText: string;
@@ -25153,6 +25243,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25153
25243
  defaultSortDirection?: undefined;
25154
25244
  actions?: undefined;
25155
25245
  isResizable?: undefined;
25246
+ schema?: undefined;
25156
25247
  } | {
25157
25248
  id: string;
25158
25249
  displayAsText: string;
@@ -25161,6 +25252,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25161
25252
  initialWidth?: undefined;
25162
25253
  actions?: undefined;
25163
25254
  isResizable?: undefined;
25255
+ schema?: undefined;
25164
25256
  } | {
25165
25257
  id: string;
25166
25258
  displayAsText: string;
@@ -25182,6 +25274,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25182
25274
  defaultSortDirection?: undefined;
25183
25275
  initialWidth?: undefined;
25184
25276
  isResizable?: undefined;
25277
+ schema?: undefined;
25185
25278
  } | {
25186
25279
  id: string;
25187
25280
  displayAsText: string;
@@ -25190,6 +25283,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25190
25283
  initialWidth?: undefined;
25191
25284
  actions?: undefined;
25192
25285
  isResizable?: undefined;
25286
+ schema?: undefined;
25193
25287
  } | {
25194
25288
  id: string;
25195
25289
  displayAsText: string;
@@ -25197,6 +25291,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25197
25291
  initialWidth: number;
25198
25292
  isResizable: boolean;
25199
25293
  actions: false;
25294
+ schema: string;
25200
25295
  cellActions?: undefined;
25201
25296
  })[];
25202
25297
  rowCount: number;
@@ -25211,7 +25306,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid.stories.utils' {
25211
25306
  id: string;
25212
25307
  width: number;
25213
25308
  headerCellRender: () => React.JSX.Element;
25214
- rowCellRender: () => React.JSX.Element;
25309
+ rowCellRender: ({ rowIndex }: EuiDataGridCellValueElementProps) => React.JSX.Element;
25215
25310
  }[];
25216
25311
  columnVisibility: {
25217
25312
  visibleColumns: string[];