@elastic/eui 76.0.0 → 76.1.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 (66) hide show
  1. package/dist/eui_theme_dark.css +4 -0
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +4 -0
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
  6. package/es/components/datagrid/body/data_grid_cell.js +6 -3
  7. package/es/components/datagrid/body/data_grid_cell_popover.js +32 -12
  8. package/es/components/date_picker/auto_refresh/auto_refresh.js +2 -1
  9. package/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  10. package/es/components/form/range/dual_range.js +14 -7
  11. package/es/components/form/range/range.js +10 -3
  12. package/es/components/form/super_select/super_select.js +21 -18
  13. package/es/components/form/super_select/super_select_control.js +7 -14
  14. package/es/components/selectable/selectable.js +59 -36
  15. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  16. package/es/components/suggest/suggest.js +3 -10
  17. package/eui.d.ts +27 -12
  18. package/i18ntokens.json +81 -49
  19. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
  20. package/lib/components/datagrid/body/data_grid_cell.js +6 -3
  21. package/lib/components/datagrid/body/data_grid_cell_popover.js +35 -12
  22. package/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -1
  23. package/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  24. package/lib/components/form/range/dual_range.js +14 -7
  25. package/lib/components/form/range/range.js +10 -3
  26. package/lib/components/form/super_select/super_select.js +21 -18
  27. package/lib/components/form/super_select/super_select_control.js +7 -16
  28. package/lib/components/selectable/selectable.js +59 -36
  29. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  30. package/lib/components/suggest/suggest.js +3 -12
  31. package/optimize/es/components/datagrid/body/data_grid_cell.js +4 -2
  32. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +30 -12
  33. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +2 -1
  34. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  35. package/optimize/es/components/form/range/dual_range.js +14 -7
  36. package/optimize/es/components/form/range/range.js +10 -3
  37. package/optimize/es/components/form/super_select/super_select.js +16 -12
  38. package/optimize/es/components/form/super_select/super_select_control.js +7 -14
  39. package/optimize/es/components/selectable/selectable.js +50 -34
  40. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  41. package/optimize/es/components/suggest/suggest.js +3 -10
  42. package/optimize/lib/components/datagrid/body/data_grid_cell.js +4 -2
  43. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +33 -19
  44. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +2 -1
  45. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  46. package/optimize/lib/components/form/range/dual_range.js +14 -7
  47. package/optimize/lib/components/form/range/range.js +10 -3
  48. package/optimize/lib/components/form/super_select/super_select.js +16 -11
  49. package/optimize/lib/components/form/super_select/super_select_control.js +7 -16
  50. package/optimize/lib/components/selectable/selectable.js +50 -35
  51. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  52. package/optimize/lib/components/suggest/suggest.js +3 -12
  53. package/package.json +1 -1
  54. package/src/components/form/super_select/_super_select_control.scss +4 -0
  55. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +5 -6
  56. package/test-env/components/datagrid/body/data_grid_cell.js +6 -3
  57. package/test-env/components/datagrid/body/data_grid_cell_popover.js +33 -19
  58. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +2 -1
  59. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +1 -1
  60. package/test-env/components/form/range/dual_range.js +14 -7
  61. package/test-env/components/form/range/range.js +10 -3
  62. package/test-env/components/form/super_select/super_select.js +21 -17
  63. package/test-env/components/form/super_select/super_select_control.js +7 -16
  64. package/test-env/components/selectable/selectable.js +58 -36
  65. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  66. package/test-env/components/suggest/suggest.js +3 -12
@@ -32,8 +32,6 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
32
32
  import React, { useState, useCallback } from 'react';
33
33
  import PropTypes from "prop-types";
34
34
  import classNames from 'classnames';
35
- import { useGeneratedHtmlId } from '../../services';
36
- import { EuiScreenReaderOnly } from '../accessibility';
37
35
  import { EuiIcon } from '../icon';
38
36
  import { useEuiI18n } from '../i18n';
39
37
  import { EuiInputPopover } from '../popover';
@@ -128,14 +126,11 @@ export var EuiSuggest = function EuiSuggest(_ref) {
128
126
  var searchOnChange = function searchOnChange(value) {
129
127
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value);
130
128
  };
