@elastic/eui 95.9.0 → 95.10.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 (101) hide show
  1. package/dist/eui_theme_dark.css +35 -6
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +35 -6
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/basic_table/in_memory_table.js +2 -1
  6. package/es/components/datagrid/body/cell/data_grid_cell.js +2 -0
  7. package/es/components/datagrid/body/cell/focus_utils.js +57 -11
  8. package/es/components/datagrid/body/data_grid_body.js +1 -0
  9. package/es/components/datagrid/body/data_grid_body_custom.js +1 -0
  10. package/es/components/datagrid/body/data_grid_body_virtualized.js +1 -0
  11. package/es/components/datagrid/body/header/data_grid_header_cell.js +92 -83
  12. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +37 -22
  13. package/es/components/datagrid/controls/column_sorting.js +1 -0
  14. package/es/components/datagrid/data_grid.a11y.js +2 -0
  15. package/es/components/datagrid/utils/in_memory.js +1 -0
  16. package/es/components/date_picker/date_picker.js +32 -10
  17. package/es/components/date_picker/date_picker.styles.js +3 -2
  18. package/es/components/date_picker/date_picker_range.styles.js +1 -1
  19. package/es/components/form/super_select/super_select.styles.js +1 -1
  20. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +15 -8
  21. package/es/components/markdown_editor/plugins/markdown_default_plugins/plugins.js +21 -4
  22. package/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +5 -2
  23. package/es/components/markdown_editor/plugins/markdown_link_validator.js +8 -2
  24. package/es/components/search_bar/filters/field_value_selection_filter.js +171 -152
  25. package/es/components/search_bar/search_bar.js +2 -1
  26. package/es/components/search_bar/search_filters.js +2 -1
  27. package/eui.d.ts +138 -69
  28. package/i18ntokens.json +78 -42
  29. package/lib/components/basic_table/in_memory_table.js +2 -1
  30. package/lib/components/datagrid/body/cell/data_grid_cell.js +2 -0
  31. package/lib/components/datagrid/body/cell/focus_utils.js +58 -12
  32. package/lib/components/datagrid/body/data_grid_body.js +1 -0
  33. package/lib/components/datagrid/body/data_grid_body_custom.js +1 -0
  34. package/lib/components/datagrid/body/data_grid_body_virtualized.js +1 -0
  35. package/lib/components/datagrid/body/header/data_grid_header_cell.js +98 -88
  36. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +38 -23
  37. package/lib/components/datagrid/controls/column_sorting.js +1 -0
  38. package/lib/components/datagrid/data_grid.a11y.js +2 -0
  39. package/lib/components/datagrid/utils/in_memory.js +1 -0
  40. package/lib/components/date_picker/date_picker.js +32 -10
  41. package/lib/components/date_picker/date_picker.styles.js +3 -2
  42. package/lib/components/date_picker/date_picker_range.styles.js +1 -1
  43. package/lib/components/form/super_select/super_select.styles.js +1 -1
  44. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +26 -17
  45. package/lib/components/markdown_editor/plugins/markdown_default_plugins/plugins.js +21 -6
  46. package/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +5 -2
  47. package/lib/components/markdown_editor/plugins/markdown_link_validator.js +9 -2
  48. package/lib/components/search_bar/filters/field_value_selection_filter.js +170 -151
  49. package/lib/components/search_bar/search_bar.js +2 -1
  50. package/lib/components/search_bar/search_filters.js +2 -1
  51. package/optimize/es/components/datagrid/body/cell/focus_utils.js +55 -10
  52. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +90 -83
  53. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +33 -19
  54. package/optimize/es/components/datagrid/data_grid.a11y.js +2 -0
  55. package/optimize/es/components/date_picker/date_picker.js +15 -9
  56. package/optimize/es/components/date_picker/date_picker.styles.js +3 -2
  57. package/optimize/es/components/date_picker/date_picker_range.styles.js +1 -1
  58. package/optimize/es/components/form/super_select/super_select.styles.js +1 -1
  59. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +14 -8
  60. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/plugins.js +18 -4
  61. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +5 -2
  62. package/optimize/es/components/markdown_editor/plugins/markdown_link_validator.js +8 -2
  63. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +168 -151
  64. package/optimize/lib/components/datagrid/body/cell/focus_utils.js +56 -11
  65. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +92 -84
  66. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +33 -19
  67. package/optimize/lib/components/datagrid/data_grid.a11y.js +2 -0
  68. package/optimize/lib/components/date_picker/date_picker.js +15 -9
  69. package/optimize/lib/components/date_picker/date_picker.styles.js +3 -2
  70. package/optimize/lib/components/date_picker/date_picker_range.styles.js +1 -1
  71. package/optimize/lib/components/form/super_select/super_select.styles.js +1 -1
  72. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +15 -11
  73. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/plugins.js +19 -6
  74. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +5 -2
  75. package/optimize/lib/components/markdown_editor/plugins/markdown_link_validator.js +9 -2
  76. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +167 -150
  77. package/package.json +1 -1
  78. package/src/components/datagrid/_data_grid_data_row.scss +5 -0
  79. package/src/components/datagrid/body/header/_data_grid_header_row.scss +27 -5
  80. package/test-env/components/basic_table/in_memory_table.js +2 -1
  81. package/test-env/components/datagrid/body/cell/data_grid_cell.js +2 -0
  82. package/test-env/components/datagrid/body/cell/focus_utils.js +58 -12
  83. package/test-env/components/datagrid/body/data_grid_body.js +1 -0
  84. package/test-env/components/datagrid/body/data_grid_body_custom.js +1 -0
  85. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +1 -0
  86. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +93 -84
  87. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +37 -22
  88. package/test-env/components/datagrid/controls/column_sorting.js +1 -0
  89. package/test-env/components/datagrid/data_grid.a11y.js +2 -0
  90. package/test-env/components/datagrid/utils/in_memory.js +1 -0
  91. package/test-env/components/date_picker/date_picker.js +32 -10
  92. package/test-env/components/date_picker/date_picker.styles.js +3 -2
  93. package/test-env/components/date_picker/date_picker_range.styles.js +1 -1
  94. package/test-env/components/form/super_select/super_select.styles.js +1 -1
  95. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +15 -11
  96. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/plugins.js +19 -6
  97. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +5 -2
  98. package/test-env/components/markdown_editor/plugins/markdown_link_validator.js +9 -2
  99. package/test-env/components/search_bar/filters/field_value_selection_filter.js +169 -151
  100. package/test-env/components/search_bar/search_bar.js +2 -1
  101. package/test-env/components/search_bar/search_filters.js +2 -1
