@elastic/eslint-plugin-eui 2.11.0 → 2.12.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.
package/README.md CHANGED
@@ -182,6 +182,24 @@ Ensure the `EuiIcon` includes appropriate accessibility attributes.
182
182
  - `EuiIcon` has an accessible name via `title`, `aria-label`, or `aria-labelledby`; otherwise mark it decorative with `aria-hidden={true}`
183
183
  - Do not combine `tabIndex` with `aria-hidden`
184
184
 
185
+ ### `@elastic/eui/prefer-tooltip-trigger-focus-test-utility`
186
+
187
+ Flags `fireEvent.focus()` inside `it`/`test` blocks that also query for a tooltip element (`getByRole('tooltip')`, `queryByRole('tooltip')`, `findByRole('tooltip')` or any selector containing `euiToolTip`). Plain `fireEvent.focus` does not simulate `:focus-visible` in jsdom and will not trigger `EuiToolTip`, so tooltip focus tests will silently pass without actually showing the tooltip.
188
+
189
+ Use `focusEuiToolTipTrigger` from EUI's RTL test utilities instead, which correctly mocks `:focus-visible` before firing the focus event:
190
+
191
+ ```tsx
192
+ import { focusEuiToolTipTrigger } from '@elastic/eui/test/rtl';
193
+
194
+ it('shows tooltip on focus', async () => {
195
+ const { getByRole } = render(<MyComponent />);
196
+ const cleanup = focusEuiToolTipTrigger(getByRole('button'));
197
+ expect(getByRole('tooltip')).toBeInTheDocument();
198
+ cleanup();
199
+ });
200
+ ```
201
+
202
+
185
203
  ## Testing
186
204
 
187
205
  ### Running unit tests
