@elastic/eui 67.0.0 → 67.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 (141) hide show
  1. package/dist/eui_theme_dark.css +0 -98
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -98
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/badge/badge.js +84 -78
  6. package/es/components/badge/badge.styles.js +56 -0
  7. package/es/components/basic_table/in_memory_table.js +8 -0
  8. package/es/components/button/button.js +0 -1
  9. package/es/components/button/button_display/_button_display.js +10 -5
  10. package/es/components/button/button_display/_button_display.styles.js +2 -2
  11. package/es/components/button/button_display/_button_display_content.js +5 -3
  12. package/es/components/button/button_display/_button_display_content.styles.js +4 -1
  13. package/es/components/card/card.js +2 -2
  14. package/es/components/card/card.styles.js +5 -2
  15. package/es/components/notification/notification_event.js +1 -1
  16. package/es/components/notification/notification_event_meta.js +1 -1
  17. package/es/components/popover/popover_title.js +2 -2
  18. package/es/components/popover/popover_title.styles.js +18 -6
  19. package/es/components/search_bar/filters/custom_component_filter.js +16 -0
  20. package/es/components/search_bar/filters/filters.js +6 -0
  21. package/es/components/search_bar/query/ast.js +12 -0
  22. package/es/components/search_bar/query/ast_to_es_query_dsl.js +15 -10
  23. package/es/components/search_bar/query/query.js +17 -0
  24. package/es/components/search_bar/search_bar.js +4 -0
  25. package/es/components/search_bar/search_filters.js +4 -0
  26. package/es/components/selectable/selectable_list/selectable_list.js +2 -2
  27. package/es/components/selectable/selectable_list/selectable_list_item.js +2 -2
  28. package/es/services/color/contrast.js +2 -0
  29. package/es/services/index.js +1 -1
  30. package/es/services/theme/context.js +2 -1
  31. package/es/services/theme/hooks.js +27 -1
  32. package/es/services/theme/index.js +1 -1
  33. package/es/services/theme/provider.js +15 -1
  34. package/eui.d.ts +104 -28
  35. package/lib/components/badge/badge.js +92 -80
  36. package/lib/components/badge/badge.styles.js +61 -0
  37. package/lib/components/basic_table/in_memory_table.js +8 -0
  38. package/lib/components/button/button.js +0 -1
  39. package/lib/components/button/button_display/_button_display.js +10 -5
  40. package/lib/components/button/button_display/_button_display.styles.js +2 -2
  41. package/lib/components/button/button_display/_button_display_content.js +9 -4
  42. package/lib/components/button/button_display/_button_display_content.styles.js +4 -1
  43. package/lib/components/card/card.js +2 -2
  44. package/lib/components/card/card.styles.js +5 -2
  45. package/lib/components/notification/notification_event.js +1 -1
  46. package/lib/components/notification/notification_event_meta.js +1 -1
  47. package/lib/components/popover/popover_title.js +2 -2
  48. package/lib/components/popover/popover_title.styles.js +19 -7
  49. package/lib/components/search_bar/filters/custom_component_filter.js +29 -0
  50. package/lib/components/search_bar/filters/filters.js +7 -0
  51. package/lib/components/search_bar/query/ast.js +12 -0
  52. package/lib/components/search_bar/query/ast_to_es_query_dsl.js +16 -11
  53. package/lib/components/search_bar/query/query.js +17 -0
  54. package/lib/components/search_bar/search_bar.js +4 -0
  55. package/lib/components/search_bar/search_filters.js +4 -0
  56. package/lib/components/selectable/selectable_list/selectable_list.js +2 -2
  57. package/lib/components/selectable/selectable_list/selectable_list_item.js +2 -2
  58. package/lib/services/color/contrast.js +6 -1
  59. package/lib/services/index.js +7 -0
  60. package/lib/services/theme/context.js +4 -2
  61. package/lib/services/theme/hooks.js +28 -0
  62. package/lib/services/theme/index.js +12 -0
  63. package/lib/services/theme/provider.js +23 -2
  64. package/optimize/es/components/badge/badge.js +82 -76
  65. package/optimize/es/components/badge/badge.styles.js +56 -0
  66. package/optimize/es/components/basic_table/in_memory_table.js +4 -0
  67. package/optimize/es/components/button/button.js +0 -1
  68. package/optimize/es/components/button/button_display/_button_display.js +8 -3
  69. package/optimize/es/components/button/button_display/_button_display.styles.js +2 -2
  70. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  71. package/optimize/es/components/button/button_display/_button_display_content.styles.js +4 -1
  72. package/optimize/es/components/card/card.js +2 -2
  73. package/optimize/es/components/card/card.styles.js +5 -2
  74. package/optimize/es/components/popover/popover_title.js +2 -2
  75. package/optimize/es/components/popover/popover_title.styles.js +18 -6
  76. package/optimize/es/components/search_bar/filters/custom_component_filter.js +16 -0
  77. package/optimize/es/components/search_bar/filters/filters.js +6 -0
  78. package/optimize/es/components/search_bar/query/ast.js +12 -0
  79. package/optimize/es/components/search_bar/query/ast_to_es_query_dsl.js +14 -9
  80. package/optimize/es/components/search_bar/query/query.js +17 -0
  81. package/optimize/es/services/color/contrast.js +2 -0
  82. package/optimize/es/services/index.js +1 -1
  83. package/optimize/es/services/theme/context.js +2 -1
  84. package/optimize/es/services/theme/hooks.js +27 -1
  85. package/optimize/es/services/theme/index.js +1 -1
  86. package/optimize/es/services/theme/provider.js +14 -1
  87. package/optimize/lib/components/badge/badge.js +90 -78
  88. package/optimize/lib/components/badge/badge.styles.js +61 -0
  89. package/optimize/lib/components/basic_table/in_memory_table.js +4 -0
  90. package/optimize/lib/components/button/button.js +0 -1
  91. package/optimize/lib/components/button/button_display/_button_display.js +8 -3
  92. package/optimize/lib/components/button/button_display/_button_display.styles.js +2 -2
  93. package/optimize/lib/components/button/button_display/_button_display_content.js +6 -2
  94. package/optimize/lib/components/button/button_display/_button_display_content.styles.js +4 -1
  95. package/optimize/lib/components/card/card.js +2 -2
  96. package/optimize/lib/components/card/card.styles.js +5 -2
  97. package/optimize/lib/components/popover/popover_title.js +2 -2
  98. package/optimize/lib/components/popover/popover_title.styles.js +19 -7
  99. package/optimize/lib/components/search_bar/filters/custom_component_filter.js +29 -0
  100. package/optimize/lib/components/search_bar/filters/filters.js +7 -0
  101. package/optimize/lib/components/search_bar/query/ast.js +12 -0
  102. package/optimize/lib/components/search_bar/query/ast_to_es_query_dsl.js +16 -11
  103. package/optimize/lib/components/search_bar/query/query.js +17 -0
  104. package/optimize/lib/services/color/contrast.js +5 -1
  105. package/optimize/lib/services/index.js +7 -0
  106. package/optimize/lib/services/theme/context.js +4 -2
  107. package/optimize/lib/services/theme/hooks.js +28 -0
  108. package/optimize/lib/services/theme/index.js +12 -0
  109. package/optimize/lib/services/theme/provider.js +23 -9
  110. package/package.json +5 -5
  111. package/src/components/badge/_index.scss +0 -1
  112. package/test-env/components/badge/badge.js +92 -80
  113. package/test-env/components/badge/badge.styles.js +61 -0
  114. package/test-env/components/basic_table/in_memory_table.js +8 -0
  115. package/test-env/components/button/button.js +0 -1
  116. package/test-env/components/button/button_display/_button_display.js +10 -5
  117. package/test-env/components/button/button_display/_button_display.styles.js +2 -2
  118. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  119. package/test-env/components/button/button_display/_button_display_content.styles.js +4 -1
  120. package/test-env/components/card/card.js +2 -2
  121. package/test-env/components/card/card.styles.js +5 -2
  122. package/test-env/components/notification/notification_event.js +1 -1
  123. package/test-env/components/notification/notification_event_meta.js +1 -1
  124. package/test-env/components/popover/popover_title.js +2 -2
  125. package/test-env/components/popover/popover_title.styles.js +19 -7
  126. package/test-env/components/search_bar/filters/custom_component_filter.js +29 -0
  127. package/test-env/components/search_bar/filters/filters.js +7 -0
  128. package/test-env/components/search_bar/query/ast.js +12 -0
  129. package/test-env/components/search_bar/query/ast_to_es_query_dsl.js +16 -11
  130. package/test-env/components/search_bar/query/query.js +17 -0
  131. package/test-env/components/search_bar/search_bar.js +4 -0
  132. package/test-env/components/search_bar/search_filters.js +4 -0
  133. package/test-env/components/selectable/selectable_list/selectable_list.js +2 -2
  134. package/test-env/components/selectable/selectable_list/selectable_list_item.js +2 -2
  135. package/test-env/services/color/contrast.js +5 -1
  136. package/test-env/services/index.js +7 -0
  137. package/test-env/services/theme/context.js +4 -2
  138. package/test-env/services/theme/hooks.js +28 -0
  139. package/test-env/services/theme/index.js +12 -0
  140. package/test-env/services/theme/provider.js +23 -9
  141. package/src/components/badge/_badge.scss +0 -133
