@elastic/eui 64.0.2 → 64.0.4

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 (64) hide show
  1. package/dist/eui_charts_theme.js +330 -330
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/es/components/accordion/accordion.js +5 -4
  4. package/es/components/basic_table/in_memory_table.js +4 -0
  5. package/es/components/header/header_section/header_section_item.js +4 -3
  6. package/es/components/image/image_wrapper.js +3 -3
  7. package/es/components/page/page_header/page_header_content.js +1 -1
  8. package/es/components/page/page_section/page_section.js +3 -4
  9. package/es/components/progress/progress.js +2 -2
  10. package/es/components/search_bar/filters/custom_component_filter.js +16 -0
  11. package/es/components/search_bar/filters/filters.js +6 -0
  12. package/es/components/search_bar/query/ast.js +12 -0
  13. package/es/components/search_bar/query/query.js +17 -0
  14. package/es/components/search_bar/search_bar.js +4 -0
  15. package/es/components/search_bar/search_filters.js +4 -0
  16. package/eui.d.ts +31 -1
  17. package/lib/components/accordion/accordion.js +5 -4
  18. package/lib/components/basic_table/in_memory_table.js +4 -0
  19. package/lib/components/header/header_section/header_section_item.js +4 -3
  20. package/lib/components/image/image_wrapper.js +3 -3
  21. package/lib/components/page/page_header/page_header_content.js +1 -1
  22. package/lib/components/page/page_section/page_section.js +3 -4
  23. package/lib/components/progress/progress.js +2 -2
  24. package/lib/components/search_bar/filters/custom_component_filter.js +29 -0
  25. package/lib/components/search_bar/filters/filters.js +7 -0
  26. package/lib/components/search_bar/query/ast.js +12 -0
  27. package/lib/components/search_bar/query/query.js +17 -0
  28. package/lib/components/search_bar/search_bar.js +4 -0
  29. package/lib/components/search_bar/search_filters.js +4 -0
  30. package/optimize/es/components/accordion/accordion.js +5 -4
  31. package/optimize/es/components/header/header_section/header_section_item.js +4 -3
  32. package/optimize/es/components/image/image_wrapper.js +3 -3
  33. package/optimize/es/components/page/page_header/page_header_content.js +1 -1
  34. package/optimize/es/components/page/page_section/page_section.js +3 -4
  35. package/optimize/es/components/progress/progress.js +2 -2
  36. package/optimize/es/components/search_bar/filters/custom_component_filter.js +16 -0
  37. package/optimize/es/components/search_bar/filters/filters.js +6 -0
  38. package/optimize/es/components/search_bar/query/ast.js +12 -0
  39. package/optimize/es/components/search_bar/query/query.js +17 -0
  40. package/optimize/lib/components/accordion/accordion.js +5 -4
  41. package/optimize/lib/components/header/header_section/header_section_item.js +4 -3
  42. package/optimize/lib/components/image/image_wrapper.js +3 -3
  43. package/optimize/lib/components/page/page_header/page_header_content.js +1 -1
  44. package/optimize/lib/components/page/page_section/page_section.js +3 -4
  45. package/optimize/lib/components/progress/progress.js +2 -2
  46. package/optimize/lib/components/search_bar/filters/custom_component_filter.js +29 -0
  47. package/optimize/lib/components/search_bar/filters/filters.js +7 -0
  48. package/optimize/lib/components/search_bar/query/ast.js +12 -0
  49. package/optimize/lib/components/search_bar/query/query.js +17 -0
  50. package/package.json +1 -1
  51. package/src/components/header/header_section/_header_section_item.scss +1 -1
  52. package/test-env/components/accordion/accordion.js +5 -4
  53. package/test-env/components/basic_table/in_memory_table.js +4 -0
  54. package/test-env/components/header/header_section/header_section_item.js +4 -3
  55. package/test-env/components/image/image_wrapper.js +3 -3
  56. package/test-env/components/page/page_header/page_header_content.js +1 -1
  57. package/test-env/components/page/page_section/page_section.js +3 -4
  58. package/test-env/components/progress/progress.js +2 -2
  59. package/test-env/components/search_bar/filters/custom_component_filter.js +29 -0
  60. package/test-env/components/search_bar/filters/filters.js +7 -0
  61. package/test-env/components/search_bar/query/ast.js +12 -0
  62. package/test-env/components/search_bar/query/query.js +17 -0
  63. package/test-env/components/search_bar/search_bar.js +4 -0
  64. package/test-env/components/search_bar/search_filters.js +4 -0
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+ import React from 'react';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ export var CustomComponentFilter = function CustomComponentFilter(props) {
11
+ var CustomComponent = props.config.component;
12
+ return ___EmotionJSX(CustomComponent, {
13
+ query: props.query,
14
+ onChange: props.onChange
15
+ });
16
+ };
@@ -12,6 +12,7 @@ import { IsFilter } from './is_filter';
12
12
  import { FieldValueSelectionFilter } from './field_value_selection_filter';
