@atlaskit/eslint-plugin-design-system 10.23.2 → 10.24.1

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 (35) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/presets/all-flat.codegen.js +2 -1
  4. package/dist/cjs/presets/all.codegen.js +2 -1
  5. package/dist/cjs/presets/recommended-flat.codegen.js +2 -1
  6. package/dist/cjs/presets/recommended.codegen.js +2 -1
  7. package/dist/cjs/rules/index.codegen.js +3 -1
  8. package/dist/cjs/rules/use-onboarding-spotlight-label/index.js +94 -0
  9. package/dist/es2019/presets/all-flat.codegen.js +2 -1
  10. package/dist/es2019/presets/all.codegen.js +2 -1
  11. package/dist/es2019/presets/recommended-flat.codegen.js +2 -1
  12. package/dist/es2019/presets/recommended.codegen.js +2 -1
  13. package/dist/es2019/rules/index.codegen.js +3 -1
  14. package/dist/es2019/rules/use-onboarding-spotlight-label/index.js +88 -0
  15. package/dist/esm/presets/all-flat.codegen.js +2 -1
  16. package/dist/esm/presets/all.codegen.js +2 -1
  17. package/dist/esm/presets/recommended-flat.codegen.js +2 -1
  18. package/dist/esm/presets/recommended.codegen.js +2 -1
  19. package/dist/esm/rules/index.codegen.js +3 -1
  20. package/dist/esm/rules/use-onboarding-spotlight-label/index.js +88 -0
  21. package/dist/types/index.codegen.d.ts +11 -0
  22. package/dist/types/presets/all-flat.codegen.d.ts +2 -1
  23. package/dist/types/presets/all.codegen.d.ts +2 -1
  24. package/dist/types/presets/recommended-flat.codegen.d.ts +2 -1
  25. package/dist/types/presets/recommended.codegen.d.ts +2 -1
  26. package/dist/types/rules/index.codegen.d.ts +1 -0
  27. package/dist/types/rules/use-onboarding-spotlight-label/index.d.ts +3 -0
  28. package/dist/types-ts4.5/index.codegen.d.ts +11 -0
  29. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +2 -1
  30. package/dist/types-ts4.5/presets/all.codegen.d.ts +2 -1
  31. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +2 -1
  32. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +2 -1
  33. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -0
  34. package/dist/types-ts4.5/rules/use-onboarding-spotlight-label/index.d.ts +3 -0
  35. package/package.json +5 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/eslint-plugin-design-system
2
2
 
