@atlaskit/eslint-plugin-design-system 13.4.1 → 13.5.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 (161) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/ast-nodes/object.js +0 -2
  4. package/dist/cjs/presets/all-flat.codegen.js +2 -1
  5. package/dist/cjs/presets/all.codegen.js +2 -1
  6. package/dist/cjs/presets/recommended-flat.codegen.js +2 -1
  7. package/dist/cjs/presets/recommended.codegen.js +2 -1
  8. package/dist/cjs/rules/consistent-css-prop-usage/index.js +0 -2
  9. package/dist/cjs/rules/ensure-design-token-usage/color.js +0 -2
  10. package/dist/cjs/rules/ensure-design-token-usage/index.js +0 -2
  11. package/dist/cjs/rules/ensure-design-token-usage/spacing.js +1 -1
  12. package/dist/cjs/rules/ensure-design-token-usage/utils.js +0 -2
  13. package/dist/cjs/rules/ensure-icon-color/index.js +0 -2
  14. package/dist/cjs/rules/index.codegen.js +3 -1
  15. package/dist/cjs/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
  16. package/dist/cjs/rules/no-custom-icons/index.js +0 -2
  17. package/dist/cjs/rules/no-deprecated-design-token-usage/index.js +0 -2
  18. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
  19. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
  20. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +0 -2
  21. package/dist/cjs/rules/no-html-anchor/node-types/jsx-element/index.js +1 -1
  22. package/dist/cjs/rules/no-html-button/node-types/jsx-element/index.js +0 -2
  23. package/dist/cjs/rules/no-margin/index.js +0 -2
  24. package/dist/cjs/rules/no-nested-styles/index.js +0 -2
  25. package/dist/cjs/rules/no-physical-properties/index.js +0 -2
  26. package/dist/cjs/rules/no-unsafe-design-token-usage/index.js +1 -1
  27. package/dist/cjs/rules/use-button-group-label/index.js +0 -2
  28. package/dist/cjs/rules/use-datetime-picker-calendar-button/index.js +0 -2
  29. package/dist/cjs/rules/use-drawer-label/index.js +0 -2
  30. package/dist/cjs/rules/use-heading-level-in-spotlight-card/index.js +0 -2
  31. package/dist/cjs/rules/use-href-in-link-item/index.js +0 -2
  32. package/dist/cjs/rules/use-href-in-link-item/utils.js +0 -2
  33. package/dist/cjs/rules/use-menu-section-title/index.js +0 -2
  34. package/dist/cjs/rules/use-modal-dialog-close-button/index.js +1 -1
  35. package/dist/cjs/rules/use-onboarding-spotlight-label/index.js +0 -2
  36. package/dist/cjs/rules/use-popup-label/index.js +0 -2
  37. package/dist/cjs/rules/use-should-render-to-parent/index.js +113 -0
  38. package/dist/cjs/rules/use-tag-group-label/index.js +0 -2
  39. package/dist/cjs/rules/use-visually-hidden/fix-jsx.js +0 -2
  40. package/dist/cjs/rules/use-visually-hidden/fix-vanilla.js +0 -2
  41. package/dist/cjs/rules/use-visually-hidden/index.js +0 -2
  42. package/dist/cjs/rules/use-visually-hidden/utils.js +0 -3
  43. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
  44. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
  45. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
  46. package/dist/cjs/rules/utils/error-boundary.js +0 -2
  47. package/dist/cjs/rules/utils/find-in-parent.js +0 -2
  48. package/dist/cjs/rules/utils/get-import-node-by-source.js +0 -2
  49. package/dist/cjs/rules/utils/get-is-exception.js +0 -2
  50. package/dist/cjs/rules/utils/is-node.js +0 -2
  51. package/dist/es2019/ast-nodes/object.js +0 -2
  52. package/dist/es2019/presets/all-flat.codegen.js +2 -1
  53. package/dist/es2019/presets/all.codegen.js +2 -1
  54. package/dist/es2019/presets/recommended-flat.codegen.js +2 -1
  55. package/dist/es2019/presets/recommended.codegen.js +2 -1
  56. package/dist/es2019/rules/consistent-css-prop-usage/index.js +0 -2
  57. package/dist/es2019/rules/ensure-design-token-usage/color.js +0 -2
  58. package/dist/es2019/rules/ensure-design-token-usage/index.js +0 -2
  59. package/dist/es2019/rules/ensure-design-token-usage/spacing.js +0 -2
  60. package/dist/es2019/rules/ensure-design-token-usage/utils.js +0 -2
  61. package/dist/es2019/rules/ensure-icon-color/index.js +0 -2
  62. package/dist/es2019/rules/index.codegen.js +3 -1
  63. package/dist/es2019/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
  64. package/dist/es2019/rules/no-custom-icons/index.js +0 -2
  65. package/dist/es2019/rules/no-deprecated-design-token-usage/index.js +0 -2
  66. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +0 -2
  67. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +0 -2
  68. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +0 -2
  69. package/dist/es2019/rules/no-html-anchor/node-types/jsx-element/index.js +0 -2
  70. package/dist/es2019/rules/no-html-button/node-types/jsx-element/index.js +0 -2
  71. package/dist/es2019/rules/no-margin/index.js +0 -2
  72. package/dist/es2019/rules/no-nested-styles/index.js +0 -2
  73. package/dist/es2019/rules/no-physical-properties/index.js +0 -2
  74. package/dist/es2019/rules/no-unsafe-design-token-usage/index.js +0 -2
  75. package/dist/es2019/rules/use-button-group-label/index.js +0 -2
  76. package/dist/es2019/rules/use-datetime-picker-calendar-button/index.js +0 -2
  77. package/dist/es2019/rules/use-drawer-label/index.js +0 -2
  78. package/dist/es2019/rules/use-heading-level-in-spotlight-card/index.js +0 -2
  79. package/dist/es2019/rules/use-href-in-link-item/index.js +0 -2
  80. package/dist/es2019/rules/use-href-in-link-item/utils.js +0 -2
  81. package/dist/es2019/rules/use-menu-section-title/index.js +0 -2
  82. package/dist/es2019/rules/use-modal-dialog-close-button/index.js +0 -2
  83. package/dist/es2019/rules/use-onboarding-spotlight-label/index.js +0 -2
  84. package/dist/es2019/rules/use-popup-label/index.js +0 -2
  85. package/dist/es2019/rules/use-should-render-to-parent/index.js +97 -0
  86. package/dist/es2019/rules/use-tag-group-label/index.js +0 -2
  87. package/dist/es2019/rules/use-visually-hidden/fix-jsx.js +0 -2
  88. package/dist/es2019/rules/use-visually-hidden/fix-vanilla.js +0 -2
  89. package/dist/es2019/rules/use-visually-hidden/index.js +0 -2
  90. package/dist/es2019/rules/use-visually-hidden/utils.js +0 -4
  91. package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
  92. package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
  93. package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
  94. package/dist/es2019/rules/utils/error-boundary.js +0 -2
  95. package/dist/es2019/rules/utils/find-in-parent.js +0 -2
  96. package/dist/es2019/rules/utils/get-import-node-by-source.js +0 -2
  97. package/dist/es2019/rules/utils/get-is-exception.js +0 -2
  98. package/dist/es2019/rules/utils/is-node.js +0 -2
  99. package/dist/esm/ast-nodes/object.js +0 -2
  100. package/dist/esm/presets/all-flat.codegen.js +2 -1
  101. package/dist/esm/presets/all.codegen.js +2 -1
  102. package/dist/esm/presets/recommended-flat.codegen.js +2 -1
  103. package/dist/esm/presets/recommended.codegen.js +2 -1
  104. package/dist/esm/rules/consistent-css-prop-usage/index.js +0 -2
  105. package/dist/esm/rules/ensure-design-token-usage/color.js +0 -2
  106. package/dist/esm/rules/ensure-design-token-usage/index.js +0 -2
  107. package/dist/esm/rules/ensure-design-token-usage/spacing.js +0 -2
  108. package/dist/esm/rules/ensure-design-token-usage/utils.js +0 -2
  109. package/dist/esm/rules/ensure-icon-color/index.js +0 -2
  110. package/dist/esm/rules/index.codegen.js +3 -1
  111. package/dist/esm/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
  112. package/dist/esm/rules/no-custom-icons/index.js +0 -2
  113. package/dist/esm/rules/no-deprecated-design-token-usage/index.js +0 -2
  114. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +0 -2
  115. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +0 -2
  116. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +0 -2
  117. package/dist/esm/rules/no-html-anchor/node-types/jsx-element/index.js +0 -2
  118. package/dist/esm/rules/no-html-button/node-types/jsx-element/index.js +0 -2
  119. package/dist/esm/rules/no-margin/index.js +0 -2
  120. package/dist/esm/rules/no-nested-styles/index.js +0 -2
  121. package/dist/esm/rules/no-physical-properties/index.js +0 -2
  122. package/dist/esm/rules/no-unsafe-design-token-usage/index.js +0 -2
  123. package/dist/esm/rules/use-button-group-label/index.js +0 -2
  124. package/dist/esm/rules/use-datetime-picker-calendar-button/index.js +0 -2
  125. package/dist/esm/rules/use-drawer-label/index.js +0 -2
  126. package/dist/esm/rules/use-heading-level-in-spotlight-card/index.js +0 -2
  127. package/dist/esm/rules/use-href-in-link-item/index.js +0 -2
  128. package/dist/esm/rules/use-href-in-link-item/utils.js +0 -2
  129. package/dist/esm/rules/use-menu-section-title/index.js +0 -2
  130. package/dist/esm/rules/use-modal-dialog-close-button/index.js +0 -2
  131. package/dist/esm/rules/use-onboarding-spotlight-label/index.js +0 -2
  132. package/dist/esm/rules/use-popup-label/index.js +0 -2
  133. package/dist/esm/rules/use-should-render-to-parent/index.js +107 -0
  134. package/dist/esm/rules/use-tag-group-label/index.js +0 -2
  135. package/dist/esm/rules/use-visually-hidden/fix-jsx.js +0 -2
  136. package/dist/esm/rules/use-visually-hidden/fix-vanilla.js +0 -2
  137. package/dist/esm/rules/use-visually-hidden/index.js +0 -2
  138. package/dist/esm/rules/use-visually-hidden/utils.js +0 -4
  139. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
  140. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
  141. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
  142. package/dist/esm/rules/utils/error-boundary.js +0 -2
  143. package/dist/esm/rules/utils/find-in-parent.js +0 -2
  144. package/dist/esm/rules/utils/get-import-node-by-source.js +0 -2
  145. package/dist/esm/rules/utils/get-is-exception.js +0 -2
  146. package/dist/esm/rules/utils/is-node.js +0 -2
  147. package/dist/types/index.codegen.d.ts +9 -0
  148. package/dist/types/presets/all-flat.codegen.d.ts +1 -0
  149. package/dist/types/presets/all.codegen.d.ts +1 -0
  150. package/dist/types/presets/recommended-flat.codegen.d.ts +1 -0
  151. package/dist/types/presets/recommended.codegen.d.ts +1 -0
  152. package/dist/types/rules/index.codegen.d.ts +1 -0
  153. package/dist/types/rules/use-should-render-to-parent/index.d.ts +6 -0
  154. package/dist/types-ts4.5/index.codegen.d.ts +9 -0
  155. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +1 -0
  156. package/dist/types-ts4.5/presets/all.codegen.d.ts +1 -0
  157. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +1 -0
  158. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +1 -0
  159. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -0
  160. package/dist/types-ts4.5/rules/use-should-render-to-parent/index.d.ts +6 -0
  161. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/eslint-plugin-design-system