@@ -18,15 +18,27 @@ var _title = require("../title/title.styles");
18
18
  * in compliance with, at your election, the Elastic License 2.0 or the Server
19
19
  * Side Public License, v 1.
20
20
  */
21
- var euiPopoverTitleStyles = function euiPopoverTitleStyles(euiThemeContext, panelPadding) {
22
- var euiTheme = euiThemeContext.euiTheme; // If the popover's containing panel has padding applied,
23
- // ensure the title expands to cover that padding and
24
-
25
- var panelPaddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, panelPadding);
21
+ var euiPopoverTitleStyles = function euiPopoverTitleStyles(euiThemeContext) {
22
+ var euiTheme = euiThemeContext.euiTheme;
26
23
  return {
27
24
  // Base
28
- euiPopoverTitle: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxs'), ";", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";margin:-", panelPaddingSize, " -", panelPaddingSize, " ", panelPaddingSize, ";;label:euiPopoverTitle;")
25
+ euiPopoverTitle: /*#__PURE__*/(0, _react.css)((0, _title.euiTitle)(euiThemeContext, 'xxs'), ";", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";;label:euiPopoverTitle;"),
26
+ // If the popover's containing panel has padding applied,
27
+ // ensure the title expands to cover that padding via negative margins
28
+ panelPaddingSizes: {
29
+ none: /*#__PURE__*/(0, _react.css)(";label:none;"),
30
+ xs: /*#__PURE__*/(0, _react.css)(getPaddingOffset(euiThemeContext, 'xs'), ";;label:xs;"),
31
+ s: /*#__PURE__*/(0, _react.css)(getPaddingOffset(euiThemeContext, 's'), ";;label:s;"),
32
+ m: /*#__PURE__*/(0, _react.css)(getPaddingOffset(euiThemeContext, 'm'), ";;label:m;"),
33
+ l: /*#__PURE__*/(0, _react.css)(getPaddingOffset(euiThemeContext, 'l'), ";;label:l;"),
34
+ xl: /*#__PURE__*/(0, _react.css)(getPaddingOffset(euiThemeContext, 'xl'), ";;label:xl;")
35
+ }
29
36
  };
30
37
  };