package/eui.d.ts CHANGED
@@ -14393,7 +14393,7 @@ declare module '@elastic/eui/src/components/token' {
14393
14393
 
14394
14394
  }
14395
14395
  declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14396
- import { ComponentType, JSXElementConstructor, ReactNode, HTMLAttributes, CSSProperties, ReactElement, AriaAttributes, MutableRefObject, Ref, Component, PropsWithChildren, ComponentClass } from 'react';
14396
+ import { ComponentType, JSXElementConstructor, ReactNode, HTMLAttributes, CSSProperties, ReactElement, AriaAttributes, MutableRefObject, Ref, Component, ComponentClass } from 'react';
14397
14397
  import { VariableSizeGridProps, VariableSizeGrid as Grid, GridOnItemsRenderedProps } from 'react-window';
14398
14398
  import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group';
14399
14399
  import { EuiButtonEmpty, EuiButtonIcon } from '@elastic/eui/src/components/button';
@@ -14519,14 +14519,15 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14519
14519
  index: number;
14520
14520
  controlColumn: EuiDataGridControlColumn;
14521
14521
  }
14522
- export interface EuiDataGridHeaderCellWrapperProps extends PropsWithChildren {
14522
+ export interface EuiDataGridHeaderCellWrapperProps {
14523
+ children: ReactNode | ((renderFocusTrap: boolean) => ReactNode);
14523
14524
  id: string;
14524
14525
  index: number;
14525
14526
  width?: number | null;
14526
14527
  className?: string;
14528
+ 'aria-label'?: AriaAttributes['aria-label'];
14527
14529
  hasActionsPopover?: boolean;
14528
- isActionsButtonFocused?: boolean;
14529
- focusActionsButton?: () => void;
14530
+ openActionsPopover?: () => void;
14530
14531
  }
14531
14532
  export type EuiDataGridFooterRowProps = CommonProps & HTMLAttributes<HTMLDivElement> & {
14532
14533
  rowIndex: number;
@@ -14987,6 +14988,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
14987
14988
  * This can be used to display a readable column name in column hiding/sorting, where `display` won't be used.
14988
14989
  * This will also be used as a `title` attribute that will display on mouseover (useful if the display text is being truncated by the column width).
14989
14990
  * If not passed, `id` will be shown as the column name.
14991
+ * Passing this together with `display` is useful to ensure an accessible label is added to the column.
14990
14992
  */
14991
14993
  displayAsText?: string;
14992
14994
  /**
@@ -15383,9 +15385,57 @@ declare module '@elastic/eui/src/components/datagrid/utils/focus' {
15383
15385
  export const getParentCellContent: (_element: Node | HTMLElement) => HTMLElement | null;
15384
15386
  export {};
15385
15387
 
15388
+ }
15389
+ declare module '@elastic/eui/src/utils/prop_types/is' {
15390
+ export const is: <T>(expectedValue: any) => {
15391
+ (props: T, propName: keyof T, componentName: string): Error | null;
15392
+ isRequired(props: T, propName: keyof T, componentName: string): Error | null;
15393
+ };
15394
+
15395
+ }
15396
+ declare module '@elastic/eui/src/utils/prop_types/with_required_prop' {
15397
+ /**
15398
+ * PropType validation that, if the property is present,
15399
+ * validates against a proptype and verifies that another property exists
15400
+ *
15401
+ * example:
15402
+ * ExampleComponent.propTypes = {
15403
+ * items: PropTypes.array,
15404
+ * itemId: withRequiredProp(PropTypes.string, 'items', 'itemId is required to extract the ID from an item')
15405
+ * }
15406
+ *
15407
+ * this validator warns if ExampleComponent is passed an `items` prop but not `itemId`
15408
+ */
15409
+ export const withRequiredProp: (proptype: any, requiredPropName: string, messageDescription?: string | undefined) => (...args: any[]) => any;
15410
+
15411
+ }
15412
+ declare module '@elastic/eui/src/utils/prop_types' {
15413
+ export const EuiPropTypes: {
15414
+ is: <T>(expectedValue: any) => {
15415
+ (props: T, propName: keyof T, componentName: string): Error | null;
15416
+ isRequired(props: T, propName: keyof T, componentName: string): Error | null;
15417
+ };
15418
+ withRequiredProp: (proptype: any, requiredPropName: string, messageDescription?: string | undefined) => (...args: any[]) => any;
15419
+ };
15420
+
15421
+ }
15422
+ declare module '@elastic/eui/src/utils/is_jest' {
15423
+ export const IS_JEST_ENVIRONMENT: boolean;
15424
+
15425
+ }
15426
+ declare module '@elastic/eui/src/utils/type_guards' {
15427
+ export const isDOMNode: (el: any) => el is Node;
15428
+
15429
+ }
15430
+ declare module '@elastic/eui/src/utils' {
15431
+ export * from '@elastic/eui/src/utils/prop_types';
15432
+ export * from '@elastic/eui/src/utils/is_jest';
15433
+ export * from '@elastic/eui/src/utils/type_guards';
15434
+
15386
15435
  }
15387
15436
  declare module '@elastic/eui/src/components/datagrid/body/cell/focus_utils' {
15388
15437
  import { PropsWithChildren, FunctionComponent } from 'react';
15438
+ import { FocusableElement } from 'tabbable';
15389
15439
  /**
15390
15440
  * This internal utility component is used by all cells, both header and body/footer cells.
15391
15441
  * It always handles:
@@ -15400,6 +15450,7 @@ declare module '@elastic/eui/src/components/datagrid/body/cell/focus_utils' {
15400
15450
  cellEl?: HTMLElement | null;
15401
15451
  updateCellFocusContext: Function;
15402
15452
  renderFocusTrap?: boolean;
15453
+ onInteractiveChildrenFound?: (interactiveChildren: FocusableElement[]) => void;
15403
15454
  }>;
15404
15455
  /**
15405
15456
  * Cells with interactive children but no cell popover expansion should render a
@@ -15679,53 +15730,6 @@ declare module '@elastic/eui/src/components/datagrid/body/header' {
15679
15730
  export { EuiDataGridHeaderRow } from '@elastic/eui/src/components/datagrid/body/header/data_grid_header_row';
15680
15731
  export { useDataGridHeader } from '@elastic/eui/src/components/datagrid/body/header/use_data_grid_header';
15681
15732
 
15682
- }
15683
- declare module '@elastic/eui/src/utils/prop_types/is' {
15684
- export const is: <T>(expectedValue: any) => {
15685
- (props: T, propName: keyof T, componentName: string): Error | null;
15686
- isRequired(props: T, propName: keyof T, componentName: string): Error | null;
15687
- };
15688
-
15689
- }
15690
- declare module '@elastic/eui/src/utils/prop_types/with_required_prop' {
15691
- /**
15692
- * PropType validation that, if the property is present,
15693
- * validates against a proptype and verifies that another property exists
15694
- *
15695
- * example:
15696
- * ExampleComponent.propTypes = {
15697
- * items: PropTypes.array,
15698
- * itemId: withRequiredProp(PropTypes.string, 'items', 'itemId is required to extract the ID from an item')
15699
- * }
15700
- *
15701
- * this validator warns if ExampleComponent is passed an `items` prop but not `itemId`
15702
- */
15703
- export const withRequiredProp: (proptype: any, requiredPropName: string, messageDescription?: string | undefined) => (...args: any[]) => any;
15704
-
15705
- }
15706
- declare module '@elastic/eui/src/utils/prop_types' {
15707
- export const EuiPropTypes: {
15708
- is: <T>(expectedValue: any) => {
15709
- (props: T, propName: keyof T, componentName: string): Error | null;
15710
- isRequired(props: T, propName: keyof T, componentName: string): Error | null;
15711
- };
15712
- withRequiredProp: (proptype: any, requiredPropName: string, messageDescription?: string | undefined) => (...args: any[]) => any;
15713
- };
15714
-
15715
- }
15716
- declare module '@elastic/eui/src/utils/is_jest' {
15717
- export const IS_JEST_ENVIRONMENT: boolean;
15718
-
15719
- }
15720
- declare module '@elastic/eui/src/utils/type_guards' {
15721
- export const isDOMNode: (el: any) => el is Node;
15722
-
15723
- }
15724
- declare module '@elastic/eui/src/utils' {
15725
- export * from '@elastic/eui/src/utils/prop_types';
15726
- export * from '@elastic/eui/src/utils/is_jest';
15727
- export * from '@elastic/eui/src/utils/type_guards';
15728
-
15729
15733
  }
15730
15734
  declare module '@elastic/eui/src/components/datagrid/body/cell/data_grid_cell_actions' {
15731
15735
  import React, { Ref } from 'react';
@@ -16572,6 +16576,7 @@ declare module '@elastic/eui/src/components/date_picker/date_picker.styles' {
16572
16576
  disabled: import("@emotion/utils").SerializedStyles;
16573
16577
  readOnly: import("@emotion/utils").SerializedStyles;
16574
16578
  };
16579
+ inGroup: import("@emotion/utils").SerializedStyles;
16575
16580
  };
16576
16581
 
16577
16582
  }
