@elastic/eslint-plugin-eui 2.6.0 → 2.8.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 (39) hide show
  1. package/README.md +15 -0
  2. package/lib/cjs/index.js +33 -24
  3. package/lib/cjs/rules/a11y/badge_accessibility_rules.d.ts +3 -0
  4. package/lib/cjs/rules/a11y/badge_accessibility_rules.d.ts.map +1 -0
  5. package/lib/cjs/rules/a11y/badge_accessibility_rules.js +82 -0
  6. package/lib/cjs/rules/a11y/icon_accessibility_rules.d.ts +3 -0
  7. package/lib/cjs/rules/a11y/icon_accessibility_rules.d.ts.map +1 -0
  8. package/lib/cjs/rules/a11y/icon_accessibility_rules.js +82 -0
  9. package/lib/cjs/rules/no_css_color.d.ts.map +1 -1
  10. package/lib/cjs/rules/no_css_color.js +6 -4
  11. package/lib/cjs/rules/no_static_z_index.d.ts +3 -0
  12. package/lib/cjs/rules/no_static_z_index.d.ts.map +1 -0
  13. package/lib/cjs/rules/no_static_z_index.js +361 -0
  14. package/lib/cjs/utils/get_property_name.d.ts +3 -0
  15. package/lib/cjs/utils/get_property_name.d.ts.map +1 -0
  16. package/lib/cjs/utils/get_property_name.js +28 -0
  17. package/lib/cjs/utils/remove_attr.d.ts +26 -0
  18. package/lib/cjs/utils/remove_attr.d.ts.map +1 -0
  19. package/lib/cjs/utils/remove_attr.js +39 -0
  20. package/lib/esm/index.js +33 -24
  21. package/lib/esm/index.js.map +1 -1
  22. package/lib/esm/rules/a11y/badge_accessibility_rules.d.ts +2 -0
  23. package/lib/esm/rules/a11y/badge_accessibility_rules.js +84 -0
  24. package/lib/esm/rules/a11y/badge_accessibility_rules.js.map +1 -0
  25. package/lib/esm/rules/a11y/icon_accessibility_rules.d.ts +2 -0
  26. package/lib/esm/rules/a11y/icon_accessibility_rules.js +87 -0
  27. package/lib/esm/rules/a11y/icon_accessibility_rules.js.map +1 -0
  28. package/lib/esm/rules/no_css_color.js +10 -7
  29. package/lib/esm/rules/no_css_color.js.map +1 -1
  30. package/lib/esm/rules/no_static_z_index.d.ts +2 -0
  31. package/lib/esm/rules/no_static_z_index.js +394 -0
  32. package/lib/esm/rules/no_static_z_index.js.map +1 -0
  33. package/lib/esm/utils/get_property_name.d.ts +2 -0
  34. package/lib/esm/utils/get_property_name.js +27 -0
  35. package/lib/esm/utils/get_property_name.js.map +1 -0
  36. package/lib/esm/utils/remove_attr.d.ts +25 -0
  37. package/lib/esm/utils/remove_attr.js +34 -0
  38. package/lib/esm/utils/remove_attr.js.map +1 -0
  39. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge_accessibility_rules.js","sourceRoot":"","sources":["../../../../src/rules/a11y/badge_accessibility_rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ESLintUtils } from '@typescript-eslint/utils';