31
38
 
32
- exports.euiPopoverTitleStyles = euiPopoverTitleStyles;
39
+ exports.euiPopoverTitleStyles = euiPopoverTitleStyles;
40
+
41
+ var getPaddingOffset = function getPaddingOffset(euiThemeContext, size) {
42
+ var panelPaddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, size);
43
+ return "margin: -".concat(panelPaddingSize, " -").concat(panelPaddingSize, " ").concat(panelPaddingSize, ";");
44
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CustomComponentFilter = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _react2 = require("@emotion/react");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /*
15
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
+ * or more contributor license agreements. Licensed under the Elastic License
17
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
18
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
19
+ * Side Public License, v 1.
20
+ */
21
+ var CustomComponentFilter = function CustomComponentFilter(props) {
22
+ var CustomComponent = props.config.component;
23
+ return (0, _react2.jsx)(CustomComponent, {
24
+ query: props.query,
25
+ onChange: props.onChange
26
+ });
27
+ };
28
+
29
+ exports.CustomComponentFilter = CustomComponentFilter;
@@ -15,6 +15,8 @@ var _field_value_toggle_filter = require("./field_value_toggle_filter");
15
15
 
16
16
  var _field_value_toggle_group_filter = require("./field_value_toggle_group_filter");
17
17
 