@@ -16580,6 +16585,7 @@ declare module '@elastic/eui/src/components/date_picker/date_picker' {
16580
16585
  import type { Moment } from 'moment';
16581
16586
  import { CommonProps } from '@elastic/eui/src/components/common';
16582
16587
  import { PopoverAnchorPosition } from '@elastic/eui/src/components/popover';
16588
+ import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form';
16583
16589
  import { EuiFormControlLayoutIconsProps } from '@elastic/eui/src/components/form/form_control_layout/form_control_layout_icons';
16584
16590
  import { ReactDatePickerProps } from '@elastic/eui/src/components/date_picker/react-datepicker';
16585
16591
  export const euiDatePickerDefaultDateFormat = "MM/DD/YYYY";
@@ -16644,9 +16650,25 @@ declare module '@elastic/eui/src/components/date_picker/date_picker' {
16644
16650
  * **Use [EuiPopover](/#/layout/popover) values**: 'upCenter', 'upLeft', 'upRight', downCenter', 'downLeft', 'downRight', 'leftCenter', 'leftUp', 'leftDown', 'rightCenter', 'rightUp', 'rightDown'.
16645
16651
  */
16646
16652
  popoverPlacement?: PopoverAnchorPosition;
16653
+ /**
16654
+ * Creates an input group with element(s) coming before the input.
16655
+ * `string` | `ReactElement` or an array of these
16656
+ *
16657
+ * Ignored if `inline` or `controlOnly` are true.
16658
+ */
16659
+ append?: EuiFormControlLayoutProps['append'];
16660
+ /**
16661
+ * Creates an input group with element(s) coming before the input.
16662
+ * `string` | `ReactElement` or an array of these
16663
+ *
16664
+ * Ignored if `inline` or `controlOnly` are true.
16665
+ */
16666
+ prepend?: EuiFormControlLayoutProps['prepend'];
16647
16667
  /**
16648
16668
  * Completely removes form control layout wrapper and ignores
16649
- * iconType. Best used inside EuiFormControlLayoutDelimited.
16669
+ * `iconType`, `prepend`, and `append`.
16670
+ *
16671
+ * Best used inside EuiFormControlLayoutDelimited.
16650
16672
  */
16651
16673
  controlOnly?: boolean;
16652
16674
  }
@@ -19882,21 +19904,48 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_lin
19882
19904
  value: string;
19883
19905
  }>;
19884
19906
  }