3
+ ## 10.24.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#165531](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/165531)
8
+ [`57f451bda8919`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/57f451bda8919) -
9
+ Adds side-effect config to support Compiled css extraction in third-party apps
10
+
11
+ ## 10.24.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#165462](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/165462)
16
+ [`a9c04a2aaf7e4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a9c04a2aaf7e4) -
17
+ Introducing new rule to encourage adding/referencing accessible name to a Onboarding spotlight
18
+ dialog component.
19
+
3
20
  ## 10.23.2
4
21
 
5
22
  ### Patch Changes
package/README.md CHANGED
@@ -87,6 +87,7 @@ module.exports = {
87
87
  | <a href="./src/rules/use-latest-xcss-syntax/README.md">use-latest-xcss-syntax</a> | Enforces usage of space design tokens rather than hard-coded values in xcss. | Yes | Yes | |
88
88
  | <a href="./src/rules/use-latest-xcss-syntax-typography/README.md">use-latest-xcss-syntax-typography</a> | Prohibits use of unsafe styling properties in xcss. Please use Text/Heading primitives instead. | Yes | Yes | |
89
89
  | <a href="./src/rules/use-menu-section-title/README.md">use-menu-section-title</a> | Encourages makers to provide accessible title for Atlassian Design System Menu Section component. | Yes | | Yes |
90
+ | <a href="./src/rules/use-onboarding-spotlight-label/README.md">use-onboarding-spotlight-label</a> | Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element. | Yes | | Yes |
90
91
  | <a href="./src/rules/use-popup-label/README.md">use-popup-label</a> | Encourages to provide accessible name for Atlassian Design System Popup component. | Yes | | Yes |
91
92
  | <a href="./src/rules/use-primitives/README.md">use-primitives</a> | Encourage the usage of primitives components. | | Yes | Yes |
92
93
  | <a href="./src/rules/use-primitives-text/README.md">use-primitives-text</a> | Encourage the usage of text components. | | Yes | Yes |
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  /**
8
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
9
- * @codegen <<SignedSource::56a9d309ec6f548dce4a4f6e99059a15>>
9
+ * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -50,6 +50,7 @@ var _default = exports.default = {
50
50
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
51
51
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
52
52
  '@atlaskit/design-system/use-menu-section-title': 'warn',
53
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
53
54
  '@atlaskit/design-system/use-popup-label': 'warn',
54
55
  '@atlaskit/design-system/use-primitives': 'warn',
55
56
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  /**
8
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
9
- * @codegen <<SignedSource::47f018ad98455be31dc522bcf5360adf>>
9
+ * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -49,6 +49,7 @@ var _default = exports.default = {
49
49
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
50
50
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
51
51
  '@atlaskit/design-system/use-menu-section-title': 'warn',
52
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
52
53
  '@atlaskit/design-system/use-popup-label': 'warn',
53
54
  '@atlaskit/design-system/use-primitives': 'warn',
54
55
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  /**
8
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
9
- * @codegen <<SignedSource::9c6dda34a88386c4fa5b931ab4baf929>>
9
+ * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -38,6 +38,7 @@ var _default = exports.default = {
38
38
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
39
39
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
40
40
  '@atlaskit/design-system/use-menu-section-title': 'warn',
41
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
41
42
  '@atlaskit/design-system/use-popup-label': 'warn',
42
43
  '@atlaskit/design-system/use-tag-group-label': 'warn',
43
44
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  /**
8
8
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
9
- * @codegen <<SignedSource::f1b4aa9e656294739485e62ba4a33f9d>>
9
+ * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -37,6 +37,7 @@ var _default = exports.default = {
37
37
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
38
38
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
39
39
  '@atlaskit/design-system/use-menu-section-title': 'warn',
40
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
40
41
  '@atlaskit/design-system/use-popup-label': 'warn',
41
42
  '@atlaskit/design-system/use-tag-group-label': 'warn',
42
43
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -43,6 +43,7 @@ var _useHrefInLinkItem = _interopRequireDefault(require("./use-href-in-link-item
43
43
  var _useLatestXcssSyntax = _interopRequireDefault(require("./use-latest-xcss-syntax"));
44
44
  var _useLatestXcssSyntaxTypography = _interopRequireDefault(require("./use-latest-xcss-syntax-typography"));
45
45
  var _useMenuSectionTitle = _interopRequireDefault(require("./use-menu-section-title"));
46
+ var _useOnboardingSpotlightLabel = _interopRequireDefault(require("./use-onboarding-spotlight-label"));
46
47
  var _usePopupLabel = _interopRequireDefault(require("./use-popup-label"));
47
48
  var _usePrimitives = _interopRequireDefault(require("./use-primitives"));
48
49
  var _usePrimitivesText = _interopRequireDefault(require("./use-primitives-text"));
@@ -52,7 +53,7 @@ var _useTokensTypography = _interopRequireDefault(require("./use-tokens-typograp
52
53
  var _useVisuallyHidden = _interopRequireDefault(require("./use-visually-hidden"));
53
54
  /**
54
55
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
55
- * @codegen <<SignedSource::2ab06b34c4e08cd70b0f67f5915f12c9>>
56
+ * @codegen <<SignedSource::4a19c51d51547e8f4e27f3785242c226>>
56
57
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
57
58
  */
58
59
 
@@ -95,6 +96,7 @@ var rules = exports.rules = {
95
96
  'use-latest-xcss-syntax': _useLatestXcssSyntax.default,
96
97
  'use-latest-xcss-syntax-typography': _useLatestXcssSyntaxTypography.default,
97
98
  'use-menu-section-title': _useMenuSectionTitle.default,
99
+ 'use-onboarding-spotlight-label': _useOnboardingSpotlightLabel.default,
98
100
  'use-popup-label': _usePopupLabel.default,
99
101
  'use-primitives': _usePrimitives.default,
100
102
  'use-primitives-text': _usePrimitivesText.default,
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
+ var _createRule = require("../utils/create-rule");
9
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
+
11
+ var elementsAccessibleNameProps = ['label', 'titleId', 'heading'];
12
+ var rule = (0, _createRule.createLintRule)({
13
+ meta: {
14
+ name: 'use-onboarding-spotlight-label',
15
+ type: 'suggestion',
16
+ docs: {
17
+ description: 'Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element.',
18
+ recommended: true,
19
+ severity: 'warn'
20
+ },
21
+ messages: {
22
+ missingAccessibleName: 'Missing accessible name. Either specify `heading` or if there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.',
23
+ labelPropShouldHaveContent: 'The Spotlight component requires a non-empty label.',
24
+ headingPropShouldHaveContent: 'The Spotlight component requires a non-empty heading.',
25
+ titleIdShouldHaveValue: '`titleId` should reference the id of the element that defines accessible name.',
26
+ noCombinedPropsUsage: 'Avoid using `heading`, `titleId` and `label` properties simultaneously. If the `heading` value is not specified or there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.'
27
+ },
28
+ hasSuggestions: true
29
+ },
30
+ create: function create(context) {
31
+ var contextLocalIdentifier = [];
32
+ return {
33
+ ImportDeclaration: function ImportDeclaration(node) {
34
+ var _node$specifiers;
35
+ var buttonGroupIdentifier = (_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 ? void 0 : _node$specifiers.filter(function (spec) {
36
+ if (node.source.value === '@atlaskit/onboarding') {
37
+ var _spec$imported;
38
+ return spec.type === 'ImportSpecifier' && ((_spec$imported = spec.imported) === null || _spec$imported === void 0 ? void 0 : _spec$imported.name) === 'Spotlight';
39
+ } else if (node.source.value === '@atlaskit/onboarding/spotlight') {
40
+ return spec.type === 'ImportDefaultSpecifier';
41
+ }
42
+ });
43
+ if (buttonGroupIdentifier !== null && buttonGroupIdentifier !== void 0 && buttonGroupIdentifier.length) {
44
+ var local = buttonGroupIdentifier[0].local;
45
+ contextLocalIdentifier.push(local.name);
46
+ }
47
+ },
48
+ JSXElement: function JSXElement(node) {
49
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node, 'JSXElement')) {
50
+ return;
51
+ }
52
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node.openingElement.name, 'JSXIdentifier')) {
53
+ return;
54
+ }
55
+ var name = node.openingElement.name.name;
56
+ if (contextLocalIdentifier.includes(name)) {
57
+ var componentLabelProps = node.openingElement.attributes.filter(function (attr) {
58
+ return (0, _eslintCodemodUtils.isNodeOfType)(attr, 'JSXAttribute') && (0, _eslintCodemodUtils.isNodeOfType)(attr.name, 'JSXIdentifier') && elementsAccessibleNameProps.includes(attr.name.name);
59
+ });
60
+ if (componentLabelProps.length === 1) {
61
+ var prop = componentLabelProps[0];
62
+ if ('value' in prop && prop.value) {
63
+ if ((0, _eslintCodemodUtils.isNodeOfType)(prop.value, 'Literal') && !prop.value.value || (0, _eslintCodemodUtils.isNodeOfType)(prop.value, 'JSXExpressionContainer') && !prop.value.expression) {
64
+ context.report({
65
+ node: prop,
66
+ messageId: function () {
67
+ if (prop.name.name === 'label') {
68
+ return 'labelPropShouldHaveContent';
69
+ } else if (prop.name.name === 'titleId') {
70
+ return 'titleIdShouldHaveValue';
71
+ } else {
72
+ return 'headingPropShouldHaveContent';
73
+ }
74
+ }()
75
+ });
76
+ }
77
+ }
78
+ } else if (componentLabelProps.length > 1) {
79
+ context.report({
80
+ node: node.openingElement,
81
+ messageId: 'noCombinedPropsUsage'
82
+ });
83
+ } else {
84
+ context.report({
85
+ node: node.openingElement,
86
+ messageId: 'missingAccessibleName'
87
+ });
88
+ }
89
+ }
90
+ }
91
+ };
92
+ }
93
+ });
94
+ var _default = exports.default = rule;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::56a9d309ec6f548dce4a4f6e99059a15>>
3
+ * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -44,6 +44,7 @@ export default {
44
44
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
45
45
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
46
46
  '@atlaskit/design-system/use-menu-section-title': 'warn',
47
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
47
48
  '@atlaskit/design-system/use-popup-label': 'warn',
48
49
  '@atlaskit/design-system/use-primitives': 'warn',
49
50
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::47f018ad98455be31dc522bcf5360adf>>
3
+ * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -43,6 +43,7 @@ export default {
43
43
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
44
44
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
45
45
  '@atlaskit/design-system/use-menu-section-title': 'warn',
46
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
46
47
  '@atlaskit/design-system/use-popup-label': 'warn',
47
48
  '@atlaskit/design-system/use-primitives': 'warn',
48
49
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::9c6dda34a88386c4fa5b931ab4baf929>>
3
+ * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -32,6 +32,7 @@ export default {
32
32
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
33
33
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
34
34
  '@atlaskit/design-system/use-menu-section-title': 'warn',
35
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
35
36
  '@atlaskit/design-system/use-popup-label': 'warn',
36
37
  '@atlaskit/design-system/use-tag-group-label': 'warn',
37
38
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::f1b4aa9e656294739485e62ba4a33f9d>>
3
+ * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -31,6 +31,7 @@ export default {
31
31
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
32
32
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
33
33
  '@atlaskit/design-system/use-menu-section-title': 'warn',
34
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
34
35
  '@atlaskit/design-system/use-popup-label': 'warn',
35
36
  '@atlaskit/design-system/use-tag-group-label': 'warn',
36
37
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::2ab06b34c4e08cd70b0f67f5915f12c9>>
3
+ * @codegen <<SignedSource::4a19c51d51547e8f4e27f3785242c226>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  import consistentCssPropUsage from './consistent-css-prop-usage';
@@ -41,6 +41,7 @@ import useHrefInLinkItem from './use-href-in-link-item';
41
41
  import useLatestXcssSyntax from './use-latest-xcss-syntax';
42
42
  import useLatestXcssSyntaxTypography from './use-latest-xcss-syntax-typography';
43
43
  import useMenuSectionTitle from './use-menu-section-title';
44
+ import useOnboardingSpotlightLabel from './use-onboarding-spotlight-label';
44
45
  import usePopupLabel from './use-popup-label';
45
46
  import usePrimitives from './use-primitives';
46
47
  import usePrimitivesText from './use-primitives-text';
@@ -87,6 +88,7 @@ export const rules = {
87
88
  'use-latest-xcss-syntax': useLatestXcssSyntax,
88
89
  'use-latest-xcss-syntax-typography': useLatestXcssSyntaxTypography,
89
90
  'use-menu-section-title': useMenuSectionTitle,
91
+ 'use-onboarding-spotlight-label': useOnboardingSpotlightLabel,
90
92
  'use-popup-label': usePopupLabel,
91
93
  'use-primitives': usePrimitives,
92
94
  'use-primitives-text': usePrimitivesText,
@@ -0,0 +1,88 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
3
+ import { isNodeOfType } from 'eslint-codemod-utils';
4
+ import { createLintRule } from '../utils/create-rule';
5
+ const elementsAccessibleNameProps = ['label', 'titleId', 'heading'];
6
+ const rule = createLintRule({
7
+ meta: {
8
+ name: 'use-onboarding-spotlight-label',
9
+ type: 'suggestion',
10
+ docs: {
11
+ description: 'Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element.',
12
+ recommended: true,
13
+ severity: 'warn'
14
+ },
15
+ messages: {
16
+ missingAccessibleName: 'Missing accessible name. Either specify `heading` or if there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.',
17
+ labelPropShouldHaveContent: 'The Spotlight component requires a non-empty label.',
18
+ headingPropShouldHaveContent: 'The Spotlight component requires a non-empty heading.',
19
+ titleIdShouldHaveValue: '`titleId` should reference the id of the element that defines accessible name.',
20
+ noCombinedPropsUsage: 'Avoid using `heading`, `titleId` and `label` properties simultaneously. If the `heading` value is not specified or there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.'
21
+ },
22
+ hasSuggestions: true
23
+ },
24
+ create(context) {
25
+ const contextLocalIdentifier = [];
26
+ return {
27
+ ImportDeclaration(node) {
28
+ var _node$specifiers;
29
+ const buttonGroupIdentifier = (_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 ? void 0 : _node$specifiers.filter(spec => {
30
+ if (node.source.value === '@atlaskit/onboarding') {
31
+ var _spec$imported;
32
+ return spec.type === 'ImportSpecifier' && ((_spec$imported = spec.imported) === null || _spec$imported === void 0 ? void 0 : _spec$imported.name) === 'Spotlight';
33
+ } else if (node.source.value === '@atlaskit/onboarding/spotlight') {
34
+ return spec.type === 'ImportDefaultSpecifier';
35
+ }
36
+ });
37
+ if (buttonGroupIdentifier !== null && buttonGroupIdentifier !== void 0 && buttonGroupIdentifier.length) {
38
+ const {
39
+ local
40
+ } = buttonGroupIdentifier[0];
41
+ contextLocalIdentifier.push(local.name);
42
+ }
43
+ },
44
+ JSXElement(node) {
45
+ if (!isNodeOfType(node, 'JSXElement')) {
46
+ return;
47
+ }
48
+ if (!isNodeOfType(node.openingElement.name, 'JSXIdentifier')) {
49
+ return;
50
+ }
51
+ const name = node.openingElement.name.name;
52
+ if (contextLocalIdentifier.includes(name)) {
53
+ const componentLabelProps = node.openingElement.attributes.filter(attr => isNodeOfType(attr, 'JSXAttribute') && isNodeOfType(attr.name, 'JSXIdentifier') && elementsAccessibleNameProps.includes(attr.name.name));
54
+ if (componentLabelProps.length === 1) {
55
+ const prop = componentLabelProps[0];
56
+ if ('value' in prop && prop.value) {
57
+ if (isNodeOfType(prop.value, 'Literal') && !prop.value.value || isNodeOfType(prop.value, 'JSXExpressionContainer') && !prop.value.expression) {
58
+ context.report({
59
+ node: prop,
60
+ messageId: (() => {
61
+ if (prop.name.name === 'label') {
62
+ return 'labelPropShouldHaveContent';
63
+ } else if (prop.name.name === 'titleId') {
64
+ return 'titleIdShouldHaveValue';
65
+ } else {
66
+ return 'headingPropShouldHaveContent';
67
+ }
68
+ })()
69
+ });
70
+ }
71
+ }
72
+ } else if (componentLabelProps.length > 1) {
73
+ context.report({
74
+ node: node.openingElement,
75
+ messageId: 'noCombinedPropsUsage'
76
+ });
77
+ } else {
78
+ context.report({
79
+ node: node.openingElement,
80
+ messageId: 'missingAccessibleName'
81
+ });
82
+ }
83
+ }
84
+ }
85
+ };
86
+ }
87
+ });
88
+ export default rule;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::56a9d309ec6f548dce4a4f6e99059a15>>
3
+ * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -44,6 +44,7 @@ export default {
44
44
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
45
45
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
46
46
  '@atlaskit/design-system/use-menu-section-title': 'warn',
47
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
47
48
  '@atlaskit/design-system/use-popup-label': 'warn',
48
49
  '@atlaskit/design-system/use-primitives': 'warn',
49
50
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::47f018ad98455be31dc522bcf5360adf>>
3
+ * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -43,6 +43,7 @@ export default {
43
43
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
44
44
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
45
45
  '@atlaskit/design-system/use-menu-section-title': 'warn',
46
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
46
47
  '@atlaskit/design-system/use-popup-label': 'warn',
47
48
  '@atlaskit/design-system/use-primitives': 'warn',
48
49
  '@atlaskit/design-system/use-primitives-text': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::9c6dda34a88386c4fa5b931ab4baf929>>
3
+ * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -32,6 +32,7 @@ export default {
32
32
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
33
33
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
34
34
  '@atlaskit/design-system/use-menu-section-title': 'warn',
35
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
35
36
  '@atlaskit/design-system/use-popup-label': 'warn',
36
37
  '@atlaskit/design-system/use-tag-group-label': 'warn',
37
38
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::f1b4aa9e656294739485e62ba4a33f9d>>
3
+ * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -31,6 +31,7 @@ export default {
31
31
  '@atlaskit/design-system/use-latest-xcss-syntax': 'error',
32
32
  '@atlaskit/design-system/use-latest-xcss-syntax-typography': 'warn',
33
33
  '@atlaskit/design-system/use-menu-section-title': 'warn',
34
+ '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
34
35
  '@atlaskit/design-system/use-popup-label': 'warn',
35
36
  '@atlaskit/design-system/use-tag-group-label': 'warn',
36
37
  '@atlaskit/design-system/use-visually-hidden': 'error'
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::2ab06b34c4e08cd70b0f67f5915f12c9>>
3
+ * @codegen <<SignedSource::4a19c51d51547e8f4e27f3785242c226>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  import consistentCssPropUsage from './consistent-css-prop-usage';
@@ -41,6 +41,7 @@ import useHrefInLinkItem from './use-href-in-link-item';
41
41
  import useLatestXcssSyntax from './use-latest-xcss-syntax';
42
42
  import useLatestXcssSyntaxTypography from './use-latest-xcss-syntax-typography';
43
43
  import useMenuSectionTitle from './use-menu-section-title';
44
+ import useOnboardingSpotlightLabel from './use-onboarding-spotlight-label';
44
45
  import usePopupLabel from './use-popup-label';
45
46
  import usePrimitives from './use-primitives';
46
47
  import usePrimitivesText from './use-primitives-text';
@@ -87,6 +88,7 @@ export var rules = {
87
88
  'use-latest-xcss-syntax': useLatestXcssSyntax,
88
89
  'use-latest-xcss-syntax-typography': useLatestXcssSyntaxTypography,
89
90
  'use-menu-section-title': useMenuSectionTitle,
91
+ 'use-onboarding-spotlight-label': useOnboardingSpotlightLabel,
90
92
  'use-popup-label': usePopupLabel,
91
93
  'use-primitives': usePrimitives,
92
94
  'use-primitives-text': usePrimitivesText,
@@ -0,0 +1,88 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
3
+ import { isNodeOfType } from 'eslint-codemod-utils';
4
+ import { createLintRule } from '../utils/create-rule';
5
+ var elementsAccessibleNameProps = ['label', 'titleId', 'heading'];
6
+ var rule = createLintRule({
7
+ meta: {
8
+ name: 'use-onboarding-spotlight-label',
9
+ type: 'suggestion',
10
+ docs: {
11
+ description: 'Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element.',
12
+ recommended: true,
13
+ severity: 'warn'
14
+ },
15
+ messages: {
16
+ missingAccessibleName: 'Missing accessible name. Either specify `heading` or if there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.',
17
+ labelPropShouldHaveContent: 'The Spotlight component requires a non-empty label.',
18
+ headingPropShouldHaveContent: 'The Spotlight component requires a non-empty heading.',
19
+ titleIdShouldHaveValue: '`titleId` should reference the id of the element that defines accessible name.',
20
+ noCombinedPropsUsage: 'Avoid using `heading`, `titleId` and `label` properties simultaneously. If the `heading` value is not specified or there is a requirement to reference another element in the DOM as accessible name, use `titleId`. Otherwise, use `label` to explicitly provide the accessible name.'
21
+ },
22
+ hasSuggestions: true
23
+ },
24
+ create: function create(context) {
25
+ var contextLocalIdentifier = [];
26
+ return {
27
+ ImportDeclaration: function ImportDeclaration(node) {
28
+ var _node$specifiers;
29
+ var buttonGroupIdentifier = (_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 ? void 0 : _node$specifiers.filter(function (spec) {
30
+ if (node.source.value === '@atlaskit/onboarding') {
31
+ var _spec$imported;
32
+ return spec.type === 'ImportSpecifier' && ((_spec$imported = spec.imported) === null || _spec$imported === void 0 ? void 0 : _spec$imported.name) === 'Spotlight';
33
+ } else if (node.source.value === '@atlaskit/onboarding/spotlight') {
34
+ return spec.type === 'ImportDefaultSpecifier';
35
+ }
36
+ });
37
+ if (buttonGroupIdentifier !== null && buttonGroupIdentifier !== void 0 && buttonGroupIdentifier.length) {
38
+ var local = buttonGroupIdentifier[0].local;
39
+ contextLocalIdentifier.push(local.name);
40
+ }
41
+ },
42
+ JSXElement: function JSXElement(node) {
43
+ if (!isNodeOfType(node, 'JSXElement')) {
44
+ return;
45
+ }
46
+ if (!isNodeOfType(node.openingElement.name, 'JSXIdentifier')) {
47
+ return;
48
+ }
49
+ var name = node.openingElement.name.name;
50
+ if (contextLocalIdentifier.includes(name)) {
51
+ var componentLabelProps = node.openingElement.attributes.filter(function (attr) {
52
+ return isNodeOfType(attr, 'JSXAttribute') && isNodeOfType(attr.name, 'JSXIdentifier') && elementsAccessibleNameProps.includes(attr.name.name);
53
+ });
54
+ if (componentLabelProps.length === 1) {
55
+ var prop = componentLabelProps[0];
56
+ if ('value' in prop && prop.value) {
57
+ if (isNodeOfType(prop.value, 'Literal') && !prop.value.value || isNodeOfType(prop.value, 'JSXExpressionContainer') && !prop.value.expression) {
58
+ context.report({
59
+ node: prop,
60
+ messageId: function () {
61
+ if (prop.name.name === 'label') {
62
+ return 'labelPropShouldHaveContent';
63
+ } else if (prop.name.name === 'titleId') {
64
+ return 'titleIdShouldHaveValue';
65
+ } else {
66
+ return 'headingPropShouldHaveContent';
67
+ }
68
+ }()
69
+ });
70
+ }
71
+ }
72
+ } else if (componentLabelProps.length > 1) {
73
+ context.report({
74
+ node: node.openingElement,
75
+ messageId: 'noCombinedPropsUsage'
76
+ });
77
+ } else {
78
+ context.report({
79
+ node: node.openingElement,
80
+ messageId: 'missingAccessibleName'
81
+ });
82
+ }
83
+ }
84
+ }
85
+ };
86
+ }
87
+ });
88
+ export default rule;
@@ -46,6 +46,7 @@ export declare const plugin: {
46
46
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
47
47
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
48
48
  'use-menu-section-title': import("eslint").Rule.RuleModule;
49
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
49
50
  'use-popup-label': import("eslint").Rule.RuleModule;
50
51
  'use-primitives': import("eslint").Rule.RuleModule;
51
52
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -95,6 +96,7 @@ export declare const plugin: {
95
96
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
96
97
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
97
98
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
99
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
98
100
  readonly '@atlaskit/design-system/use-popup-label': "warn";
99
101
  readonly '@atlaskit/design-system/use-primitives': "warn";
100
102
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -146,6 +148,7 @@ export declare const plugin: {
146
148
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
147
149
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
148
150
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
151
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
149
152
  readonly '@atlaskit/design-system/use-popup-label': "warn";
150
153
  readonly '@atlaskit/design-system/use-primitives': "warn";
151
154
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -183,6 +186,7 @@ export declare const plugin: {
183
186
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
184
187
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
185
188
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
189
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
186
190
  readonly '@atlaskit/design-system/use-popup-label': "warn";
187
191
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
188
192
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -218,6 +222,7 @@ export declare const plugin: {
218
222
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
219
223
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
220
224
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
225
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
221
226
  readonly '@atlaskit/design-system/use-popup-label': "warn";
222
227
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
223
228
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -267,6 +272,7 @@ export declare const configs: {
267
272
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
268
273
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
269
274
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
275
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
270
276
  readonly '@atlaskit/design-system/use-popup-label': "warn";
271
277
  readonly '@atlaskit/design-system/use-primitives': "warn";
272
278
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -326,6 +332,7 @@ export declare const configs: {
326
332
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
327
333
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
328
334
  'use-menu-section-title': import("eslint").Rule.RuleModule;
335
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
329
336
  'use-popup-label': import("eslint").Rule.RuleModule;
330
337
  'use-primitives': import("eslint").Rule.RuleModule;
331
338
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -375,6 +382,7 @@ export declare const configs: {
375
382
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
376
383
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
377
384
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
385
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
378
386
  readonly '@atlaskit/design-system/use-popup-label': "warn";
379
387
  readonly '@atlaskit/design-system/use-primitives': "warn";
380
388
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -412,6 +420,7 @@ export declare const configs: {
412
420
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
413
421
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
414
422
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
423
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
415
424
  readonly '@atlaskit/design-system/use-popup-label': "warn";
416
425
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
417
426
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -467,6 +476,7 @@ export declare const configs: {
467
476
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
468
477
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
469
478
  'use-menu-section-title': import("eslint").Rule.RuleModule;
479
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
470
480
  'use-popup-label': import("eslint").Rule.RuleModule;
471
481
  'use-primitives': import("eslint").Rule.RuleModule;
472
482
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -504,6 +514,7 @@ export declare const configs: {
504
514
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
505
515
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
506
516
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
517
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
507
518
  readonly '@atlaskit/design-system/use-popup-label': "warn";
508
519
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
509
520
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::56a9d309ec6f548dce4a4f6e99059a15>>
3
+ * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -43,6 +43,7 @@ declare const _default: {
43
43
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
44
44
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
45
45
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
46
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
46
47
  readonly '@atlaskit/design-system/use-popup-label': "warn";
47
48
  readonly '@atlaskit/design-system/use-primitives': "warn";
48
49
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::47f018ad98455be31dc522bcf5360adf>>
3
+ * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -43,6 +43,7 @@ declare const _default: {
43
43
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
44
44
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
45
45
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
46
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
46
47
  readonly '@atlaskit/design-system/use-popup-label': "warn";
47
48
  readonly '@atlaskit/design-system/use-primitives': "warn";
48
49
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::9c6dda34a88386c4fa5b931ab4baf929>>
3
+ * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -31,6 +31,7 @@ declare const _default: {
31
31
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
32
32
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
33
33
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
34
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
34
35
  readonly '@atlaskit/design-system/use-popup-label': "warn";
35
36
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
36
37
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::f1b4aa9e656294739485e62ba4a33f9d>>
3
+ * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -31,6 +31,7 @@ declare const _default: {
31
31
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
32
32
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
33
33
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
34
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
34
35
  readonly '@atlaskit/design-system/use-popup-label': "warn";
35
36
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
36
37
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -41,6 +41,7 @@ export declare const rules: {
41
41
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
42
42
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
43
43
  'use-menu-section-title': import("eslint").Rule.RuleModule;
44
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
44
45
  'use-popup-label': import("eslint").Rule.RuleModule;
45
46
  'use-primitives': import("eslint").Rule.RuleModule;
46
47
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -0,0 +1,3 @@
1
+ import type { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
@@ -50,6 +50,7 @@ export declare const plugin: {
50
50
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
51
51
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
52
52
  'use-menu-section-title': import("eslint").Rule.RuleModule;
53
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
53
54
  'use-popup-label': import("eslint").Rule.RuleModule;
54
55
  'use-primitives': import("eslint").Rule.RuleModule;
55
56
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -109,6 +110,7 @@ export declare const plugin: {
109
110
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
110
111
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
111
112
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
113
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
112
114
  readonly '@atlaskit/design-system/use-popup-label': "warn";
113
115
  readonly '@atlaskit/design-system/use-primitives': "warn";
114
116
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -168,6 +170,7 @@ export declare const plugin: {
168
170
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
169
171
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
170
172
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
173
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
171
174
  readonly '@atlaskit/design-system/use-popup-label': "warn";
172
175
  readonly '@atlaskit/design-system/use-primitives': "warn";
173
176
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -215,6 +218,7 @@ export declare const plugin: {
215
218
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
216
219
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
217
220
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
221
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
218
222
  readonly '@atlaskit/design-system/use-popup-label': "warn";
219
223
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
220
224
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -258,6 +262,7 @@ export declare const plugin: {
258
262
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
259
263
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
260
264
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
265
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
261
266
  readonly '@atlaskit/design-system/use-popup-label': "warn";
262
267
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
263
268
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -317,6 +322,7 @@ export declare const configs: {
317
322
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
318
323
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
319
324
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
325
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
320
326
  readonly '@atlaskit/design-system/use-popup-label': "warn";
321
327
  readonly '@atlaskit/design-system/use-primitives': "warn";
322
328
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -380,6 +386,7 @@ export declare const configs: {
380
386
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
381
387
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
382
388
  'use-menu-section-title': import("eslint").Rule.RuleModule;
389
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
383
390
  'use-popup-label': import("eslint").Rule.RuleModule;
384
391
  'use-primitives': import("eslint").Rule.RuleModule;
385
392
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -437,6 +444,7 @@ export declare const configs: {
437
444
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
438
445
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
439
446
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
447
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
440
448
  readonly '@atlaskit/design-system/use-popup-label': "warn";
441
449
  readonly '@atlaskit/design-system/use-primitives': "warn";
442
450
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -484,6 +492,7 @@ export declare const configs: {
484
492
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
485
493
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
486
494
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
495
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
487
496
  readonly '@atlaskit/design-system/use-popup-label': "warn";
488
497
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
489
498
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -543,6 +552,7 @@ export declare const configs: {
543
552
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
544
553
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
545
554
  'use-menu-section-title': import("eslint").Rule.RuleModule;
555
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
546
556
  'use-popup-label': import("eslint").Rule.RuleModule;
547
557
  'use-primitives': import("eslint").Rule.RuleModule;
548
558
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -588,6 +598,7 @@ export declare const configs: {
588
598
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
589
599
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
590
600
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
601
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
591
602
  readonly '@atlaskit/design-system/use-popup-label': "warn";
592
603
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
593
604
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::56a9d309ec6f548dce4a4f6e99059a15>>
3
+ * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -51,6 +51,7 @@ declare const _default: {
51
51
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
52
52
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
53
53
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
54
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
54
55
  readonly '@atlaskit/design-system/use-popup-label': "warn";
55
56
  readonly '@atlaskit/design-system/use-primitives': "warn";
56
57
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::47f018ad98455be31dc522bcf5360adf>>
3
+ * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -53,6 +53,7 @@ declare const _default: {
53
53
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
54
54
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
55
55
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
56
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
56
57
  readonly '@atlaskit/design-system/use-popup-label': "warn";
57
58
  readonly '@atlaskit/design-system/use-primitives': "warn";
58
59
  readonly '@atlaskit/design-system/use-primitives-text': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::9c6dda34a88386c4fa5b931ab4baf929>>
3
+ * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -39,6 +39,7 @@ declare const _default: {
39
39
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
40
40
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
41
41
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
42
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
42
43
  readonly '@atlaskit/design-system/use-popup-label': "warn";
43
44
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
44
45
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::f1b4aa9e656294739485e62ba4a33f9d>>
3
+ * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -41,6 +41,7 @@ declare const _default: {
41
41
  readonly '@atlaskit/design-system/use-latest-xcss-syntax': "error";
42
42
  readonly '@atlaskit/design-system/use-latest-xcss-syntax-typography': "warn";
43
43
  readonly '@atlaskit/design-system/use-menu-section-title': "warn";
44
+ readonly '@atlaskit/design-system/use-onboarding-spotlight-label': "warn";
44
45
  readonly '@atlaskit/design-system/use-popup-label': "warn";
45
46
  readonly '@atlaskit/design-system/use-tag-group-label': "warn";
46
47
  readonly '@atlaskit/design-system/use-visually-hidden': "error";
@@ -45,6 +45,7 @@ export declare const rules: {
45
45
  'use-latest-xcss-syntax': import("eslint").Rule.RuleModule;
46
46
  'use-latest-xcss-syntax-typography': import("eslint").Rule.RuleModule;
47
47
  'use-menu-section-title': import("eslint").Rule.RuleModule;
48
+ 'use-onboarding-spotlight-label': import("eslint").Rule.RuleModule;
48
49
  'use-popup-label': import("eslint").Rule.RuleModule;
49
50
  'use-primitives': import("eslint").Rule.RuleModule;
50
51
  'use-primitives-text': import("eslint").Rule.RuleModule;
@@ -0,0 +1,3 @@
1
+ import type { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atlaskit/eslint-plugin-design-system",
3
3
  "description": "The essential plugin for use with the Atlassian Design System.",
4
- "version": "10.23.2",
4
+ "version": "10.24.1",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
7
7
  "publishConfig": {
@@ -31,7 +31,9 @@
31
31
  ]
32
32
  }
33
33
  },
34
- "sideEffects": false,
34
+ "sideEffects": [
35
+ "**/*.compiled.css"
36
+ ],
35
37
  "atlaskit:src": "src/index.tsx",
36
38
  "af:exports": {
37
39
  ".": "./src/index.tsx",
@@ -55,7 +57,7 @@
55
57
  },
56
58
  "devDependencies": {
57
59
  "@af/formatting": "*",
58
- "@atlaskit/ds-lib": "^3.1.0",
60
+ "@atlaskit/ds-lib": "^3.2.0",
59
61
  "@atlaskit/theme": "^14.0.0",
60
62
  "@atlassian/codegen": "*",
61
63
  "@atlassian/eslint-utils": "^0.5.0",