18
+ var _custom_component_filter = require("./custom_component_filter");
19
+
18
20
  var _react2 = require("@emotion/react");
19
21
 
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -53,6 +55,11 @@ var createFilter = function createFilter(index, config, query, onChange) {
53
55
  config: config
54
56
  }));
55
57
 
58
+ case 'custom_component':
59
+ return (0, _react2.jsx)(_custom_component_filter.CustomComponentFilter, _extends({}, props, {
60
+ config: config
61
+ }));
62
+
56
63
  default:
57
64
  // @ts-ignore TS knows that we've checked `config.type` exhaustively
58
65
  throw new Error("Unknown search filter type [".concat(config.type, "]"));
@@ -547,6 +547,18 @@ var _AST = /*#__PURE__*/function () {
547
547
  return !Is.isInstance(clause) || clause.flag !== flag;
548
548
  }));
549
549
  }
550
+ }, {
551
+ key: "removeIsClauses",
552
+ value: function removeIsClauses() {
553
+ return new _AST(this._clauses.filter(function (clause) {
554
+ return !Is.isInstance(clause);
555
+ }));
556
+ }
557
+ }, {
558
+ key: "removeAllClauses",
559
+ value: function removeAllClauses() {
560
+ return new _AST();
561
+ }
550
562
  }, {
551
563
  key: "getGroupClauses",
552
564
  value: function getGroupClauses() {
@@ -5,18 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.astToEsQueryDsl = exports._termValuesToQuery = exports._isFlagToQuery = exports._fieldValuesToQuery = void 0;
7
7
 
8
- var _date_format = require("./date_format");
8
+ var _predicate = require("../../../services/predicate");
9
9
 
10
- var _date_value = require("./date_value");
10
+ var _common = require("../../common");
11
11
 
12
12
  var _ast = require("./ast");
13
13
 
14
- var _predicate = require("../../../services/predicate");
14
+ var _date_format = require("./date_format");
15
15
 
16
- var _common = require("../../common");
16
+ var _date_value = require("./date_value");
17
17
 
18
18
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
19
19
 
20
+ 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; }
21
+
20
22
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
23
 
22
24
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -29,8 +31,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
29
31
 
30
32
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
33
 
32
- 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; }
33
-
34
34
  var processDateOperation = function processDateOperation(value, operator) {
35
35
  var granularity = value.granularity,
36
36
  resolve = value.resolve;
@@ -122,12 +122,17 @@ var _fieldValuesToQuery = function _fieldValuesToQuery(field, operations, andOr)
122
122
  }
123
123
  });
124
124
 