19885
- export interface EuiMarkdownLinkValidatorOptions {
19907
+ export type EuiMarkdownLinkValidatorOptions = {
19908
+ /**
19909
+ * Allow or disallow relative links (links that begin with a `/`)
19910
+ * @default true
19911
+ */
19912
+ allowRelative?: boolean;
19913
+ /**
19914
+ * Allow or disallow specific [URL protocols or schemes](https://developer.mozilla.org/en-US/docs/Web/URI/Schemes)
19915
+ * @default ['https:', 'http:', 'mailto:']
19916
+ */
19917
+ allowProtocols?: string[];
19918
+ };
19919
+ export const DEFAULT_OPTIONS: {
19886
19920
  allowRelative: boolean;
19887
19921
  allowProtocols: string[];
19888
- }
19922
+ };
19889
19923
  export function euiMarkdownLinkValidator(options: EuiMarkdownLinkValidatorOptions): (ast: any) => void;
19890
19924
  export function mutateLinkToText(node: LinkOrTextNode): LinkOrTextNode;
19891
- export function validateUrl(url: string, { allowRelative, allowProtocols }: EuiMarkdownLinkValidatorOptions): boolean;
19925
+ export function validateUrl(url: string, { allowRelative, allowProtocols, }: EuiMarkdownLinkValidatorOptions): boolean;
19892
19926
  export {};