131
-
132
- var inputDescribedbyId = useGeneratedHtmlId({
133
- prefix: id
134
- });
135
129
  /**
136
130
  * Status
137
131
  */
138
132
 
133
+
139
134
  var icon = '';
140
135
  var color = '';
141
136
 
@@ -226,6 +221,7 @@ export var EuiSuggest = function EuiSuggest(_ref) {
226
221
  }
227
222
  }, [onItemClick, suggestions]);
228
223
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiSelectable, {
224
+ selectableScreenReaderText: stateMessage,
229
225
  singleSelection: true,
230
226
  height: isVirtualized ? undefined : 'full',
231
227
  options: suggestionList,
@@ -250,7 +246,6 @@ export var EuiSuggest = function EuiSuggest(_ref) {
250
246
  onBlur: searchOnBlur,
251
247
  onInput: searchOnInput,
252
248
  onChange: searchOnChange,
253
- 'aria-describedby': inputDescribedbyId,
254
249
  'aria-label': ariaLabel,
255
250
  'aria-labelledby': labelId
256
251
  }, rest)
@@ -274,9 +269,7 @@ export var EuiSuggest = function EuiSuggest(_ref) {
274
269
  },
275
270
  className: "eui-yScroll"
276
271
  }, list));
277
- }), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
278
- id: inputDescribedbyId
279
- }, stateMessage)));
272
+ }));
280
273
  };
281
274
  EuiSuggest.propTypes = {
282
275
  className: PropTypes.string,
package/eui.d.ts CHANGED
@@ -5752,7 +5752,7 @@ declare module '@elastic/eui/src/components/form/super_select/super_select_contr
5752
5752
  disabled?: boolean;
5753
5753
  'data-test-subj'?: string;
5754
5754
  }
5755
- export interface EuiSuperSelectControlProps<T> extends CommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
5755
+ export interface EuiSuperSelectControlProps<T> extends CommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'placeholder'> {
5756
5756
  /**
5757
5757
  * @default false
5758
5758
  */
@@ -5773,6 +5773,7 @@ declare module '@elastic/eui/src/components/form/super_select/super_select_contr
5773
5773
  isLoading?: boolean;
5774
5774
  readOnly?: boolean;
5775
5775
  name?: string;
5776
+ placeholder?: ReactNode;
5776
5777
  value?: T;
5777
5778
  options?: Array<EuiSuperSelectOption<T>>;
5778
5779
  /**
@@ -5785,11 +5786,6 @@ declare module '@elastic/eui/src/components/form/super_select/super_select_contr
5785
5786
  * `string` | `ReactElement` or an array of these
5786
5787
  */
5787
5788
  append?: EuiFormControlLayoutProps['append'];
5788
- /**
5789
- * Creates a semantic label ID for the `div[role="listbox"]` that's opened on click or keypress.
5790
- * __Generated and passed down by `EuiSuperSelect`.__
5791
- */
5792
- screenReaderId?: string;
5793
5789
  }
5794
5790
  export const EuiSuperSelectControl: <T extends string>(props: EuiSuperSelectControlProps<T>) => ReturnType<FunctionComponent<EuiSuperSelectControlProps<T>>>;
5795
5791
 
@@ -6270,7 +6266,7 @@ declare module '@elastic/eui/src/components/context_menu' {
6270
6266
 
6271
6267
  }