125
- if (_terms.length > 0) {
125
+ if (_terms.length > 1) {
126
+ queries.push({
127
+ bool: _defineProperty({}, andOr === 'and' ? 'must' : 'should', _toConsumableArray(_terms.map(function (value) {
128
+ return {
129
+ match: _defineProperty({}, field, value)
130
+ };
131
+ })))
132
+ });
133
+ } else if (_terms.length === 1) {
126
134
  queries.push({
127
- match: _defineProperty({}, field, {
128
- query: _terms.join(' '),
129
- operator: andOr
130
- })
135
+ match: _defineProperty({}, field, _terms[0])
131
136
  });
132
137
  }
133
138
 
@@ -49,6 +49,11 @@ var Query = /*#__PURE__*/function () {
49
49
  }
50
50
 
51
51
  _createClass(Query, [{
52
+ key: "hasClauses",
53
+ value: function hasClauses() {
54
+ return this.ast.clauses.length > 0;
55
+ }
56
+ }, {
52
57
  key: "hasSimpleFieldClause",
53
58
  value: function hasSimpleFieldClause(field, value) {
54
59
  return this.ast.hasSimpleFieldClause(field, value);
@@ -108,6 +113,12 @@ var Query = /*#__PURE__*/function () {
108
113
  var ast = this.ast.removeOrFieldClauses(field);
109
114
  return new Query(ast, this.syntax);
110
115
  }
116
+ }, {
117
+ key: "removeAllClauses",
118
+ value: function removeAllClauses() {
119
+ var ast = this.ast.removeAllClauses();
120
+ return new Query(ast, this.syntax);
121
+ }
111
122
  }, {
112
123
  key: "hasIsClause",
113
124
  value: function hasIsClause(flag) {
@@ -136,6 +147,12 @@ var Query = /*#__PURE__*/function () {
136
147
  var ast = this.ast.removeIsClause(flag);
137
148
  return new Query(ast, this.syntax);
138
149
  }
150
+ }, {
151
+ key: "removeIsClauses",
152
+ value: function removeIsClauses() {
153
+ var ast = this.ast.removeIsClauses();
154
+ return new Query(ast, this.syntax);
155
+ }
139
156
  /**
140
157
  * Executes this query over the given iterable item and returns
141
158
  * an new array of all items that matched this query. Options:
@@ -437,6 +437,10 @@ EuiSearchBar.propTypes = {
437
437
  operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
438
438
  }).isRequired).isRequired,
439
439
  available: _propTypes.default.func
440
+ }).isRequired, _propTypes.default.shape({
441
+ type: _propTypes.default.oneOf(["custom_component"]).isRequired,
442
+ component: _propTypes.default.elementType.isRequired,
443
+ available: _propTypes.default.func
440
444
  }).isRequired]).isRequired),
441
445
 
442
446
  /**
@@ -169,5 +169,9 @@ EuiSearchFilters.propTypes = {
169
169
  operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
170
170
  }).isRequired).isRequired,
171
171
  available: _propTypes.default.func
172
+ }).isRequired, _propTypes.default.shape({
173
+ type: _propTypes.default.oneOf(["custom_component"]).isRequired,
174
+ component: _propTypes.default.elementType.isRequired,
175
+ available: _propTypes.default.func
172
176
  }).isRequired]).isRequired).isRequired
173
177
  };
@@ -454,12 +454,12 @@ EuiSelectableList.propTypes = {
454
454
  /**
455
455
  * The side of the badge the icon should sit
456
456
  */
457
- iconSide: _propTypes.default.oneOf(["left", "right"]),
457
+ iconSide: _propTypes.default.any,
458
458
 
459
459
  /**
460
460
  * Accepts either our palette colors (primary, success ..etc) or a hex value `#FFFFFF`, `#000`.
461
461
  */
462
- color: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.any.isRequired]),
462
+ color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]),
463
463
 
464
464
  /**
465
465
  * Will override any color passed through the `color` prop.
@@ -289,12 +289,12 @@ EuiSelectableListItem.propTypes = {
289
289
  /**
290
290
  * The side of the badge the icon should sit
291
291
  */
292
- iconSide: _propTypes.default.oneOf(["left", "right"]),
292
+ iconSide: _propTypes.default.any,
293
293
 
294
294
  /**
295
295
  * Accepts either our palette colors (primary, success ..etc) or a hex value `#FFFFFF`, `#000`.
296
296
  */
297
- color: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.any.isRequired]),
297
+ color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.string.isRequired]),
298
298
 