package/lib/cjs/index.js CHANGED
@@ -14,6 +14,7 @@ var _require_aria_label_for_modals = require("./rules/a11y/require_aria_label_fo
14
14
  var _require_table_caption = require("./rules/a11y/require_table_caption");
15
15
  var _sr_output_disabled_tooltip = require("./rules/a11y/sr_output_disabled_tooltip");
16
16
  var _tooltip_focusable_anchor = require("./rules/a11y/tooltip_focusable_anchor");
17
+ var _prefer_tooltip_trigger_focus_test_utility = require("./rules/prefer_tooltip_trigger_focus_test_utility");
17
18
  var _badge_accessibility_rules = require("./rules/a11y/badge_accessibility_rules");
18
19
  var _icon_accessibility_rules = require("./rules/a11y/icon_accessibility_rules");
19
20
  /*
@@ -40,6 +41,7 @@ const config = {
40
41
  'require-table-caption': _require_table_caption.RequireTableCaption,
41
42
  'sr-output-disabled-tooltip': _sr_output_disabled_tooltip.ScreenReaderOutputDisabledTooltip,
42
43
  'tooltip-focusable-anchor': _tooltip_focusable_anchor.TooltipFocusableAnchor,
44
+ 'prefer-tooltip-trigger-focus-test-utility': _prefer_tooltip_trigger_focus_test_utility.PreferTooltipTriggerFocusTestUtility,
43
45
  'badge-accessibility-rules': _badge_accessibility_rules.EuiBadgeAccessibilityRules,
44
46
  'icon-accessibility-rules': _icon_accessibility_rules.EuiIconAccessibilityRules
45
47
  },
@@ -61,6 +63,7 @@ const config = {
61
63
  '@elastic/eui/require-table-caption': 'warn',
62
64
  '@elastic/eui/sr-output-disabled-tooltip': 'warn',
63
65
  '@elastic/eui/tooltip-focusable-anchor': 'warn',
66
+ '@elastic/eui/prefer-tooltip-trigger-focus-test-utility': 'warn',
64
67
  '@elastic/eui/badge-accessibility-rules': 'warn',
65
68
  '@elastic/eui/icon-accessibility-rules': 'warn'
66
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"no_css_color.d.ts","sourceRoot":"","sources":["../../../src/rules/no_css_color.ts"],"names":[],"mappings":"AASA,OAAO,EAAY,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA+OjE,eAAO,MAAM,UAAU,2IAuRrB,CAAC"}
1
+ {"version":3,"file":"no_css_color.d.ts","sourceRoot":"","sources":["../../../src/rules/no_css_color.ts"],"names":[],"mappings":"AASA,OAAO,EAAY,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA+OjE,eAAO,MAAM,UAAU,2IAiSrB,CAAC"}
@@ -301,7 +301,11 @@ const NoCssColor = exports.NoCssColor = _utils.ESLintUtils.RuleCreator.withoutDo
301
301
  if (!functionReturnStatementNode) {
302
302
  return;
303
303
  }
304
- declarationPropertiesNode = functionReturnStatementNode.argument?.properties.filter(property => property.type === 'Property');
304
+ const returnArgument = functionReturnStatementNode.argument;
305
+ if (!returnArgument || returnArgument.type !== 'ObjectExpression') {
306
+ return;
307
+ }
308
+ declarationPropertiesNode = returnArgument.properties.filter(property => property.type === 'Property');
305
309
  }
306
310
  if (!declarationPropertiesNode.length) {
307
311
  return;
@@ -0,0 +1,3 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const PreferTooltipTriggerFocusTestUtility: ESLintUtils.RuleModule<"preferTooltipTriggerFocusTestUtility", [], unknown, ESLintUtils.RuleListener>;
3
+ //# sourceMappingURL=prefer_tooltip_trigger_focus_test_utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefer_tooltip_trigger_focus_test_utility.d.ts","sourceRoot":"","sources":["../../../src/rules/prefer_tooltip_trigger_focus_test_utility.ts"],"names":[],"mappings":"AAQA,OAAO,EAAY,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoDjE,eAAO,MAAM,oCAAoC,uGAqD7C,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PreferTooltipTriggerFocusTestUtility = void 0;
7
+ var _utils = require("@typescript-eslint/utils");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ const TOOLTIP_ROLE_QUERIES = new Set(['getByRole', 'queryByRole', 'findByRole']);
17
+ const isTooltipRoleQuery = node => {
18
+ const firstArg = node.arguments[0];
19
+ if (firstArg?.type !== 'Literal' || firstArg.value !== 'tooltip') return false;
20
+ const callee = node.callee;
21
+
22
+ // `screen.getByRole('tooltip')` or destructured `getByRole('tooltip')`
23
+ if (callee.type === 'MemberExpression') return callee.property.type === 'Identifier' && TOOLTIP_ROLE_QUERIES.has(callee.property.name);
24
+ if (callee.type === 'Identifier') return TOOLTIP_ROLE_QUERIES.has(callee.name);
25
+ return false;
26
+ };
27
+ const isFireEventFocus = node => node.callee.type === 'MemberExpression' && node.callee.object.type === 'Identifier' && node.callee.object.name === 'fireEvent' && node.callee.property.type === 'Identifier' && node.callee.property.name === 'focus';
28
+ const isEuiToolTipClassSelector = node => typeof node.value === 'string' && node.value.includes('euiToolTip');
29
+ const isTestBlock = node => {
30
+ const callee = node.callee;
31
+ return callee.type === 'Identifier' && (callee.name === 'it' || callee.name === 'test');
32
+ };
33
+ const PreferTooltipTriggerFocusTestUtility = exports.PreferTooltipTriggerFocusTestUtility = _utils.ESLintUtils.RuleCreator.withoutDocs({
34
+ create(context) {
35
+ const blockStack = [];
36
+ const currentBlock = () => blockStack[blockStack.length - 1];
37
+ return {
38
+ CallExpression(node) {
39
+ if (isTestBlock(node)) {
40
+ blockStack.push({
41
+ violations: [],
42
+ hasTooltipSignal: false
43
+ });
44
+ return;
45
+ }
46
+ const block = currentBlock();
47
+ if (!block) return;
48
+ if (isTooltipRoleQuery(node)) block.hasTooltipSignal = true;
49
+ if (isFireEventFocus(node)) block.violations.push(node);
50
+ },
51
+ Literal(node) {
52
+ const block = currentBlock();
53
+ if (!block) return;
54
+ if (isEuiToolTipClassSelector(node)) block.hasTooltipSignal = true;
55
+ },
56
+ 'CallExpression:exit'(node) {
57
+ if (!isTestBlock(node)) return;
58
+ const block = blockStack.pop();
59
+ if (!block?.hasTooltipSignal) return;
60
+ for (const violation of block.violations) {
61
+ context.report({
62
+ node: violation,
63
+ messageId: 'preferTooltipTriggerFocusTestUtility'
64
+ });
65
+ }
66
+ }
67
+ };
68
+ },
69
+ meta: {
70
+ type: 'suggestion',
71
+ docs: {
72
+ description: 'Prefer `focusEuiToolTipTrigger` over `fireEvent.focus` in tooltip tests. Plain `fireEvent.focus` does not simulate `:focus-visible` in jsdom and will not trigger the tooltip.'
73
+ },
74
+ schema: [],
75
+ messages: {
76
+ preferTooltipTriggerFocusTestUtility: 'Use `focusEuiToolTipTrigger` from EUI test utilities instead of `fireEvent.focus` when testing tooltip focus behavior.'
77
+ }
78
+ },
79
+ defaultOptions: []
80
+ });
package/lib/esm/index.js CHANGED
@@ -21,6 +21,7 @@ const require_aria_label_for_modals_1 = require("./rules/a11y/require_aria_label
21
21
  const require_table_caption_1 = require("./rules/a11y/require_table_caption");
22
22
  const sr_output_disabled_tooltip_1 = require("./rules/a11y/sr_output_disabled_tooltip");
23
23
  const tooltip_focusable_anchor_1 = require("./rules/a11y/tooltip_focusable_anchor");
24
+ const prefer_tooltip_trigger_focus_test_utility_1 = require("./rules/prefer_tooltip_trigger_focus_test_utility");
24
25
  const badge_accessibility_rules_1 = require("./rules/a11y/badge_accessibility_rules");
25
26
  const icon_accessibility_rules_1 = require("./rules/a11y/icon_accessibility_rules");
26
27
  const config = {
@@ -39,8 +40,9 @@ const config = {
39
40
  'require-table-caption': require_table_caption_1.RequireTableCaption,
40
41
  'sr-output-disabled-tooltip': sr_output_disabled_tooltip_1.ScreenReaderOutputDisabledTooltip,
41
42
  'tooltip-focusable-anchor': tooltip_focusable_anchor_1.TooltipFocusableAnchor,
43
+ 'prefer-tooltip-trigger-focus-test-utility': prefer_tooltip_trigger_focus_test_utility_1.PreferTooltipTriggerFocusTestUtility,
42
44
  'badge-accessibility-rules': badge_accessibility_rules_1.EuiBadgeAccessibilityRules,
43
- 'icon-accessibility-rules': icon_accessibility_rules_1.EuiIconAccessibilityRules
45
+ 'icon-accessibility-rules': icon_accessibility_rules_1.EuiIconAccessibilityRules,
44
46
  },
45
47
  configs: {
46
48
  recommended: {
@@ -60,6 +62,7 @@ const config = {
60
62
  '@elastic/eui/require-table-caption': 'warn',
61
63
  '@elastic/eui/sr-output-disabled-tooltip': 'warn',
62
64
  '@elastic/eui/tooltip-focusable-anchor': 'warn',
65
+ '@elastic/eui/prefer-tooltip-trigger-focus-test-utility': 'warn',
63
66
  '@elastic/eui/badge-accessibility-rules': 'warn',
64
67
  '@elastic/eui/icon-accessibility-rules': 'warn',
65
68
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAGH,gGAA4F;AAC5F,sFAAgF;AAChF,0FAAoF;AACpF,+DAAuD;AACvD,uDAAkD;AAClD,iFAA2E;AAC3E,iEAA2D;AAC3D,gGAA0F;AAC1F,gFAA0E;AAC1E,0EAAoE;AACpE,8FAAuF;AACvF,8EAAyE;AACzE,wFAA4F;AAC5F,oFAA+E;AAC/E,sFAAoF;AACpF,oFAAkF;AAElF,MAAM,MAAM,GAAG;IACb,KAAK,EAAE;QACL,gCAAgC,EAAE,8DAA6B;QAC/D,2BAA2B,EAAE,kDAAsB;QACnD,6BAA6B,EAAE,sDAAwB;QACvD,kBAAkB,EAAE,8BAAW;QAC/B,cAAc,EAAE,yBAAU;QAC1B,2BAA2B,EAAE,kDAAsB;QACnD,mBAAmB,EAAE,kCAAc;QACnC,gCAAgC,EAAE,4DAA2B;QAC7D,wBAAwB,EAAG,4CAAmB;QAC9C,qBAAqB,EAAE,sCAAgB;QACvC,+BAA+B,EAAE,yDAAyB;QAC1D,uBAAuB,EAAE,2CAAmB;QAC5C,4BAA4B,EAAE,8DAAiC;QAC/D,0BAA0B,EAAE,iDAAsB;QAClD,2BAA2B,EAAE,sDAA0B;QACvD,0BAA0B,EAAE,oDAAyB;KACtD;IACD,OAAO,EAAE;QACP,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,4BAA4B,CAAC;YACvC,KAAK,EAAE;gBACL,6CAA6C,EAAE,MAAM;gBACrD,wCAAwC,EAAE,MAAM;gBAChD,0CAA0C,EAAE,MAAM;gBAClD,+BAA+B,EAAE,MAAM;gBACvC,2BAA2B,EAAE,MAAM;gBACnC,wCAAwC,EAAE,MAAM;gBAChD,gCAAgC,EAAE,MAAM;gBACxC,6CAA6C,EAAE,MAAM;gBACrD,qCAAqC,EAAE,MAAM;gBAC7C,kCAAkC,EAAE,MAAM;gBAC1C,4CAA4C,EAAE,MAAM;gBACpD,oCAAoC,EAAE,MAAM;gBAC5C,yCAAyC,EAAE,MAAM;gBACjD,uCAAuC,EAAE,MAAM;gBAC/C,wCAAwC,EAAE,MAAM;gBAChD,uCAAuC,EAAE,MAAM;aAChD;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,gGAA4F;AAC5F,sFAAgF;AAChF,0FAAoF;AACpF,+DAAuD;AACvD,uDAAkD;AAClD,iFAA2E;AAC3E,iEAA2D;AAC3D,gGAA0F;AAC1F,gFAA0E;AAC1E,0EAAoE;AACpE,8FAAuF;AACvF,8EAAyE;AACzE,wFAA4F;AAC5F,oFAA+E;AAC/E,iHAAyG;AACzG,sFAAoF;AACpF,oFAAkF;AAElF,MAAM,MAAM,GAAG;IACb,KAAK,EAAE;QACL,gCAAgC,EAAE,8DAA6B;QAC/D,2BAA2B,EAAE,kDAAsB;QACnD,6BAA6B,EAAE,sDAAwB;QACvD,kBAAkB,EAAE,8BAAW;QAC/B,cAAc,EAAE,yBAAU;QAC1B,2BAA2B,EAAE,kDAAsB;QACnD,mBAAmB,EAAE,kCAAc;QACnC,gCAAgC,EAAE,4DAA2B;QAC7D,wBAAwB,EAAE,4CAAmB;QAC7C,qBAAqB,EAAE,sCAAgB;QACvC,+BAA+B,EAAE,yDAAyB;QAC1D,uBAAuB,EAAE,2CAAmB;QAC5C,4BAA4B,EAAE,8DAAiC;QAC/D,0BAA0B,EAAE,iDAAsB;QAClD,2CAA2C,EACzC,gFAAoC;QACtC,2BAA2B,EAAE,sDAA0B;QACvD,0BAA0B,EAAE,oDAAyB;KACtD;IACD,OAAO,EAAE;QACP,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,4BAA4B,CAAC;YACvC,KAAK,EAAE;gBACL,6CAA6C,EAAE,MAAM;gBACrD,wCAAwC,EAAE,MAAM;gBAChD,0CAA0C,EAAE,MAAM;gBAClD,+BAA+B,EAAE,MAAM;gBACvC,2BAA2B,EAAE,MAAM;gBACnC,wCAAwC,EAAE,MAAM;gBAChD,gCAAgC,EAAE,MAAM;gBACxC,6CAA6C,EAAE,MAAM;gBACrD,qCAAqC,EAAE,MAAM;gBAC7C,kCAAkC,EAAE,MAAM;gBAC1C,4CAA4C,EAAE,MAAM;gBACpD,oCAAoC,EAAE,MAAM;gBAC5C,yCAAyC,EAAE,MAAM;gBACjD,uCAAuC,EAAE,MAAM;gBAC/C,wDAAwD,EAAE,MAAM;gBAChE,wCAAwC,EAAE,MAAM;gBAChD,uCAAuC,EAAE,MAAM;aAChD;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
@@ -339,8 +339,12 @@ exports.NoCssColor = utils_1.ESLintUtils.RuleCreator.withoutDocs({
339
339
  if (!functionReturnStatementNode) {
340
340
  return;
341
341
  }
342
- declarationPropertiesNode = functionReturnStatementNode
343
- .argument?.properties.filter((property) => property.type === 'Property');
342
+ const returnArgument = functionReturnStatementNode.argument;
343
+ if (!returnArgument ||
344
+ returnArgument.type !== 'ObjectExpression') {
345
+ return;
346
+ }
347
+ declarationPropertiesNode = returnArgument.properties.filter((property) => property.type === 'Property');
344
348
  }
345
349
  if (!declarationPropertiesNode.length) {
346
350
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"no_css_color.js","sourceRoot":"","sources":["../../../src/rules/no_css_color.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no_css_color.js","sourceRoot":"","sources":["../../../src/rules/no_css_color.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const PreferTooltipTriggerFocusTestUtility: ESLintUtils.RuleModule<"preferTooltipTriggerFocusTestUtility", [], unknown, ESLintUtils.RuleListener>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PreferTooltipTriggerFocusTestUtility = void 0;
11
+ const utils_1 = require("@typescript-eslint/utils");
12
+ const TOOLTIP_ROLE_QUERIES = new Set([
13
+ 'getByRole',
14
+ 'queryByRole',
15
+ 'findByRole',
16
+ ]);
17
+ const isTooltipRoleQuery = (node) => {
18
+ const firstArg = node.arguments[0];
19
+ if (firstArg?.type !== 'Literal' || firstArg.value !== 'tooltip')
20
+ return false;
21
+ const callee = node.callee;
22
+ // `screen.getByRole('tooltip')` or destructured `getByRole('tooltip')`
23
+ if (callee.type === 'MemberExpression')
24
+ return (callee.property.type === 'Identifier' &&
25
+ TOOLTIP_ROLE_QUERIES.has(callee.property.name));
26
+ if (callee.type === 'Identifier')
27
+ return TOOLTIP_ROLE_QUERIES.has(callee.name);
28
+ return false;
29
+ };
30
+ const isFireEventFocus = (node) => node.callee.type === 'MemberExpression' &&
31
+ node.callee.object.type === 'Identifier' &&
32
+ node.callee.object.name === 'fireEvent' &&
33
+ node.callee.property.type === 'Identifier' &&
34
+ node.callee.property.name === 'focus';
35
+ const isEuiToolTipClassSelector = (node) => typeof node.value === 'string' && node.value.includes('euiToolTip');
36
+ const isTestBlock = (node) => {
37
+ const callee = node.callee;
38
+ return (callee.type === 'Identifier' &&
39
+ (callee.name === 'it' || callee.name === 'test'));
40
+ };
41
+ exports.PreferTooltipTriggerFocusTestUtility = utils_1.ESLintUtils.RuleCreator.withoutDocs({
42
+ create(context) {
43
+ const blockStack = [];
44
+ const currentBlock = () => blockStack[blockStack.length - 1];
45
+ return {
46
+ CallExpression(node) {
47
+ if (isTestBlock(node)) {
48
+ blockStack.push({ violations: [], hasTooltipSignal: false });
49
+ return;
50
+ }
51
+ const block = currentBlock();
52
+ if (!block)
53
+ return;
54
+ if (isTooltipRoleQuery(node))
55
+ block.hasTooltipSignal = true;
56
+ if (isFireEventFocus(node))
57
+ block.violations.push(node);
58
+ },
59
+ Literal(node) {
60
+ const block = currentBlock();
61
+ if (!block)
62
+ return;
63
+ if (isEuiToolTipClassSelector(node))
64
+ block.hasTooltipSignal = true;
65
+ },
66
+ 'CallExpression:exit'(node) {
67
+ if (!isTestBlock(node))
68
+ return;
69
+ const block = blockStack.pop();
70
+ if (!block?.hasTooltipSignal)
71
+ return;
72
+ for (const violation of block.violations) {
73
+ context.report({
74
+ node: violation,
75
+ messageId: 'preferTooltipTriggerFocusTestUtility',
76
+ });
77
+ }
78
+ },
79
+ };
80
+ },
81
+ meta: {
82
+ type: 'suggestion',
83
+ docs: {
84
+ description: 'Prefer `focusEuiToolTipTrigger` over `fireEvent.focus` in tooltip tests. Plain `fireEvent.focus` does not simulate `:focus-visible` in jsdom and will not trigger the tooltip.',
85
+ },
86
+ schema: [],
87
+ messages: {
88
+ preferTooltipTriggerFocusTestUtility: 'Use `focusEuiToolTipTrigger` from EUI test utilities instead of `fireEvent.focus` when testing tooltip focus behavior.',
89
+ },
90
+ },
91
+ defaultOptions: [],
92
+ });
93
+ //# sourceMappingURL=prefer_tooltip_trigger_focus_test_utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefer_tooltip_trigger_focus_test_utility.js","sourceRoot":"","sources":["../../../src/rules/prefer_tooltip_trigger_focus_test_utility.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,oDAAiE;AAEjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,WAAW;IACX,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,IAA6B,EAAW,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAC9D,OAAO,KAAK,CAAC;IAEf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,uEAAuE;IACvE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB;QACpC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;YACrC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC/C,CAAC;IAEJ,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;QAC9B,OAAO,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAA6B,EAAW,EAAE,CAClE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;AAExC,MAAM,yBAAyB,GAAG,CAAC,IAAsB,EAAW,EAAE,CACpE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEtE,MAAM,WAAW,GAAG,CAAC,IAA6B,EAAW,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,YAAY;QAC5B,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CACjD,CAAC;AACJ,CAAC,CAAC;AAOW,QAAA,oCAAoC,GAC/C,mBAAW,CAAC,WAAW,CAAC,WAAW,CAAC;IAClC,MAAM,CAAC,OAAO;QACZ,MAAM,UAAU,GAAiB,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,GAA2B,EAAE,CAChD,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpC,OAAO;YACL,cAAc,CAAC,IAA6B;gBAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,kBAAkB,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC5D,IAAI,gBAAgB,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,IAAsB;gBAC5B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,yBAAyB,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACrE,CAAC;YACD,qBAAqB,CAAC,IAA6B;gBACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,gBAAgB;oBAAE,OAAO;gBAErC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,sCAAsC;qBAClD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,gLAAgL;SACnL;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,oCAAoC,EAClC,wHAAwH;SAC3H;KACF;IACD,cAAc,EAAE,EAAE;CACnB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elastic/eslint-plugin-eui",
3
- "version": "2.11.0",
3
+ "version": "2.12.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",