6272
6268
  declare module '@elastic/eui/src/components/form/super_select/super_select' {
6273
- import React, { Component, FocusEvent } from 'react';
6269
+ import React, { Component, FocusEvent, ReactNode } from 'react';
6274
6270
  import { CommonProps } from '@elastic/eui/src/components/common';
6275
6271
  import { EuiSuperSelectControlProps, EuiSuperSelectOption } from '@elastic/eui/src/components/form/super_select/super_select_control';
6276
6272
  import { EuiPopoverProps } from '@elastic/eui/src/components/popover';
@@ -6287,6 +6283,10 @@ declare module '@elastic/eui/src/components/form/super_select/super_select' {
6287
6283
  */
6288
6284
  options: Array<EuiSuperSelectOption<T>>;
6289
6285
  valueOfSelected?: T;
6286
+ /**
6287
+ * Placeholder to display when the current selected value is empty.
6288
+ */
6289
+ placeholder?: ReactNode;
6290
6290
  /**
6291
6291
  * Classes for the context menu item
6292
6292
  */
@@ -6332,7 +6332,6 @@ declare module '@elastic/eui/src/components/form/super_select/super_select' {
6332
6332
  private itemNodes;
6333
6333
  private _isMounted;
6334
6334
  describedById: string;
6335
- labelledById: string;
6336
6335
  state: {
6337
6336
  isPopoverOpen: boolean;
6338
6337
  };
@@ -11592,6 +11591,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
11592
11591
  import { RowHeightUtils } from '@elastic/eui/src/components/datagrid/utils/row_heights';
11593
11592
  import { IconType } from '@elastic/eui/src/components/icon';
11594
11593
  import { EuiTokenProps } from '@elastic/eui/src/components/token';
11594
+ import { EuiPopoverProps } from '@elastic/eui/src/components/popover';
11595
11595
  export type ImperativeGridApi = Omit<Grid, keyof Component>;
11596
11596
  export interface EuiDataGridToolbarProps {
11597
11597
  gridWidth: number;
@@ -11746,6 +11746,7 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
11746
11746
  closeCellPopover(): void;
11747
11747
  setPopoverAnchor(anchor: HTMLElement): void;
11748
11748
  setPopoverContent(content: ReactNode): void;
11749
+ setCellPopoverProps: EuiDataGridCellPopoverElementProps['setCellPopoverProps'];
11749
11750
  }
11750
11751
  export type CommonGridProps = CommonProps & HTMLAttributes<HTMLDivElement> & {
11751
11752
  /**
@@ -12011,6 +12012,11 @@ declare module '@elastic/eui/src/components/datagrid/data_grid_types' {
12011
12012
  * If so, that component is provided here as a passed React function component for your usage.
12012
12013
  */
12013
12014
  DefaultCellPopover: JSXElementConstructor<EuiDataGridCellPopoverElementProps>;
12015
+ /**
12016
+ * Allows passing props to the wrapping cell expansion popover and panel.
12017
+ * Accepts any props that `EuiPopover` accepts, except for `button` and `closePopover`.
12018
+ */
12019
+ setCellPopoverProps: (props: Omit<EuiPopoverProps, 'button' | 'closePopover'>) => void;
12014
12020
  }
12015
12021
  export interface EuiDataGridCellProps {
12016
12022
  rowIndex: number;
@@ -18331,7 +18337,7 @@ declare module '@elastic/eui/src/components/selectable/selectable_list' {
18331
18337
 
18332
18338
  }
18333
18339
  declare module '@elastic/eui/src/components/selectable/selectable' {
18334
- import React, { Component, HTMLAttributes, ReactNode, ReactElement, KeyboardEvent, MouseEvent } from 'react';
18340
+ import React, { Component, HTMLAttributes, ReactNode, ReactElement, KeyboardEvent, MouseEvent, FocusEvent } from 'react';
18335
18341
  import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
18336
18342
  import { EuiSelectableSearch } from '@elastic/eui/src/components/selectable/selectable_search';
18337
18343
  import { EuiSelectableMessage } from '@elastic/eui/src/components/selectable/selectable_message';
@@ -18434,6 +18440,12 @@ declare module '@elastic/eui/src/components/selectable/selectable' {
18434
18440
  * Default: false
18435
18441
  */
18436
18442
  isPreFiltered?: boolean;
18443
+ /**
18444
+ * Optional screen reader instructions to announce upon focus/interaction. This text is read out
18445
+ * after the `EuiSelectable` label and a brief pause, but before the default keyboard instructions for
18446
+ * interacting with a selectable are read out.
18447
+ */
18448
+ selectableScreenReaderText?: string;
18437
18449
  };
18438
18450
  export interface EuiSelectableState<T> {
18439
18451
  activeOptionIndex?: number;
@@ -18458,8 +18470,9 @@ declare module '@elastic/eui/src/components/selectable/selectable' {
18458
18470
  constructor(props: EuiSelectableProps<T>);
18459
18471
  static getDerivedStateFromProps<T>(nextProps: EuiSelectableProps<T>, prevState: EuiSelectableState<T>): Partial<EuiSelectableState<T>>;
18460
18472
  componentDidUpdate<T>(prevProps: EuiSelectableProps<T>, prevState: EuiSelectableState<T>): void;
18473
+ isFocusOnSearchOrListBox: (target: EventTarget | null) => boolean | undefined;
18461
18474
  onMouseDown: () => void;
18462
- onFocus: () => void;
18475
+ onFocus: (event?: React.FocusEvent<Element, Element> | undefined) => void;
18463
18476
  onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
18464
18477
  incrementActiveOptionIndex: (amount: number) => void;
18465
18478
  onSearchChange: (searchValue: string, visibleOptions: Array<EuiSelectableOption<T>>) => void;
@@ -26330,8 +26343,10 @@ declare module '@elastic/eui' {
26330
26343
  "euiFilePicker.removeSelected": any;
26331
26344
  "euiFormControlLayoutClearButton.label": any;
26332
26345
  "euiForm.addressFormErrors": any;
26333
- "euiSuperSelectControl.selectAnOption": any;
26346
+ "euiDualRange.sliderScreenReaderInstructions": any;
26347
+ "euiRange.sliderScreenReaderInstructions": any;
26334
26348
  "euiSuperSelect.screenReaderAnnouncement": any;
26349
+ "euiSuperSelect.ariaLabel": any;
26335
26350
  "euiHeaderLinks.openNavigationMenu": any;
26336
26351
  "euiHeaderLinks.appNavigation": any;
26337
26352
  "euiImageButton.openFullScreen": any;
@@ -26405,9 +26420,9 @@ declare module '@elastic/eui' {
26405
26420
  "euiSelectable.loadingOptions": any;
26406
26421
  "euiSelectable.noMatchingOptions": any;
26407
26422
  "euiSelectable.noAvailableOptions": any;
26423
+ "euiSelectable.screenReaderInstructions": any;
26408
26424
  "euiSelectable.placeholderName": any;
26409
26425
  "euiSelectable.searchResults": any;
26410
- "euiSelectable.screenReaderInstructions": any;
26411
26426
  "euiSkeletonLoading.loadingAriaText": any;
26412
26427
  "euiSkeletonLoading.loadedAriaText": any;
26413
26428
  "euiStat.loadingText": any;
package/i18ntokens.json CHANGED
@@ -4288,20 +4288,36 @@
4288
4288
  "filepath": "src/components/form/form.tsx"
4289
4289
  },
4290
4290
  {
4291
- "token": "euiSuperSelectControl.selectAnOption",
4292
- "defString": "Select an option: {selectedValue}, is selected",
4291
+ "token": "euiDualRange.sliderScreenReaderInstructions",
4292
+ "defString": "You are in a custom range slider. Use the Up and Down arrow keys to change the minimum value. Press Tab to interact with the maximum value.",
4293
4293
  "highlighting": "string",
4294
4294
  "loc": {
4295
4295
  "start": {
4296
- "line": 166,
4297
- "column": 12
4296
+ "line": 571,
4297
+ "column": 6
4298
4298
  },
4299
4299
  "end": {
4300
- "line": 170,
4301
- "column": 14
4300
+ "line": 574,
4301
+ "column": 8
4302
4302
  }
4303
4303
  },
4304
- "filepath": "src/components/form/super_select/super_select_control.tsx"
4304
+ "filepath": "src/components/form/range/dual_range.tsx"
4305
+ },
4306
+ {
4307
+ "token": "euiRange.sliderScreenReaderInstructions",
4308
+ "defString": "You are in a custom range slider. Use the Up and Down arrow keys to change the value.",
4309
+ "highlighting": "string",
4310
+ "loc": {
4311
+ "start": {
4312
+ "line": 184,
4313
+ "column": 6
4314
+ },
4315
+ "end": {
4316
+ "line": 187,
4317
+ "column": 8
4318
+ }
4319
+ },
4320
+ "filepath": "src/components/form/range/range.tsx"
4305
4321
  },
4306
4322
  {
4307
4323
  "token": "euiSuperSelect.screenReaderAnnouncement",
@@ -4309,16 +4325,32 @@
4309
4325
  "highlighting": "string",
4310
4326
  "loc": {
4311
4327
  "start": {
4312
- "line": 339,
4328
+ "line": 344,
4313
4329
  "column": 12
4314
4330
  },
4315
4331
  "end": {
4316
- "line": 343,
4332
+ "line": 348,
4317
4333
  "column": 14
4318
4334
  }
4319
4335
  },
4320
4336
  "filepath": "src/components/form/super_select/super_select.tsx"
4321
4337
  },
4338
+ {
4339
+ "token": "euiSuperSelect.ariaLabel",
4340
+ "defString": "Select listbox",
4341
+ "highlighting": "string",
4342
+ "loc": {
4343
+ "start": {
4344
+ "line": 351,
4345
+ "column": 8
4346
+ },
4347
+ "end": {
4348
+ "line": 351,
4349
+ "column": 75
4350
+ }
4351
+ },
4352
+ "filepath": "src/components/form/super_select/super_select.tsx"
4353
+ },
4322
4354
  {
4323
4355
  "token": "euiHeaderLinks.openNavigationMenu",
4324
4356
  "defString": "Open menu",
@@ -5189,11 +5221,11 @@
5189
5221
  "highlighting": "string",
5190
5222
  "loc": {
5191
5223
  "start": {
5192
- "line": 688,
5224
+ "line": 689,
5193
5225
  "column": 16
5194
5226
  },
5195
5227
  "end": {
5196
- "line": 691,
5228
+ "line": 692,
5197
5229
  "column": 18
5198
5230
  }
5199
5231
  },
@@ -5445,11 +5477,11 @@
5445
5477
  "highlighting": "string",
5446
5478
  "loc": {
5447
5479
  "start": {
5448
- "line": 570,
5480
+ "line": 587,
5449
5481
  "column": 16
5450
5482
  },
5451
5483
  "end": {
5452
- "line": 573,
5484
+ "line": 590,
5453
5485
  "column": 18
5454
5486
  }
5455
5487
  },
@@ -5461,11 +5493,11 @@
5461
5493
  "highlighting": "string",
5462
5494
  "loc": {
5463
5495
  "start": {
5464
- "line": 592,
5496
+ "line": 609,
5465
5497
  "column": 14
5466
5498
  },
5467
5499
  "end": {
5468
- "line": 596,
5500
+ "line": 613,
5469
5501
  "column": 16
5470
5502
  }
5471
5503
  },
@@ -5477,60 +5509,60 @@
5477
5509
  "highlighting": "string",
5478
5510
  "loc": {
5479
5511
  "start": {
5480
- "line": 611,
5512
+ "line": 628,
5481
5513
  "column": 14
5482
5514
  },
5483
5515
  "end": {
5484
- "line": 614,
5516
+ "line": 631,
5485
5517
  "column": 16
5486
5518
  }
5487
5519
  },
5488
5520
  "filepath": "src/components/selectable/selectable.tsx"
5489
5521
  },
5490
5522
  {
5491
- "token": "euiSelectable.placeholderName",
5492
- "defString": "Filter options",
5523
+ "token": "euiSelectable.screenReaderInstructions",
5524
+ "defString": "Use the Up and Down arrow keys to move focus over options. Press Enter to select. Press Escape to collapse options.",
5493
5525
  "highlighting": "string",
5494
5526
  "loc": {
5495
5527
  "start": {
5496
- "line": 676,
5528
+ "line": 693,
5497
5529
  "column": 6
5498
5530
  },
5499
5531
  "end": {
5500
- "line": 676,
5501
- "column": 78
5532
+ "line": 702,
5533
+ "column": 7
5502
5534
  }
5503
5535
  },
5504
5536
  "filepath": "src/components/selectable/selectable.tsx"
5505
5537
  },
5506
5538
  {
5507
- "token": "euiSelectable.searchResults",
5508
- "defString": "({\n resultsLength\n}) => `${resultsLength} result${resultsLength === 1 ? '' : 's'} available`;",
5509
- "highlighting": "code",
5539
+ "token": "euiSelectable.placeholderName",
5540
+ "defString": "Filter options",
5541
+ "highlighting": "string",
5510
5542
  "loc": {
5511
5543
  "start": {
5512
- "line": 703,
5544
+ "line": 693,
5513
5545
  "column": 6
5514
5546
  },
5515
5547
  "end": {
5516
- "line": 709,
5517
- "column": 8
5548
+ "line": 702,
5549
+ "column": 7
5518
5550
  }
5519
5551
  },
5520
5552
  "filepath": "src/components/selectable/selectable.tsx"
5521
5553
  },
5522
5554
  {
5523
- "token": "euiSelectable.screenReaderInstructions",
5524
- "defString": "Use up and down arrows to move focus over options. Enter to select. Escape to collapse options.",
5525
- "highlighting": "string",
5555
+ "token": "euiSelectable.searchResults",
5556
+ "defString": "({\n resultsLength\n}) => `${resultsLength} result${resultsLength === 1 ? '' : 's'} available`;",
5557
+ "highlighting": "code",
5526
5558
  "loc": {
5527
5559
  "start": {
5528
- "line": 721,
5560
+ "line": 738,
5529
5561
  "column": 6
5530
5562
  },
5531
5563
  "end": {
5532
- "line": 730,
5533
- "column": 7
5564
+ "line": 744,
5565
+ "column": 8
5534
5566
  }
5535
5567
  },
5536
5568
  "filepath": "src/components/selectable/selectable.tsx"
@@ -5541,12 +5573,12 @@
5541
5573
  "highlighting": "string",
5542
5574
  "loc": {
5543
5575
  "start": {
5544
- "line": 721,
5576
+ "line": 756,
5545
5577
  "column": 6
5546
5578
  },
5547
5579
  "end": {
5548
- "line": 730,
5549
- "column": 7
5580
+ "line": 756,
5581
+ "column": 78
5550
5582
  }
5551
5583
  },
5552
5584
  "filepath": "src/components/selectable/selectable.tsx"
@@ -5861,11 +5893,11 @@
5861
5893
  "highlighting": "string",
5862
5894
  "loc": {
5863
5895
  "start": {
5864
- "line": 201,
5896
+ "line": 197,
5865
5897
  "column": 39
5866
5898
  },
5867
5899
  "end": {
5868
- "line": 204,
5900
+ "line": 200,
5869
5901
  "column": 3
5870
5902
  }
5871
5903
  },
@@ -5877,11 +5909,11 @@
5877
5909
  "highlighting": "string",
5878
5910
  "loc": {
5879
5911
  "start": {
5880
- "line": 201,
5912
+ "line": 197,
5881
5913
  "column": 39
5882
5914
  },
5883
5915
  "end": {
5884
- "line": 204,
5916
+ "line": 200,
5885
5917
  "column": 3
5886
5918
  }
5887
5919
  },
@@ -5893,11 +5925,11 @@
5893
5925
  "highlighting": "string",
5894
5926
  "loc": {
5895
5927
  "start": {
5896
- "line": 227,
5928
+ "line": 223,
5897
5929
  "column": 67
5898
5930
  },
5899
5931
  "end": {
5900
- "line": 235,
5932
+ "line": 231,
5901
5933
  "column": 3
5902
5934
  }
5903
5935
  },
@@ -5909,11 +5941,11 @@
5909
5941
  "highlighting": "string",
5910
5942
  "loc": {
5911
5943
  "start": {
5912
- "line": 227,
5944
+ "line": 223,
5913
5945
  "column": 67
5914
5946
  },
5915
5947
  "end": {
5916
- "line": 235,
5948
+ "line": 231,
5917
5949
  "column": 3
5918
5950
  }
5919
5951
  },
@@ -5925,11 +5957,11 @@
5925
5957
  "highlighting": "string",
5926
5958
  "loc": {
5927
5959
  "start": {
5928
- "line": 227,
5960
+ "line": 223,
5929
5961
  "column": 67
5930
5962
  },
5931
5963
  "end": {
5932
- "line": 235,
5964
+ "line": 231,
5933
5965
  "column": 3
5934
5966
  }
5935
5967
  },
@@ -5941,11 +5973,11 @@
5941
5973
  "highlighting": "string",
5942
5974
  "loc": {
5943
5975
  "start": {
5944
- "line": 227,
5976
+ "line": 223,
5945
5977
  "column": 67
5946
5978
  },
5947
5979
  "end": {
5948
- "line": 235,
5980
+ "line": 231,
5949
5981
  "column": 3
5950
5982
  }
5951
5983
  },
@@ -132,6 +132,11 @@ EuiColorPalettePicker.propTypes = {
132
132
  readOnly: _propTypes.default.bool,
133
133
  name: _propTypes.default.string,
134
134
 
135
+ /**
136
+ * Placeholder to display when the current selected value is empty.
137
+ */
138
+ placeholder: _propTypes.default.node,
139
+
135
140
  /**
136
141
  * Creates an input group with element(s) coming before input.
137
142
  * `string` | `ReactElement` or an array of these
@@ -143,12 +148,6 @@ EuiColorPalettePicker.propTypes = {
143
148
  * `string` | `ReactElement` or an array of these
144
149
  */
145
150
  append: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.element.isRequired]).isRequired).isRequired]),
146
-
147
- /**
148
- * Creates a semantic label ID for the `div[role="listbox"]` that's opened on click or keypress.
149
- * __Generated and passed down by `EuiSuperSelect`.__
150
- */
151
- screenReaderId: _propTypes.default.string,
152
151
  valueOfSelected: _propTypes.default.any,
153
152
 
154
153
  /**
@@ -893,7 +893,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
893
893
  if (_this.isPopoverOpen()) {
894
894
  var _this$props$popoverCo2 = _this.props.popoverContext,
895
895
  setPopoverAnchor = _this$props$popoverCo2.setPopoverAnchor,
896
- setPopoverContent = _this$props$popoverCo2.setPopoverContent; // Set popover anchor
896
+ setPopoverContent = _this$props$popoverCo2.setPopoverContent,
897
+ setCellPopoverProps = _this$props$popoverCo2.setCellPopoverProps; // Set popover anchor
897
898
 
898
899
  var cellAnchorEl = _this.popoverAnchorRef.current;
899
900
  setPopoverAnchor(cellAnchorEl); // Set popover contents with cell content
@@ -919,7 +920,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
919
920
  cellActions: (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellPopoverActions, _extends({}, sharedProps, {
920
921
  column: column
921
922
  })),
922
- DefaultCellPopover: _data_grid_cell_popover.DefaultCellPopover
923
+ DefaultCellPopover: _data_grid_cell_popover.DefaultCellPopover,
924
+ setCellPopoverProps: setCellPopoverProps
923
925
  }), (0, _react2.jsx)(CellElement, _extends({}, sharedProps, {
924
926
  setCellProps: _this.setCellProps,
925
927
  isExpandable: true,
@@ -1632,7 +1634,8 @@ EuiDataGridCell.propTypes = {
1632
1634
  openCellPopover: _propTypes.default.func.isRequired,
1633
1635
  closeCellPopover: _propTypes.default.func.isRequired,
1634
1636
  setPopoverAnchor: _propTypes.default.func.isRequired,
1635
- setPopoverContent: _propTypes.default.func.isRequired
1637
+ setPopoverContent: _propTypes.default.func.isRequired,
1638
+ setCellPopoverProps: _propTypes.default.func.isRequired
1636
1639
  }).isRequired,
1637
1640
  renderCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]).isRequired,
1638
1641
  renderCellPopover: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]),
@@ -9,6 +9,8 @@ exports.useCellPopover = exports.JsonPopoverContent = exports.DefaultCellPopover
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
12
14
  var _services = require("../../../services");
13
15
 
14
16
  var _popover = require("../../popover");
@@ -19,10 +21,20 @@ var _code = require("../../code");
19
21
 
20
22
  var _react2 = require("@emotion/react");
21
23
 
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
22
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
27
 
24
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
29
 
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
+
36
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
+
26
38
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
39
 
28
40
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -44,11 +56,14 @@ var DataGridCellPopoverContext = /*#__PURE__*/(0, _react.createContext)({
44
56
  openCellPopover: function openCellPopover() {},
45
57
  closeCellPopover: function closeCellPopover() {},
46
58
  setPopoverAnchor: function setPopoverAnchor() {},
47
- setPopoverContent: function setPopoverContent() {}
59
+ setPopoverContent: function setPopoverContent() {},
60
+ setCellPopoverProps: function setCellPopoverProps() {}
48
61
  });
49
62
  exports.DataGridCellPopoverContext = DataGridCellPopoverContext;
50
63
 
51
64
  var useCellPopover = function useCellPopover() {
65
+ var _cellPopoverProps$pan;
66
+
52
67
  // Current open state & cell location are handled here
53
68
  var _useState = (0, _react.useState)(false),
54
69
  _useState2 = _slicedToArray(_useState, 2),
@@ -72,7 +87,13 @@ var useCellPopover = function useCellPopover() {
72
87
  var _useState7 = (0, _react.useState)(),
73
88
  _useState8 = _slicedToArray(_useState7, 2),
74
89
  popoverContent = _useState8[0],
75
- setPopoverContent = _useState8[1];
90
+ setPopoverContent = _useState8[1]; // Allow customization of most (not all) popover props by consumers
91
+
92
+
93
+ var _useState9 = (0, _react.useState)({}),
94
+ _useState10 = _slicedToArray(_useState9, 2),
95
+ cellPopoverProps = _useState10[0],
96
+ setCellPopoverProps = _useState10[1];
76
97
 
77
98
  var closeCellPopover = (0, _react.useCallback)(function () {
78
99
  return setPopoverIsOpen(false);
@@ -102,20 +123,20 @@ var useCellPopover = function useCellPopover() {
102
123
  openCellPopover: openCellPopover,
103
124
  cellLocation: cellLocation,
104
125
  setPopoverAnchor: setPopoverAnchor,
105
- setPopoverContent: setPopoverContent
126
+ setPopoverContent: setPopoverContent,
127
+ setCellPopoverProps: setCellPopoverProps
106
128
  }; // Note that this popover is rendered once at the top grid level, rather than one popover per cell
107
129
 
108
- var cellPopover = popoverIsOpen && popoverAnchor && (0, _react2.jsx)(_popover.EuiWrappingPopover, {
130
+ var cellPopover = popoverIsOpen && popoverAnchor && (0, _react2.jsx)(_popover.EuiWrappingPopover, _extends({
109
131
  isOpen: popoverIsOpen,
110
- button: popoverAnchor,
111
132
  display: "block",
112
133
  hasArrow: false,
113
- panelPaddingSize: "s",
114
- panelClassName: "euiDataGridRowCell__popover",
115
- panelProps: {
134
+ panelPaddingSize: "s"
135
+ }, cellPopoverProps, {
136
+ panelProps: _objectSpread({
116
137
  'data-test-subj': 'euiDataGridExpansionPopover'
117
- },
118
- closePopover: closeCellPopover,
138
+ }, cellPopoverProps.panelProps || {}),
139
+ panelClassName: (0, _classnames.default)('euiDataGridRowCell__popover', cellPopoverProps.panelClassName, (_cellPopoverProps$pan = cellPopoverProps.panelProps) === null || _cellPopoverProps$pan === void 0 ? void 0 : _cellPopoverProps$pan.className),
119
140
  onKeyDown: function onKeyDown(event) {
120
141
  if (event.key === _services.keys.F2 || event.key === _services.keys.ESCAPE) {
121
142
  event.preventDefault();
@@ -126,8 +147,10 @@ var useCellPopover = function useCellPopover() {
126
147
  return popoverAnchor.parentElement.focus();
127
148
  });
128
149
  }
129
- }
130
- }, popoverContent);
150
+ },
151
+ button: popoverAnchor,
152
+ closePopover: closeCellPopover
153
+ }), popoverContent);
131
154
  return {
132
155
  cellPopoverContext: cellPopoverContext,
133
156
  cellPopover: cellPopover
@@ -178,7 +178,8 @@ var EuiAutoRefreshButton = function EuiAutoRefreshButton(_ref2) {
178
178
  isOpen: isPopoverOpen,
179
179
  closePopover: function closePopover() {
180
180
  setIsPopoverOpen(false);
181
- }
181
+ },
182
+ popoverScreenReaderText: isPaused ? autoRefeshLabelOff : autoRefeshLabelOn
182
183
  }, (0, _react2.jsx)(_refresh_interval.EuiRefreshInterval, {
183
184
  onRefreshChange: onRefreshChange,
184
185
  isPaused: isPaused,
@@ -189,7 +189,7 @@ var EuiFormControlLayoutIcons = /*#__PURE__*/function (_Component) {
189
189
  return (0, _react2.jsx)(_icon.EuiIcon, {
190
190
  size: compressed ? 's' : 'm',
191
191
  color: "danger",
192
- type: "alert"
192
+ type: "warning"
193
193
  });
194
194
  }
195
195
  }]);