2
2
 
3
+ ## 13.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#141971](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/141971)
8
+ [`c16899828af3d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c16899828af3d) -
9
+ Add new rule for `shouldRenderToParent` prop usage in popup and dropdown menu components.
10
+
3
11
  ## 13.4.1
4
12
 
5
13
  ### Patch Changes
package/README.md CHANGED
@@ -95,6 +95,7 @@ module.exports = {
95
95
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-popup-label/README.md">use-popup-label</a> | Encourages to provide accessible name for Atlassian Design System Popup component. | Yes | | Yes |
96
96
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-primitives/README.md">use-primitives</a> | Encourage the usage of primitives components. | | Yes | Yes |
97
97
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-primitives-text/README.md">use-primitives-text</a> | Encourage the usage of text components. | | Yes | Yes |
98
+ | <a href="./packages/design-system/eslint-plugin/src/rules/use-should-render-to-parent/README.md">use-should-render-to-parent</a> | Encourages makers to use the `shouldRenderToParent` where possible in Atlassian Design System `Popup` and `DropdownMenu` components. | Yes | | Yes |
98
99
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-tag-group-label/README.md">use-tag-group-label</a> | Ensures tag groups are described to assistive technology by a direct label or by another element. | Yes | | Yes |
99
100
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-tokens-space/README.md">use-tokens-space</a> | Enforces usage of space design tokens rather than hard-coded values. | | Yes | Yes |
100
101
  | <a href="./packages/design-system/eslint-plugin/src/rules/use-tokens-typography/README.md">use-tokens-typography</a> | Enforces usage of design tokens for typography properties rather than hard-coded values. | | Yes | Yes |
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Object = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
- /* eslint-disable @repo/internal/react/require-jsdoc */
9
-
10
8
  var ASTObjectExpression = exports.Object = {
11
9
  /**
12
10
  * Returns `true` if an object contains a property with the specified name, `false` otherwise.
@@ -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::9b616276b6c3b9db3c1d886bf8de4fc4>>
9
+ * @codegen <<SignedSource::d6f1473b4b8a65399a9c887b4ba1912e>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -58,6 +58,7 @@ var _default = exports.default = {
58
58
  '@atlaskit/design-system/use-popup-label': 'warn',
59
59
  '@atlaskit/design-system/use-primitives': 'warn',
60
60
  '@atlaskit/design-system/use-primitives-text': 'warn',
61
+ '@atlaskit/design-system/use-should-render-to-parent': 'warn',
61
62
  '@atlaskit/design-system/use-tag-group-label': 'warn',
62
63
  '@atlaskit/design-system/use-tokens-space': 'error',
63
64
  '@atlaskit/design-system/use-tokens-typography': '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::96ec2e315f96de68a6448317cce334ce>>
9
+ * @codegen <<SignedSource::011cbb2ac5166d9a4a1d1cab68d0156d>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -57,6 +57,7 @@ var _default = exports.default = {
57
57
  '@atlaskit/design-system/use-popup-label': 'warn',
58
58
  '@atlaskit/design-system/use-primitives': 'warn',
59
59
  '@atlaskit/design-system/use-primitives-text': 'warn',
60
+ '@atlaskit/design-system/use-should-render-to-parent': 'warn',
60
61
  '@atlaskit/design-system/use-tag-group-label': 'warn',
61
62
  '@atlaskit/design-system/use-tokens-space': 'error',
62
63
  '@atlaskit/design-system/use-tokens-typography': '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::4f6ee2ae56e1c0534f0f8e3fde314cc7>>
9
+ * @codegen <<SignedSource::abef9d23f187fcebf6ab9cdeb874229b>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -44,6 +44,7 @@ var _default = exports.default = {
44
44
  '@atlaskit/design-system/use-modal-dialog-close-button': 'warn',
45
45
  '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
46
46
  '@atlaskit/design-system/use-popup-label': 'warn',
47
+ '@atlaskit/design-system/use-should-render-to-parent': 'warn',
47
48
  '@atlaskit/design-system/use-tag-group-label': 'warn',
48
49
  '@atlaskit/design-system/use-visually-hidden': 'error'
49
50
  }
@@ -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::85c1f4ada9dac0f66e87e3734a36cb6b>>
9
+ * @codegen <<SignedSource::3d1a55011e92acf33daaf53e8bfc3532>>
10
10
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
11
11
  */
12
12
  var _default = exports.default = {
@@ -43,6 +43,7 @@ var _default = exports.default = {
43
43
  '@atlaskit/design-system/use-modal-dialog-close-button': 'warn',
44
44
  '@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
45
45
  '@atlaskit/design-system/use-popup-label': 'warn',
46
+ '@atlaskit/design-system/use-should-render-to-parent': 'warn',
46
47
  '@atlaskit/design-system/use-tag-group-label': 'warn',
47
48
  '@atlaskit/design-system/use-visually-hidden': 'error'
48
49
  }
@@ -19,8 +19,6 @@ var _astNodes = require("../../ast-nodes");
19
19
  var _createRule = require("../utils/create-rule");
20
20
  var _getFirstSupportedImport = require("../utils/get-first-supported-import");
21
21
  var _getImportNodeBySource = require("../utils/get-import-node-by-source");
22
- // eslint-disable-next-line import/no-extraneous-dependencies
23
-
24
22
  var isDOMElementName = function isDOMElementName(elementName) {
25
23
  return elementName.charAt(0) !== elementName.charAt(0).toUpperCase() && elementName.charAt(0) === elementName.charAt(0).toLowerCase();
26
24
  };
@@ -9,8 +9,6 @@ var _getIsException = require("../utils/get-is-exception");
9
9
  var _isColor = require("../utils/is-color");
10
10
  var _isElevation = require("../utils/is-elevation");
11
11
  var _isNode = require("../utils/is-node");
12
- // eslint-disable-next-line import/no-extraneous-dependencies
13
-
14
12
  // TemplateLiteral > Identifier
15
13
  var lintTemplateIdentifierForColor = exports.lintTemplateIdentifierForColor = function lintTemplateIdentifierForColor(node, context, config) {
16
14
  if (node.type !== 'Identifier') {
@@ -17,8 +17,6 @@ var _color = require("./color");
17
17
  var _ruleMeta = _interopRequireDefault(require("./rule-meta"));
18
18
  var _spacing = require("./spacing");
19
19
  var _utils = require("./utils");
20
- // eslint-disable-next-line import/no-extraneous-dependencies
21
-
22
20
  var defaultConfig = {
23
21
  domains: ['color', 'spacing'],
24
22
  applyImport: true,
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _eslintCodemodUtils = require("eslint-codemod-utils");
11
11
  var _utils = require("./utils");
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // eslint-disable-next-line import/no-extraneous-dependencies
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  var lintObjectForSpacing = exports.lintObjectForSpacing = function lintObjectForSpacing(node, context, ruleConfig, fontSize, tokenNode) {
15
15
  if ((0, _eslintCodemodUtils.isNodeOfType)(node.value, 'Literal') && !(0, _utils.isValidSpacingValue)(node.value.value, fontSize)) {
16
16
  context.report({
@@ -33,8 +33,6 @@ var _tokensRaw = require("@atlaskit/tokens/tokens-raw");
33
33
  var _findInParent = require("../utils/find-in-parent");
34
34
  var _isColor = require("../utils/is-color");
35
35
  var _shape = require("./shape");
36
- // eslint-disable-next-line import/no-extraneous-dependencies
37
-
38
36
  var properties = ['padding', 'paddingBlock', 'paddingInline', 'paddingLeft', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd', 'marginLeft', 'marginTop', 'marginRight', 'marginBottom', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd', 'margin', 'gap', 'rowGap', 'gridRowGap', 'columnGap', 'gridColumnGap', 'top', 'left', 'right', 'bottom', 'inlineStart', 'inlineEnd', 'blockStart', 'blockEnd', 'outline-offset'];
39
37
  var spacingValueToToken = Object.fromEntries(_tokensRaw.spacing.map(function (token) {
40
38
  return [token.value, token.cleanName];
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _isFromImportSource = require("../no-custom-icons/checks/is-from-import-source");
9
9
  var _createRule = require("../utils/create-rule");
10
10
  var _errorBoundary = require("../utils/error-boundary");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  /**
14
12
  * Returns if the node is a JSXElement with a prop that matches the given name.
15
13
  */
@@ -51,13 +51,14 @@ var _useOnboardingSpotlightLabel = _interopRequireDefault(require("./use-onboard
51
51
  var _usePopupLabel = _interopRequireDefault(require("./use-popup-label"));
52
52
  var _usePrimitives = _interopRequireDefault(require("./use-primitives"));
53
53
  var _usePrimitivesText = _interopRequireDefault(require("./use-primitives-text"));
54
+ var _useShouldRenderToParent = _interopRequireDefault(require("./use-should-render-to-parent"));
54
55
  var _useTagGroupLabel = _interopRequireDefault(require("./use-tag-group-label"));
55
56
  var _useTokensSpace = _interopRequireDefault(require("./use-tokens-space"));
56
57
  var _useTokensTypography = _interopRequireDefault(require("./use-tokens-typography"));
57
58
  var _useVisuallyHidden = _interopRequireDefault(require("./use-visually-hidden"));
58
59
  /**
59
60
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
60
- * @codegen <<SignedSource::66749852497ab0f2dc3214dd47aaf598>>
61
+ * @codegen <<SignedSource::f169e765038e90ec6531f19333f70cfb>>
61
62
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
62
63
  */
63
64
 
@@ -108,6 +109,7 @@ var rules = exports.rules = {
108
109
  'use-popup-label': _usePopupLabel.default,
109
110
  'use-primitives': _usePrimitives.default,
110
111
  'use-primitives-text': _usePrimitivesText.default,
112
+ 'use-should-render-to-parent': _useShouldRenderToParent.default,
111
113
  'use-tag-group-label': _useTagGroupLabel.default,
112
114
  'use-tokens-space': _useTokensSpace.default,
113
115
  'use-tokens-typography': _useTokensTypography.default,
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _jsxAttribute = require("../../ast-nodes/jsx-attribute");
9
9
  var _jsxElement = require("../../ast-nodes/jsx-element");
10
10
  var _createRule = require("../utils/create-rule");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var PROP_NAME = 'autoFocus';
14
12
 
15
13
  // Lint rule message
@@ -8,8 +8,6 @@ var _createRule = require("../utils/create-rule");
8
8
  var _errorBoundary = require("../utils/error-boundary");
9
9
  var _hasProp = require("./checks/has-prop");
10
10
  var _isFromImportSource = require("./checks/is-from-import-source");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var rule = (0, _createRule.createLintRule)({
14
12
  meta: {
15
13
  name: 'no-custom-icons',
@@ -8,8 +8,6 @@ exports.default = void 0;
8
8
  var _renameMapping = _interopRequireDefault(require("@atlaskit/tokens/rename-mapping"));
9
9
  var _tokenIds = require("@atlaskit/tokens/token-ids");
10
10
  var _createRule = require("../utils/create-rule");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var rule = (0, _createRule.createLintRule)({
14
12
  meta: {
15
13
  name: 'no-deprecated-design-token-usage',
@@ -10,7 +10,7 @@ var _getImportNodeBySource = require("../../utils/get-import-node-by-source");
10
10
  var _isBlockedEventBinding = require("../shared/is-blocked-event-binding");
11
11
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
12
12
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } // eslint-disable-next-line import/no-extraneous-dependencies
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
14
  function isBlockedBindAll(context, node) {
15
15
  var callee = node.callee;
16
16
  if (!(0, _eslintCodemodUtils.isNodeOfType)(callee, 'Identifier')) {
@@ -10,7 +10,7 @@ var _getImportNodeBySource = require("../../utils/get-import-node-by-source");
10
10
  var _isBlockedEventBinding = require("../shared/is-blocked-event-binding");
11
11
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
12
12
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } // eslint-disable-next-line import/no-extraneous-dependencies
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
14
  function isBlockedBind(context, node) {
15
15
  var callee = node.callee;
16
16
  if (!(0, _eslintCodemodUtils.isNodeOfType)(callee, 'Identifier')) {
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
9
9
  var _getImportNodeBySource = require("../../utils/get-import-node-by-source");
10
10
  var _blocked = require("../shared/blocked");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  function getJSXElementNameFromAttribute(attribute) {
14
12
  var parent = attribute.parent;
15
13
  if (!parent) {
@@ -12,7 +12,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
14
14
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /* eslint-disable @repo/internal/react/require-jsdoc */
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
16
  function isImportDeclaration(node) {
17
17
  return node.type === 'ImportDeclaration';
18
18
  }
@@ -9,8 +9,6 @@ var ast = _interopRequireWildcard(require("../../../../ast-nodes"));
9
9
  var _supported = require("../supported");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- /* eslint-disable @repo/internal/react/require-jsdoc */
13
-
14
12
  var JSXElement = exports.JSXElement = {
15
13
  lint: function lint(node, _ref) {
16
14
  var context = _ref.context;
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var rule = (0, _createRule.createLintRule)({
12
10
  meta: {
13
11
  name: 'no-margin',
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
9
9
  var _createRule = require("../utils/create-rule");
10
10
  var _findInParent = require("../utils/find-in-parent");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var allowedPrefix = [':', '&:'];
14
12
  var allowedResponsiveImports = ['@atlaskit/primitives/responsive', '@atlaskit/primitives'];
15
13
 
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
9
  var _logicalPhysicalMap = require("./logical-physical-map");
10
- // eslint-disable-next-line import/no-extraneous-dependencies
11
-
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
14
12
  name: 'no-physical-properties',
@@ -15,7 +15,7 @@ var _createRule = require("../utils/create-rule");
15
15
  var _isNode = require("../utils/is-node");
16
16
  var _isToken = require("../utils/is-token");
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // eslint-disable-next-line import/no-extraneous-dependencies
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  var rule = (0, _createRule.createLintRule)({
20
20
  meta: {
21
21
  name: 'no-unsafe-design-token-usage',
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['label', 'titleId'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _jsxAttribute = require("../../ast-nodes/jsx-attribute");
9
9
  var _jsxElement = require("../../ast-nodes/jsx-element");
10
10
  var _createRule = require("../utils/create-rule");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var DATE_PICKER = 'DatePicker';
14
12
  var DATETIME_PICKER = 'DateTimePicker';
15
13
  var PROP_NAME = 'shouldShowCalendarButton';
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['label', 'titleId'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
9
9
  var _createRule = require("../utils/create-rule");
10
10
  var _getImportName = require("../utils/get-import-name");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var headingLevelRequiredSuggestionText = exports.headingLevelRequiredSuggestionText = 'Add a `headingLevel` that is of a contextually relevant level.';
14
12
  var rule = (0, _createRule.createLintRule)({
15
13
  meta: {
@@ -9,8 +9,6 @@ var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
9
9
  var _createRule = require("../utils/create-rule");
10
10
  var _getImportName = require("../utils/get-import-name");
11
11
  var _utils = require("./utils");
12
- // eslint-disable-next-line import/no-extraneous-dependencies
13
-
14
12
  var hrefRequiredSuggestionText = exports.hrefRequiredSuggestionText = 'Convert LinkItem to ButtonItem';
15
13
  var rule = (0, _createRule.createLintRule)({
16
14
  meta: {
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.insertButtonItemImport = exports.insertButtonItemDefaultImport = exports.hrefHasInvalidValue = exports.hasImportOfName = exports.getUniqueButtonItemName = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _findInParent = require("../utils/find-in-parent");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var invalidHrefValues = ['', '#', null, undefined];
12
10
  var hrefHasInvalidValue = exports.hrefHasInvalidValue = function hrefHasInvalidValue(scope, href) {
13
11
  // If doesn't exist,
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['title', 'titleId'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -10,7 +10,7 @@ var _jsxElement = require("../../ast-nodes/jsx-element");
10
10
  var _createRule = require("../utils/create-rule");
11
11
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
12
12
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } // eslint-disable-next-line import/no-extraneous-dependencies
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
14
  var PROP_NAME = 'hasCloseButton';
15
15
 
16
16
  // Lint rule message
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['label', 'titleId', 'heading'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['label', 'titleId'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setPropToTrue = exports.default = exports.addProp = exports.RULE_NAME = 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 RULE_NAME = exports.RULE_NAME = 'use-should-render-to-parent';
12
+ var PROP_NAME = 'shouldRenderToParent';
13
+ var message = "Setting the `".concat(PROP_NAME, "` prop to anything other than `true` causes accessibility issues. Only set to `false` as a last resort.");
14
+ var addProp = exports.addProp = "Add `".concat(PROP_NAME, "` prop.");
15
+ var setPropToTrue = exports.setPropToTrue = "Set `".concat(PROP_NAME, "` prop to `true`.");
16
+ var components = ['@atlaskit/popup', '@atlaskit/dropdown-menu'];
17
+ var rule = (0, _createRule.createLintRule)({
18
+ meta: {
19
+ name: RULE_NAME,
20
+ type: 'suggestion',
21
+ docs: {
22
+ description: "Encourages makers to use the `".concat(PROP_NAME, "` where possible in Atlassian Design System `Popup` and `DropdownMenu` components."),
23
+ recommended: true,
24
+ severity: 'warn'
25
+ },
26
+ messages: {
27
+ missingShouldRenderToParentProp: "The default value of `".concat(PROP_NAME, "` is `false`. ").concat(message),
28
+ falseShouldRenderToParentProp: message
29
+ },
30
+ hasSuggestions: true
31
+ },
32
+ create: function create(context) {
33
+ var componentLocalName;
34
+ return {
35
+ ImportDeclaration: function ImportDeclaration(node) {
36
+ var source = node.source.value;
37
+ if (typeof source !== 'string') {
38
+ return;
39
+ }
40
+ if (!components.includes(source)) {
41
+ return;
42
+ }
43
+ if (!node.specifiers.length) {
44
+ return;
45
+ }
46
+ var defaultImport = node.specifiers.filter(function (spec) {
47
+ return spec.type === 'ImportDefaultSpecifier';
48
+ });
49
+ var namedImport = node.specifiers.filter(function (spec) {
50
+ return spec.type === 'ImportSpecifier';
51
+ });
52
+
53
+ // If popup or dropdown menu and using a default import
54
+ if (defaultImport.length && defaultImport[0].local) {
55
+ componentLocalName = defaultImport[0].local.name;
56
+ // or if popup and using a named import
57
+ } else if (namedImport.length && namedImport[0].type === 'ImportSpecifier' && namedImport[0].imported.name === 'Popup') {
58
+ componentLocalName = namedImport[0].local.name;
59
+ }
60
+ },
61
+ JSXElement: function JSXElement(node) {
62
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node, 'JSXElement')) {
63
+ return;
64
+ }
65
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node.openingElement.name, 'JSXIdentifier')) {
66
+ return;
67
+ }
68
+ var name = node.openingElement.name.name;
69
+ if (name === componentLocalName) {
70
+ var prop = node.openingElement.attributes.find(function (attr) {
71
+ return (0, _eslintCodemodUtils.isNodeOfType)(attr, 'JSXAttribute') && (0, _eslintCodemodUtils.isNodeOfType)(attr.name, 'JSXIdentifier') && attr.name.name === PROP_NAME;
72
+ });
73
+
74
+ // If the prop does not exist, throw
75
+ if (!prop) {
76
+ return context.report({
77
+ node: node.openingElement.name,
78
+ messageId: 'missingShouldRenderToParentProp',
79
+ suggest: [{
80
+ desc: addProp,
81
+ fix: function fix(fixer) {
82
+ return [fixer.insertTextAfter(node.openingElement.name, " ".concat(PROP_NAME))];
83
+ }
84
+ }]
85
+ });
86
+ }
87
+
88
+ // If the prop is a boolean attribute with no value (set to `true`),
89
+ // it's valid
90
+ if (!('value' in prop) || prop.value === null) {
91
+ return;
92
+ }
93
+
94
+ // If the prop has a falsy literal value or a falsy value in an
95
+ // expression container, throw
96
+ if ((0, _eslintCodemodUtils.isNodeOfType)(prop.value, 'Literal') && !prop.value.value || (0, _eslintCodemodUtils.isNodeOfType)(prop.value, 'JSXExpressionContainer') && prop.value.expression.type === 'Literal' && !prop.value.expression.value) {
97
+ return context.report({
98
+ node: prop,
99
+ messageId: 'falseShouldRenderToParentProp',
100
+ suggest: [{
101
+ desc: setPropToTrue,
102
+ fix: function fix(fixer) {
103
+ return [fixer.replaceText(prop, PROP_NAME)];
104
+ }
105
+ }]
106
+ });
107
+ }
108
+ }
109
+ }
110
+ };
111
+ }
112
+ });
113
+ var _default = exports.default = rule;
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
-
11
9
  var elementsAccessibleNameProps = ['label', 'titleId'];
12
10
  var rule = (0, _createRule.createLintRule)({
13
11
  meta: {
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _getImportNodeBySource = require("../utils/get-import-node-by-source");
9
9
  var _constants = require("./constants");
10
10
  var _utils = require("./utils");
11
- // eslint-disable-next-line import/no-extraneous-dependencies
12
-
13
11
  var fixJsx = function fixJsx(source, node) {
14
12
  return function (fixer) {
15
13
  var fixes = [];
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
  var _getImportNodeBySource = require("../utils/get-import-node-by-source");
8
8
  var _constants = require("./constants");
9
9
  var _utils = require("./utils");
10
- // eslint-disable-next-line import/no-extraneous-dependencies
11
-
12
10
  var fixVanilla = function fixVanilla(source, node) {
13
11
  return function (fixer) {
14
12
  var fixes = [];
@@ -13,8 +13,6 @@ var _isNode = require("../utils/is-node");
13
13
  var _fixJsx = _interopRequireDefault(require("./fix-jsx"));
14
14
  var _fixVanilla = _interopRequireDefault(require("./fix-vanilla"));
15
15
  var _utils = require("./utils");
16
- // eslint-disable-next-line import/no-extraneous-dependencies
17
-
18
16
  var THEME_IMPORT_NAMES = ['visuallyHidden', 'assistive'];
19
17
  var rule = (0, _createRule.createLintRule)({
20
18
  meta: {
@@ -5,9 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.makeTemplateLiteralIntoEntries = exports.getObjectLikeness = exports.getFirstImport = exports.countMatchingKeyValues = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
- // eslint-disable-next-line import/no-extraneous-dependencies
9
-
10
- // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden
11
8
  var referenceObject = {
12
9
  width: '1px',
13
10
  height: '1px',
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getTaggedTemplateExpressionOffset = void 0;
7
7
  // Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.ts
8
- // eslint-disable-next-line import/no-extraneous-dependencies
9
8
 
10
9
  var getTaggedTemplateExpressionOffset = exports.getTaggedTemplateExpressionOffset = function getTaggedTemplateExpressionOffset(node) {
11
10
  var parent = node.parent;