19893
19927
 
19894
19928
  }
19895
19929
  declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins' {
19896
19930
  import { PluggableList } from 'unified';
19931
+ import { EuiMarkdownLinkValidatorOptions } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_link_validator';
19897
19932
  import type { DefaultPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins';
19898
19933
  export type DefaultEuiMarkdownParsingPlugins = PluggableList;
19899
- export const getDefaultEuiMarkdownParsingPlugins: ({ exclude, }?: DefaultPluginsConfig) => DefaultEuiMarkdownParsingPlugins;
19934
+ export type DefaultParsingPluginsConfig = {
19935
+ /**
19936
+ * Allows enabling emoji rendering for emoticons such as :) and :(
19937
+ * @default { emoticon: false }
19938
+ */
19939
+ emoji?: {
19940
+ emoticon?: boolean;
19941
+ };
19942
+ /**
19943
+ * Allows configuring the `allowRelative` and `allowProtocols` of
19944
+ * #EuiMarkdownLinkValidatorOptions
19945
+ */
19946
+ linkValidator?: EuiMarkdownLinkValidatorOptions;
19947
+ };
19948
+ export const getDefaultEuiMarkdownParsingPlugins: ({ exclude, ...parsingConfig }?: DefaultPluginsConfig & DefaultParsingPluginsConfig) => DefaultEuiMarkdownParsingPlugins;
19900
19949
  export const defaultParsingPlugins: DefaultEuiMarkdownParsingPlugins;
19901
19950
 
19902
19951
  }
@@ -19905,6 +19954,7 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_def
19905
19954
  import { Plugin, PluggableList, Pluggable, Settings } from 'unified';
19906
19955
  import { Options as Remark2RehypeOptions } from 'mdast-util-to-hast';
19907
19956
  import rehype2react from 'rehype-react';