2
+ export declare const EuiIconAccessibilityRules: ESLintUtils.RuleModule<"missingTitleOrAriaHidden" | "tabIndexWithAriaHidden", [], unknown, ESLintUtils.RuleListener>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EuiIconAccessibilityRules = void 0;
4
+ const utils_1 = require("@typescript-eslint/utils");
5
+ const remove_attr_1 = require("../../utils/remove_attr");
6
+ const COMPONENT = 'EuiIcon';
7
+ exports.EuiIconAccessibilityRules = utils_1.ESLintUtils.RuleCreator.withoutDocs({
8
+ create(context) {
9
+ return {
10
+ JSXElement(node) {
11
+ const { openingElement } = node;
12
+ if (openingElement.name.type !== 'JSXIdentifier' ||
13
+ openingElement.name.name !== COMPONENT) {
14
+ return;
15
+ }
16
+ let ariaHiddenAttr;
17
+ let tabIndexAttr;
18
+ let isIconNamed = false;
19
+ for (const attr of openingElement.attributes) {
20
+ if (attr.type !== 'JSXAttribute' || attr.name.type !== 'JSXIdentifier')
21
+ continue;
22
+ const name = attr.name.name;
23
+ if (name === 'aria-hidden')
24
+ ariaHiddenAttr = attr;
25
+ if (name === 'tabIndex')
26
+ tabIndexAttr = attr;
27
+ if (['title', 'aria-labelledby', 'aria-label'].includes(name)) {
28
+ isIconNamed = true;
29
+ }
30
+ }
31
+ const hasAriaHiddenTrue = !!ariaHiddenAttr &&
32
+ ariaHiddenAttr.value &&
33
+ (
34
+ // aria-hidden={true}
35
+ (ariaHiddenAttr.value.type === 'JSXExpressionContainer' &&
36
+ ariaHiddenAttr.value.expression.type === 'Literal' &&
37
+ ariaHiddenAttr.value.expression.value === true) ||
38
+ // aria-hidden='true'
39
+ (ariaHiddenAttr.value.type === 'Literal' &&
40
+ ariaHiddenAttr.value.value === 'true'));
41
+ // Case: `tabIndex` and `aria-hidden` cannot be used together
42
+ if (tabIndexAttr && hasAriaHiddenTrue) {
43
+ context.report({
44
+ node: openingElement,
45
+ messageId: 'tabIndexWithAriaHidden',
46
+ fix: fixer => {
47
+ if (!ariaHiddenAttr?.range)
48
+ return null;
49
+ const [start, end] = (0, remove_attr_1.removeAttribute)(context, ariaHiddenAttr);
50
+ return [fixer.removeRange([start, end])];
51
+ }
52
+ });
53
+ return;
54
+ }
55
+ // Require accessible name or `aria-hidden={true}`;
56
+ if (!isIconNamed && !hasAriaHiddenTrue) {
57
+ context.report({
58
+ node: openingElement,
59
+ messageId: 'missingTitleOrAriaHidden',
60
+ fix: fixer => {
61
+ if (tabIndexAttr)
62
+ return null;
63
+ const end = openingElement.range[1];
64
+ const insertPos = openingElement.selfClosing ? end - 2 : end - 1; // before '/>' or '>'
65
+ const insertRange = [insertPos, insertPos];
66
+ return [fixer.insertTextBeforeRange(insertRange, ' aria-hidden={true}')];
67
+ }
68
+ });
69
+ }
70
+ }
71
+ };
72
+ },
73
+ meta: {
74
+ type: 'suggestion',
75
+ docs: {
76
+ description: `Ensure the EuiIcon includes appropriate accessibility attributes`
77
+ },
78
+ fixable: 'code',
79
+ schema: [],
80
+ messages: {
81
+ missingTitleOrAriaHidden: 'Add a `title`, `aria-label`, or `aria-labelledby` to EuiIcon, or set `aria-hidden={true}` if it is decorative.',
82
+ tabIndexWithAriaHidden: 'Do not use `tabIndex` together with `aria-hidden`. Remove `aria-hidden` or provide an accessible name.'
83
+ }
84
+ },
85
+ defaultOptions: []
86
+ });
87
+ //# sourceMappingURL=icon_accessibility_rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_accessibility_rules.js","sourceRoot":"","sources":["../../../../src/rules/a11y/icon_accessibility_rules.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ exports.NoCssColor = void 0;
11
11
  const cssstyle_1 = require("cssstyle");
12
12
  const utils_1 = require("@typescript-eslint/utils");
13
13
  const resolve_member_expression_root_1 = require("../utils/resolve_member_expression_root");
