@elastic/eui 71.1.0 → 72.0.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 (132) hide show
  1. package/dist/eui_theme_dark.css +20 -28
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +20 -28
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  6. package/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  7. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  8. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +160 -173
  9. package/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  10. package/es/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  11. package/es/components/error_boundary/error_boundary.a11y.js +67 -0
  12. package/es/components/expression/expression.a11y.js +254 -0
  13. package/es/components/filter_group/filter_group.a11y.js +281 -0
  14. package/es/components/focus_trap/focus_trap.a11y.js +131 -0
  15. package/es/components/form/file_picker/file_picker.js +1 -0
  16. package/es/components/header/header.a11y.js +374 -0
  17. package/es/components/icon/icon_ML.a11y.js +33 -0
  18. package/es/components/icon/icon_apps.a11y.js +33 -0
  19. package/es/components/icon/icon_editor.a11y.js +33 -0
  20. package/es/components/icon/icon_elastic.a11y.js +33 -0
  21. package/es/components/icon/icon_glyphs.a11y.js +33 -0
  22. package/es/components/icon/icon_tokens.a11y.js +33 -0
  23. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  24. package/es/components/selectable/selectable.js +4 -3
  25. package/es/components/selectable/selectable_list/selectable_list.js +17 -5
  26. package/es/components/tabs/tab.js +7 -17
  27. package/es/components/tabs/tabbed_content/tabbed_content.js +0 -16
  28. package/es/components/tabs/tabs.js +7 -11
  29. package/es/components/tabs/tabs_context.js +13 -0
  30. package/eui.d.ts +41 -32
  31. package/i18ntokens.json +30 -14
  32. package/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  33. package/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  34. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  35. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +155 -168
  36. package/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  37. package/lib/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  38. package/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  39. package/lib/components/expression/expression.a11y.js +262 -0
  40. package/lib/components/filter_group/filter_group.a11y.js +287 -0
  41. package/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  42. package/lib/components/form/file_picker/file_picker.js +1 -0
  43. package/lib/components/header/header.a11y.js +385 -0
  44. package/lib/components/icon/icon_ML.a11y.js +40 -0
  45. package/lib/components/icon/icon_apps.a11y.js +40 -0
  46. package/lib/components/icon/icon_editor.a11y.js +40 -0
  47. package/lib/components/icon/icon_elastic.a11y.js +40 -0
  48. package/lib/components/icon/icon_glyphs.a11y.js +40 -0
  49. package/lib/components/icon/icon_tokens.a11y.js +40 -0
  50. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  51. package/lib/components/selectable/selectable.js +4 -3
  52. package/lib/components/selectable/selectable_list/selectable_list.js +17 -5
  53. package/lib/components/tabs/tab.js +14 -17
  54. package/lib/components/tabs/tabbed_content/tabbed_content.js +0 -16
  55. package/lib/components/tabs/tabs.js +8 -14
  56. package/lib/components/tabs/tabs_context.js +23 -0
  57. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  58. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  59. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  60. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +145 -169
  61. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  62. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  63. package/optimize/es/components/error_boundary/error_boundary.a11y.js +67 -0
  64. package/optimize/es/components/expression/expression.a11y.js +243 -0
  65. package/optimize/es/components/filter_group/filter_group.a11y.js +271 -0
  66. package/optimize/es/components/focus_trap/focus_trap.a11y.js +120 -0
  67. package/optimize/es/components/form/file_picker/file_picker.js +1 -0
  68. package/optimize/es/components/header/header.a11y.js +364 -0
  69. package/optimize/es/components/icon/icon_ML.a11y.js +33 -0
  70. package/optimize/es/components/icon/icon_apps.a11y.js +33 -0
  71. package/optimize/es/components/icon/icon_editor.a11y.js +33 -0
  72. package/optimize/es/components/icon/icon_elastic.a11y.js +33 -0
  73. package/optimize/es/components/icon/icon_glyphs.a11y.js +33 -0
  74. package/optimize/es/components/icon/icon_tokens.a11y.js +33 -0
  75. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +1 -1
  76. package/optimize/es/components/selectable/selectable.js +2 -2
  77. package/optimize/es/components/selectable/selectable_list/selectable_list.js +15 -4
  78. package/optimize/es/components/tabs/tab.js +7 -5
  79. package/optimize/es/components/tabs/tabs.js +7 -11
  80. package/optimize/es/components/tabs/tabs_context.js +13 -0
  81. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  82. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  83. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  84. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +146 -167
  85. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  86. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -0
  87. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +75 -0
  88. package/optimize/lib/components/expression/expression.a11y.js +254 -0
  89. package/optimize/lib/components/filter_group/filter_group.a11y.js +287 -0
  90. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +140 -0
  91. package/optimize/lib/components/form/file_picker/file_picker.js +1 -0
  92. package/optimize/lib/components/header/header.a11y.js +385 -0
  93. package/optimize/lib/components/icon/icon_ML.a11y.js +40 -0
  94. package/optimize/lib/components/icon/icon_apps.a11y.js +40 -0
  95. package/optimize/lib/components/icon/icon_editor.a11y.js +40 -0
  96. package/optimize/lib/components/icon/icon_elastic.a11y.js +40 -0
  97. package/optimize/lib/components/icon/icon_glyphs.a11y.js +40 -0
  98. package/optimize/lib/components/icon/icon_tokens.a11y.js +40 -0
  99. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  100. package/optimize/lib/components/selectable/selectable.js +2 -2
  101. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +15 -4
  102. package/optimize/lib/components/tabs/tab.js +15 -5
  103. package/optimize/lib/components/tabs/tabs.js +8 -14
  104. package/optimize/lib/components/tabs/tabs_context.js +23 -0
  105. package/package.json +4 -6
  106. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +14 -0
  107. package/src/components/form/file_picker/_file_picker.scss +14 -14
  108. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +3 -1
  109. package/test-env/components/date_picker/super_date_picker/quick_select_popover/commonly_used_time_ranges.js +5 -2
  110. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select.js +3 -1
  111. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +153 -166
  112. package/test-env/components/date_picker/super_date_picker/quick_select_popover/recently_used.js +5 -2
  113. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +16 -0
  114. package/test-env/components/error_boundary/error_boundary.a11y.js +75 -0
  115. package/test-env/components/expression/expression.a11y.js +254 -0
  116. package/test-env/components/filter_group/filter_group.a11y.js +287 -0
  117. package/test-env/components/focus_trap/focus_trap.a11y.js +140 -0
  118. package/test-env/components/form/file_picker/file_picker.js +1 -0
  119. package/test-env/components/header/header.a11y.js +385 -0
  120. package/test-env/components/icon/icon_ML.a11y.js +40 -0
  121. package/test-env/components/icon/icon_apps.a11y.js +40 -0
  122. package/test-env/components/icon/icon_editor.a11y.js +40 -0
  123. package/test-env/components/icon/icon_elastic.a11y.js +40 -0
  124. package/test-env/components/icon/icon_glyphs.a11y.js +40 -0
  125. package/test-env/components/icon/icon_tokens.a11y.js +40 -0
  126. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +2 -2
  127. package/test-env/components/selectable/selectable.js +4 -3
  128. package/test-env/components/selectable/selectable_list/selectable_list.js +17 -5
  129. package/test-env/components/tabs/tab.js +15 -17
  130. package/test-env/components/tabs/tabbed_content/tabbed_content.js +0 -16
  131. package/test-env/components/tabs/tabs.js +8 -14
  132. package/test-env/components/tabs/tabs_context.js +23 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _icon = require("./icon");