299
299
  /**
300
300
  * Will override any color passed through the `color` prop.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.makeHighContrastColor = exports.makeDisabledContrastColor = void 0;
6
+ exports.wcagContrastMin = exports.makeHighContrastColor = exports.makeDisabledContrastColor = void 0;
7
7
 
8
8
  var _chromaJs = _interopRequireDefault(require("chroma-js"));
9
9
 
@@ -15,6 +15,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
 
16
16
  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); }
17
17
 
18
+ var wcagContrastMin = 4.5; // WCAG AA minimum contrast ratio for normal (non-large) text
19
+
18
20
  /**
19
21
  * Creates a new color that meets or exceeds WCAG level AA
20
22
  * @param foreground - Color to manipulate
@@ -22,6 +24,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
22
24
  * *
23
25
  * @param themeOrBackground - Color to use as the contrast basis or just pass EuiTheme
24
26
  */
27
+
28
+ exports.wcagContrastMin = wcagContrastMin;
29
+
25
30
  var makeHighContrastColor = function makeHighContrastColor(_foreground) {
26
31
  var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4.85;
27
32
  return function (themeOrBackground) {
@@ -57,6 +57,7 @@ var _exportNames = {
57
57
  lightness: true,
58
58
  makeHighContrastColor: true,
59
59
  makeDisabledContrastColor: true,
60
+ wcagContrastMin: true,
60
61
  useColorPickerState: true,
61
62
  useColorStopsState: true,
62
63
  copyToClipboard: true,
@@ -569,6 +570,12 @@ Object.defineProperty(exports, "useIsWithinMinBreakpoint", {
569
570
  return _breakpoint.useIsWithinMinBreakpoint;
570
571
  }
571
572
  });
573
+ Object.defineProperty(exports, "wcagContrastMin", {
574
+ enumerable: true,
575
+ get: function get() {
576
+ return _color.wcagContrastMin;
577
+ }
578
+ });
572
579
 
573
580
  var keys = _interopRequireWildcard(require("./keys"));
574
581
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.EuiThemeContext = exports.EuiSystemContext = exports.EuiModificationsContext = exports.EuiColorModeContext = void 0;
6
+ exports.defaultComputedTheme = exports.EuiThemeContext = exports.EuiSystemContext = exports.EuiModificationsContext = exports.EuiColorModeContext = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
@@ -24,5 +24,7 @@ var EuiModificationsContext = /*#__PURE__*/(0, _react.createContext)({});
24
24
  exports.EuiModificationsContext = EuiModificationsContext;
25
25
  var EuiColorModeContext = /*#__PURE__*/(0, _react.createContext)(_utils.DEFAULT_COLOR_MODE);
26
26
  exports.EuiColorModeContext = EuiColorModeContext;
27
- var EuiThemeContext = /*#__PURE__*/(0, _react.createContext)((0, _utils.getComputed)(_theme.EuiThemeAmsterdam, {}, _utils.DEFAULT_COLOR_MODE));
27
+ var defaultComputedTheme = (0, _utils.getComputed)(_theme.EuiThemeAmsterdam, {}, _utils.DEFAULT_COLOR_MODE);
28
+ exports.defaultComputedTheme = defaultComputedTheme;
29
+ var EuiThemeContext = /*#__PURE__*/(0, _react.createContext)(defaultComputedTheme);
28
30
  exports.EuiThemeContext = EuiThemeContext;
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _context = require("./context");
13
13
 
14
+ var _provider = require("./provider");
15
+
14
16
  var _react2 = require("@emotion/react");
15
17
 
16
18
  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); }
@@ -19,10 +21,36 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
21
 
20
22
  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); }
21
23
 