14
+ const get_property_name_1 = require("../utils/get_property_name");
14
15
  /**
15
16
  * @description List of superset css properties that can apply color to html box element elements and text nodes, leveraging the
16
17
  * css style package allows us to directly singly check for these properties even if the actual declaration was written using the shorthand form
@@ -44,7 +45,7 @@ const checkPropertySpecifiesInvalidCSSColor = ([property, value]) => {
44
45
  'initial',
45
46
  'unset',
46
47
  'revert',
47
- 'revert-layer'
48
+ 'revert-layer',
48
49
  ];
49
50
  const normalizedColorValue = colorValue.toLowerCase().trim();
50
51
  if (allowedCssKeywords.includes(normalizedColorValue)) {
@@ -57,14 +58,14 @@ const checkPropertySpecifiesInvalidCSSColor = ([property, value]) => {
57
58
  */
58
59
  const raiseReportIfPropertyHasInvalidCssColor = (context, propertyNode, messageToReport) => {
59
60
  let didReport = false;
60
- if (propertyNode.key.type === 'Identifier' &&
61
- !htmlElementColorDeclarationRegex.test(propertyNode.key.name)) {
61
+ const propertyName = (0, get_property_name_1.getPropertyName)(propertyNode);
62
+ if (!propertyName || !htmlElementColorDeclarationRegex.test(propertyName)) {
62
63
  return didReport;
63
64
  }
64
65
  if (propertyNode.value.type === 'Literal') {
65
66
  if ((didReport = checkPropertySpecifiesInvalidCSSColor([
66
- // @ts-expect-error the key name is present in this scenario
67
- propertyNode.key.name,
67
+ propertyName,
68
+ // @ts-expect-error the value is present in this scenario
68
69
  propertyNode.value.value,
69
70
  ]))) {
70
71
  context.report(messageToReport);
@@ -138,7 +139,8 @@ const handleObjectProperties = (context, propertyParentNode, property, reportMes
138
139
  else if (property.type === 'SpreadElement') {
139
140
  const spreadElementIdentifierName = property.argument.name;
140
141
  const spreadElementDeclaration = context.sourceCode
141
- .getScope(propertyParentNode.value.expression)
142
+ .getScope(propertyParentNode.value
143
+ .expression)
142
144
  .references.find((ref) => ref.identifier.name === spreadElementIdentifierName)?.resolved;
143
145
  if (!spreadElementDeclaration) {
144
146
  return;
@@ -327,7 +329,8 @@ exports.NoCssColor = utils_1.ESLintUtils.RuleCreator.withoutDocs({
327
329
  node.value.expression.type === 'ArrowFunctionExpression') {
328
330
  let declarationPropertiesNode = [];
329
331
  if (node.value.expression.body.type === 'ObjectExpression') {
330
- declarationPropertiesNode = node.value.expression.body.properties;
332
+ declarationPropertiesNode = node.value.expression.body
333
+ .properties;
331
334
  }
332
335
  if (node.value.expression.body.type === 'BlockStatement') {
333
336
  const functionReturnStatementNode = node.value.expression.body.body?.find((_node) => {
@@ -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 NoStaticZIndex: ESLintUtils.RuleModule<"noStaticZIndex" | "noStaticZIndexSpecific" | "noStaticZIndexSpecificDeclaredVariable", [], unknown, ESLintUtils.RuleListener>;
@@ -0,0 +1,394 @@
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.NoStaticZIndex = void 0;
11
+ const utils_1 = require("@typescript-eslint/utils");
12
+ const get_property_name_1 = require("../utils/get_property_name");
13
+ const propertiesCheckingZIndex = ['zIndex', 'z-index'];
14
+ const zIndexDeclarationRegex = RegExp(String.raw `(${propertiesCheckingZIndex.join('|')})`);
15
+ // Regex to find z-index declarations in CSS strings
16
+ // Matches:
17
+ // 1. z-index property name (case insensitive)
18
+ // 2. colon
19
+ // 3. value (captured group 1) until semicolon, closing brace, or !important
20
+ const cssZIndexRegex = /z-index\s*:\s*([^;!}]+)/gi;
21
+ const checkPropertySpecifiesInvalidZIndex = (property, value) => {
22
+ if (!property || value === undefined || value === null)
23
+ return false;
24
+ const normalizedProperty = property.trim();
25
+ const isZIndex = propertiesCheckingZIndex.includes(normalizedProperty);
26
+ if (!isZIndex)
27
+ return false;
28
+ return isInvalidZIndexValue(value);
29
+ };
30
+ const isInvalidZIndexValue = (value) => {
31
+ const allowedCssKeywords = [
32
+ 'auto',
33
+ 'inherit',
34
+ 'initial',
35
+ 'unset',
36
+ 'revert',
37
+ 'revert-layer',
38
+ ];
39
+ const stringValue = String(value).trim().toLowerCase();
40
+ if (allowedCssKeywords.includes(stringValue)) {
41
+ return false;
42
+ }
43
+ // Check if it's a number (positive, negative, or zero)
44
+ // This regex allows integers. z-index only accepts integers.
45
+ if (/^-?\d+$/.test(stringValue)) {
46
+ return true;
47
+ }
48
+ return false;
49
+ };
50
+ const raiseReportIfPropertyHasInvalidZIndex = (context, propertyNode, messageToReport) => {
51
+ let didReport = false;
52
+ const propertyName = (0, get_property_name_1.getPropertyName)(propertyNode);
53
+ if (!propertyName || !zIndexDeclarationRegex.test(propertyName)) {
54
+ return didReport;
55
+ }
56
+ const visitNode = (node) => {
57
+ // Handle Literal values: zIndex: 10, 'z-index': '10'
58
+ if (node.type === 'Literal') {
59
+ if (checkPropertySpecifiesInvalidZIndex(propertyName, node.value)) {
60
+ didReport = true;
61
+ context.report({
62
+ ...messageToReport,
63
+ loc: node.loc,
64
+ });
65
+ }
66
+ }
67
+ // Handle Identifier values: zIndex: someVar
68
+ else if (node.type === 'Identifier') {
69
+ const identifierName = node.name;
70
+ const identifierDeclaration = context.sourceCode
71
+ .getScope(node)
72
+ .variables.find((variable) => variable.name === identifierName);
73
+ const identifierDeclarationInit = identifierDeclaration?.defs[0]?.node.type === 'VariableDeclarator'
74
+ ? identifierDeclaration.defs[0].node.init
75
+ : undefined;
76
+ if (identifierDeclarationInit?.type === 'Literal' &&
77
+ checkPropertySpecifiesInvalidZIndex(propertyName, identifierDeclarationInit.value)) {
78
+ didReport = true;
79
+ context.report({
80
+ loc: node.loc,
81
+ messageId: 'noStaticZIndexSpecificDeclaredVariable',
82
+ data: {
83
+ property: propertyName,
84
+ line: String(node.loc.start.line),
85
+ variableName: node.name,
86
+ },
87
+ });
88
+ }
89
+ }
90
+ else if (node.type === 'ConditionalExpression') {
91
+ visitNode(node.consequent);
92
+ visitNode(node.alternate);
93
+ }
94
+ else if (node.type === 'LogicalExpression') {
95
+ visitNode(node.left);
96
+ visitNode(node.right);
97
+ }
98
+ else if (node.type === 'TSAsExpression') {
99
+ visitNode(node.expression);
100
+ }
101
+ else if (node.type === 'UnaryExpression') {
102
+ if (node.operator === '-') {
103
+ if (node.argument.type === 'Literal' &&
104
+ typeof node.argument.value === 'number') {
105
+ if (checkPropertySpecifiesInvalidZIndex(propertyName, -node.argument.value)) {
106
+ didReport = true;
107
+ context.report({
108
+ ...messageToReport,
109
+ loc: node.loc,
110
+ });
111
+ }
112
+ }
113
+ else {
114
+ visitNode(node.argument);
115
+ }
116
+ }
117
+ }
118
+ };
119
+ if (propertyNode.value) {
120
+ visitNode(propertyNode.value);
121
+ }
122
+ return didReport;
123
+ };
124
+ const handleObjectProperties = (context, propertyParentNode, property, reportMessage) => {
125
+ if (property.type === 'Property') {
126
+ if (property.value.type === 'ObjectExpression') {
127
+ property.value.properties.forEach((nestedProperty) => {
128
+ const nestedReportMessage = {
129
+ ...reportMessage,
130
+ loc: nestedProperty.loc,
131
+ };
132
+ if (nestedReportMessage.data) {
133
+ const newData = {
134
+ ...nestedReportMessage.data,
135
+ property: (0, get_property_name_1.getPropertyName)(nestedProperty) || 'unknown',
136
+ };
137
+ if ('line' in newData) {
138
+ newData.line = String(nestedProperty.loc.start.line);
139
+ }
140
+ nestedReportMessage.data = newData;
141
+ }
142
+ handleObjectProperties(context, propertyParentNode, nestedProperty, nestedReportMessage);
143
+ });
144
+ }
145
+ else {
146
+ raiseReportIfPropertyHasInvalidZIndex(context, property, reportMessage);
147
+ }
148
+ }
149
+ else if (property.type === 'SpreadElement') {
150
+ if (property.argument.type !== 'Identifier') {
151
+ return;
152
+ }
153
+ const spreadElementIdentifierName = property.argument.name;
154
+ let scopeNode = propertyParentNode;
155
+ if (propertyParentNode.type === 'JSXAttribute' &&
156
+ propertyParentNode.value?.type === 'JSXExpressionContainer') {
157
+ scopeNode = propertyParentNode.value.expression;
158
+ }
159
+ const spreadElementDeclaration = context.sourceCode
160
+ .getScope(scopeNode)
161
+ .references.find((ref) => ref.identifier.name === spreadElementIdentifierName)?.resolved;
162
+ if (!spreadElementDeclaration) {
163
+ return;
164
+ }
165
+ const propertyName = (0, get_property_name_1.getPropertyName)(property) || 'spread';
166
+ reportMessage = {
167
+ loc: propertyParentNode.loc,
168
+ messageId: 'noStaticZIndexSpecificDeclaredVariable',
169
+ data: {
170
+ property: propertyName,
171
+ variableName: spreadElementIdentifierName,
172
+ line: String(property.loc.start.line),
173
+ },
174
+ };
175
+ const spreadElementDeclarationNode = spreadElementDeclaration.defs[0]?.node.type === 'VariableDeclarator'
176
+ ? spreadElementDeclaration.defs[0].node.init
177
+ : undefined;
178
+ if (spreadElementDeclarationNode?.type === 'ObjectExpression') {
179
+ spreadElementDeclarationNode.properties.forEach((spreadProperty) => {
180
+ handleObjectProperties(context, propertyParentNode, spreadProperty, reportMessage);
181
+ });
182
+ }
183
+ }
184
+ };
185
+ const checkTemplateLiteralForZIndex = (context, node) => {
186
+ for (let i = 0; i < node.quasis.length; i++) {
187
+ const declarationTemplateNode = node.quasis[i];
188
+ const rawValue = declarationTemplateNode.value.raw;
189
+ // Strip comments
190
+ const valueWithoutComments = rawValue.replace(/\/\*[\s\S]*?\*\//g, '');
191
+ let match;
192
+ // reset regex state
193
+ cssZIndexRegex.lastIndex = 0;
194
+ while ((match = cssZIndexRegex.exec(valueWithoutComments)) !== null) {
195
+ const value = match[1].trim();
196
+ if (isInvalidZIndexValue(value)) {
197
+ context.report({
198
+ node: declarationTemplateNode,
199
+ messageId: 'noStaticZIndex',
200
+ });
201
+ }
202
+ }
203
+ }
204
+ };
205
+ exports.NoStaticZIndex = utils_1.ESLintUtils.RuleCreator.withoutDocs({
206
+ create(context) {
207
+ return {
208
+ TaggedTemplateExpression(node) {
209
+ if (node.tag.type !== 'Identifier' ||
210
+ (node.tag.type === 'Identifier' && node.tag.name !== 'css')) {
211
+ return;
212
+ }
213
+ checkTemplateLiteralForZIndex(context, node.quasi);
214
+ },
215
+ JSXAttribute(node) {
216
+ if (!(node.name.name === 'style' || node.name.name === 'css')) {
217
+ return;
218
+ }
219
+ if (!node.value || node.value.type !== 'JSXExpressionContainer') {
220
+ return;
221
+ }
222
+ const expression = node.value.expression;
223
+ // Handle identifier expression: style={someStyle}
224
+ if (expression.type === 'Identifier') {
225
+ const styleVariableName = expression.name;
226
+ const nodeScope = context.sourceCode.getScope(expression);
227
+ const variableDeclarationMatches = nodeScope.references.find((ref) => ref.identifier.name === styleVariableName)?.resolved;
228
+ let variableInitializationNode;
229
+ if (variableDeclarationMatches?.defs[0]?.node.type ===
230
+ 'VariableDeclarator' &&
231
+ variableDeclarationMatches.defs[0].node.init) {
232
+ variableInitializationNode =
233
+ variableDeclarationMatches.defs[0].node.init;
234
+ if (variableInitializationNode.type === 'ObjectExpression') {
235
+ variableInitializationNode.properties.forEach((property) => {
236
+ handleObjectProperties(context, node, property, {
237
+ loc: property.loc,
238
+ messageId: 'noStaticZIndexSpecificDeclaredVariable',
239
+ data: {
240
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
241
+ variableName: styleVariableName,
242
+ line: String(property.loc.start.line),
243
+ },
244
+ });
245
+ });
246
+ }
247
+ else if (variableInitializationNode.type === 'CallExpression' &&
248
+ variableInitializationNode.callee.type === 'Identifier' &&
249
+ variableInitializationNode.callee.name === 'css') {
250
+ variableInitializationNode.arguments.forEach((argument) => {
251
+ if (argument.type === 'ObjectExpression') {
252
+ argument.properties.forEach((property) => {
253
+ handleObjectProperties(context, node, property, {
254
+ loc: property.loc,
255
+ messageId: 'noStaticZIndexSpecificDeclaredVariable',
256
+ data: {
257
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
258
+ variableName: styleVariableName,
259
+ line: String(property.loc.start.line),
260
+ },
261
+ });
262
+ });
263
+ }
264
+ });
265
+ }
266
+ }
267
+ return;
268
+ }
269
+ // Handle inline object: style={{ zIndex: 10 }}
270
+ if (expression.type === 'ObjectExpression') {
271
+ const declarationPropertiesNode = expression.properties;
272
+ declarationPropertiesNode?.forEach((property) => {
273
+ handleObjectProperties(context, node, property, {
274
+ loc: property.loc,
275
+ messageId: 'noStaticZIndexSpecific',
276
+ data: {
277
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
278
+ },
279
+ });
280
+ });
281
+ return;
282
+ }
283
+ // Handle inline CallExpression: css={css({ zIndex: 10 })}
284
+ if (expression.type === 'CallExpression' &&
285
+ expression.callee.type === 'Identifier' &&
286
+ expression.callee.name === 'css') {
287
+ expression.arguments.forEach((argument) => {
288
+ if (argument.type === 'ObjectExpression') {
289
+ argument.properties.forEach((property) => {
290
+ handleObjectProperties(context, node, property, {
291
+ loc: node.loc,
292
+ messageId: 'noStaticZIndexSpecific',
293
+ data: {
294
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
295
+ },
296
+ });
297
+ });
298
+ }
299
+ });
300
+ return;
301
+ }
302
+ // Handle inline ArrayExpression: css={[...]}
303
+ if (expression.type === 'ArrayExpression') {
304
+ expression.elements.forEach((element) => {
305
+ if (!element)
306
+ return;
307
+ if (element.type === 'ObjectExpression') {
308
+ element.properties.forEach((property) => {
309
+ handleObjectProperties(context, node, property, {
310
+ loc: property.loc,
311
+ messageId: 'noStaticZIndexSpecific',
312
+ data: {
313
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
314
+ },
315
+ });
316
+ });
317
+ }
318
+ else if (element.type === 'CallExpression' &&
319
+ element.callee.type === 'Identifier' &&
320
+ element.callee.name === 'css') {
321
+ element.arguments.forEach((argument) => {
322
+ if (argument.type === 'ObjectExpression') {
323
+ argument.properties.forEach((property) => {
324
+ handleObjectProperties(context, node, property, {
325
+ loc: property.loc,
326
+ messageId: 'noStaticZIndexSpecific',
327
+ data: {
328
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
329
+ },
330
+ });
331
+ });
332
+ }
333
+ });
334
+ }
335
+ });
336
+ }
337
+ // Handle css prop with template literal or function
338
+ if (node.name.name === 'css') {
339
+ // css={`...`}
340
+ if (expression.type === 'TemplateLiteral') {
341
+ checkTemplateLiteralForZIndex(context, expression);
342
+ return;
343
+ }
344
+ // css={() => ({ ... })} or css={function() { return { ... } }}
345
+ if (expression.type === 'FunctionExpression' ||
346
+ expression.type === 'ArrowFunctionExpression') {
347
+ let declarationPropertiesNode = [];
348
+ if (expression.body.type === 'ObjectExpression') {
349
+ declarationPropertiesNode = expression.body.properties;
350
+ }
351
+ if (expression.body.type === 'BlockStatement') {
352
+ const functionReturnStatementNode = expression.body.body?.find((_node) => {
353
+ return _node.type === 'ReturnStatement';
354
+ });
355
+ if (functionReturnStatementNode?.type === 'ReturnStatement' &&
356
+ functionReturnStatementNode.argument?.type ===
357
+ 'ObjectExpression') {
358
+ declarationPropertiesNode =
359
+ functionReturnStatementNode.argument.properties.filter((property) => property.type === 'Property');
360
+ }
361
+ }
362
+ if (!declarationPropertiesNode.length) {
363
+ return;
364
+ }
365
+ declarationPropertiesNode.forEach((property) => {
366
+ handleObjectProperties(context, node, property, {
367
+ loc: property.loc,
368
+ messageId: 'noStaticZIndexSpecific',
369
+ data: {
370
+ property: (0, get_property_name_1.getPropertyName)(property) || 'unknown',
371
+ },
372
+ });
373
+ });
374
+ return;
375
+ }
376
+ }
377
+ },
378
+ };
379
+ },
380
+ meta: {
381
+ type: 'suggestion',
382
+ docs: {
383
+ description: 'Use `z-index` definitions from `euiTheme` as opposed to static values',
384
+ },
385
+ messages: {
386
+ noStaticZIndexSpecificDeclaredVariable: 'Avoid using a literal z-index value for "{{property}}", use an EUI theme z-index level instead in declared variable {{variableName}} on line {{line}}',
387
+ noStaticZIndexSpecific: 'Avoid using a literal z-index value for "{{property}}", use an EUI theme z-index level instead',
388
+ noStaticZIndex: 'Avoid using a literal z-index value, use an EUI theme z-index level instead',
389
+ },
390
+ schema: [],
391
+ },
392
+ defaultOptions: [],
393
+ });
394
+ //# sourceMappingURL=no_static_z_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no_static_z_index.js","sourceRoot":"","sources":["../../../src/rules/no_static_z_index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TSESTree } from '@typescript-eslint/utils';
2
+ export declare const getPropertyName: (propertyNode: TSESTree.Property | TSESTree.SpreadElement) => string | null;