19957
+ import { EuiLinkProps } from '@elastic/eui/src/components/link';
19908
19958
  import type { DefaultPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins';
19909
19959
  export interface Rehype2ReactOptions {
19910
19960
  components: {
@@ -19923,19 +19973,31 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_def
19923
19973
  ],
19924
19974
  ...PluggableList
19925
19975
  ];
19926
- export const getDefaultEuiMarkdownProcessingPlugins: ({ exclude, }?: DefaultPluginsConfig) => [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
19976
+ export type DefaultProcessingPluginsConfig = {
19977
+ /**
19978
+ * Allows customizing all formatted links.
19979
+ * Accepts any prop that [EuiLink](/#/navigation/link) or any anchor link tag accepts.
19980
+ * Useful for, e.g. setting `target="_blank"` on all links
19981
+ */
19982
+ linkProps?: Partial<EuiLinkProps>;
19983
+ };
19984
+ export const getDefaultEuiMarkdownProcessingPlugins: ({ exclude, linkProps, }?: DefaultPluginsConfig & DefaultProcessingPluginsConfig) => [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
19927
19985
  export const defaultProcessingPlugins: [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
19928
19986
 
19929
19987
  }
19930
19988
  declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins' {
19931
19989
  import { DefaultEuiMarkdownUiPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins';
19932
- import { DefaultEuiMarkdownParsingPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins';
19933
- import { DefaultEuiMarkdownProcessingPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins';
19990
+ import { DefaultEuiMarkdownParsingPlugins, type DefaultParsingPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins';
19991
+ import { DefaultEuiMarkdownProcessingPlugins, type DefaultProcessingPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins';
19934
19992
  export type ExcludableDefaultPlugins = 'emoji' | 'lineBreaks' | 'linkValidator' | 'checkbox' | 'tooltip';
19935
19993
  export type DefaultPluginsConfig = undefined | {
19936
19994
  exclude?: ExcludableDefaultPlugins[];
19937
19995
  };
19938
- export const getDefaultEuiMarkdownPlugins: (config?: DefaultPluginsConfig) => {
19996
+ export const getDefaultEuiMarkdownPlugins: (config?: DefaultPluginsConfig & {
19997
+ processingConfig?: DefaultProcessingPluginsConfig;
19998
+ parsingConfig?: DefaultParsingPluginsConfig;
19999
+ uiConfig?: {};
20000
+ }) => {
19939
20001
  parsingPlugins: DefaultEuiMarkdownParsingPlugins;
19940
20002
  processingPlugins: DefaultEuiMarkdownProcessingPlugins;
19941
20003
  uiPlugins: DefaultEuiMarkdownUiPlugins;
@@ -22614,6 +22676,7 @@ declare module '@elastic/eui/src/components/selectable' {
22614
22676
  }
22615
22677
  declare module '@elastic/eui/src/components/search_bar/filters/field_value_selection_filter' {
22616
22678
  import React, { Component, ReactNode } from 'react';
22679
+ import { EuiSelectable } from '@elastic/eui/src/components/selectable';
22617
22680
  import { EuiSelectableOptionCheckedType } from '@elastic/eui/src/components/selectable/selectable_option';
22618
22681
  import { Query } from '@elastic/eui/src/components/search_bar/query';
22619
22682
  import { Clause, OperatorType, Value } from '@elastic/eui/src/components/search_bar/query/ast';
@@ -22640,6 +22703,7 @@ declare module '@elastic/eui/src/components/search_bar/filters/field_value_selec
22640
22703
  available?: () => boolean;
22641
22704
  autoClose?: boolean;
22642
22705
  operator?: OperatorType;
22706
+ autoSortOptions?: boolean;
22643
22707
  }
22644
22708
  export interface FieldValueSelectionFilterProps {
22645
22709
  index: number;
@@ -22651,25 +22715,28 @@ declare module '@elastic/eui/src/components/search_bar/filters/field_value_selec
22651
22715
  popoverOpen: boolean;
22652
22716
  error: string | null;
22653
22717
  options: {
22654
- all: FieldValueOptionType[];
22655
- shown: FieldValueOptionType[];
22718
+ unsorted: FieldValueOptionType[];
22719
+ sorted: FieldValueOptionType[];
22656
22720
  } | null;
22657
22721
  cachedOptions?: FieldValueOptionType[] | null;
22658
- activeItems: FieldValueOptionType[];
22722
+ activeItemsCount: number;
22723
+ lastCheckedValue?: Value;
22659
22724
  }
22660
22725
  export class FieldValueSelectionFilter extends Component<FieldValueSelectionFilterProps, State> {
22726
+ selectableClassRef: React.RefObject<EuiSelectable<{}>>;
22727
+ cacheTimeout: ReturnType<typeof setTimeout> | undefined;
22661
22728
  constructor(props: FieldValueSelectionFilterProps);
22662
22729
  closePopover(): void;
22663
22730
  onButtonClick(): void;
22664
- loadOptions(): void;
22665
- filterOptions(q?: string): void;
22666
- getOptionFilter(): OptionsFilter;
22667
- resolveOptionsLoader: () => OptionsLoader;
22731
+ loadOptions: () => Promise<void>;
22732
+ scrollToAutoSortedOption: () => void;
22668
22733
  resolveOptionName(option: FieldValueOptionType): string;
22669
22734
  onOptionClick(field: string, value: Value, checked?: Omit<EuiSelectableOptionCheckedType, 'mixed'>): void;
22670
- resolveMultiSelect(): MultiSelect;
22735
+ get autoSortOptions(): boolean;
22736
+ get multiSelect(): MultiSelect;
22671
22737
  componentDidMount(): void;
22672
22738
  componentDidUpdate(prevProps: FieldValueSelectionFilterProps): void;
22739
+ componentWillUnmount(): void;
22673
22740
  render(): React.JSX.Element;
22674
22741
  resolveChecked(clause: Clause | undefined): 'on' | 'off' | undefined;
22675
22742
  isActiveField(field: string | undefined): boolean;
@@ -30483,12 +30550,14 @@ declare module '@elastic/eui' {
30483
30550
  "euiDataGridCellActions.expandButtonTitle": any;
30484
30551
  "euiDataGridCell.position": any;
30485
30552
  "euiDataGridCell.expansionEnterPrompt": any;
30553
+ "euiDataGridCell.focusTrapExitPrompt": any;
30486
30554
  "euiDataGridCell.focusTrapEnterPrompt": any;
30487
30555
  "euiColumnActions.hideColumn": any;
30488
30556
  "euiColumnActions.moveLeft": any;
30489
30557
  "euiColumnActions.moveRight": any;
30490
30558
  "euiColumnActions.sort": any;
30491
- "euiDataGridHeaderCell.headerActions": any;
30559
+ "euiDataGridHeaderCell.actionsButtonAriaLabel": any;
30560
+ "euiDataGridHeaderCell.actionsEnterKeyInstructions": any;
30492
30561
  "euiDataGridHeaderCell.sortedByAscendingSingle": any;
30493
30562
  "euiDataGridHeaderCell.sortedByDescendingSingle": any;
30494
30563
  "euiDataGridHeaderCell.sortedByAscendingFirst": any;
package/i18ntokens.json CHANGED
@@ -1061,20 +1061,38 @@
1061
1061
  },
1062
1062
  "filepath": "src/components/datagrid/body/cell/data_grid_cell.tsx"
1063
1063
  },
1064
+ {
1065
+ "token": "euiDataGridCell.focusTrapExitPrompt",
1066
+ "defString": "Exited cell content.",
1067
+ "highlighting": "string",
1068
+ "loc": {
1069
+ "start": {
1070
+ "line": 187,
1071
+ "column": 12,
1072
+ "index": 6538
1073
+ },
1074
+ "end": {
1075
+ "line": 191,
1076
+ "column": 14,
1077
+ "index": 6717
1078
+ }
1079
+ },
1080
+ "filepath": "src/components/datagrid/body/cell/focus_utils.tsx"
1081
+ },
1064
1082
  {
1065
1083
  "token": "euiDataGridCell.focusTrapEnterPrompt",
1066
1084
  "defString": "Press the Enter key to interact with this cell's contents.",
1067
1085
  "highlighting": "string",
1068
1086
  "loc": {
1069
1087
  "start": {
1070
- "line": 129,
1071
- "column": 10,
1072
- "index": 4308
1088
+ "line": 198,
1089
+ "column": 12,
1090
+ "index": 6899
1073
1091
  },
1074
1092
  "end": {
1075
- "line": 133,
1076
- "column": 12,
1077
- "index": 4518
1093
+ "line": 202,
1094
+ "column": 14,
1095
+ "index": 7117
1078
1096
  }
1079
1097
  },
1080
1098
  "filepath": "src/components/datagrid/body/cell/focus_utils.tsx"
@@ -1170,19 +1188,37 @@
1170
1188
  "filepath": "src/components/datagrid/body/header/column_actions.tsx"
1171
1189
  },
1172
1190
  {
1173
- "token": "euiDataGridHeaderCell.headerActions",
1174
- "defString": "Click to view column header actions",
1191
+ "token": "euiDataGridHeaderCell.actionsButtonAriaLabel",
1192
+ "defString": "{title}. Click to view column header actions.",
1175
1193
  "highlighting": "string",
1176
1194
  "loc": {
1177
1195
  "start": {
1178
- "line": 227,
1179
- "column": 16,
1180
- "index": 7525
1196
+ "line": 125,
1197
+ "column": 37,
1198
+ "index": 3889
1181
1199
  },
1182
1200
  "end": {
1183
- "line": 230,
1184
- "column": 18,
1185
- "index": 7678
1201
+ "line": 129,
1202
+ "column": 7,
1203
+ "index": 4039
1204
+ }
1205
+ },
1206
+ "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
1207
+ },
1208
+ {
1209
+ "token": "euiDataGridHeaderCell.actionsEnterKeyInstructions",
1210
+ "defString": "Press the Enter key to view this column's actions",
1211
+ "highlighting": "string",
1212
+ "loc": {
1213
+ "start": {
1214
+ "line": 130,
1215
+ "column": 42,
1216
+ "index": 4083
1217
+ },
1218
+ "end": {
1219
+ "line": 133,
1220
+ "column": 7,
1221
+ "index": 4223
1186
1222
  }
1187
1223
  },
1188
1224
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1193,14 +1229,14 @@
1193
1229
  "highlighting": "string",
1194
1230
  "loc": {
1195
1231
  "start": {
1196
- "line": 298,
1232
+ "line": 306,
1197
1233
  "column": 16,
1198
- "index": 9695
1234
+ "index": 9972
1199
1235
  },
1200
1236
  "end": {
1201
- "line": 302,
1237
+ "line": 310,
1202
1238
  "column": 18,
1203
- "index": 9869
1239
+ "index": 10146
1204
1240
  }
1205
1241
  },
1206
1242
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1211,14 +1247,14 @@
1211
1247
  "highlighting": "string",
1212
1248
  "loc": {
1213
1249
  "start": {
1214
- "line": 306,
1250
+ "line": 314,
1215
1251
  "column": 16,
1216
- "index": 9947
1252
+ "index": 10224
1217
1253
  },
1218
1254
  "end": {
1219
- "line": 310,
1255
+ "line": 318,
1220
1256
  "column": 18,
1221
- "index": 10123
1257
+ "index": 10400
1222
1258
  }
1223
1259
  },
1224
1260
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1229,14 +1265,14 @@
1229
1265
  "highlighting": "string",
1230
1266
  "loc": {
1231
1267
  "start": {
1232
- "line": 316,
1268
+ "line": 324,
1233
1269
  "column": 16,
1234
- "index": 10269
1270
+ "index": 10546
1235
1271
  },
1236
1272
  "end": {
1237
- "line": 321,
1273
+ "line": 329,
1238
1274
  "column": 18,
1239
- "index": 10497
1275
+ "index": 10774
1240
1276
  }
1241
1277
  },
1242
1278
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1247,14 +1283,14 @@
1247
1283
  "highlighting": "string",
1248
1284
  "loc": {
1249
1285
  "start": {
1250
- "line": 325,
1286
+ "line": 333,
1251
1287
  "column": 16,
1252
- "index": 10575
1288
+ "index": 10852
1253
1289
  },
1254
1290
  "end": {
1255
- "line": 330,
1291
+ "line": 338,
1256
1292
  "column": 18,
1257
- "index": 10805
1293
+ "index": 11082
1258
1294
  }
1259
1295
  },
1260
1296
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1265,14 +1301,14 @@
1265
1301
  "highlighting": "string",
1266
1302
  "loc": {
1267
1303
  "start": {
1268
- "line": 336,
1304
+ "line": 344,
1269
1305
  "column": 16,
1270
- "index": 10934
1306
+ "index": 11211
1271
1307
  },
1272
1308
  "end": {
1273
- "line": 341,
1309
+ "line": 349,
1274
1310
  "column": 18,
1275
- "index": 11172
1311
+ "index": 11449
1276
1312
  }
1277
1313
  },
1278
1314
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1283,14 +1319,14 @@
1283
1319
  "highlighting": "string",
1284
1320
  "loc": {
1285
1321
  "start": {
1286
- "line": 345,
1322
+ "line": 353,
1287
1323
  "column": 16,
1288
- "index": 11250
1324
+ "index": 11527
1289
1325
  },
1290
1326
  "end": {
1291
- "line": 350,
1327
+ "line": 358,
1292
1328
  "column": 18,
1293
- "index": 11490
1329
+ "index": 11767
1294
1330
  }
1295
1331
  },
1296
1332
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -1301,14 +1337,14 @@
1301
1337
  "highlighting": "string",
1302
1338
  "loc": {
1303
1339
  "start": {
1304
- "line": 415,
1340
+ "line": 423,
1305
1341
  "column": 6,
1306
- "index": 13336
1342
+ "index": 13613
1307
1343
  },
1308
1344
  "end": {
1309
- "line": 418,
1345
+ "line": 426,
1310
1346
  "column": 8,
1311
- "index": 13529
1347
+ "index": 13806
1312
1348
  }
1313
1349
  },
1314
1350
  "filepath": "src/components/datagrid/body/header/data_grid_header_cell.tsx"
@@ -953,7 +953,8 @@ EuiInMemoryTable.propTypes = {
953
953
  searchThreshold: _propTypes.default.number,
954
954
  available: _propTypes.default.func,
955
955
  autoClose: _propTypes.default.bool,
956
- operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
956
+ operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"]),
957
+ autoSortOptions: _propTypes.default.bool
957
958
  }).isRequired, _propTypes.default.shape({
958
959
  type: _propTypes.default.oneOf(["field_value_toggle"]).isRequired,
959
960
  field: _propTypes.default.string.isRequired,
@@ -130,6 +130,7 @@ EuiDataGridCellContent.propTypes = {
130
130
  * This can be used to display a readable column name in column hiding/sorting, where `display` won't be used.
131
131
  * This will also be used as a `title` attribute that will display on mouseover (useful if the display text is being truncated by the column width).
132
132
  * If not passed, `id` will be shown as the column name.
133
+ * Passing this together with `display` is useful to ensure an accessible label is added to the column.
133
134
  */
134
135
  displayAsText: _propTypes.default.string,
135
136
  /**
@@ -1020,6 +1021,7 @@ EuiDataGridCell.propTypes = {
1020
1021
  * This can be used to display a readable column name in column hiding/sorting, where `display` won't be used.
1021
1022
  * This will also be used as a `title` attribute that will display on mouseover (useful if the display text is being truncated by the column width).
1022
1023
  * If not passed, `id` will be shown as the column name.
1024
+ * Passing this together with `display` is useful to ensure an accessible label is added to the column.
1023
1025
  */
1024
1026
  displayAsText: _propTypes.default.string,
1025
1027
  /**