6
+
7
+ var _react2 = require("@emotion/react");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ /// <reference types="../../../cypress/support"/>
19
+ describe('EuiIcons', function () {
20
+ describe('Automated accessibility check for Elastic logos', function () {
21
+ var ElasticLogos = ['logoElastic', 'logoElasticStack', 'logoElasticsearch', 'logoAppSearch', 'logoBeats', 'logoBusinessAnalytics', 'logoCloud', 'logoCloudEnterprise', 'logoEnterpriseSearch', 'logoKibana', 'logoLogging', 'logoLogstash', 'logoMaps', 'logoMetrics', 'logoObservability', 'logoSecurity', 'logoSiteSearch', 'logoUptime', 'logoWorkplaceSearch'];
22
+
23
+ var ElasticGrid = function ElasticGrid() {
24
+ return (0, _react2.jsx)("div", null, ElasticLogos.map(function (glyph) {
25
+ return (0, _react2.jsx)(_icon.EuiIcon, {
26
+ className: "eui-alignMiddle",
27
+ type: glyph
28
+ });
29
+ }));
30
+ };
31
+
32
+ it('has zero violations on first render', function () {
33
+ cy.mount((0, _react2.jsx)(ElasticGrid, null));
34
+ cy.get('div[data-cy-root]').find('svg', {
35
+ timeout: 5000
36
+ }).should('have.length', 19);
37
+ cy.checkAxe();
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _icon = require("./icon");
6
+
7
+ var _react2 = require("@emotion/react");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ /// <reference types="../../../cypress/support"/>
19
+ describe('EuiIcons', function () {
20
+ describe('Automated accessibility check for glyph icons', function () {
21
+ var GlyphIcons = ['accessibility', 'aggregate', 'alert', 'analyzeEvent', 'annotation', 'apmTrace', 'apps', 'arrowDown', 'arrowLeft', 'arrowRight', 'arrowUp', 'arrowStart', 'arrowEnd', 'article', 'asterisk', 'beaker', 'bell', 'bellSlash', 'beta', 'bolt', 'boxesHorizontal', 'boxesVertical', 'branch', 'branchUser', 'broom', 'brush', 'bug', 'bullseye', 'calendar', 'check', 'checkInCircleFilled', 'cheer', 'clock', 'cloudDrizzle', 'cloudStormy', 'cloudSunny', 'cluster', 'color', 'compute', 'console', 'container', 'continuityAbove', 'continuityAboveBelow', 'continuityBelow', 'continuityWithin', 'controlsHorizontal', 'controlsVertical', 'copy', 'copyClipboard', 'cross', 'crosshairs', 'crossInACircleFilled', 'currency', 'cut', 'database', 'desktop', 'discuss', 'document', 'documents', 'documentEdit', 'documentation', 'dot', 'dotInCircle', 'doubleArrowLeft', 'doubleArrowRight', 'download', 'email', 'empty', 'eql', 'eraser', 'exit', 'expand', 'expandMini', 'exportAction', 'eye', 'eyeClosed', 'faceHappy', 'faceNeutral', 'faceSad', 'filter', 'filterExclude', 'filterIgnore', 'filterInclude', 'filterInCircle', 'flag', 'fold', 'folderCheck', 'folderClosed', 'folderExclamation', 'folderOpen', 'frameNext', 'framePrevious', 'fullScreen', 'fullScreenExit', 'function', 'gear', 'glasses', 'globe', 'grab', 'grabHorizontal', 'grid', 'heart', 'heatmap', 'help', 'home', 'iInCircle', 'image', 'importAction', 'indexClose', 'indexEdit', 'indexFlush', 'indexMapping', 'indexOpen', 'indexRuntime', 'indexSettings', 'indexTemporary', 'infinity', 'inputOutput', 'inspect', 'invert', 'ip', 'keyboard', 'kqlField', 'kqlFunction', 'kqlOperand', 'kqlSelector', 'kqlValue', 'kubernetesNode', 'kubernetesPod', 'launch', 'layers', 'lettering', 'lineDashed', 'lineDotted', 'lineSolid', 'link', 'list', 'listAdd', 'lock', 'lockOpen', 'logstashFilter', 'logstashIf', 'logstashInput', 'logstashOutput', 'logstashQueue', 'magnifyWithExclamation', 'magnifyWithMinus', 'magnifyWithPlus', 'magnet', 'mapMarker', 'memory', 'merge', 'menu', 'menuDown', 'menuLeft', 'menuRight', 'menuUp', 'minimize', 'minus', 'minusInCircle', 'minusInCircleFilled', 'mobile', 'moon', 'namespace', 'nested', 'node', 'number', 'offline', 'online', 'package', 'pageSelect', 'pagesSelect', 'paperClip', 'partial', 'pause', 'payment', 'pencil', 'percent', 'pin', 'pinFilled', 'play', 'playFilled', 'plus', 'plusInCircle', 'plusInCircleFilled', 'popout', 'push', 'questionInCircle', 'quote', 'refresh', 'reporter', 'returnKey', 'save', 'scale', 'search', 'securitySignal', 'securitySignalDetected', 'securitySignalResolved', 'sessionViewer', 'shard', 'share', 'snowflake', 'sortable', 'sortAscending', 'sortDescending', 'sortDown', 'sortLeft', 'sortRight', 'sortUp', 'spaces', 'starEmpty', 'starEmptySpace', 'starFilled', 'starFilledSpace', 'starMinusEmpty', 'starMinusFilled', 'starPlusEmpty', 'starPlusFilled', 'stats', 'stop', 'stopFilled', 'stopSlash', 'storage', 'string', 'submodule', 'sun', 'symlink', 'tableOfContents', 'tableDensityExpanded', 'tableDensityCompact', 'tableDensityNormal', 'tag', 'tear', 'temperature', 'timeline', 'timeRefresh', 'timeslider', 'training', 'trash', 'unfold', 'unlink', 'user', 'userAvatar', 'users', 'vector', 'videoPlayer', 'visArea', 'visAreaStacked', 'visBarHorizontal', 'visBarHorizontalStacked', 'visBarVertical', 'visBarVerticalStacked', 'visGauge', 'visGoal', 'visLine', 'visMapCoordinate', 'visMapRegion', 'visMetric', 'visPie', 'visTable', 'visTagCloud', 'visText', 'visTimelion', 'visVega', 'visVisualBuilder', 'wordWrap', 'wordWrapDisabled', 'wrench'];
22
+
23
+ var GlyphGrid = function GlyphGrid() {
24
+ return (0, _react2.jsx)("div", null, GlyphIcons.map(function (glyph) {
25
+ return (0, _react2.jsx)(_icon.EuiIcon, {
26
+ className: "eui-alignMiddle",
27
+ type: glyph
28
+ });
29
+ }));
30
+ };
31
+
32
+ it('has zero violations on first render', function () {
33
+ cy.mount((0, _react2.jsx)(GlyphGrid, null));
34
+ cy.get('svg[data-icon-type="wrench"]', {
35
+ timeout: 5000
36
+ }).should('exist');
37
+ cy.checkAxe();
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _icon = require("./icon");
6
+
7
+ var _react2 = require("@emotion/react");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+ /// <reference types="../../../cypress/support"/>
19
+ describe('EuiIcons', function () {
20
+ describe('Automated accessibility check for token icons', function () {
21
+ var TokenIcons = ['tokenAlias', 'tokenAnnotation', 'tokenArray', 'tokenBinary', 'tokenBoolean', 'tokenClass', 'tokenCompletionSuggester', 'tokenConstant', 'tokenDate', 'tokenDenseVector', 'tokenElement', 'tokenEnum', 'tokenEnumMember', 'tokenEvent', 'tokenException', 'tokenField', 'tokenFile', 'tokenFlattened', 'tokenFunction', 'tokenGeo', 'tokenHistogram', 'tokenInterface', 'tokenIP', 'tokenJoin', 'tokenKey', 'tokenKeyword', 'tokenMethod', 'tokenMetricCounter', 'tokenMetricGauge', 'tokenModule', 'tokenNamespace', 'tokenNested', 'tokenNull', 'tokenNumber', 'tokenObject', 'tokenOperator', 'tokenPackage', 'tokenParameter', 'tokenPercolator', 'tokenProperty', 'tokenRange', 'tokenRankFeature', 'tokenRankFeatures', 'tokenRepo', 'tokenSearchType', 'tokenShape', 'tokenString', 'tokenStruct', 'tokenSymbol', 'tokenTag', 'tokenText', 'tokenTokenCount', 'tokenVariable'];
22
+
23
+ var TokenGrid = function TokenGrid() {
24
+ return (0, _react2.jsx)("div", null, TokenIcons.map(function (glyph) {
25
+ return (0, _react2.jsx)(_icon.EuiIcon, {
26
+ className: "eui-alignMiddle",
27
+ type: glyph
28
+ });
29
+ }));
30
+ };
31
+
32
+ it('has zero violations on first render', function () {
33
+ cy.mount((0, _react2.jsx)(TokenGrid, null));
34
+ cy.get('div[data-cy-root]').find('svg', {
35
+ timeout: 5000
36
+ }).should('have.length', 53);
37
+ cy.checkAxe();
38
+ });
39
+ });
40
+ });
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getDefaultEuiMarkdownParsingPlugins = exports.defaultParsingPlugins = void 0;
9
9
 
10
- var _remarkParse = _interopRequireDefault(require("remark-parse"));
10
+ var _remarkParseNoTrim = _interopRequireDefault(require("remark-parse-no-trim"));
11
11
 
12
12
  var _remarkEmoji = _interopRequireDefault(require("remark-emoji"));
13
13
 
@@ -43,7 +43,7 @@ var getDefaultEuiMarkdownParsingPlugins = function getDefaultEuiMarkdownParsingP
43
43
  exclude = _ref.exclude;
44
44
 
45
45
  var excludeSet = new Set(exclude);
46
- var parsingPlugins = [[_remarkParse.default, {}], [_remark_prismjs.default, {}], [_remarkEmoji.default, {
46
+ var parsingPlugins = [[_remarkParseNoTrim.default, {}], [_remark_prismjs.default, {}], [_remarkEmoji.default, {
47
47
  emoticon: false
48
48
  }], [_remarkBreaks.default, {}], [_markdown_link_validator.euiMarkdownLinkValidator, {
49
49
  allowRelative: true,
@@ -294,7 +294,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
294
294
  });
295
295
  });
296
296
 
297
- _defineProperty(_assertThisInitialized(_this), "onOptionClick", function (options, event) {
297
+ _defineProperty(_assertThisInitialized(_this), "onOptionClick", function (options, event, clickedOption) {
298
298
  var _this$props = _this.props,
299
299
  isPreFiltered = _this$props.isPreFiltered,
300
300
  onChange = _this$props.onChange;
@@ -306,7 +306,7 @@ var EuiSelectable = /*#__PURE__*/function (_Component) {
306
306
  });
307
307
 
308
308
  if (onChange) {
309
- onChange(options, event);
309
+ onChange(options, event, clickedOption);
310
310
  }
311
311
  });
312
312
 
@@ -740,7 +740,8 @@ EuiSelectable.propTypes = {
740
740
 
741
741
  /**
742
742
  * Passes back the altered `options` array with selected options having `checked: 'on'`.
743
- * Also passes back the React click/keyboard event as a second argument.
743
+ * Also passes back the React click/keyboard event as a second argument,
744
+ * and the option that triggered the onChange event as a third argument.
744
745
  */
745
746
  onChange: _propTypes.default.func,
746
747
 
@@ -241,6 +241,9 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
241
241
  onOptionClick = _this$props4.onOptionClick,
242
242
  options = _this$props4.options,
243
243
  singleSelection = _this$props4.singleSelection;
244
+
245
+ var changedOption = _objectSpread({}, addedOption);
246
+
244
247
  var updatedOptions = options.map(function (option) {
245
248
  // if singleSelection is enabled, uncheck any selected option(s)
246
249
  var updatedOption = _objectSpread({}, option);
@@ -252,11 +255,12 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
252
255
 
253
256
  if (option === addedOption) {
254
257
  updatedOption.checked = 'on';
258
+ changedOption = updatedOption;
255
259
  }
256
260
 
257
261
  return updatedOption;
258
262
  });
259
- onOptionClick(updatedOptions, event);
263
+ onOptionClick(updatedOptions, event, changedOption);
260
264
  });
261
265
 
262
266
  _defineProperty(_assertThisInitialized(_this), "onRemoveOption", function (removedOption, event) {
@@ -264,33 +268,40 @@ var EuiSelectableList = /*#__PURE__*/function (_Component) {
264
268
  onOptionClick = _this$props5.onOptionClick,
265
269
  singleSelection = _this$props5.singleSelection,
266
270
  options = _this$props5.options;
271
+
272
+ var changedOption = _objectSpread({}, removedOption);
273
+
267
274
  var updatedOptions = options.map(function (option) {
268
275
  var updatedOption = _objectSpread({}, option);
269
276
 
270
277
  if (option === removedOption && singleSelection !== 'always') {
271
278
  delete updatedOption.checked;
279
+ changedOption = updatedOption;
272
280
  }
273
281
 
274
282
  return updatedOption;
275
283
  });
276
- onOptionClick(updatedOptions, event);
284
+ onOptionClick(updatedOptions, event, changedOption);
277
285
  });
278
286
 
279
287
  _defineProperty(_assertThisInitialized(_this), "onExcludeOption", function (excludedOption, event) {
280
288
  var _this$props6 = _this.props,
281
289
  onOptionClick = _this$props6.onOptionClick,
282
290
  options = _this$props6.options;
283
- excludedOption.checked = 'off';
291
+
292
+ var changedOption = _objectSpread({}, excludedOption);
293
+
284
294
  var updatedOptions = options.map(function (option) {
285
295
  var updatedOption = _objectSpread({}, option);
286
296
 
287
297
  if (option === excludedOption) {
288
298
  updatedOption.checked = 'off';
299
+ changedOption = updatedOption;
289
300
  }
290
301
 
291
302
  return updatedOption;
292
303
  });
293
- onOptionClick(updatedOptions, event);
304
+ onOptionClick(updatedOptions, event, changedOption);
294
305
  });
295
306
 
296
307
  return _this;
@@ -606,7 +617,8 @@ EuiSelectableList.propTypes = {
606
617
  searchValue: _propTypes.default.string.isRequired,
607
618
 
608
619
  /**
609
- * Returns the array of options with altered checked state
620
+ * Returns the array of options with altered checked state, the click/keyboard event,
621
+ * and the option that triggered the click/keyboard event
610
622
  */
611
623
  onOptionClick: _propTypes.default.func.isRequired,
612
624
 
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.EuiTab = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
@@ -17,12 +19,18 @@ var _href_validator = require("../../services/security/href_validator");
17
19
 
18
20
  var _tab = require("./tab.styles");
19
21
 
22
+ var _tabs_context = require("./tabs_context");
23
+
20
24
  var _react2 = require("@emotion/react");
21
25
 
22
- var _excluded = ["isSelected", "children", "className", "disabled", "href", "target", "rel", "prepend", "append", "size", "expand"];
26
+ var _excluded = ["isSelected", "children", "className", "disabled", "href", "target", "rel", "prepend", "append"];
23
27
 
24
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
29
 
30
+ 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); }
31
+
32
+ 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; }
33
+
26
34
  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); }
27
35
 
28
36
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -39,11 +47,12 @@ var EuiTab = function EuiTab(_ref) {
39
47
  rel = _ref.rel,
40
48
  prepend = _ref.prepend,
41
49
  append = _ref.append,
42
- _ref$size = _ref.size,
43
- size = _ref$size === void 0 ? 'm' : _ref$size,
44
- expand = _ref.expand,
45
50
  rest = _objectWithoutProperties(_ref, _excluded);
46
51
 
52
+ var _useContext = (0, _react.useContext)(_tabs_context.EuiTabsContext),
53
+ size = _useContext.size,
54
+ expand = _useContext.expand;
55
+
47
56
  var euiTheme = (0, _services.useEuiTheme)();
48
57
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
49
58
  var disabled = _disabled || !isHrefValid; // Keep CSS classnames for reference
@@ -122,18 +131,6 @@ EuiTab.propTypes = {
122
131
  * Will be excluded from interactive effects.
123
132
  */
124
133
  append: _propTypes.default.node,
125
-
126
- /**
127
- * Evenly stretches each tab to fill the
128
- * horizontal space
129
- */
130
- expand: _propTypes.default.bool,
131
-
132
- /**
133
- * Sizes affect both font size and overall size.
134
- * Only use the `xl` size when displayed as page titles.
135
- */
136
- size: _propTypes.default.any,
137
134
  className: _propTypes.default.string,
138
135
  "aria-label": _propTypes.default.string,
139
136
  "data-test-subj": _propTypes.default.string,
@@ -254,18 +254,6 @@ EuiTabbedContent.propTypes = {
254
254
  * Will be excluded from interactive effects.
255
255
  */
256
256
  append: _propTypes.default.node,
257
-
258
- /**
259
- * Evenly stretches each tab to fill the
260
- * horizontal space
261
- */
262
- expand: _propTypes.default.bool,
263
-
264
- /**
265
- * Sizes affect both font size and overall size.
266
- * Only use the `xl` size when displayed as page titles.
267
- */
268
- size: _propTypes.default.any,
269
257
  className: _propTypes.default.string,
270
258
  "aria-label": _propTypes.default.string,
271
259
  "data-test-subj": _propTypes.default.string,
@@ -284,8 +272,6 @@ EuiTabbedContent.propTypes = {
284
272
  disabled: _propTypes.default.bool,
285
273
  prepend: _propTypes.default.node,
286
274
  append: _propTypes.default.node,
287
- expand: _propTypes.default.bool,
288
- size: _propTypes.default.any,
289
275
  className: _propTypes.default.string,
290
276
  "aria-label": _propTypes.default.string,
291
277
  "data-test-subj": _propTypes.default.string,
@@ -305,8 +291,6 @@ EuiTabbedContent.propTypes = {
305
291
  disabled: _propTypes.default.bool,
306
292
  prepend: _propTypes.default.node,
307
293
  append: _propTypes.default.node,
308
- expand: _propTypes.default.bool,
309
- size: _propTypes.default.any,
310
294
  className: _propTypes.default.string,
311
295
  "aria-label": _propTypes.default.string,
312
296
  "data-test-subj": _propTypes.default.string,
@@ -13,10 +13,10 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _services = require("../../services");
15
15
 
16
- var _clone_element = require("../../services/theme/clone_element");
17
-
18
16
  var _tabs = require("./tabs.styles");
19
17
 
18
+ var _tabs_context = require("./tabs_context");
19
+
20
20
  var _react2 = require("@emotion/react");
21
21
 
22
22
  var _excluded = ["children", "className", "bottomBorder", "expand", "size"];
@@ -50,24 +50,18 @@ var EuiTabs = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
50
50
  var classes = (0, _classnames.default)('euiTabs', className);
51
51
  var styles = (0, _tabs.euiTabsStyles)(euiTheme);
52
52
  var cssStyles = [styles.euiTabs, styles[size], bottomBorder && styles.bottomBorder];
53
-
54
- var tabItems = _react.default.Children.map(children, function (child) {
55
- if ( /*#__PURE__*/_react.default.isValidElement(child)) {
56
- return (0, _clone_element.cloneElementWithCss)(child, {
57
- // we're passing the parent `size` and `expand` down to the children
58
- size: size,
59
- expand: expand
60
- });
61
- }
62
- });
63
-
64
53
  return (0, _react2.jsx)("div", _extends({
65
54
  ref: ref,
66
55
  className: classes,
67
56
  css: cssStyles
68
57
  }, children && {
69
58
  role: 'tablist'
70
- }, rest), tabItems);
59
+ }, rest), (0, _react2.jsx)(_tabs_context.EuiTabsContext.Provider, {
60
+ value: {
61
+ expand: expand,
62
+ size: size
63
+ }
64
+ }, children));
71
65
  });
72
66
  exports.EuiTabs = EuiTabs;
73
67
  EuiTabs.displayName = 'EuiTabs';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.contextDefaults = exports.EuiTabsContext = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+ var contextDefaults = {
18
+ expand: false,
19
+ size: 'm'
20
+ };
21
+ exports.contextDefaults = contextDefaults;
22
+ var EuiTabsContext = /*#__PURE__*/(0, _react.createContext)(contextDefaults);
23
+ exports.EuiTabsContext = EuiTabsContext;
@@ -213,7 +213,9 @@ export var EuiRefreshInterval = /*#__PURE__*/function (_Component) {
213
213
  units = _this$state5.units;
214
214
  return ___EmotionJSX(RenderI18nTimeOptions, null, function (_ref3) {
215
215
  var refreshUnitsOptions = _ref3.refreshUnitsOptions;
216
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiFlexGroup, {
216
+ return ___EmotionJSX("fieldset", {
217
+ className: "euiQuickSelectPopover__panel"
218
+ }, ___EmotionJSX(EuiFlexGroup, {
217
219
  alignItems: "center",
218
220
  gutterSize: "s",
219
221
  responsive: false,
@@ -38,10 +38,13 @@ export var EuiCommonlyUsedTimeRanges = function EuiCommonlyUsedTimeRanges(_ref)
38
38
  "data-test-subj": dataTestSubj
39
39
  }, label));
40
40
  });
41
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiTitle, {
41
+ return ___EmotionJSX("fieldset", {
42
+ className: "euiQuickSelectPopover__panel"
43
+ }, ___EmotionJSX(EuiTitle, {
42
44
  size: "xxxs"
43
45
  }, ___EmotionJSX("legend", {
44
- id: legendId
46
+ id: legendId,
47
+ className: "euiQuickSelectPopover__panelTitle"
45
48
  }, ___EmotionJSX(EuiI18n, {
46
49
  token: "euiCommonlyUsedTimeRanges.legend",
47
50
  default: "Commonly used"
@@ -173,7 +173,9 @@ export var EuiQuickSelect = /*#__PURE__*/function (_Component) {
173
173
  return value === timeUnits;
174
174
  });
175
175
  var timeUnit = matchedTimeUnit ? matchedTimeUnit.text : '';
176
- return ___EmotionJSX("fieldset", null, ___EmotionJSX(EuiI18n, {
176
+ return ___EmotionJSX("fieldset", {
177
+ className: "euiQuickSelectPopover__panel"
178
+ }, ___EmotionJSX(EuiI18n, {
177
179
  token: "euiQuickSelect.legendText",
178
180
  default: "Quick select a time range"
179
181
  }, function (legendText) {