13
13
  import { FieldValueToggleFilter } from './field_value_toggle_filter';
14
14
  import { FieldValueToggleGroupFilter } from './field_value_toggle_group_filter';
15
+ import { CustomComponentFilter } from './custom_component_filter';
15
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
17
  export var createFilter = function createFilter(index, config, query, onChange) {
17
18
  var props = {
@@ -45,6 +46,11 @@ export var createFilter = function createFilter(index, config, query, onChange)
45
46
  config: config
46
47
  }));
47
48
 
49
+ case 'custom_component':
50
+ return ___EmotionJSX(CustomComponentFilter, _extends({}, props, {
51
+ config: config
52
+ }));
53
+
48
54
  default:
49
55
  // @ts-ignore TS knows that we've checked `config.type` exhaustively
50
56
  throw new Error("Unknown search filter type [".concat(config.type, "]"));
@@ -528,6 +528,18 @@ export var _AST = /*#__PURE__*/function () {
528
528
  return !Is.isInstance(clause) || clause.flag !== flag;
529
529
  }));
530
530
  }
531
+ }, {
532
+ key: "removeIsClauses",
533
+ value: function removeIsClauses() {
534
+ return new _AST(this._clauses.filter(function (clause) {
535
+ return !Is.isInstance(clause);
536
+ }));
537
+ }
538
+ }, {
539
+ key: "removeAllClauses",
540
+ value: function removeAllClauses() {
541
+ return new _AST();
542
+ }
531
543
  }, {
532
544
  key: "getGroupClauses",
533
545
  value: function getGroupClauses() {
@@ -40,6 +40,11 @@ export var Query = /*#__PURE__*/function () {
40
40
  }
41
41
 
42
42
  _createClass(Query, [{
43
+ key: "hasClauses",
44
+ value: function hasClauses() {
45
+ return this.ast.clauses.length > 0;
46
+ }
47
+ }, {
43
48
  key: "hasSimpleFieldClause",
44
49
  value: function hasSimpleFieldClause(field, value) {
45
50
  return this.ast.hasSimpleFieldClause(field, value);
@@ -99,6 +104,12 @@ export var Query = /*#__PURE__*/function () {
99
104
  var ast = this.ast.removeOrFieldClauses(field);
100
105
  return new Query(ast, this.syntax);
101
106
  }
107
+ }, {
108
+ key: "removeAllClauses",
109
+ value: function removeAllClauses() {
110
+ var ast = this.ast.removeAllClauses();
111
+ return new Query(ast, this.syntax);
112
+ }
102
113
  }, {
103
114
  key: "hasIsClause",
104
115
  value: function hasIsClause(flag) {
@@ -127,6 +138,12 @@ export var Query = /*#__PURE__*/function () {
127
138
  var ast = this.ast.removeIsClause(flag);
128
139
  return new Query(ast, this.syntax);
129
140
  }
141
+ }, {
142
+ key: "removeIsClauses",
143
+ value: function removeIsClauses() {
144
+ var ast = this.ast.removeIsClauses();
145
+ return new Query(ast, this.syntax);
146
+ }
130
147
  /**
131
148
  * Executes this query over the given iterable item and returns
132
149
  * an new array of all items that matched this query. Options:
@@ -209,10 +209,10 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
209
209
 
210
210
  if (_arrowDisplay !== 'none') {
211
211
  iconButton = (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
212
- color: "text"
212
+ color: "text",
213
+ css: cssIconButtonStyles
213
214
  }, arrowProps, {
214
215
  className: iconButtonClasses,
215
- css: cssIconButtonStyles,
216
216
  iconType: "arrowRight",
217
217
  onClick: this.onToggle,
218
218
  "aria-controls": id,
@@ -248,10 +248,11 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
248
248
  childrenContent = children;
249
249
  }
250
250
 
251
- var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({}, buttonProps, {
251
+ var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({
252
+ css: cssButtonStyles
253
+ }, buttonProps, {
252
254
  id: buttonId,
253
255
  className: buttonClasses,
254
- css: cssButtonStyles,
255
256
  "aria-controls": id,
256
257
  "aria-expanded": isOpen,
257
258
  onClick: isDisabled ? undefined : this.onToggle,
@@ -30,10 +30,11 @@ var EuiHeaderSectionItem = function EuiHeaderSectionItem(_ref) {
30
30
  children = _ref.children,
31
31
  className = _ref.className,
32
32
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
- var classes = (0, _classnames.default)('euiHeaderSectionItem', borderToClassNameMap[border], className);
34
- return (0, _react2.jsx)("div", (0, _extends2.default)({
33
+ var classes = (0, _classnames.default)('euiHeaderSectionItem', borderToClassNameMap[border], className); // we check if there is any children and if not, we don't render anything
34
+
35
+ return children ? (0, _react2.jsx)("div", (0, _extends2.default)({
35
36
  className: classes
36
- }, rest), children);
37
+ }, rest), children) : null;
37
38
  };
38
39
 
39
40
  exports.EuiHeaderSectionItem = EuiHeaderSectionItem;
@@ -62,10 +62,10 @@ var EuiImageWrapper = function EuiImageWrapper(_ref) {
62
62
  optionalCaptionText = _useInnerText2[1];
63
63
 
64
64
  return (0, _react2.jsx)("figure", (0, _extends2.default)({
65
- "aria-label": optionalCaptionText
66
- }, wrapperProps, {
67
- className: classes,
65
+ "aria-label": optionalCaptionText,
68
66
  css: cssFigureStyles
67
+ }, wrapperProps, {
68
+ className: classes
69
69
  }), allowFullScreen ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_image_button.EuiImageButton, {
70
70
  hasAlt: !!alt,
71
71
  hasShadow: hasShadow,
@@ -75,7 +75,7 @@ var EuiPageHeaderContent = function EuiPageHeaderContent(_ref) {
75
75
 
76
76
  var isResponsiveBreakpoint = (0, _services.useIsWithinBreakpoints)(['xs', 's'], !!responsive);
77
77
  var useTheme = (0, _services.useEuiTheme)();
78
- var classes = (0, _classnames.default)('euiPageHeaderContent');
78
+ var classes = (0, _classnames.default)('euiPageHeaderContent', className);
79
79
  var pageHeaderStyles = (0, _page_header.euiPageHeaderStyles)(useTheme);
80
80
  var contentStyles = (0, _page_header_content.euiPageHeaderContentStyles)(useTheme);
81
81
  var styles = (0, _restrict_width.setStyleForRestrictedPageWidth)(restrictWidth, style);
@@ -51,12 +51,11 @@ var EuiPageSection = function EuiPageSection(_ref) {
51
51
  var colors = (0, _global_styling.useEuiBackgroundColorCSS)();
52
52
  var cssStyles = [styles.euiPageSection, grow && styles.grow, inlinePadding[paddingSize], bottomBorder === 'extended' && styles.border, alignment && styles[alignment], colors[color]];
53
53
  var contentStyles = (0, _page_section.euiPageSectionContentStyles)();
54
- var cssContentStyles = [contentStyles.euiPageSection__content, blockPadding[paddingSize], bottomBorder === true && styles.border, alignment.toLowerCase().includes('center') && contentStyles.center, restrictWidth && contentStyles.restrictWidth];
54
+ var cssContentStyles = [contentStyles.euiPageSection__content, blockPadding[paddingSize], bottomBorder === true && styles.border, alignment.toLowerCase().includes('center') && contentStyles.center, restrictWidth && contentStyles.restrictWidth, (contentProps === null || contentProps === void 0 ? void 0 : contentProps.css) && contentProps.css];
55
55
  return (0, _react2.jsx)(Component, (0, _extends2.default)({
56
56
  css: cssStyles
57
- }, rest), (0, _react2.jsx)("div", (0, _extends2.default)({
58
- css: cssContentStyles
59
- }, contentProps, {
57
+ }, rest), (0, _react2.jsx)("div", (0, _extends2.default)({}, contentProps, {
58
+ css: cssContentStyles,
60
59
  style: widthStyles
61
60
  }), children));
62
61
  };
@@ -100,9 +100,9 @@ var EuiProgress = function EuiProgress(_ref) {
100
100
  }, label && (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
101
101
  return (0, _react2.jsx)("span", (0, _extends2.default)({
102
102
  title: innerText,
103
- ref: ref
103
+ ref: ref,
104
+ css: labelCssStyles
104
105
  }, labelProps, {
105
- css: labelCssStyles,
106
106
  className: labelClasses
107
107
  }), label);
108
108
  }), valueRender && (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.CustomComponentFilter = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _react2 = require("@emotion/react");
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;
@@ -19,6 +19,8 @@ var _field_value_toggle_filter = require("./field_value_toggle_filter");
19
19
 
20
20
  var _field_value_toggle_group_filter = require("./field_value_toggle_group_filter");
21
21
 
22
+ var _custom_component_filter = require("./custom_component_filter");
23
+
22
24
  var _react2 = require("@emotion/react");
23
25
 
24
26
  /*
@@ -60,6 +62,11 @@ var createFilter = function createFilter(index, config, query, onChange) {
60
62
  config: config
61
63
  }));
62
64
 
65
+ case 'custom_component':
66
+ return (0, _react2.jsx)(_custom_component_filter.CustomComponentFilter, (0, _extends2.default)({}, props, {
67
+ config: config
68
+ }));
69
+
63
70
  default:
64
71
  // @ts-ignore TS knows that we've checked `config.type` exhaustively
65
72
  throw new Error("Unknown search filter type [".concat(config.type, "]"));
@@ -533,6 +533,18 @@ var _AST = /*#__PURE__*/function () {
533
533
  return !Is.isInstance(clause) || clause.flag !== flag;
534
534
  }));
535
535
  }
536
+ }, {
537
+ key: "removeIsClauses",
538
+ value: function removeIsClauses() {
539
+ return new _AST(this._clauses.filter(function (clause) {
540
+ return !Is.isInstance(clause);
541
+ }));
542
+ }
543
+ }, {
544
+ key: "removeAllClauses",
545
+ value: function removeAllClauses() {
546
+ return new _AST();
547
+ }
536
548
  }, {
537
549
  key: "getGroupClauses",
538
550
  value: function getGroupClauses() {
@@ -52,6 +52,11 @@ var Query = /*#__PURE__*/function () {
52
52
  }
53
53
 
54
54
  (0, _createClass2.default)(Query, [{
55
+ key: "hasClauses",
56
+ value: function hasClauses() {
57
+ return this.ast.clauses.length > 0;
58
+ }
59
+ }, {
55
60
  key: "hasSimpleFieldClause",
56
61
  value: function hasSimpleFieldClause(field, value) {
57
62
  return this.ast.hasSimpleFieldClause(field, value);
@@ -111,6 +116,12 @@ var Query = /*#__PURE__*/function () {
111
116
  var ast = this.ast.removeOrFieldClauses(field);
112
117
  return new Query(ast, this.syntax);
113
118
  }
119
+ }, {
120
+ key: "removeAllClauses",
121
+ value: function removeAllClauses() {
122
+ var ast = this.ast.removeAllClauses();
123
+ return new Query(ast, this.syntax);
124
+ }
114
125
  }, {
115
126
  key: "hasIsClause",
116
127
  value: function hasIsClause(flag) {
@@ -139,6 +150,12 @@ var Query = /*#__PURE__*/function () {
139
150
  var ast = this.ast.removeIsClause(flag);
140
151
  return new Query(ast, this.syntax);
141
152
  }
153
+ }, {
154
+ key: "removeIsClauses",
155
+ value: function removeIsClauses() {
156
+ var ast = this.ast.removeIsClauses();
157
+ return new Query(ast, this.syntax);
158
+ }
142
159
  /**
143
160
  * Executes this query over the given iterable item and returns
144
161
  * an new array of all items that matched this query. Options:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "64.0.2",
4
+ "version": "64.0.4",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -41,4 +41,4 @@
41
41
  display: none;
42
42
  }
43
43
  }
44
- }
44
+ }
@@ -211,10 +211,10 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
211
211
 
212
212
  if (_arrowDisplay !== 'none') {
213
213
  iconButton = (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
214
- color: "text"
214
+ color: "text",
215
+ css: cssIconButtonStyles
215
216
  }, arrowProps, {
216
217
  className: iconButtonClasses,
217
- css: cssIconButtonStyles,
218
218
  iconType: "arrowRight",
219
219
  onClick: this.onToggle,
220
220
  "aria-controls": id,
@@ -250,10 +250,11 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
250
250
  childrenContent = children;
251
251
  }
252
252
 
253
- var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({}, buttonProps, {
253
+ var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({
254
+ css: cssButtonStyles
255
+ }, buttonProps, {
254
256
  id: buttonId,
255
257
  className: buttonClasses,
256
- css: cssButtonStyles,
257
258
  "aria-controls": id,
258
259
  "aria-expanded": isOpen,
259
260
  onClick: isDisabled ? undefined : this.onToggle,
@@ -1099,6 +1099,10 @@ EuiInMemoryTable.propTypes = {
1099
1099
  operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
1100
1100
  }).isRequired).isRequired,
1101
1101
  available: _propTypes.default.func
1102
+ }).isRequired, _propTypes.default.shape({
1103
+ type: _propTypes.default.oneOf(["custom_component"]).isRequired,
1104
+ component: _propTypes.default.elementType.isRequired,
1105
+ available: _propTypes.default.func
1102
1106
  }).isRequired]).isRequired),
1103
1107
 
1104
1108
  /**
@@ -32,10 +32,11 @@ var EuiHeaderSectionItem = function EuiHeaderSectionItem(_ref) {
32
32
  children = _ref.children,
33
33
  className = _ref.className,
34
34
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
- var classes = (0, _classnames.default)('euiHeaderSectionItem', borderToClassNameMap[border], className);
36
- return (0, _react2.jsx)("div", (0, _extends2.default)({
35
+ var classes = (0, _classnames.default)('euiHeaderSectionItem', borderToClassNameMap[border], className); // we check if there is any children and if not, we don't render anything
36
+
37
+ return children ? (0, _react2.jsx)("div", (0, _extends2.default)({
37
38
  className: classes
38
- }, rest), children);
39
+ }, rest), children) : null;
39
40
  };
40
41
 
41
42
  exports.EuiHeaderSectionItem = EuiHeaderSectionItem;
@@ -64,10 +64,10 @@ var EuiImageWrapper = function EuiImageWrapper(_ref) {
64
64
  optionalCaptionText = _useInnerText2[1];
65
65
 
66
66
  return (0, _react2.jsx)("figure", (0, _extends2.default)({
67
- "aria-label": optionalCaptionText
68
- }, wrapperProps, {
69
- className: classes,
67
+ "aria-label": optionalCaptionText,
70
68
  css: cssFigureStyles
69
+ }, wrapperProps, {
70
+ className: classes
71
71
  }), allowFullScreen ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_image_button.EuiImageButton, {
72
72
  hasAlt: !!alt,
73
73
  hasShadow: hasShadow,
@@ -77,7 +77,7 @@ var EuiPageHeaderContent = function EuiPageHeaderContent(_ref) {
77
77
 
78
78
  var isResponsiveBreakpoint = (0, _services.useIsWithinBreakpoints)(['xs', 's'], !!responsive);
79
79
  var useTheme = (0, _services.useEuiTheme)();
80
- var classes = (0, _classnames.default)('euiPageHeaderContent');
80
+ var classes = (0, _classnames.default)('euiPageHeaderContent', className);
81
81
  var pageHeaderStyles = (0, _page_header.euiPageHeaderStyles)(useTheme);
82
82
  var contentStyles = (0, _page_header_content.euiPageHeaderContentStyles)(useTheme);
83
83
  var styles = (0, _restrict_width.setStyleForRestrictedPageWidth)(restrictWidth, style);
@@ -53,12 +53,11 @@ var EuiPageSection = function EuiPageSection(_ref) {
53
53
  var colors = (0, _global_styling.useEuiBackgroundColorCSS)();
54
54
  var cssStyles = [styles.euiPageSection, grow && styles.grow, inlinePadding[paddingSize], bottomBorder === 'extended' && styles.border, alignment && styles[alignment], colors[color]];
55
55
  var contentStyles = (0, _page_section.euiPageSectionContentStyles)();
56
- var cssContentStyles = [contentStyles.euiPageSection__content, blockPadding[paddingSize], bottomBorder === true && styles.border, alignment.toLowerCase().includes('center') && contentStyles.center, restrictWidth && contentStyles.restrictWidth];
56
+ var cssContentStyles = [contentStyles.euiPageSection__content, blockPadding[paddingSize], bottomBorder === true && styles.border, alignment.toLowerCase().includes('center') && contentStyles.center, restrictWidth && contentStyles.restrictWidth, (contentProps === null || contentProps === void 0 ? void 0 : contentProps.css) && contentProps.css];
57
57
  return (0, _react2.jsx)(Component, (0, _extends2.default)({
58
58
  css: cssStyles
59
- }, rest), (0, _react2.jsx)("div", (0, _extends2.default)({
60
- css: cssContentStyles
61
- }, contentProps, {
59
+ }, rest), (0, _react2.jsx)("div", (0, _extends2.default)({}, contentProps, {
60
+ css: cssContentStyles,
62
61
  style: widthStyles
63
62
  }), children));
64
63
  };
@@ -102,9 +102,9 @@ var EuiProgress = function EuiProgress(_ref) {
102
102
  }, label && (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
103
103
  return (0, _react2.jsx)("span", (0, _extends2.default)({
104
104
  title: innerText,
105
- ref: ref
105
+ ref: ref,
106
+ css: labelCssStyles
106
107
  }, labelProps, {
107
- css: labelCssStyles,
108
108
  className: labelClasses
109
109
  }), label);
110
110
  }), valueRender && (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.CustomComponentFilter = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _react2 = require("@emotion/react");
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;
@@ -19,6 +19,8 @@ var _field_value_toggle_filter = require("./field_value_toggle_filter");
19
19
 
20
20
  var _field_value_toggle_group_filter = require("./field_value_toggle_group_filter");
21
21
 
22
+ var _custom_component_filter = require("./custom_component_filter");
23
+
22
24
  var _react2 = require("@emotion/react");
23
25
 
24
26
  /*
@@ -60,6 +62,11 @@ var createFilter = function createFilter(index, config, query, onChange) {
60
62
  config: config
61
63
  }));
62
64
 
65
+ case 'custom_component':
66
+ return (0, _react2.jsx)(_custom_component_filter.CustomComponentFilter, (0, _extends2.default)({}, props, {
67
+ config: config
68
+ }));
69
+
63
70
  default:
64
71
  // @ts-ignore TS knows that we've checked `config.type` exhaustively
65
72
  throw new Error("Unknown search filter type [".concat(config.type, "]"));
@@ -533,6 +533,18 @@ var _AST = /*#__PURE__*/function () {
533
533
  return !Is.isInstance(clause) || clause.flag !== flag;
534
534
  }));
535
535
  }
536
+ }, {
537
+ key: "removeIsClauses",
538
+ value: function removeIsClauses() {
539
+ return new _AST(this._clauses.filter(function (clause) {
540
+ return !Is.isInstance(clause);
541
+ }));
542
+ }
543
+ }, {
544
+ key: "removeAllClauses",
545
+ value: function removeAllClauses() {
546
+ return new _AST();
547
+ }
536
548
  }, {
537
549
  key: "getGroupClauses",
538
550
  value: function getGroupClauses() {
@@ -52,6 +52,11 @@ var Query = /*#__PURE__*/function () {
52
52
  }
53
53
 
54
54
  (0, _createClass2.default)(Query, [{
55
+ key: "hasClauses",
56
+ value: function hasClauses() {
57
+ return this.ast.clauses.length > 0;
58
+ }
59
+ }, {
55
60
  key: "hasSimpleFieldClause",
56
61
  value: function hasSimpleFieldClause(field, value) {
57
62
  return this.ast.hasSimpleFieldClause(field, value);
@@ -111,6 +116,12 @@ var Query = /*#__PURE__*/function () {
111
116
  var ast = this.ast.removeOrFieldClauses(field);
112
117
  return new Query(ast, this.syntax);
113
118
  }
119
+ }, {
120
+ key: "removeAllClauses",
121
+ value: function removeAllClauses() {
122
+ var ast = this.ast.removeAllClauses();
123
+ return new Query(ast, this.syntax);
124
+ }
114
125
  }, {
115
126
  key: "hasIsClause",
116
127
  value: function hasIsClause(flag) {
@@ -139,6 +150,12 @@ var Query = /*#__PURE__*/function () {
139
150
  var ast = this.ast.removeIsClause(flag);
140
151
  return new Query(ast, this.syntax);
141
152
  }
153
+ }, {
154
+ key: "removeIsClauses",
155
+ value: function removeIsClauses() {
156
+ var ast = this.ast.removeIsClauses();
157
+ return new Query(ast, this.syntax);
158
+ }
142
159
  /**
143
160
  * Executes this query over the given iterable item and returns
144
161
  * an new array of all items that matched this query. Options:
@@ -425,6 +425,10 @@ EuiSearchBar.propTypes = {
425
425
  operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
426
426
  }).isRequired).isRequired,
427
427
  available: _propTypes.default.func
428
+ }).isRequired, _propTypes.default.shape({
429
+ type: _propTypes.default.oneOf(["custom_component"]).isRequired,
430
+ component: _propTypes.default.elementType.isRequired,
431
+ available: _propTypes.default.func
428
432
  }).isRequired]).isRequired),
429
433
 
430
434
  /**
@@ -159,5 +159,9 @@ EuiSearchFilters.propTypes = {
159
159
  operator: _propTypes.default.oneOf(["eq", "exact", "gt", "gte", "lt", "lte"])
160
160
  }).isRequired).isRequired,
161
161
  available: _propTypes.default.func
162
+ }).isRequired, _propTypes.default.shape({
163
+ type: _propTypes.default.oneOf(["custom_component"]).isRequired,
164
+ component: _propTypes.default.elementType.isRequired,
165
+ available: _propTypes.default.func
162
166
  }).isRequired]).isRequired).isRequired
163
167
  };