24
+ var providerMessage = "`EuiProvider` is missing which can result in negative effects.\nWrap your component in `EuiProvider`: https://ela.st/euiprovider.";
25
+
22
26
  var useEuiTheme = function useEuiTheme() {
23
27
  var theme = (0, _react.useContext)(_context.EuiThemeContext);
24
28
  var colorMode = (0, _react.useContext)(_context.EuiColorModeContext);
25
29
  var modifications = (0, _react.useContext)(_context.EuiModificationsContext);
30
+
31
+ if (process.env.NODE_ENV !== 'production') {
32
+ var isFallback = theme === _context.defaultComputedTheme;
33
+ var warningLevel = (0, _provider.getEuiDevProviderWarning)();
34
+
35
+ if (isFallback && typeof warningLevel !== 'undefined') {
36
+ switch (warningLevel) {
37
+ case 'log':
38
+ console.log(providerMessage);
39
+ break;
40
+
41
+ case 'warn':
42
+ console.warn(providerMessage);
43
+ break;
44
+
45
+ case 'error':
46
+ throw new Error(providerMessage);
47
+
48
+ default:
49
+ break;
50
+ }
51
+ }
52
+ }
53
+
26
54
  var assembledTheme = (0, _react.useMemo)(function () {
27
55
  return {
28
56
  euiTheme: theme,
@@ -69,6 +69,12 @@ Object.defineProperty(exports, "getComputed", {
69
69
  return _utils.getComputed;
70
70
  }
71
71
  });
72
+ Object.defineProperty(exports, "getEuiDevProviderWarning", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _provider.getEuiDevProviderWarning;
76
+ }
77
+ });
72
78
  Object.defineProperty(exports, "getOn", {
73
79
  enumerable: true,
74
80
  get: function get() {
@@ -87,6 +93,12 @@ Object.defineProperty(exports, "mergeDeep", {
87
93
  return _utils.mergeDeep;
88
94
  }
89
95
  });
96
+ Object.defineProperty(exports, "setEuiDevProviderWarning", {
97
+ enumerable: true,
98
+ get: function get() {
99
+ return _provider.setEuiDevProviderWarning;
100
+ }
101
+ });
90
102
  Object.defineProperty(exports, "setOn", {
91
103
  enumerable: true,
92
104
  get: function get() {
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.EuiThemeProvider = void 0;
8
+ exports.setEuiDevProviderWarning = exports.getEuiDevProviderWarning = exports.EuiThemeProvider = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
@@ -23,6 +23,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  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
25
 
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
26
32
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
33
 
28
34
  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."); }
@@ -35,6 +41,20 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
35
41
 
36
42
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
43
 
44
+ var providerWarning = undefined;
45
+
46
+ var setEuiDevProviderWarning = function setEuiDevProviderWarning(level) {
47
+ return providerWarning = level;
48
+ };
49
+
50
+ exports.setEuiDevProviderWarning = setEuiDevProviderWarning;
51
+
52
+ var getEuiDevProviderWarning = function getEuiDevProviderWarning() {
53
+ return providerWarning;
54
+ };
55
+
56
+ exports.getEuiDevProviderWarning = getEuiDevProviderWarning;
57
+
38
58
  var EuiThemeProvider = function EuiThemeProvider(_ref) {
39
59
  var _system = _ref.theme,
40
60
  _colorMode = _ref.colorMode,
@@ -67,7 +87,8 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
67
87
  var prevColorMode = (0, _react.useRef)(colorMode);
68
88
  var isParentTheme = (0, _react.useRef)(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && (0, _isEqual.default)(parentModifications, modifications));
69
89
 
70
- var _useState7 = (0, _react.useState)(isParentTheme.current && Object.keys(parentTheme).length ? parentTheme : (0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode)),
90
+ var _useState7 = (0, _react.useState)(isParentTheme.current && Object.keys(parentTheme).length ? _objectSpread({}, parentTheme) // Intentionally create a new object to break referential equality
91
+ : (0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode)),
71
92
  _useState8 = _slicedToArray(_useState7, 2),
72
93
  theme = _useState8[0],
73
94
  setTheme = _useState8[1];