@atlaskit/eslint-plugin-design-system 14.0.0 → 14.2.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 (868) hide show
  1. package/CHANGELOG.md +14 -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/consistent-css-prop-usage/index.js +5 -5
  8. package/dist/cjs/rules/ensure-design-token-usage/border-width-value-to-token.js +12 -0
  9. package/dist/cjs/rules/ensure-design-token-usage/clean-comments.js +13 -0
  10. package/dist/cjs/rules/ensure-design-token-usage/color.js +13 -11
  11. package/dist/cjs/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.js +12 -0
  12. package/dist/cjs/rules/ensure-design-token-usage/find-parent-node-for-line.js +21 -0
  13. package/dist/cjs/rules/ensure-design-token-usage/get-elevation-token-example.js +9 -0
  14. package/dist/cjs/rules/ensure-design-token-usage/get-raw-expression.js +22 -0
  15. package/dist/cjs/rules/ensure-design-token-usage/includes-token-string.js +9 -0
  16. package/dist/cjs/rules/ensure-design-token-usage/index.js +21 -11
  17. package/dist/cjs/rules/ensure-design-token-usage/insert-tokens-import.js +10 -0
  18. package/dist/cjs/rules/ensure-design-token-usage/is-auto.js +14 -0
  19. package/dist/cjs/rules/ensure-design-token-usage/is-border-radius.js +10 -0
  20. package/dist/cjs/rules/ensure-design-token-usage/is-token-value-string.js +13 -0
  21. package/dist/cjs/rules/ensure-design-token-usage/is-zero.js +19 -0
  22. package/dist/cjs/rules/ensure-design-token-usage/normalise-value.js +29 -0
  23. package/dist/cjs/rules/ensure-design-token-usage/radius-value-to-token.js +14 -0
  24. package/dist/cjs/rules/ensure-design-token-usage/shape.js +0 -20
  25. package/dist/cjs/rules/ensure-design-token-usage/spacing.js +12 -7
  26. package/dist/cjs/rules/ensure-design-token-usage/split-css-properties.js +31 -0
  27. package/dist/cjs/rules/ensure-design-token-usage/split-shorthand-values.js +20 -0
  28. package/dist/cjs/rules/ensure-design-token-usage/utils.js +20 -164
  29. package/dist/cjs/rules/icon-label/index.js +4 -4
  30. package/dist/cjs/rules/index.codegen.js +3 -1
  31. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-add-event-listener.js +2 -2
  32. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +2 -2
  33. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +2 -2
  34. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +4 -4
  35. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.js +7 -0
  36. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-jsx-attribute-lookup.js +7 -0
  37. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/shared/is-blocked-event-binding.js +2 -2
  38. package/dist/cjs/rules/no-html-anchor/index.js +4 -3
  39. package/dist/cjs/rules/no-html-anchor/node-types/jsx-element/index.js +2 -4
  40. package/dist/cjs/rules/no-html-anchor/node-types/supported.js +3 -5
  41. package/dist/cjs/rules/no-html-button/index.js +4 -3
  42. package/dist/cjs/rules/no-html-button/node-types/jsx-element/index.js +2 -4
  43. package/dist/cjs/rules/no-html-button/node-types/supported.js +3 -5
  44. package/dist/cjs/rules/no-html-checkbox/index.js +2 -2
  45. package/dist/cjs/rules/no-html-checkbox/node-types/jsx-element/index.js +2 -4
  46. package/dist/cjs/rules/no-html-checkbox/node-types/supported.js +3 -5
  47. package/dist/cjs/rules/no-html-code/index.js +4 -3
  48. package/dist/cjs/rules/no-html-code/node-types/jsx-element/index.js +2 -4
  49. package/dist/cjs/rules/no-html-code/node-types/supported.js +3 -5
  50. package/dist/cjs/rules/no-html-heading/index.js +4 -3
  51. package/dist/cjs/rules/no-html-heading/node-types/jsx-element/index.js +2 -4
  52. package/dist/cjs/rules/no-html-heading/node-types/supported.js +3 -5
  53. package/dist/cjs/rules/no-html-image/index.js +4 -3
  54. package/dist/cjs/rules/no-html-image/node-types/jsx-element/index.js +2 -4
  55. package/dist/cjs/rules/no-html-image/node-types/supported.js +3 -5
  56. package/dist/cjs/rules/no-html-radio/index.js +2 -2
  57. package/dist/cjs/rules/no-html-radio/node-types/jsx-element/index.js +2 -4
  58. package/dist/cjs/rules/no-html-radio/node-types/supported.js +3 -5
  59. package/dist/cjs/rules/no-html-range/index.js +2 -2
  60. package/dist/cjs/rules/no-html-range/node-types/jsx-element/index.js +2 -4
  61. package/dist/cjs/rules/no-html-range/node-types/supported.js +3 -5
  62. package/dist/cjs/rules/no-html-select/index.js +4 -3
  63. package/dist/cjs/rules/no-html-select/node-types/jsx-element/index.js +2 -4
  64. package/dist/cjs/rules/no-html-select/node-types/supported.js +3 -5
  65. package/dist/cjs/rules/no-html-text-input/index.js +2 -2
  66. package/dist/cjs/rules/no-html-text-input/node-types/jsx-element/index.js +2 -4
  67. package/dist/cjs/rules/no-html-text-input/node-types/supported.js +3 -5
  68. package/dist/cjs/rules/no-html-textarea/index.js +4 -3
  69. package/dist/cjs/rules/no-html-textarea/node-types/jsx-element/index.js +2 -4
  70. package/dist/cjs/rules/no-html-textarea/node-types/supported.js +3 -5
  71. package/dist/cjs/rules/no-icon-spacing-prop/get-css-map-key.js +13 -0
  72. package/dist/cjs/rules/no-icon-spacing-prop/get-icon-size.js +23 -0
  73. package/dist/cjs/rules/no-icon-spacing-prop/get-spacing-attribute.js +18 -0
  74. package/dist/cjs/rules/no-icon-spacing-prop/get-static-attribute-value.js +15 -0
  75. package/dist/cjs/rules/no-icon-spacing-prop/has-spread-props.js +14 -0
  76. package/dist/cjs/rules/no-icon-spacing-prop/index.js +24 -14
  77. package/dist/cjs/rules/no-icon-spacing-prop/spacing-to-padding.js +20 -0
  78. package/dist/cjs/rules/no-icon-spacing-prop/upsert-css-map-import.js +52 -0
  79. package/dist/cjs/rules/no-icon-spacing-prop/upsert-css-map-variable.js +58 -0
  80. package/dist/cjs/rules/no-icon-spacing-prop/upsert-flex-import.js +59 -0
  81. package/dist/cjs/rules/no-icon-spacing-prop/upsert-token-import.js +41 -0
  82. package/dist/cjs/rules/no-invalid-css-map/get-css-map-object.js +18 -0
  83. package/dist/cjs/rules/no-invalid-css-map/index.js +2 -1
  84. package/dist/cjs/rules/no-invalid-css-map/utils.js +1 -13
  85. package/dist/cjs/rules/no-physical-properties/index.js +5 -5
  86. package/dist/cjs/rules/no-physical-properties/logical-physical-map.js +1 -35
  87. package/dist/cjs/rules/no-physical-properties/physical-logical-map.js +40 -0
  88. package/dist/cjs/rules/no-placeholder/index.js +2 -4
  89. package/dist/cjs/rules/no-readonly-or-disabled-inputs/index.js +146 -0
  90. package/dist/cjs/rules/no-unsafe-design-token-usage/index.js +2 -1
  91. package/dist/cjs/rules/no-unsafe-style-overrides/index.js +3 -3
  92. package/dist/cjs/rules/prefer-primitives/utils.js +3 -3
  93. package/dist/cjs/rules/prefer-primitives/valid-primitive-elements.js +7 -0
  94. package/dist/cjs/rules/use-heading/index.js +2 -2
  95. package/dist/cjs/rules/use-heading/transformers/allowed-attrs.js +7 -0
  96. package/dist/cjs/rules/use-heading/transformers/common.js +1 -14
  97. package/dist/cjs/rules/use-heading/transformers/native-elements.js +12 -12
  98. package/dist/cjs/rules/use-heading/transformers/update-test-id-attribute-fix.js +15 -0
  99. package/dist/cjs/rules/use-href-in-link-item/get-unique-button-item-name.js +28 -0
  100. package/dist/cjs/rules/use-href-in-link-item/has-import-of-name.js +17 -0
  101. package/dist/cjs/rules/use-href-in-link-item/index.js +9 -5
  102. package/dist/cjs/rules/use-href-in-link-item/insert-button-item-default-import.js +9 -0
  103. package/dist/cjs/rules/use-href-in-link-item/insert-button-item-import.js +10 -0
  104. package/dist/cjs/rules/use-href-in-link-item/utils.js +1 -40
  105. package/dist/cjs/rules/use-latest-xcss-syntax/index.js +2 -2
  106. package/dist/cjs/rules/use-latest-xcss-syntax/transformers/style-property/index.js +8 -8
  107. package/dist/cjs/rules/use-latest-xcss-syntax-typography/index.js +9 -7
  108. package/dist/cjs/rules/use-primitives/index.js +4 -3
  109. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/{supported.js → attributes.js} +1 -2
  110. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/convert-jsx-call-site.js +2 -4
  111. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/elements.js +7 -0
  112. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/find-valid-styled-component-call.js +2 -4
  113. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/index.js +7 -8
  114. package/dist/cjs/rules/use-primitives/transformers/css-to-xcss.js +35 -43
  115. package/dist/cjs/rules/use-primitives/transformers/dimensions-map.js +9 -0
  116. package/dist/cjs/rules/use-primitives/transformers/emotion-css/{supported.js → attributes.js} +1 -2
  117. package/dist/cjs/rules/use-primitives/transformers/emotion-css/elements.js +7 -0
  118. package/dist/cjs/rules/use-primitives/transformers/emotion-css/index.js +23 -19
  119. package/dist/cjs/rules/use-primitives/transformers/space-token-map.js +8 -0
  120. package/dist/cjs/rules/use-primitives/transformers/space-token-positive-map.js +8 -0
  121. package/dist/cjs/rules/use-primitives/transformers/supported-dimension-attributes-map.js +15 -0
  122. package/dist/cjs/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.js +3 -3
  123. package/dist/cjs/rules/use-primitives/utils/is-valid-css-properties-to-transform.js +5 -6
  124. package/dist/cjs/rules/use-primitives/utils/spread-syntax.js +7 -0
  125. package/dist/cjs/rules/use-primitives/utils/validate-styles.js +15 -14
  126. package/dist/cjs/rules/use-primitives-text/index.js +8 -5
  127. package/dist/cjs/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.js +14 -0
  128. package/dist/cjs/rules/use-primitives-text/transformers/allowed-attrs.js +7 -0
  129. package/dist/cjs/rules/use-primitives-text/transformers/common.js +1 -47
  130. package/dist/cjs/rules/use-primitives-text/transformers/emphasis-elements.js +13 -12
  131. package/dist/cjs/rules/use-primitives-text/transformers/has-text-children-only.js +29 -0
  132. package/dist/cjs/rules/use-primitives-text/transformers/paragraph-elements.js +21 -20
  133. package/dist/cjs/rules/use-primitives-text/transformers/span-elements.js +14 -12
  134. package/dist/cjs/rules/use-primitives-text/transformers/strong-elements.js +13 -12
  135. package/dist/cjs/rules/use-primitives-text/transformers/update-test-id-attribute-fix.js +15 -0
  136. package/dist/cjs/rules/use-should-render-to-parent/index.js +32 -9
  137. package/dist/cjs/rules/use-spotlight-package/index.js +2 -2
  138. package/dist/cjs/rules/use-tokens-shape/transformers/index.js +8 -9
  139. package/dist/cjs/rules/use-tokens-space/index.js +6 -6
  140. package/dist/cjs/rules/use-tokens-space/transformers/style-property/index.js +8 -9
  141. package/dist/cjs/rules/use-tokens-typography/convert-property-node-to-stringable-node.js +13 -0
  142. package/dist/cjs/rules/use-tokens-typography/find-font-family-token-for-value.js +17 -0
  143. package/dist/cjs/rules/use-tokens-typography/get-literal-property.js +13 -0
  144. package/dist/cjs/rules/use-tokens-typography/insert-tokens-import.js +13 -0
  145. package/dist/cjs/rules/use-tokens-typography/is-code-font-family.js +10 -0
  146. package/dist/cjs/rules/use-tokens-typography/is-font-family.js +10 -0
  147. package/dist/cjs/rules/use-tokens-typography/is-font-size-small.js +10 -0
  148. package/dist/cjs/rules/use-tokens-typography/is-font-size.js +10 -0
  149. package/dist/cjs/rules/use-tokens-typography/is-typography-property.js +10 -0
  150. package/dist/cjs/rules/use-tokens-typography/is-valid-property-node.js +13 -0
  151. package/dist/cjs/rules/use-tokens-typography/is-valid-typography-token.js +16 -0
  152. package/dist/cjs/rules/use-tokens-typography/not-undefined.js +9 -0
  153. package/dist/cjs/rules/use-tokens-typography/transformers/banned-properties.js +2 -1
  154. package/dist/cjs/rules/use-tokens-typography/transformers/font-family.js +8 -6
  155. package/dist/cjs/rules/use-tokens-typography/transformers/font-weight.js +6 -4
  156. package/dist/cjs/rules/use-tokens-typography/transformers/style-object.js +33 -22
  157. package/dist/cjs/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
  158. package/dist/cjs/rules/use-tokens-typography/typography-properties.js +7 -0
  159. package/dist/cjs/rules/use-tokens-typography/utils.js +8 -73
  160. package/dist/cjs/rules/use-visually-hidden/fix-jsx.js +4 -4
  161. package/dist/cjs/rules/use-visually-hidden/fix-vanilla.js +4 -4
  162. package/dist/cjs/rules/use-visually-hidden/get-first-import.js +14 -0
  163. package/dist/cjs/rules/use-visually-hidden/index.js +4 -2
  164. package/dist/cjs/rules/use-visually-hidden/make-template-literal-into-entries.js +18 -0
  165. package/dist/cjs/rules/use-visually-hidden/utils.js +1 -23
  166. package/dist/cjs/rules/utils/find-prop.js +12 -0
  167. package/dist/cjs/rules/utils/get-imported-node-by-source.js +18 -0
  168. package/dist/cjs/rules/utils/{get-import-node-by-source.js → get-module-of-identifier.js} +1 -14
  169. package/dist/cjs/rules/utils/is-child-of-type.js +10 -0
  170. package/dist/cjs/rules/utils/is-color.js +1 -5
  171. package/dist/cjs/rules/utils/is-css-in-js-template-node.js +9 -0
  172. package/dist/cjs/rules/utils/is-current-surface-custom-property-name.js +10 -0
  173. package/dist/cjs/rules/utils/is-decendant-of-global-token.js +16 -0
  174. package/dist/cjs/rules/utils/is-decendant-of-primitive.js +25 -0
  175. package/dist/cjs/rules/utils/is-decendant-of-style-jsx-attribute.js +16 -0
  176. package/dist/cjs/rules/utils/is-decendant-of-svg-element.js +19 -0
  177. package/dist/cjs/rules/utils/is-decendant-of-type.js +16 -0
  178. package/dist/cjs/rules/utils/is-decendant-of-xcss-block.js +17 -0
  179. package/dist/cjs/rules/utils/is-node.js +9 -84
  180. package/dist/cjs/rules/utils/is-property-key.js +15 -0
  181. package/dist/cjs/rules/utils/jsx.js +0 -7
  182. package/dist/es2019/presets/all-flat.codegen.js +2 -1
  183. package/dist/es2019/presets/all.codegen.js +2 -1
  184. package/dist/es2019/presets/recommended-flat.codegen.js +2 -1
  185. package/dist/es2019/presets/recommended.codegen.js +2 -1
  186. package/dist/es2019/rules/consistent-css-prop-usage/index.js +2 -2
  187. package/dist/es2019/rules/ensure-design-token-usage/border-width-value-to-token.js +2 -0
  188. package/dist/es2019/rules/ensure-design-token-usage/clean-comments.js +7 -0
  189. package/dist/es2019/rules/ensure-design-token-usage/color.js +6 -9
  190. package/dist/es2019/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.js +4 -0
  191. package/dist/es2019/rules/ensure-design-token-usage/find-parent-node-for-line.js +15 -0
  192. package/dist/es2019/rules/ensure-design-token-usage/get-elevation-token-example.js +8 -0
  193. package/dist/es2019/rules/ensure-design-token-usage/get-raw-expression.js +12 -0
  194. package/dist/es2019/rules/ensure-design-token-usage/includes-token-string.js +3 -0
  195. package/dist/es2019/rules/ensure-design-token-usage/index.js +12 -2
  196. package/dist/es2019/rules/ensure-design-token-usage/insert-tokens-import.js +4 -0
  197. package/dist/es2019/rules/ensure-design-token-usage/is-auto.js +8 -0
  198. package/dist/es2019/rules/ensure-design-token-usage/is-border-radius.js +4 -0
  199. package/dist/es2019/rules/ensure-design-token-usage/is-token-value-string.js +7 -0
  200. package/dist/es2019/rules/ensure-design-token-usage/is-zero.js +13 -0
  201. package/dist/es2019/rules/ensure-design-token-usage/normalise-value.js +23 -0
  202. package/dist/es2019/rules/ensure-design-token-usage/radius-value-to-token.js +6 -0
  203. package/dist/es2019/rules/ensure-design-token-usage/shape.js +0 -11
  204. package/dist/es2019/rules/ensure-design-token-usage/spacing.js +6 -1
  205. package/dist/es2019/rules/ensure-design-token-usage/split-css-properties.js +15 -0
  206. package/dist/es2019/rules/ensure-design-token-usage/split-shorthand-values.js +14 -0
  207. package/dist/es2019/rules/ensure-design-token-usage/utils.js +13 -133
  208. package/dist/es2019/rules/icon-label/index.js +1 -1
  209. package/dist/es2019/rules/index.codegen.js +3 -1
  210. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-add-event-listener.js +1 -1
  211. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
  212. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
  213. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +2 -2
  214. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.js +1 -0
  215. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-jsx-attribute-lookup.js +1 -0
  216. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/shared/is-blocked-event-binding.js +1 -1
  217. package/dist/es2019/rules/no-html-anchor/index.js +2 -1
  218. package/dist/es2019/rules/no-html-anchor/node-types/jsx-element/index.js +2 -2
  219. package/dist/es2019/rules/no-html-anchor/node-types/supported.js +3 -3
  220. package/dist/es2019/rules/no-html-button/index.js +2 -1
  221. package/dist/es2019/rules/no-html-button/node-types/jsx-element/index.js +2 -2
  222. package/dist/es2019/rules/no-html-button/node-types/supported.js +3 -3
  223. package/dist/es2019/rules/no-html-checkbox/index.js +1 -1
  224. package/dist/es2019/rules/no-html-checkbox/node-types/jsx-element/index.js +2 -2
  225. package/dist/es2019/rules/no-html-checkbox/node-types/supported.js +3 -3
  226. package/dist/es2019/rules/no-html-code/index.js +2 -1
  227. package/dist/es2019/rules/no-html-code/node-types/jsx-element/index.js +2 -2
  228. package/dist/es2019/rules/no-html-code/node-types/supported.js +3 -3
  229. package/dist/es2019/rules/no-html-heading/index.js +2 -1
  230. package/dist/es2019/rules/no-html-heading/node-types/jsx-element/index.js +2 -2
  231. package/dist/es2019/rules/no-html-heading/node-types/supported.js +3 -3
  232. package/dist/es2019/rules/no-html-image/index.js +2 -1
  233. package/dist/es2019/rules/no-html-image/node-types/jsx-element/index.js +2 -2
  234. package/dist/es2019/rules/no-html-image/node-types/supported.js +3 -3
  235. package/dist/es2019/rules/no-html-radio/index.js +1 -1
  236. package/dist/es2019/rules/no-html-radio/node-types/jsx-element/index.js +2 -2
  237. package/dist/es2019/rules/no-html-radio/node-types/supported.js +3 -3
  238. package/dist/es2019/rules/no-html-range/index.js +1 -1
  239. package/dist/es2019/rules/no-html-range/node-types/jsx-element/index.js +2 -2
  240. package/dist/es2019/rules/no-html-range/node-types/supported.js +3 -3
  241. package/dist/es2019/rules/no-html-select/index.js +2 -1
  242. package/dist/es2019/rules/no-html-select/node-types/jsx-element/index.js +2 -2
  243. package/dist/es2019/rules/no-html-select/node-types/supported.js +3 -3
  244. package/dist/es2019/rules/no-html-text-input/index.js +1 -1
  245. package/dist/es2019/rules/no-html-text-input/node-types/jsx-element/index.js +2 -2
  246. package/dist/es2019/rules/no-html-text-input/node-types/supported.js +3 -3
  247. package/dist/es2019/rules/no-html-textarea/index.js +2 -1
  248. package/dist/es2019/rules/no-html-textarea/node-types/jsx-element/index.js +2 -2
  249. package/dist/es2019/rules/no-html-textarea/node-types/supported.js +3 -3
  250. package/dist/es2019/rules/no-icon-spacing-prop/get-css-map-key.js +7 -0
  251. package/dist/es2019/rules/no-icon-spacing-prop/get-icon-size.js +16 -0
  252. package/dist/es2019/rules/no-icon-spacing-prop/get-spacing-attribute.js +11 -0
  253. package/dist/es2019/rules/no-icon-spacing-prop/get-static-attribute-value.js +9 -0
  254. package/dist/es2019/rules/no-icon-spacing-prop/has-spread-props.js +6 -0
  255. package/dist/es2019/rules/no-icon-spacing-prop/index.js +11 -1
  256. package/dist/es2019/rules/no-icon-spacing-prop/spacing-to-padding.js +14 -0
  257. package/dist/es2019/rules/no-icon-spacing-prop/upsert-css-map-import.js +36 -0
  258. package/dist/es2019/rules/no-icon-spacing-prop/upsert-css-map-variable.js +48 -0
  259. package/dist/es2019/rules/no-icon-spacing-prop/upsert-flex-import.js +41 -0
  260. package/dist/es2019/rules/no-icon-spacing-prop/upsert-token-import.js +29 -0
  261. package/dist/es2019/rules/no-invalid-css-map/get-css-map-object.js +12 -0
  262. package/dist/es2019/rules/no-invalid-css-map/index.js +2 -1
  263. package/dist/es2019/rules/no-invalid-css-map/utils.js +0 -12
  264. package/dist/es2019/rules/no-physical-properties/index.js +1 -1
  265. package/dist/es2019/rules/no-physical-properties/logical-physical-map.js +0 -34
  266. package/dist/es2019/rules/no-physical-properties/physical-logical-map.js +34 -0
  267. package/dist/es2019/rules/no-placeholder/index.js +2 -2
  268. package/dist/es2019/rules/no-readonly-or-disabled-inputs/index.js +124 -0
  269. package/dist/es2019/rules/no-unsafe-design-token-usage/index.js +2 -1
  270. package/dist/es2019/rules/no-unsafe-style-overrides/index.js +1 -1
  271. package/dist/es2019/rules/prefer-primitives/utils.js +1 -1
  272. package/dist/es2019/rules/prefer-primitives/valid-primitive-elements.js +1 -0
  273. package/dist/es2019/rules/use-heading/index.js +1 -1
  274. package/dist/es2019/rules/use-heading/transformers/allowed-attrs.js +1 -0
  275. package/dist/es2019/rules/use-heading/transformers/common.js +1 -9
  276. package/dist/es2019/rules/use-heading/transformers/native-elements.js +11 -9
  277. package/dist/es2019/rules/use-heading/transformers/update-test-id-attribute-fix.js +10 -0
  278. package/dist/es2019/rules/use-href-in-link-item/get-unique-button-item-name.js +16 -0
  279. package/dist/es2019/rules/use-href-in-link-item/has-import-of-name.js +11 -0
  280. package/dist/es2019/rules/use-href-in-link-item/index.js +5 -1
  281. package/dist/es2019/rules/use-href-in-link-item/insert-button-item-default-import.js +1 -0
  282. package/dist/es2019/rules/use-href-in-link-item/insert-button-item-import.js +4 -0
  283. package/dist/es2019/rules/use-href-in-link-item/utils.js +0 -31
  284. package/dist/es2019/rules/use-latest-xcss-syntax/index.js +1 -1
  285. package/dist/es2019/rules/use-latest-xcss-syntax/transformers/style-property/index.js +7 -5
  286. package/dist/es2019/rules/use-latest-xcss-syntax-typography/index.js +3 -1
  287. package/dist/es2019/rules/use-primitives/index.js +2 -1
  288. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/{supported.js → attributes.js} +0 -1
  289. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/convert-jsx-call-site.js +2 -2
  290. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/elements.js +1 -0
  291. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/find-valid-styled-component-call.js +2 -2
  292. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/index.js +6 -5
  293. package/dist/es2019/rules/use-primitives/transformers/css-to-xcss.js +7 -15
  294. package/dist/es2019/rules/use-primitives/transformers/dimensions-map.js +3 -0
  295. package/dist/es2019/rules/use-primitives/transformers/emotion-css/{supported.js → attributes.js} +0 -1
  296. package/dist/es2019/rules/use-primitives/transformers/emotion-css/elements.js +1 -0
  297. package/dist/es2019/rules/use-primitives/transformers/emotion-css/index.js +20 -14
  298. package/dist/es2019/rules/use-primitives/transformers/space-token-map.js +2 -0
  299. package/dist/es2019/rules/use-primitives/transformers/space-token-positive-map.js +2 -0
  300. package/dist/es2019/rules/use-primitives/transformers/supported-dimension-attributes-map.js +9 -0
  301. package/dist/es2019/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.js +1 -1
  302. package/dist/es2019/rules/use-primitives/utils/is-valid-css-properties-to-transform.js +5 -4
  303. package/dist/es2019/rules/use-primitives/utils/spread-syntax.js +1 -0
  304. package/dist/es2019/rules/use-primitives/utils/validate-styles.js +12 -9
  305. package/dist/es2019/rules/use-primitives-text/index.js +4 -1
  306. package/dist/es2019/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.js +8 -0
  307. package/dist/es2019/rules/use-primitives-text/transformers/allowed-attrs.js +1 -0
  308. package/dist/es2019/rules/use-primitives-text/transformers/common.js +1 -40
  309. package/dist/es2019/rules/use-primitives-text/transformers/emphasis-elements.js +11 -8
  310. package/dist/es2019/rules/use-primitives-text/transformers/has-text-children-only.js +24 -0
  311. package/dist/es2019/rules/use-primitives-text/transformers/paragraph-elements.js +17 -14
  312. package/dist/es2019/rules/use-primitives-text/transformers/span-elements.js +11 -7
  313. package/dist/es2019/rules/use-primitives-text/transformers/strong-elements.js +11 -8
  314. package/dist/es2019/rules/use-primitives-text/transformers/update-test-id-attribute-fix.js +10 -0
  315. package/dist/es2019/rules/use-should-render-to-parent/index.js +32 -9
  316. package/dist/es2019/rules/use-spotlight-package/index.js +1 -1
  317. package/dist/es2019/rules/use-tokens-shape/transformers/index.js +6 -5
  318. package/dist/es2019/rules/use-tokens-space/index.js +1 -1
  319. package/dist/es2019/rules/use-tokens-space/transformers/style-property/index.js +6 -5
  320. package/dist/es2019/rules/use-tokens-typography/convert-property-node-to-stringable-node.js +7 -0
  321. package/dist/es2019/rules/use-tokens-typography/find-font-family-token-for-value.js +11 -0
  322. package/dist/es2019/rules/use-tokens-typography/get-literal-property.js +7 -0
  323. package/dist/es2019/rules/use-tokens-typography/insert-tokens-import.js +7 -0
  324. package/dist/es2019/rules/use-tokens-typography/is-code-font-family.js +2 -0
  325. package/dist/es2019/rules/use-tokens-typography/is-font-family.js +2 -0
  326. package/dist/es2019/rules/use-tokens-typography/is-font-size-small.js +2 -0
  327. package/dist/es2019/rules/use-tokens-typography/is-font-size.js +2 -0
  328. package/dist/es2019/rules/use-tokens-typography/is-typography-property.js +4 -0
  329. package/dist/es2019/rules/use-tokens-typography/is-valid-property-node.js +7 -0
  330. package/dist/es2019/rules/use-tokens-typography/is-valid-typography-token.js +4 -0
  331. package/dist/es2019/rules/use-tokens-typography/not-undefined.js +3 -0
  332. package/dist/es2019/rules/use-tokens-typography/transformers/banned-properties.js +2 -1
  333. package/dist/es2019/rules/use-tokens-typography/transformers/font-family.js +5 -3
  334. package/dist/es2019/rules/use-tokens-typography/transformers/font-weight.js +5 -3
  335. package/dist/es2019/rules/use-tokens-typography/transformers/style-object.js +15 -4
  336. package/dist/es2019/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
  337. package/dist/es2019/rules/use-tokens-typography/typography-properties.js +1 -0
  338. package/dist/es2019/rules/use-tokens-typography/utils.js +2 -51
  339. package/dist/es2019/rules/use-visually-hidden/fix-jsx.js +2 -2
  340. package/dist/es2019/rules/use-visually-hidden/fix-vanilla.js +2 -2
  341. package/dist/es2019/rules/use-visually-hidden/get-first-import.js +6 -0
  342. package/dist/es2019/rules/use-visually-hidden/index.js +4 -2
  343. package/dist/es2019/rules/use-visually-hidden/make-template-literal-into-entries.js +6 -0
  344. package/dist/es2019/rules/use-visually-hidden/utils.js +0 -14
  345. package/dist/es2019/rules/utils/find-prop.js +4 -0
  346. package/dist/es2019/rules/utils/get-imported-node-by-source.js +8 -0
  347. package/dist/es2019/rules/utils/{get-import-node-by-source.js → get-module-of-identifier.js} +0 -9
  348. package/dist/es2019/rules/utils/is-child-of-type.js +2 -0
  349. package/dist/es2019/rules/utils/is-color.js +1 -3
  350. package/dist/es2019/rules/utils/is-css-in-js-template-node.js +1 -0
  351. package/dist/es2019/rules/utils/is-current-surface-custom-property-name.js +2 -0
  352. package/dist/es2019/rules/utils/is-decendant-of-global-token.js +10 -0
  353. package/dist/es2019/rules/utils/is-decendant-of-primitive.js +19 -0
  354. package/dist/es2019/rules/utils/is-decendant-of-style-jsx-attribute.js +10 -0
  355. package/dist/es2019/rules/utils/is-decendant-of-svg-element.js +13 -0
  356. package/dist/es2019/rules/utils/is-decendant-of-type.js +9 -0
  357. package/dist/es2019/rules/utils/is-decendant-of-xcss-block.js +11 -0
  358. package/dist/es2019/rules/utils/is-node.js +2 -78
  359. package/dist/es2019/rules/utils/is-property-key.js +9 -0
  360. package/dist/es2019/rules/utils/jsx.js +0 -4
  361. package/dist/esm/presets/all-flat.codegen.js +2 -1
  362. package/dist/esm/presets/all.codegen.js +2 -1
  363. package/dist/esm/presets/recommended-flat.codegen.js +2 -1
  364. package/dist/esm/presets/recommended.codegen.js +2 -1
  365. package/dist/esm/rules/consistent-css-prop-usage/index.js +2 -2
  366. package/dist/esm/rules/ensure-design-token-usage/border-width-value-to-token.js +6 -0
  367. package/dist/esm/rules/ensure-design-token-usage/clean-comments.js +7 -0
  368. package/dist/esm/rules/ensure-design-token-usage/color.js +6 -4
  369. package/dist/esm/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.js +6 -0
  370. package/dist/esm/rules/ensure-design-token-usage/find-parent-node-for-line.js +16 -0
  371. package/dist/esm/rules/ensure-design-token-usage/get-elevation-token-example.js +3 -0
  372. package/dist/esm/rules/ensure-design-token-usage/get-raw-expression.js +15 -0
  373. package/dist/esm/rules/ensure-design-token-usage/includes-token-string.js +3 -0
  374. package/dist/esm/rules/ensure-design-token-usage/index.js +12 -2
  375. package/dist/esm/rules/ensure-design-token-usage/insert-tokens-import.js +4 -0
  376. package/dist/esm/rules/ensure-design-token-usage/is-auto.js +8 -0
  377. package/dist/esm/rules/ensure-design-token-usage/is-border-radius.js +4 -0
  378. package/dist/esm/rules/ensure-design-token-usage/is-token-value-string.js +7 -0
  379. package/dist/esm/rules/ensure-design-token-usage/is-zero.js +13 -0
  380. package/dist/esm/rules/ensure-design-token-usage/normalise-value.js +23 -0
  381. package/dist/esm/rules/ensure-design-token-usage/radius-value-to-token.js +8 -0
  382. package/dist/esm/rules/ensure-design-token-usage/shape.js +0 -17
  383. package/dist/esm/rules/ensure-design-token-usage/spacing.js +6 -1
  384. package/dist/esm/rules/ensure-design-token-usage/split-css-properties.js +25 -0
  385. package/dist/esm/rules/ensure-design-token-usage/split-shorthand-values.js +14 -0
  386. package/dist/esm/rules/ensure-design-token-usage/utils.js +13 -148
  387. package/dist/esm/rules/icon-label/index.js +1 -1
  388. package/dist/esm/rules/index.codegen.js +3 -1
  389. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-add-event-listener.js +1 -1
  390. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
  391. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
  392. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +2 -2
  393. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.js +1 -0
  394. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-jsx-attribute-lookup.js +1 -0
  395. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/shared/is-blocked-event-binding.js +1 -1
  396. package/dist/esm/rules/no-html-anchor/index.js +2 -1
  397. package/dist/esm/rules/no-html-anchor/node-types/jsx-element/index.js +2 -2
  398. package/dist/esm/rules/no-html-anchor/node-types/supported.js +3 -3
  399. package/dist/esm/rules/no-html-button/index.js +2 -1
  400. package/dist/esm/rules/no-html-button/node-types/jsx-element/index.js +2 -2
  401. package/dist/esm/rules/no-html-button/node-types/supported.js +3 -3
  402. package/dist/esm/rules/no-html-checkbox/index.js +1 -1
  403. package/dist/esm/rules/no-html-checkbox/node-types/jsx-element/index.js +2 -2
  404. package/dist/esm/rules/no-html-checkbox/node-types/supported.js +3 -3
  405. package/dist/esm/rules/no-html-code/index.js +2 -1
  406. package/dist/esm/rules/no-html-code/node-types/jsx-element/index.js +2 -2
  407. package/dist/esm/rules/no-html-code/node-types/supported.js +3 -3
  408. package/dist/esm/rules/no-html-heading/index.js +2 -1
  409. package/dist/esm/rules/no-html-heading/node-types/jsx-element/index.js +2 -2
  410. package/dist/esm/rules/no-html-heading/node-types/supported.js +3 -3
  411. package/dist/esm/rules/no-html-image/index.js +2 -1
  412. package/dist/esm/rules/no-html-image/node-types/jsx-element/index.js +2 -2
  413. package/dist/esm/rules/no-html-image/node-types/supported.js +3 -3
  414. package/dist/esm/rules/no-html-radio/index.js +1 -1
  415. package/dist/esm/rules/no-html-radio/node-types/jsx-element/index.js +2 -2
  416. package/dist/esm/rules/no-html-radio/node-types/supported.js +3 -3
  417. package/dist/esm/rules/no-html-range/index.js +1 -1
  418. package/dist/esm/rules/no-html-range/node-types/jsx-element/index.js +2 -2
  419. package/dist/esm/rules/no-html-range/node-types/supported.js +3 -3
  420. package/dist/esm/rules/no-html-select/index.js +2 -1
  421. package/dist/esm/rules/no-html-select/node-types/jsx-element/index.js +2 -2
  422. package/dist/esm/rules/no-html-select/node-types/supported.js +3 -3
  423. package/dist/esm/rules/no-html-text-input/index.js +1 -1
  424. package/dist/esm/rules/no-html-text-input/node-types/jsx-element/index.js +2 -2
  425. package/dist/esm/rules/no-html-text-input/node-types/supported.js +3 -3
  426. package/dist/esm/rules/no-html-textarea/index.js +2 -1
  427. package/dist/esm/rules/no-html-textarea/node-types/jsx-element/index.js +2 -2
  428. package/dist/esm/rules/no-html-textarea/node-types/supported.js +3 -3
  429. package/dist/esm/rules/no-icon-spacing-prop/get-css-map-key.js +7 -0
  430. package/dist/esm/rules/no-icon-spacing-prop/get-icon-size.js +18 -0
  431. package/dist/esm/rules/no-icon-spacing-prop/get-spacing-attribute.js +13 -0
  432. package/dist/esm/rules/no-icon-spacing-prop/get-static-attribute-value.js +9 -0
  433. package/dist/esm/rules/no-icon-spacing-prop/has-spread-props.js +8 -0
  434. package/dist/esm/rules/no-icon-spacing-prop/index.js +11 -1
  435. package/dist/esm/rules/no-icon-spacing-prop/spacing-to-padding.js +14 -0
  436. package/dist/esm/rules/no-icon-spacing-prop/upsert-css-map-import.js +46 -0
  437. package/dist/esm/rules/no-icon-spacing-prop/upsert-css-map-variable.js +51 -0
  438. package/dist/esm/rules/no-icon-spacing-prop/upsert-flex-import.js +53 -0
  439. package/dist/esm/rules/no-icon-spacing-prop/upsert-token-import.js +35 -0
  440. package/dist/esm/rules/no-invalid-css-map/get-css-map-object.js +12 -0
  441. package/dist/esm/rules/no-invalid-css-map/index.js +2 -1
  442. package/dist/esm/rules/no-invalid-css-map/utils.js +0 -12
  443. package/dist/esm/rules/no-physical-properties/index.js +1 -1
  444. package/dist/esm/rules/no-physical-properties/logical-physical-map.js +0 -34
  445. package/dist/esm/rules/no-physical-properties/physical-logical-map.js +34 -0
  446. package/dist/esm/rules/no-placeholder/index.js +2 -2
  447. package/dist/esm/rules/no-readonly-or-disabled-inputs/index.js +139 -0
  448. package/dist/esm/rules/no-unsafe-design-token-usage/index.js +2 -1
  449. package/dist/esm/rules/no-unsafe-style-overrides/index.js +1 -1
  450. package/dist/esm/rules/prefer-primitives/utils.js +1 -1
  451. package/dist/esm/rules/prefer-primitives/valid-primitive-elements.js +1 -0
  452. package/dist/esm/rules/use-heading/index.js +1 -1
  453. package/dist/esm/rules/use-heading/transformers/allowed-attrs.js +1 -0
  454. package/dist/esm/rules/use-heading/transformers/common.js +1 -9
  455. package/dist/esm/rules/use-heading/transformers/native-elements.js +11 -9
  456. package/dist/esm/rules/use-heading/transformers/update-test-id-attribute-fix.js +10 -0
  457. package/dist/esm/rules/use-href-in-link-item/get-unique-button-item-name.js +22 -0
  458. package/dist/esm/rules/use-href-in-link-item/has-import-of-name.js +11 -0
  459. package/dist/esm/rules/use-href-in-link-item/index.js +5 -1
  460. package/dist/esm/rules/use-href-in-link-item/insert-button-item-default-import.js +3 -0
  461. package/dist/esm/rules/use-href-in-link-item/insert-button-item-import.js +4 -0
  462. package/dist/esm/rules/use-href-in-link-item/utils.js +0 -39
  463. package/dist/esm/rules/use-latest-xcss-syntax/index.js +1 -1
  464. package/dist/esm/rules/use-latest-xcss-syntax/transformers/style-property/index.js +8 -6
  465. package/dist/esm/rules/use-latest-xcss-syntax-typography/index.js +3 -1
  466. package/dist/esm/rules/use-primitives/index.js +2 -1
  467. package/dist/esm/rules/use-primitives/transformers/compiled-styled/{supported.js → attributes.js} +0 -1
  468. package/dist/esm/rules/use-primitives/transformers/compiled-styled/convert-jsx-call-site.js +2 -2
  469. package/dist/esm/rules/use-primitives/transformers/compiled-styled/elements.js +1 -0
  470. package/dist/esm/rules/use-primitives/transformers/compiled-styled/find-valid-styled-component-call.js +2 -2
  471. package/dist/esm/rules/use-primitives/transformers/compiled-styled/index.js +6 -5
  472. package/dist/esm/rules/use-primitives/transformers/css-to-xcss.js +7 -15
  473. package/dist/esm/rules/use-primitives/transformers/dimensions-map.js +3 -0
  474. package/dist/esm/rules/use-primitives/transformers/emotion-css/{supported.js → attributes.js} +0 -1
  475. package/dist/esm/rules/use-primitives/transformers/emotion-css/elements.js +1 -0
  476. package/dist/esm/rules/use-primitives/transformers/emotion-css/index.js +20 -14
  477. package/dist/esm/rules/use-primitives/transformers/space-token-map.js +2 -0
  478. package/dist/esm/rules/use-primitives/transformers/space-token-positive-map.js +2 -0
  479. package/dist/esm/rules/use-primitives/transformers/supported-dimension-attributes-map.js +9 -0
  480. package/dist/esm/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.js +1 -1
  481. package/dist/esm/rules/use-primitives/utils/is-valid-css-properties-to-transform.js +5 -4
  482. package/dist/esm/rules/use-primitives/utils/spread-syntax.js +1 -0
  483. package/dist/esm/rules/use-primitives/utils/validate-styles.js +12 -9
  484. package/dist/esm/rules/use-primitives-text/index.js +4 -1
  485. package/dist/esm/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.js +8 -0
  486. package/dist/esm/rules/use-primitives-text/transformers/allowed-attrs.js +1 -0
  487. package/dist/esm/rules/use-primitives-text/transformers/common.js +1 -40
  488. package/dist/esm/rules/use-primitives-text/transformers/emphasis-elements.js +11 -8
  489. package/dist/esm/rules/use-primitives-text/transformers/has-text-children-only.js +24 -0
  490. package/dist/esm/rules/use-primitives-text/transformers/paragraph-elements.js +17 -14
  491. package/dist/esm/rules/use-primitives-text/transformers/span-elements.js +11 -7
  492. package/dist/esm/rules/use-primitives-text/transformers/strong-elements.js +11 -8
  493. package/dist/esm/rules/use-primitives-text/transformers/update-test-id-attribute-fix.js +10 -0
  494. package/dist/esm/rules/use-should-render-to-parent/index.js +32 -9
  495. package/dist/esm/rules/use-spotlight-package/index.js +1 -1
  496. package/dist/esm/rules/use-tokens-shape/transformers/index.js +7 -6
  497. package/dist/esm/rules/use-tokens-space/index.js +1 -1
  498. package/dist/esm/rules/use-tokens-space/transformers/style-property/index.js +7 -6
  499. package/dist/esm/rules/use-tokens-typography/convert-property-node-to-stringable-node.js +7 -0
  500. package/dist/esm/rules/use-tokens-typography/find-font-family-token-for-value.js +11 -0
  501. package/dist/esm/rules/use-tokens-typography/get-literal-property.js +7 -0
  502. package/dist/esm/rules/use-tokens-typography/insert-tokens-import.js +7 -0
  503. package/dist/esm/rules/use-tokens-typography/is-code-font-family.js +4 -0
  504. package/dist/esm/rules/use-tokens-typography/is-font-family.js +4 -0
  505. package/dist/esm/rules/use-tokens-typography/is-font-size-small.js +4 -0
  506. package/dist/esm/rules/use-tokens-typography/is-font-size.js +4 -0
  507. package/dist/esm/rules/use-tokens-typography/is-typography-property.js +4 -0
  508. package/dist/esm/rules/use-tokens-typography/is-valid-property-node.js +7 -0
  509. package/dist/esm/rules/use-tokens-typography/is-valid-typography-token.js +10 -0
  510. package/dist/esm/rules/use-tokens-typography/not-undefined.js +3 -0
  511. package/dist/esm/rules/use-tokens-typography/transformers/banned-properties.js +2 -1
  512. package/dist/esm/rules/use-tokens-typography/transformers/font-family.js +5 -3
  513. package/dist/esm/rules/use-tokens-typography/transformers/font-weight.js +5 -3
  514. package/dist/esm/rules/use-tokens-typography/transformers/style-object.js +15 -4
  515. package/dist/esm/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
  516. package/dist/esm/rules/use-tokens-typography/typography-properties.js +1 -0
  517. package/dist/esm/rules/use-tokens-typography/utils.js +2 -65
  518. package/dist/esm/rules/use-visually-hidden/fix-jsx.js +2 -2
  519. package/dist/esm/rules/use-visually-hidden/fix-vanilla.js +2 -2
  520. package/dist/esm/rules/use-visually-hidden/get-first-import.js +8 -0
  521. package/dist/esm/rules/use-visually-hidden/index.js +4 -2
  522. package/dist/esm/rules/use-visually-hidden/make-template-literal-into-entries.js +12 -0
  523. package/dist/esm/rules/use-visually-hidden/utils.js +0 -22
  524. package/dist/esm/rules/utils/find-prop.js +6 -0
  525. package/dist/esm/rules/utils/get-imported-node-by-source.js +12 -0
  526. package/dist/esm/rules/utils/{get-import-node-by-source.js → get-module-of-identifier.js} +0 -13
  527. package/dist/esm/rules/utils/is-child-of-type.js +4 -0
  528. package/dist/esm/rules/utils/is-color.js +0 -4
  529. package/dist/esm/rules/utils/is-css-in-js-template-node.js +3 -0
  530. package/dist/esm/rules/utils/is-current-surface-custom-property-name.js +4 -0
  531. package/dist/esm/rules/utils/is-decendant-of-global-token.js +11 -0
  532. package/dist/esm/rules/utils/is-decendant-of-primitive.js +20 -0
  533. package/dist/esm/rules/utils/is-decendant-of-style-jsx-attribute.js +11 -0
  534. package/dist/esm/rules/utils/is-decendant-of-svg-element.js +14 -0
  535. package/dist/esm/rules/utils/is-decendant-of-type.js +11 -0
  536. package/dist/esm/rules/utils/is-decendant-of-xcss-block.js +12 -0
  537. package/dist/esm/rules/utils/is-node.js +2 -89
  538. package/dist/esm/rules/utils/is-property-key.js +9 -0
  539. package/dist/esm/rules/utils/jsx.js +0 -6
  540. package/dist/types/presets/all-flat.codegen.d.ts +1 -1
  541. package/dist/types/presets/all.codegen.d.ts +1 -1
  542. package/dist/types/presets/recommended-flat.codegen.d.ts +1 -1
  543. package/dist/types/presets/recommended.codegen.d.ts +1 -1
  544. package/dist/types/rules/ensure-design-token-usage/border-width-value-to-token.d.ts +1 -0
  545. package/dist/types/rules/ensure-design-token-usage/clean-comments.d.ts +5 -0
  546. package/dist/types/rules/ensure-design-token-usage/color.d.ts +0 -2
  547. package/dist/types/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.d.ts +1 -0
  548. package/dist/types/rules/ensure-design-token-usage/find-parent-node-for-line.d.ts +6 -0
  549. package/dist/types/rules/ensure-design-token-usage/get-elevation-token-example.d.ts +2 -0
  550. package/dist/types/rules/ensure-design-token-usage/get-raw-expression.d.ts +3 -0
  551. package/dist/types/rules/ensure-design-token-usage/includes-token-string.d.ts +1 -0
  552. package/dist/types/rules/ensure-design-token-usage/insert-tokens-import.d.ts +2 -0
  553. package/dist/types/rules/ensure-design-token-usage/is-auto.d.ts +1 -0
  554. package/dist/types/rules/ensure-design-token-usage/is-border-radius.d.ts +2 -0
  555. package/dist/types/rules/ensure-design-token-usage/is-token-value-string.d.ts +5 -0
  556. package/dist/types/rules/ensure-design-token-usage/is-zero.d.ts +1 -0
  557. package/dist/types/rules/ensure-design-token-usage/normalise-value.d.ts +10 -0
  558. package/dist/types/rules/ensure-design-token-usage/radius-value-to-token.d.ts +1 -0
  559. package/dist/types/rules/ensure-design-token-usage/shape.d.ts +0 -4
  560. package/dist/types/rules/ensure-design-token-usage/split-css-properties.d.ts +6 -0
  561. package/dist/types/rules/ensure-design-token-usage/split-shorthand-values.d.ts +12 -0
  562. package/dist/types/rules/ensure-design-token-usage/utils.d.ts +0 -49
  563. package/dist/types/rules/index.codegen.d.ts +1 -1
  564. package/dist/types/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.d.ts +1 -0
  565. package/dist/types/rules/no-direct-use-of-web-platform-drag-and-drop/shared/{blocked.d.ts → blocked-jsx-attribute-lookup.d.ts} +0 -1
  566. package/dist/types/rules/no-icon-spacing-prop/get-css-map-key.d.ts +5 -0
  567. package/dist/types/rules/no-icon-spacing-prop/get-icon-size.d.ts +5 -0
  568. package/dist/types/rules/no-icon-spacing-prop/get-spacing-attribute.d.ts +5 -0
  569. package/dist/types/rules/no-icon-spacing-prop/get-static-attribute-value.d.ts +5 -0
  570. package/dist/types/rules/no-icon-spacing-prop/has-spread-props.d.ts +5 -0
  571. package/dist/types/rules/no-icon-spacing-prop/spacing-to-padding.d.ts +5 -0
  572. package/dist/types/rules/no-icon-spacing-prop/upsert-css-map-import.d.ts +8 -0
  573. package/dist/types/rules/no-icon-spacing-prop/upsert-css-map-variable.d.ts +9 -0
  574. package/dist/types/rules/no-icon-spacing-prop/upsert-flex-import.d.ts +8 -0
  575. package/dist/types/rules/no-icon-spacing-prop/upsert-token-import.d.ts +8 -0
  576. package/dist/types/rules/no-invalid-css-map/get-css-map-object.d.ts +2 -0
  577. package/dist/types/rules/no-invalid-css-map/utils.d.ts +1 -2
  578. package/dist/types/rules/no-physical-properties/logical-physical-map.d.ts +0 -34
  579. package/dist/types/rules/no-physical-properties/physical-logical-map.d.ts +34 -0
  580. package/dist/types/rules/no-readonly-or-disabled-inputs/index.d.ts +6 -0
  581. package/dist/types/rules/prefer-primitives/utils.d.ts +0 -1
  582. package/dist/types/rules/prefer-primitives/valid-primitive-elements.d.ts +1 -0
  583. package/dist/types/rules/use-heading/transformers/allowed-attrs.d.ts +1 -0
  584. package/dist/types/rules/use-heading/transformers/common.d.ts +0 -3
  585. package/dist/types/rules/use-heading/transformers/native-elements.d.ts +1 -1
  586. package/dist/types/rules/use-heading/transformers/update-test-id-attribute-fix.d.ts +3 -0
  587. package/dist/types/rules/use-href-in-link-item/get-unique-button-item-name.d.ts +2 -0
  588. package/dist/types/rules/use-href-in-link-item/has-import-of-name.d.ts +2 -0
  589. package/dist/types/rules/use-href-in-link-item/insert-button-item-default-import.d.ts +3 -0
  590. package/dist/types/rules/use-href-in-link-item/insert-button-item-import.d.ts +3 -0
  591. package/dist/types/rules/use-href-in-link-item/utils.d.ts +2 -6
  592. package/dist/types/rules/use-primitives/transformers/compiled-styled/{supported.d.ts → attributes.d.ts} +0 -1
  593. package/dist/types/rules/use-primitives/transformers/compiled-styled/elements.d.ts +1 -0
  594. package/dist/types/rules/use-primitives/transformers/css-to-xcss.d.ts +1 -12
  595. package/dist/types/rules/use-primitives/transformers/dimensions-map.d.ts +3 -0
  596. package/dist/types/rules/use-primitives/transformers/emotion-css/{supported.d.ts → attributes.d.ts} +0 -1
  597. package/dist/types/rules/use-primitives/transformers/emotion-css/elements.d.ts +1 -0
  598. package/dist/types/rules/use-primitives/transformers/space-token-map.d.ts +3 -0
  599. package/dist/types/rules/use-primitives/transformers/space-token-positive-map.d.ts +3 -0
  600. package/dist/types/rules/use-primitives/transformers/supported-dimension-attributes-map.d.ts +4 -0
  601. package/dist/types/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.d.ts +1 -1
  602. package/dist/types/rules/use-primitives/utils/spread-syntax.d.ts +1 -0
  603. package/dist/types/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.d.ts +4 -0
  604. package/dist/types/rules/use-primitives-text/transformers/allowed-attrs.d.ts +1 -0
  605. package/dist/types/rules/use-primitives-text/transformers/common.d.ts +0 -5
  606. package/dist/types/rules/use-primitives-text/transformers/emphasis-elements.d.ts +1 -1
  607. package/dist/types/rules/use-primitives-text/transformers/has-text-children-only.d.ts +2 -0
  608. package/dist/types/rules/use-primitives-text/transformers/paragraph-elements.d.ts +1 -1
  609. package/dist/types/rules/use-primitives-text/transformers/span-elements.d.ts +1 -1
  610. package/dist/types/rules/use-primitives-text/transformers/strong-elements.d.ts +1 -1
  611. package/dist/types/rules/use-primitives-text/transformers/update-test-id-attribute-fix.d.ts +3 -0
  612. package/dist/types/rules/use-tokens-typography/convert-property-node-to-stringable-node.d.ts +2 -0
  613. package/dist/types/rules/use-tokens-typography/find-font-family-token-for-value.d.ts +1 -0
  614. package/dist/types/rules/use-tokens-typography/get-literal-property.d.ts +2 -0
  615. package/dist/types/rules/use-tokens-typography/insert-tokens-import.d.ts +3 -0
  616. package/dist/types/rules/use-tokens-typography/is-code-font-family.d.ts +2 -0
  617. package/dist/types/rules/use-tokens-typography/is-font-family.d.ts +2 -0
  618. package/dist/types/rules/use-tokens-typography/is-font-size-small.d.ts +2 -0
  619. package/dist/types/rules/use-tokens-typography/is-font-size.d.ts +2 -0
  620. package/dist/types/rules/use-tokens-typography/is-typography-property.d.ts +1 -0
  621. package/dist/types/rules/use-tokens-typography/is-valid-property-node.d.ts +2 -0
  622. package/dist/types/rules/use-tokens-typography/is-valid-typography-token.d.ts +36 -0
  623. package/dist/types/rules/use-tokens-typography/not-undefined.d.ts +1 -0
  624. package/dist/types/rules/use-tokens-typography/typography-properties.d.ts +1 -0
  625. package/dist/types/rules/use-tokens-typography/utils.d.ts +2 -50
  626. package/dist/types/rules/use-visually-hidden/get-first-import.d.ts +5 -0
  627. package/dist/types/rules/use-visually-hidden/make-template-literal-into-entries.d.ts +4 -0
  628. package/dist/types/rules/use-visually-hidden/utils.d.ts +0 -9
  629. package/dist/types/rules/utils/find-prop.d.ts +2 -0
  630. package/dist/types/rules/utils/{get-import-node-by-source.d.ts → get-imported-node-by-source.d.ts} +0 -9
  631. package/dist/types/rules/utils/get-module-of-identifier.d.ts +10 -0
  632. package/dist/types/rules/utils/is-child-of-type.d.ts +2 -0
  633. package/dist/types/rules/utils/is-color.d.ts +0 -1
  634. package/dist/types/rules/utils/is-css-in-js-template-node.d.ts +2 -0
  635. package/dist/types/rules/utils/is-current-surface-custom-property-name.d.ts +1 -0
  636. package/dist/types/rules/utils/is-decendant-of-global-token.d.ts +2 -0
  637. package/dist/types/rules/utils/is-decendant-of-primitive.d.ts +2 -0
  638. package/dist/types/rules/utils/is-decendant-of-style-jsx-attribute.d.ts +2 -0
  639. package/dist/types/rules/utils/is-decendant-of-svg-element.d.ts +2 -0
  640. package/dist/types/rules/utils/is-decendant-of-type.d.ts +2 -0
  641. package/dist/types/rules/utils/is-decendant-of-xcss-block.d.ts +2 -0
  642. package/dist/types/rules/utils/is-node.d.ts +3 -11
  643. package/dist/types/rules/utils/is-property-key.d.ts +2 -0
  644. package/dist/types/rules/utils/jsx.d.ts +1 -2
  645. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +1 -1
  646. package/dist/types-ts4.5/presets/all.codegen.d.ts +1 -1
  647. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +1 -1
  648. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +1 -1
  649. package/dist/types-ts4.5/rules/ensure-design-token-usage/border-width-value-to-token.d.ts +1 -0
  650. package/dist/types-ts4.5/rules/ensure-design-token-usage/clean-comments.d.ts +5 -0
  651. package/dist/types-ts4.5/rules/ensure-design-token-usage/color.d.ts +0 -2
  652. package/dist/types-ts4.5/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.d.ts +1 -0
  653. package/dist/types-ts4.5/rules/ensure-design-token-usage/find-parent-node-for-line.d.ts +6 -0
  654. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-elevation-token-example.d.ts +2 -0
  655. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-raw-expression.d.ts +3 -0
  656. package/dist/types-ts4.5/rules/ensure-design-token-usage/includes-token-string.d.ts +1 -0
  657. package/dist/types-ts4.5/rules/ensure-design-token-usage/insert-tokens-import.d.ts +2 -0
  658. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-auto.d.ts +1 -0
  659. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-border-radius.d.ts +2 -0
  660. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-token-value-string.d.ts +5 -0
  661. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-zero.d.ts +1 -0
  662. package/dist/types-ts4.5/rules/ensure-design-token-usage/normalise-value.d.ts +10 -0
  663. package/dist/types-ts4.5/rules/ensure-design-token-usage/radius-value-to-token.d.ts +1 -0
  664. package/dist/types-ts4.5/rules/ensure-design-token-usage/shape.d.ts +0 -4
  665. package/dist/types-ts4.5/rules/ensure-design-token-usage/split-css-properties.d.ts +6 -0
  666. package/dist/types-ts4.5/rules/ensure-design-token-usage/split-shorthand-values.d.ts +12 -0
  667. package/dist/types-ts4.5/rules/ensure-design-token-usage/utils.d.ts +0 -49
  668. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -1
  669. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.d.ts +1 -0
  670. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/shared/{blocked.d.ts → blocked-jsx-attribute-lookup.d.ts} +0 -1
  671. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-css-map-key.d.ts +5 -0
  672. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-icon-size.d.ts +5 -0
  673. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-spacing-attribute.d.ts +5 -0
  674. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-static-attribute-value.d.ts +5 -0
  675. package/dist/types-ts4.5/rules/no-icon-spacing-prop/has-spread-props.d.ts +5 -0
  676. package/dist/types-ts4.5/rules/no-icon-spacing-prop/spacing-to-padding.d.ts +5 -0
  677. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-css-map-import.d.ts +8 -0
  678. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-css-map-variable.d.ts +9 -0
  679. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-flex-import.d.ts +8 -0
  680. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-token-import.d.ts +8 -0
  681. package/dist/types-ts4.5/rules/no-invalid-css-map/get-css-map-object.d.ts +2 -0
  682. package/dist/types-ts4.5/rules/no-invalid-css-map/utils.d.ts +1 -2
  683. package/dist/types-ts4.5/rules/no-physical-properties/logical-physical-map.d.ts +0 -34
  684. package/dist/types-ts4.5/rules/no-physical-properties/physical-logical-map.d.ts +34 -0
  685. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/index.d.ts +12 -0
  686. package/dist/types-ts4.5/rules/prefer-primitives/utils.d.ts +0 -1
  687. package/dist/types-ts4.5/rules/prefer-primitives/valid-primitive-elements.d.ts +1 -0
  688. package/dist/types-ts4.5/rules/use-heading/transformers/allowed-attrs.d.ts +1 -0
  689. package/dist/types-ts4.5/rules/use-heading/transformers/common.d.ts +0 -3
  690. package/dist/types-ts4.5/rules/use-heading/transformers/native-elements.d.ts +1 -1
  691. package/dist/types-ts4.5/rules/use-heading/transformers/update-test-id-attribute-fix.d.ts +3 -0
  692. package/dist/types-ts4.5/rules/use-href-in-link-item/get-unique-button-item-name.d.ts +2 -0
  693. package/dist/types-ts4.5/rules/use-href-in-link-item/has-import-of-name.d.ts +2 -0
  694. package/dist/types-ts4.5/rules/use-href-in-link-item/insert-button-item-default-import.d.ts +3 -0
  695. package/dist/types-ts4.5/rules/use-href-in-link-item/insert-button-item-import.d.ts +3 -0
  696. package/dist/types-ts4.5/rules/use-href-in-link-item/utils.d.ts +2 -6
  697. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/{supported.d.ts → attributes.d.ts} +0 -1
  698. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/elements.d.ts +1 -0
  699. package/dist/types-ts4.5/rules/use-primitives/transformers/css-to-xcss.d.ts +1 -12
  700. package/dist/types-ts4.5/rules/use-primitives/transformers/dimensions-map.d.ts +3 -0
  701. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/{supported.d.ts → attributes.d.ts} +0 -1
  702. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/elements.d.ts +1 -0
  703. package/dist/types-ts4.5/rules/use-primitives/transformers/space-token-map.d.ts +3 -0
  704. package/dist/types-ts4.5/rules/use-primitives/transformers/space-token-positive-map.d.ts +3 -0
  705. package/dist/types-ts4.5/rules/use-primitives/transformers/supported-dimension-attributes-map.d.ts +4 -0
  706. package/dist/types-ts4.5/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.d.ts +1 -1
  707. package/dist/types-ts4.5/rules/use-primitives/utils/spread-syntax.d.ts +1 -0
  708. package/dist/types-ts4.5/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.d.ts +4 -0
  709. package/dist/types-ts4.5/rules/use-primitives-text/transformers/allowed-attrs.d.ts +1 -0
  710. package/dist/types-ts4.5/rules/use-primitives-text/transformers/common.d.ts +0 -5
  711. package/dist/types-ts4.5/rules/use-primitives-text/transformers/emphasis-elements.d.ts +1 -1
  712. package/dist/types-ts4.5/rules/use-primitives-text/transformers/has-text-children-only.d.ts +2 -0
  713. package/dist/types-ts4.5/rules/use-primitives-text/transformers/paragraph-elements.d.ts +1 -1
  714. package/dist/types-ts4.5/rules/use-primitives-text/transformers/span-elements.d.ts +1 -1
  715. package/dist/types-ts4.5/rules/use-primitives-text/transformers/strong-elements.d.ts +1 -1
  716. package/dist/types-ts4.5/rules/use-primitives-text/transformers/update-test-id-attribute-fix.d.ts +3 -0
  717. package/dist/types-ts4.5/rules/use-tokens-typography/convert-property-node-to-stringable-node.d.ts +2 -0
  718. package/dist/types-ts4.5/rules/use-tokens-typography/find-font-family-token-for-value.d.ts +1 -0
  719. package/dist/types-ts4.5/rules/use-tokens-typography/get-literal-property.d.ts +2 -0
  720. package/dist/types-ts4.5/rules/use-tokens-typography/insert-tokens-import.d.ts +3 -0
  721. package/dist/types-ts4.5/rules/use-tokens-typography/is-code-font-family.d.ts +2 -0
  722. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-family.d.ts +2 -0
  723. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-size-small.d.ts +2 -0
  724. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-size.d.ts +2 -0
  725. package/dist/types-ts4.5/rules/use-tokens-typography/is-typography-property.d.ts +1 -0
  726. package/dist/types-ts4.5/rules/use-tokens-typography/is-valid-property-node.d.ts +2 -0
  727. package/dist/types-ts4.5/rules/use-tokens-typography/is-valid-typography-token.d.ts +36 -0
  728. package/dist/types-ts4.5/rules/use-tokens-typography/not-undefined.d.ts +1 -0
  729. package/dist/types-ts4.5/rules/use-tokens-typography/typography-properties.d.ts +1 -0
  730. package/dist/types-ts4.5/rules/use-tokens-typography/utils.d.ts +2 -50
  731. package/dist/types-ts4.5/rules/use-visually-hidden/get-first-import.d.ts +5 -0
  732. package/dist/types-ts4.5/rules/use-visually-hidden/make-template-literal-into-entries.d.ts +4 -0
  733. package/dist/types-ts4.5/rules/use-visually-hidden/utils.d.ts +0 -9
  734. package/dist/types-ts4.5/rules/utils/find-prop.d.ts +2 -0
  735. package/dist/types-ts4.5/rules/utils/{get-import-node-by-source.d.ts → get-imported-node-by-source.d.ts} +0 -9
  736. package/dist/types-ts4.5/rules/utils/get-module-of-identifier.d.ts +10 -0
  737. package/dist/types-ts4.5/rules/utils/is-child-of-type.d.ts +2 -0
  738. package/dist/types-ts4.5/rules/utils/is-color.d.ts +0 -1
  739. package/dist/types-ts4.5/rules/utils/is-css-in-js-template-node.d.ts +2 -0
  740. package/dist/types-ts4.5/rules/utils/is-current-surface-custom-property-name.d.ts +1 -0
  741. package/dist/types-ts4.5/rules/utils/is-decendant-of-global-token.d.ts +2 -0
  742. package/dist/types-ts4.5/rules/utils/is-decendant-of-primitive.d.ts +2 -0
  743. package/dist/types-ts4.5/rules/utils/is-decendant-of-style-jsx-attribute.d.ts +2 -0
  744. package/dist/types-ts4.5/rules/utils/is-decendant-of-svg-element.d.ts +2 -0
  745. package/dist/types-ts4.5/rules/utils/is-decendant-of-type.d.ts +2 -0
  746. package/dist/types-ts4.5/rules/utils/is-decendant-of-xcss-block.d.ts +2 -0
  747. package/dist/types-ts4.5/rules/utils/is-node.d.ts +3 -11
  748. package/dist/types-ts4.5/rules/utils/is-property-key.d.ts +2 -0
  749. package/dist/types-ts4.5/rules/utils/jsx.d.ts +1 -2
  750. package/package.json +5 -5
  751. package/dist/cjs/ast-nodes/index.js +0 -54
  752. package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked.js +0 -8
  753. package/dist/cjs/rules/no-html-anchor/node-types/index.js +0 -19
  754. package/dist/cjs/rules/no-html-button/node-types/index.js +0 -19
  755. package/dist/cjs/rules/no-html-checkbox/node-types/index.js +0 -12
  756. package/dist/cjs/rules/no-html-code/node-types/index.js +0 -19
  757. package/dist/cjs/rules/no-html-heading/node-types/index.js +0 -19
  758. package/dist/cjs/rules/no-html-image/node-types/index.js +0 -19
  759. package/dist/cjs/rules/no-html-radio/node-types/index.js +0 -12
  760. package/dist/cjs/rules/no-html-range/node-types/index.js +0 -12
  761. package/dist/cjs/rules/no-html-select/node-types/index.js +0 -19
  762. package/dist/cjs/rules/no-html-text-input/node-types/index.js +0 -12
  763. package/dist/cjs/rules/no-html-textarea/node-types/index.js +0 -19
  764. package/dist/cjs/rules/no-icon-spacing-prop/helpers.js +0 -266
  765. package/dist/cjs/rules/use-heading/transformers/index.js +0 -12
  766. package/dist/cjs/rules/use-latest-xcss-syntax/transformers/index.js +0 -12
  767. package/dist/cjs/rules/use-latest-xcss-syntax/utils/index.js +0 -12
  768. package/dist/cjs/rules/use-latest-xcss-syntax-typography/linters/index.js +0 -26
  769. package/dist/cjs/rules/use-primitives/transformers/index.js +0 -38
  770. package/dist/cjs/rules/use-primitives/utils/index.js +0 -68
  771. package/dist/cjs/rules/use-primitives-text/transformers/index.js +0 -33
  772. package/dist/cjs/rules/use-spotlight-package/linters/index.js +0 -12
  773. package/dist/cjs/rules/use-tokens-space/transformers/index.js +0 -12
  774. package/dist/cjs/rules/use-tokens-space/utils/index.js +0 -12
  775. package/dist/es2019/ast-nodes/index.js +0 -7
  776. package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked.js +0 -2
  777. package/dist/es2019/rules/no-html-anchor/node-types/index.js +0 -2
  778. package/dist/es2019/rules/no-html-button/node-types/index.js +0 -2
  779. package/dist/es2019/rules/no-html-checkbox/node-types/index.js +0 -1
  780. package/dist/es2019/rules/no-html-code/node-types/index.js +0 -2
  781. package/dist/es2019/rules/no-html-heading/node-types/index.js +0 -2
  782. package/dist/es2019/rules/no-html-image/node-types/index.js +0 -2
  783. package/dist/es2019/rules/no-html-radio/node-types/index.js +0 -1
  784. package/dist/es2019/rules/no-html-range/node-types/index.js +0 -1
  785. package/dist/es2019/rules/no-html-select/node-types/index.js +0 -2
  786. package/dist/es2019/rules/no-html-text-input/node-types/index.js +0 -1
  787. package/dist/es2019/rules/no-html-textarea/node-types/index.js +0 -2
  788. package/dist/es2019/rules/no-icon-spacing-prop/helpers.js +0 -211
  789. package/dist/es2019/rules/use-heading/transformers/index.js +0 -1
  790. package/dist/es2019/rules/use-latest-xcss-syntax/transformers/index.js +0 -1
  791. package/dist/es2019/rules/use-latest-xcss-syntax/utils/index.js +0 -1
  792. package/dist/es2019/rules/use-latest-xcss-syntax-typography/linters/index.js +0 -3
  793. package/dist/es2019/rules/use-primitives/transformers/index.js +0 -3
  794. package/dist/es2019/rules/use-primitives/utils/index.js +0 -9
  795. package/dist/es2019/rules/use-primitives-text/transformers/index.js +0 -4
  796. package/dist/es2019/rules/use-spotlight-package/linters/index.js +0 -1
  797. package/dist/es2019/rules/use-tokens-space/transformers/index.js +0 -1
  798. package/dist/es2019/rules/use-tokens-space/utils/index.js +0 -1
  799. package/dist/esm/ast-nodes/index.js +0 -7
  800. package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked.js +0 -2
  801. package/dist/esm/rules/no-html-anchor/node-types/index.js +0 -2
  802. package/dist/esm/rules/no-html-button/node-types/index.js +0 -2
  803. package/dist/esm/rules/no-html-checkbox/node-types/index.js +0 -1
  804. package/dist/esm/rules/no-html-code/node-types/index.js +0 -2
  805. package/dist/esm/rules/no-html-heading/node-types/index.js +0 -2
  806. package/dist/esm/rules/no-html-image/node-types/index.js +0 -2
  807. package/dist/esm/rules/no-html-radio/node-types/index.js +0 -1
  808. package/dist/esm/rules/no-html-range/node-types/index.js +0 -1
  809. package/dist/esm/rules/no-html-select/node-types/index.js +0 -2
  810. package/dist/esm/rules/no-html-text-input/node-types/index.js +0 -1
  811. package/dist/esm/rules/no-html-textarea/node-types/index.js +0 -2
  812. package/dist/esm/rules/no-icon-spacing-prop/helpers.js +0 -248
  813. package/dist/esm/rules/use-heading/transformers/index.js +0 -1
  814. package/dist/esm/rules/use-latest-xcss-syntax/transformers/index.js +0 -1
  815. package/dist/esm/rules/use-latest-xcss-syntax/utils/index.js +0 -1
  816. package/dist/esm/rules/use-latest-xcss-syntax-typography/linters/index.js +0 -3
  817. package/dist/esm/rules/use-primitives/transformers/index.js +0 -3
  818. package/dist/esm/rules/use-primitives/utils/index.js +0 -9
  819. package/dist/esm/rules/use-primitives-text/transformers/index.js +0 -4
  820. package/dist/esm/rules/use-spotlight-package/linters/index.js +0 -1
  821. package/dist/esm/rules/use-tokens-space/transformers/index.js +0 -1
  822. package/dist/esm/rules/use-tokens-space/utils/index.js +0 -1
  823. package/dist/types/ast-nodes/index.d.ts +0 -7
  824. package/dist/types/rules/no-html-anchor/node-types/index.d.ts +0 -2
  825. package/dist/types/rules/no-html-button/node-types/index.d.ts +0 -2
  826. package/dist/types/rules/no-html-checkbox/node-types/index.d.ts +0 -1
  827. package/dist/types/rules/no-html-code/node-types/index.d.ts +0 -2
  828. package/dist/types/rules/no-html-heading/node-types/index.d.ts +0 -2
  829. package/dist/types/rules/no-html-image/node-types/index.d.ts +0 -2
  830. package/dist/types/rules/no-html-radio/node-types/index.d.ts +0 -1
  831. package/dist/types/rules/no-html-range/node-types/index.d.ts +0 -1
  832. package/dist/types/rules/no-html-select/node-types/index.d.ts +0 -2
  833. package/dist/types/rules/no-html-text-input/node-types/index.d.ts +0 -1
  834. package/dist/types/rules/no-html-textarea/node-types/index.d.ts +0 -2
  835. package/dist/types/rules/no-icon-spacing-prop/helpers.d.ts +0 -62
  836. package/dist/types/rules/use-heading/transformers/index.d.ts +0 -1
  837. package/dist/types/rules/use-latest-xcss-syntax/transformers/index.d.ts +0 -1
  838. package/dist/types/rules/use-latest-xcss-syntax/utils/index.d.ts +0 -1
  839. package/dist/types/rules/use-latest-xcss-syntax-typography/linters/index.d.ts +0 -3
  840. package/dist/types/rules/use-primitives/transformers/index.d.ts +0 -3
  841. package/dist/types/rules/use-primitives/utils/index.d.ts +0 -9
  842. package/dist/types/rules/use-primitives-text/transformers/index.d.ts +0 -4
  843. package/dist/types/rules/use-spotlight-package/linters/index.d.ts +0 -1
  844. package/dist/types/rules/use-tokens-space/transformers/index.d.ts +0 -1
  845. package/dist/types/rules/use-tokens-space/utils/index.d.ts +0 -1
  846. package/dist/types-ts4.5/ast-nodes/index.d.ts +0 -7
  847. package/dist/types-ts4.5/rules/no-html-anchor/node-types/index.d.ts +0 -2
  848. package/dist/types-ts4.5/rules/no-html-button/node-types/index.d.ts +0 -2
  849. package/dist/types-ts4.5/rules/no-html-checkbox/node-types/index.d.ts +0 -1
  850. package/dist/types-ts4.5/rules/no-html-code/node-types/index.d.ts +0 -2
  851. package/dist/types-ts4.5/rules/no-html-heading/node-types/index.d.ts +0 -2
  852. package/dist/types-ts4.5/rules/no-html-image/node-types/index.d.ts +0 -2
  853. package/dist/types-ts4.5/rules/no-html-radio/node-types/index.d.ts +0 -1
  854. package/dist/types-ts4.5/rules/no-html-range/node-types/index.d.ts +0 -1
  855. package/dist/types-ts4.5/rules/no-html-select/node-types/index.d.ts +0 -2
  856. package/dist/types-ts4.5/rules/no-html-text-input/node-types/index.d.ts +0 -1
  857. package/dist/types-ts4.5/rules/no-html-textarea/node-types/index.d.ts +0 -2
  858. package/dist/types-ts4.5/rules/no-icon-spacing-prop/helpers.d.ts +0 -62
  859. package/dist/types-ts4.5/rules/use-heading/transformers/index.d.ts +0 -1
  860. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/transformers/index.d.ts +0 -1
  861. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/utils/index.d.ts +0 -1
  862. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/linters/index.d.ts +0 -3
  863. package/dist/types-ts4.5/rules/use-primitives/transformers/index.d.ts +0 -3
  864. package/dist/types-ts4.5/rules/use-primitives/utils/index.d.ts +0 -9
  865. package/dist/types-ts4.5/rules/use-primitives-text/transformers/index.d.ts +0 -4
  866. package/dist/types-ts4.5/rules/use-spotlight-package/linters/index.d.ts +0 -1
  867. package/dist/types-ts4.5/rules/use-tokens-space/transformers/index.d.ts +0 -1
  868. package/dist/types-ts4.5/rules/use-tokens-space/utils/index.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import { isNodeOfType } from 'eslint-codemod-utils';
2
- import * as ast from '../../ast-nodes';
2
+ import { JSXElement as _JSXElement } from '../../ast-nodes/jsx-element';
3
3
  import { createLintRule } from '../utils/create-rule';
4
4
  export var AFFECTED_HTML_ELEMENTS = ['input', 'textarea'];
5
5
  export var AFFECTED_ATLASKIT_PACKAGES = {
@@ -76,7 +76,7 @@ var rule = createLintRule({
76
76
  if (!isNodeOfType(node, 'JSXElement')) {
77
77
  return false;
78
78
  }
79
- var elName = ast.JSXElement.getName(node);
79
+ var elName = _JSXElement.getName(node);
80
80
  if (!elName) {
81
81
  return false;
82
82
  }
@@ -0,0 +1,139 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import { isNodeOfType } from 'eslint-codemod-utils';
3
+ import { JSXElement as _JSXElement } from '../../ast-nodes/jsx-element';
4
+ import { createLintRule } from '../utils/create-rule';
5
+ export var AFFECTED_HTML_ELEMENTS = ['input', 'textarea'];
6
+ export var AFFECTED_ATLASKIT_PACKAGES = {
7
+ '@atlaskit/textarea': ['default'],
8
+ '@atlaskit/textfield': ['default']
9
+ };
10
+ export var UNWANTED_HTML_ATTRIBUTES = ['disabled', 'readonly'];
11
+ var isUnwantedHTMLAtrribute = function isUnwantedHTMLAtrribute(s) {
12
+ var attrs = UNWANTED_HTML_ATTRIBUTES;
13
+ return attrs.includes(s);
14
+ };
15
+ export var UNWANTED_ATLASKIT_ATTRIBUTES = ['isDisabled', 'isReadOnly'];
16
+ var isUnwantedAtlaskitAtrribute = function isUnwantedAtlaskitAtrribute(s) {
17
+ var attrs = UNWANTED_ATLASKIT_ATTRIBUTES;
18
+ return attrs.includes(s);
19
+ };
20
+ var isUnwantedAttribute = function isUnwantedAttribute(s) {
21
+ return isUnwantedHTMLAtrribute(s) || isUnwantedAtlaskitAtrribute(s);
22
+ };
23
+ var hasUnwantedAttributes = function hasUnwantedAttributes(node, type) {
24
+ var attrNames = _toConsumableArray(type === 'html' ? UNWANTED_HTML_ATTRIBUTES : UNWANTED_ATLASKIT_ATTRIBUTES);
25
+ var unwantedAttrs = node.openingElement.attributes.filter(function (attr) {
26
+ return isNodeOfType(attr, 'JSXAttribute');
27
+ }).map(function (attr) {
28
+ return String(attr.name.name);
29
+ }).filter(isUnwantedAttribute).filter(function (unwantedAttribute) {
30
+ return attrNames.includes(unwantedAttribute);
31
+ });
32
+ return unwantedAttrs;
33
+ };
34
+ var rule = createLintRule({
35
+ meta: {
36
+ name: 'no-readonly-or-disabled-inputs',
37
+ type: 'problem',
38
+ docs: {
39
+ description: 'Inputs should almost always be interactive. Disabled and read-only inputs can usually be replaced by a more user-friendly design pattern.',
40
+ recommended: true,
41
+ severity: 'warn'
42
+ },
43
+ messages: {
44
+ noDisabled: 'Inputs should almost always be interactive. Instead of disabling an input, consider removing it altogether, as it cannot be used anyway. Disabled inputs are much less accessible than a well labeled and described input with clear error, valid, and/or helper messages.',
45
+ noReadOnly: 'Inputs should almost always be interactive. Instead of making an input read-only, consider making it normal text. Read-only inputs do the same thing as normal text but appear as interactive elements and add themselves to the tab-order, which can be confusing for users.'
46
+ }
47
+ },
48
+ create: function create(context) {
49
+ var localComponentNames = [];
50
+ return {
51
+ ImportDeclaration: function ImportDeclaration(node) {
52
+ var source = node.source.value;
53
+ if (typeof source !== 'string') {
54
+ return;
55
+ }
56
+
57
+ // Ignore non-atlaskit input packages
58
+ if (!Object.keys(AFFECTED_ATLASKIT_PACKAGES).includes(source)) {
59
+ return;
60
+ }
61
+ if (!node.specifiers.length) {
62
+ return;
63
+ }
64
+ var defaultImport = node.specifiers.filter(function (spec) {
65
+ return spec.type === 'ImportDefaultSpecifier';
66
+ });
67
+ var namedImport = node.specifiers.filter(function (spec) {
68
+ return spec.type === 'ImportSpecifier';
69
+ });
70
+ var importNames = AFFECTED_ATLASKIT_PACKAGES[source];
71
+ var usesDefaultImport = importNames.includes('default');
72
+ var possibleNamedImports = importNames.filter(function (importName) {
73
+ return importName !== 'default';
74
+ });
75
+ if (usesDefaultImport && defaultImport.length && defaultImport[0].local) {
76
+ localComponentNames.push(defaultImport[0].local.name);
77
+ } else if (possibleNamedImports.length >= 1 && namedImport.length) {
78
+ namedImport.forEach(function (imp) {
79
+ if (imp.type === 'ImportSpecifier' && 'name' in imp.imported && possibleNamedImports.includes(imp.imported.name)) {
80
+ localComponentNames.push(imp.local.name);
81
+ }
82
+ });
83
+ }
84
+ },
85
+ JSXElement: function JSXElement(node) {
86
+ if (!isNodeOfType(node, 'JSXElement')) {
87
+ return false;
88
+ }
89
+ var elName = _JSXElement.getName(node);
90
+ if (!elName) {
91
+ return false;
92
+ }
93
+ var fixes = [];
94
+
95
+ // If it is one of the affected native HTML elements
96
+ if (AFFECTED_HTML_ELEMENTS.includes(elName)) {
97
+ var unwantedAttributes = hasUnwantedAttributes(node, 'html');
98
+ if (unwantedAttributes.includes('disabled')) {
99
+ fixes.push(context.report({
100
+ node: node.openingElement,
101
+ messageId: 'noDisabled'
102
+ }));
103
+ }
104
+ if (unwantedAttributes.includes('readonly')) {
105
+ fixes.push(context.report({
106
+ node: node.openingElement,
107
+ messageId: 'noReadOnly'
108
+ }));
109
+ }
110
+ // Else, it is a React component
111
+ } else {
112
+ // if none of the affected packages is imported, return
113
+ if (localComponentNames.length === 0) {
114
+ return;
115
+ }
116
+ // if component name is not in the list, exit
117
+ if (!isNodeOfType(node.openingElement.name, 'JSXIdentifier') || !localComponentNames.includes(node.openingElement.name.name)) {
118
+ return;
119
+ }
120
+ var _unwantedAttributes = hasUnwantedAttributes(node, 'atlaskit');
121
+ if (_unwantedAttributes.includes('isDisabled')) {
122
+ fixes.push(context.report({
123
+ node: node.openingElement,
124
+ messageId: 'noDisabled'
125
+ }));
126
+ }
127
+ if (_unwantedAttributes.includes('isReadOnly')) {
128
+ fixes.push(context.report({
129
+ node: node.openingElement,
130
+ messageId: 'noReadOnly'
131
+ }));
132
+ }
133
+ }
134
+ return fixes;
135
+ }
136
+ };
137
+ }
138
+ });
139
+ export default rule;
@@ -7,7 +7,8 @@ import tokenDefaultValues from '@atlaskit/tokens/token-default-values';
7
7
  import { getTokenId } from '@atlaskit/tokens/token-ids';
8
8
  import tokens from '@atlaskit/tokens/token-names';
9
9
  import { createLintRule } from '../utils/create-rule';
10
- import { isDecendantOfStyleBlock, isDecendantOfStyleJsxAttribute } from '../utils/is-node';
10
+ import { isDecendantOfStyleJsxAttribute } from '../utils/is-decendant-of-style-jsx-attribute';
11
+ import { isDecendantOfStyleBlock } from '../utils/is-node';
11
12
  import { isToken } from '../utils/is-token';
12
13
  var rule = createLintRule({
13
14
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { isNodeOfType } from 'eslint-codemod-utils';
2
2
  import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
3
3
  import { createLintRule } from '../utils/create-rule';
4
- import { getModuleOfIdentifier } from '../utils/get-import-node-by-source';
4
+ import { getModuleOfIdentifier } from '../utils/get-module-of-identifier';
5
5
  import { getJSXElementName } from '../utils/jsx';
6
6
  var unsafeOverrides = ['css', 'className', 'theme', 'cssFn', 'styles'];
7
7
  var rule = createLintRule({
@@ -1,5 +1,5 @@
1
1
  import { isNodeOfType } from 'eslint-codemod-utils';
2
- export var validPrimitiveElements = new Set(['div', 'span', 'article', 'aside', 'dialog', 'footer', 'header', 'li', 'main', 'nav', 'ol', 'section', 'ul', 'button']);
2
+ import { validPrimitiveElements } from './valid-primitive-elements';
3
3
  var getChildrenByType = function getChildrenByType(node, types) {
4
4
  return node.children.filter(function (child) {
5
5
  return types.find(function (type) {
@@ -0,0 +1 @@
1
+ export var validPrimitiveElements = new Set(['div', 'span', 'article', 'aside', 'dialog', 'footer', 'header', 'li', 'main', 'nav', 'ol', 'section', 'ul', 'button']);
@@ -1,7 +1,7 @@
1
1
  import { createLintRule } from '../utils/create-rule';
2
2
  import { errorBoundary } from '../utils/error-boundary';
3
3
  import { getConfig } from './config';
4
- import { NativeElements } from './transformers';
4
+ import { NativeElements } from './transformers/native-elements';
5
5
  var docsUrl = 'https://atlassian.design/components/heading';
6
6
  var rule = createLintRule({
7
7
  meta: {
@@ -0,0 +1 @@
1
+ export var allowedAttrs = ['id', 'data-testid', 'key'];
@@ -1,9 +1 @@
1
- import * as ast from '../../../ast-nodes';
2
- // Rename data-testid prop to testId if present
3
- export function updateTestIdAttributeFix(node, fixer) {
4
- var testIdAttr = ast.JSXElement.getAttributeByName(node, 'data-testid');
5
- if (testIdAttr) {
6
- return ast.JSXAttribute.updateName(testIdAttr, 'testId', fixer);
7
- }
8
- }
9
- export var allowedAttrs = ['id', 'data-testid', 'key'];
1
+ export {};
@@ -5,8 +5,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
5
5
  /* eslint-disable @repo/internal/react/require-jsdoc */
6
6
 
7
7
  import { isNodeOfType } from 'eslint-codemod-utils';
8
- import * as ast from '../../../ast-nodes';
9
- import { allowedAttrs, updateTestIdAttributeFix } from './common';
8
+ import { JSXElement as JSXElementHelper } from '../../../ast-nodes/jsx-element';
9
+ import { Root } from '../../../ast-nodes/root';
10
+ import { allowedAttrs } from './allowed-attrs';
11
+ import { updateTestIdAttributeFix } from './update-test-id-attribute-fix';
10
12
  var tagSizeMap = {
11
13
  h1: 'xlarge',
12
14
  h2: 'large',
@@ -66,7 +68,7 @@ export var NativeElements = {
66
68
  success: false
67
69
  };
68
70
  }
69
- var elementName = ast.JSXElement.getName(node);
71
+ var elementName = JSXElementHelper.getName(node);
70
72
  if (!Object.keys(tagSizeMap).includes(elementName)) {
71
73
  return {
72
74
  success: false
@@ -86,7 +88,7 @@ export var NativeElements = {
86
88
  autoFixable: false
87
89
  };
88
90
  }
89
- var siblings = ast.JSXElement.getChildren(node.parent);
91
+ var siblings = JSXElementHelper.getChildren(node.parent);
90
92
  if (siblings.length > 1) {
91
93
  var _siblings$0$range, _node$range, _siblings$0$range2, _node$range2;
92
94
  // Only report if element is first child element
@@ -97,7 +99,7 @@ export var NativeElements = {
97
99
  };
98
100
  }
99
101
  }
100
- if (!ast.JSXElement.hasAllowedAttrsOnly(node, allowedAttrs)) {
102
+ if (!JSXElementHelper.hasAllowedAttrsOnly(node, allowedAttrs)) {
101
103
  return {
102
104
  success: true,
103
105
  autoFixable: false
@@ -112,14 +114,14 @@ export var NativeElements = {
112
114
  var context = _ref3.context;
113
115
  return function (fixer) {
114
116
  // change to default import
115
- var importFix = ast.Root.upsertDefaultImportDeclaration({
117
+ var importFix = Root.upsertDefaultImportDeclaration({
116
118
  module: '@atlaskit/heading',
117
119
  localName: 'Heading'
118
120
  }, context, fixer);
119
- var elementName = ast.JSXElement.getName(node);
120
- var elementNameFixes = ast.JSXElement.updateName(node, 'Heading', fixer);
121
+ var elementName = JSXElementHelper.getName(node);
122
+ var elementNameFixes = JSXElementHelper.updateName(node, 'Heading', fixer);
121
123
  var size = tagSizeMap[elementName];
122
- var asAttributeFix = ast.JSXElement.addAttribute(node, 'size', size, fixer);
124
+ var asAttributeFix = JSXElementHelper.addAttribute(node, 'size', size, fixer);
123
125
  var testAttributeFix = updateTestIdAttributeFix(node, fixer);
124
126
  return [importFix].concat(_toConsumableArray(elementNameFixes), [asAttributeFix, testAttributeFix]).filter(function (fix) {
125
127
  return Boolean(fix);
@@ -0,0 +1,10 @@
1
+ import { JSXAttribute } from '../../../ast-nodes/jsx-attribute';
2
+ import { JSXElement as JSXElementHelper } from '../../../ast-nodes/jsx-element';
3
+
4
+ // Rename data-testid prop to testId if present
5
+ export function updateTestIdAttributeFix(node, fixer) {
6
+ var testIdAttr = JSXElementHelper.getAttributeByName(node, 'data-testid');
7
+ if (testIdAttr) {
8
+ return JSXAttribute.updateName(testIdAttr, 'testId', fixer);
9
+ }
10
+ }
@@ -0,0 +1,22 @@
1
+ import { hasImportOfName } from './has-import-of-name';
2
+ export var getUniqueButtonItemName = function getUniqueButtonItemName(menuNode, importDeclarations) {
3
+ // Remove menu import node from array
4
+ var allImportDeclarationsButMenu = importDeclarations.filter(function (i) {
5
+ return i !== menuNode;
6
+ });
7
+ var currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
8
+ return acc || hasImportOfName(importNode, 'ButtonItem');
9
+ }, false);
10
+ if (currentButtonItemNameExistsOtherThanMenu) {
11
+ var suffix = 1;
12
+ while (currentButtonItemNameExistsOtherThanMenu) {
13
+ suffix += 1;
14
+ currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
15
+ return acc || hasImportOfName(importNode, "ButtonItem".concat(suffix));
16
+ }, false);
17
+ }
18
+ return "ButtonItem".concat(suffix);
19
+ } else {
20
+ return 'ButtonItem';
21
+ }
22
+ };
@@ -0,0 +1,11 @@
1
+ export var hasImportOfName = function hasImportOfName(node, name) {
2
+ return node.specifiers.some(
3
+ // This should not be an `any`. This is an array of `ImportSpecifier |
4
+ // ImportDefaultSpecifier`. For some reason, filtering this way still
5
+ // results in an error of `specifier.imported` doesn't exist on
6
+ // ImportDefaultSpecifier, which is exactly what I'm filtering for
7
+ function (specifier) {
8
+ var _specifier$imported;
9
+ return (specifier === null || specifier === void 0 || (_specifier$imported = specifier.imported) === null || _specifier$imported === void 0 ? void 0 : _specifier$imported.name) === name;
10
+ });
11
+ };
@@ -2,7 +2,11 @@ import { isNodeOfType } from 'eslint-codemod-utils';
2
2
  import { getScope } from '@atlaskit/eslint-utils/context-compat';
3
3
  import { createLintRule } from '../utils/create-rule';
4
4
  import { getImportName } from '../utils/get-import-name';
5
- import { getUniqueButtonItemName, hasImportOfName, hrefHasInvalidValue, insertButtonItemDefaultImport, insertButtonItemImport } from './utils';
5
+ import { getUniqueButtonItemName } from './get-unique-button-item-name';
6
+ import { hasImportOfName } from './has-import-of-name';
7
+ import { insertButtonItemDefaultImport } from './insert-button-item-default-import';
8
+ import { insertButtonItemImport } from './insert-button-item-import';
9
+ import { hrefHasInvalidValue } from './utils';
6
10
  export var hrefRequiredSuggestionText = 'Convert LinkItem to ButtonItem';
7
11
  var rule = createLintRule({
8
12
  meta: {
@@ -0,0 +1,3 @@
1
+ export var insertButtonItemDefaultImport = function insertButtonItemDefaultImport(fixer, node) {
2
+ return fixer.insertTextBefore(node, "import ButtonItem from '@atlaskit/menu/button-item';\n");
3
+ };
@@ -0,0 +1,4 @@
1
+ export var insertButtonItemImport = function insertButtonItemImport(fixer, node, uniqueButtonItemName) {
2
+ var insertedImport = uniqueButtonItemName !== 'ButtonItem' ? ", ButtonItem as ".concat(uniqueButtonItemName) : ', ButtonItem';
3
+ return fixer.insertTextAfter(node.specifiers.slice(-1)[0], insertedImport);
4
+ };
@@ -40,43 +40,4 @@ export var hrefHasInvalidValue = function hrefHasInvalidValue(scope, href) {
40
40
  }
41
41
  }
42
42
  return false;
43
- };
44
- export var hasImportOfName = function hasImportOfName(node, name) {
45
- return node.specifiers.some(
46
- // This should not be an `any`. This is an array of `ImportSpecifier |
47
- // ImportDefaultSpecifier`. For some reason, filtering this way still
48
- // results in an error of `specifier.imported` doesn't exist on
49
- // ImportDefaultSpecifier, which is exactly what I'm filtering for
50
- function (specifier) {
51
- var _specifier$imported;
52
- return (specifier === null || specifier === void 0 || (_specifier$imported = specifier.imported) === null || _specifier$imported === void 0 ? void 0 : _specifier$imported.name) === name;
53
- });
54
- };
55
- export var insertButtonItemDefaultImport = function insertButtonItemDefaultImport(fixer, node) {
56
- return fixer.insertTextBefore(node, "import ButtonItem from '@atlaskit/menu/button-item';\n");
57
- };
58
- export var getUniqueButtonItemName = function getUniqueButtonItemName(menuNode, importDeclarations) {
59
- // Remove menu import node from array
60
- var allImportDeclarationsButMenu = importDeclarations.filter(function (i) {
61
- return i !== menuNode;
62
- });
63
- var currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
64
- return acc || hasImportOfName(importNode, 'ButtonItem');
65
- }, false);
66
- if (currentButtonItemNameExistsOtherThanMenu) {
67
- var suffix = 1;
68
- while (currentButtonItemNameExistsOtherThanMenu) {
69
- suffix += 1;
70
- currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
71
- return acc || hasImportOfName(importNode, "ButtonItem".concat(suffix));
72
- }, false);
73
- }
74
- return "ButtonItem".concat(suffix);
75
- } else {
76
- return 'ButtonItem';
77
- }
78
- };
79
- export var insertButtonItemImport = function insertButtonItemImport(fixer, node, uniqueButtonItemName) {
80
- var insertedImport = uniqueButtonItemName !== 'ButtonItem' ? ", ButtonItem as ".concat(uniqueButtonItemName) : ', ButtonItem';
81
- return fixer.insertTextAfter(node.specifiers.slice(-1)[0], insertedImport);
82
43
  };
@@ -1,5 +1,5 @@
1
1
  import { createLintRule } from '../utils/create-rule';
2
- import { StyleProperty } from './transformers';
2
+ import { StyleProperty } from './transformers/style-property';
3
3
  export var noRawSpacingValues = "Don't use non-token values in padding or margin. There is ongoing work to make this a TypeScript error. Once that happens, you will have to delete/refactor anyway. Atlassians: See https://go.atlassian.com/xcss-spacing for details.";
4
4
  var rule = createLintRule({
5
5
  meta: {
@@ -2,7 +2,9 @@
2
2
 
3
3
  import { isNodeOfType } from 'eslint-codemod-utils';
4
4
  import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
5
- import * as ast from '../../../../ast-nodes';
5
+ import { Import } from '../../../../ast-nodes/import';
6
+ import { ObjectEntry as ObjectEntryHelper } from '../../../../ast-nodes/object-entry';
7
+ import { Root } from '../../../../ast-nodes/root';
6
8
  import { styleMap } from './style-map';
7
9
  import supported from './supported';
8
10
  var messageId = 'noRawSpacingValues';
@@ -30,9 +32,9 @@ export var StyleProperty = {
30
32
  ref: undefined
31
33
  };
32
34
  }
33
- var importDeclarations = ast.Root.findImportsByModule(getSourceCode(context).ast.body, '@atlaskit/primitives');
35
+ var importDeclarations = Root.findImportsByModule(getSourceCode(context).ast.body, '@atlaskit/primitives');
34
36
  var isXcssImported = importDeclarations.some(function (importDeclaration) {
35
- return ast.Import.containsNamedSpecifier(importDeclaration, 'xcss');
37
+ return Import.containsNamedSpecifier(importDeclaration, 'xcss');
36
38
  });
37
39
  if (!isXcssImported) {
38
40
  return {
@@ -63,8 +65,8 @@ export var StyleProperty = {
63
65
  ref: undefined
64
66
  };
65
67
  }
66
- var _ast$ObjectEntry$getP = ast.ObjectEntry.getProperty(node),
67
- property = _ast$ObjectEntry$getP.value;
68
+ var _ObjectEntryHelper$ge = ObjectEntryHelper.getProperty(node),
69
+ property = _ObjectEntryHelper$ge.value;
68
70
 
69
71
  // Bail if the property is not `padding`, `margin`, etc
70
72
  if (!property || !styleMap.includes(property)) {
@@ -73,7 +75,7 @@ export var StyleProperty = {
73
75
  ref: undefined
74
76
  };
75
77
  }
76
- var value = ast.ObjectEntry.getValue(node);
78
+ var value = ObjectEntryHelper.getValue(node);
77
79
  if (typeof value !== 'string') {
78
80
  return {
79
81
  success: false,
@@ -1,7 +1,9 @@
1
1
  import { createLintRule } from '../utils/create-rule';
2
2
  import { errorBoundary } from '../utils/error-boundary';
3
3
  import { getConfig, PATTERNS } from './config';
4
- import { RestrictedCapitalisation, RestrictedProperty, WrappedTokenValue } from './linters';
4
+ import { RestrictedCapitalisation } from './linters/restricted-capitalisation';
5
+ import { RestrictedProperty } from './linters/restricted-property';
6
+ import { WrappedTokenValue } from './linters/wrapped-token-value';
5
7
  var typescriptErrorMessage = 'There is ongoing work to make this a TypeScript error. Once that happens, you will have to delete/refactor anyway.';
6
8
  var rule = createLintRule({
7
9
  meta: {
@@ -1,6 +1,7 @@
1
1
  import { createLintRule } from '../utils/create-rule';
2
2
  import { getConfig, VALID_PATTERNS } from './config';
3
- import { CompiledStyled, EmotionCSS } from './transformers';
3
+ import { CompiledStyled } from './transformers/compiled-styled';
4
+ import { EmotionCSS } from './transformers/emotion-css';
4
5
  var boxDocsUrl = 'https://atlassian.design/components/primitives/box';
5
6
  var rule = createLintRule({
6
7
  meta: {
@@ -1,4 +1,3 @@
1
- export var elements = ['div'];
2
1
  export var attributes = ['css'
3
2
  // 'data-testid'
4
3
  ];
@@ -1,6 +1,6 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import { isNodeOfType } from 'eslint-codemod-utils';
3
- import * as ast from '../../../../ast-nodes';
3
+ import { JSXElement as JSXElementHelper } from '../../../../ast-nodes/jsx-element';
4
4
 
5
5
  /**
6
6
  * Transforms a JSXElement from:
@@ -21,7 +21,7 @@ export var convertJsxCallSite = function convertJsxCallSite(jsxElement, newStyle
21
21
 
22
22
  // renames the JSX call site
23
23
  if (isNodeOfType(jsxElement, 'JSXElement')) {
24
- fixes.push.apply(fixes, _toConsumableArray(ast.JSXElement.updateName(jsxElement, 'Box', fixer)));
24
+ fixes.push.apply(fixes, _toConsumableArray(JSXElementHelper.updateName(jsxElement, 'Box', fixer)));
25
25
  }
26
26
 
27
27
  // adds xcss prop
@@ -0,0 +1 @@
1
+ export var elements = ['div'];
@@ -1,5 +1,5 @@
1
1
  import { closestOfType, isNodeOfType } from 'eslint-codemod-utils';
2
- import * as supported from './supported';
2
+ import { elements } from './elements';
3
3
 
4
4
  /**
5
5
  * returns a variable reference if preconditions are favourable for
@@ -41,7 +41,7 @@ var isStyledCallExpression = function isStyledCallExpression(call) {
41
41
  if (!isNodeOfType(call.callee.object, 'Identifier') || !isNodeOfType(call.callee.property, 'Identifier')) {
42
42
  return false;
43
43
  }
44
- if (/^styled2?$/.test(call.callee.object.name) && supported.elements.includes(call.callee.property.name)) {
44
+ if (/^styled2?$/.test(call.callee.object.name) && elements.includes(call.callee.property.name)) {
45
45
  return true;
46
46
  }
47
47
  return false;
@@ -3,8 +3,9 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
 
4
4
  import { isNodeOfType } from 'eslint-codemod-utils';
5
5
  import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
6
- import * as ast from '../../../../ast-nodes';
7
- import { isValidCssPropertiesToTransform } from '../../utils';
6
+ import { JSXElement as JSXElementHelper } from '../../../../ast-nodes/jsx-element';
7
+ import { Root } from '../../../../ast-nodes/root';
8
+ import { isValidCssPropertiesToTransform } from '../../utils/is-valid-css-properties-to-transform';
8
9
  import { validateStyles } from '../../utils/validate-styles';
9
10
  import { convertJsxCallSite } from './convert-jsx-call-site';
10
11
  import { convertStyledComponentToXcss } from './convert-styled-component-call-to-jsx';
@@ -32,7 +33,7 @@ export var CompiledStyled = {
32
33
  node: refs.styles,
33
34
  messageId: 'preferPrimitivesBox',
34
35
  suggest: [{
35
- desc: "Convert ".concat(ast.JSXElement.getName(refs.jsxElement), " to Box"),
36
+ desc: "Convert ".concat(JSXElementHelper.getName(refs.jsxElement), " to Box"),
36
37
  fix: CompiledStyled._fix(refs, context)
37
38
  }]
38
39
  });
@@ -68,7 +69,7 @@ export var CompiledStyled = {
68
69
  success: false
69
70
  };
70
71
  }
71
- var importDeclaration = ast.Root.findImportsByModule(getSourceCode(context).ast.body, '@atlaskit/primitives');
72
+ var importDeclaration = Root.findImportsByModule(getSourceCode(context).ast.body, '@atlaskit/primitives');
72
73
 
73
74
  // If there is more than one `@atlaskit/primitives` import, then it becomes difficult to determine which import to transform
74
75
  if (importDeclaration.length > 1) {
@@ -95,7 +96,7 @@ export var CompiledStyled = {
95
96
  if (!calculatedStylesVariableName) {
96
97
  return [];
97
98
  }
98
- var importFixes = ast.Root.upsertNamedImportDeclaration({
99
+ var importFixes = Root.upsertNamedImportDeclaration({
99
100
  module: '@atlaskit/primitives',
100
101
  specifiers: ['Box', 'xcss']
101
102
  }, context, fixer);
@@ -4,8 +4,13 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  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) { _defineProperty(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; }
5
5
  import { getIdentifierInParentScope, identifier, isNodeOfType, literal } from 'eslint-codemod-utils';
6
6
  import { getScope } from '@atlaskit/eslint-utils/context-compat';
7
- import { allSpaceMap, positiveSpaceMap } from '../../../common/token-maps.partial';
8
- import { getAttributeValueIdentifier, getFunctionArgumentAtPos, getJSXAttributeByName, getVariableDefinitionValue } from '../utils';
7
+ import { getAttributeValueIdentifier } from '../utils/get-attribute-value-identifier';
8
+ import { getFunctionArgumentAtPos } from '../utils/get-function-argument-at-pos';
9
+ import { getJSXAttributeByName } from '../utils/get-jsx-attribute-by-name';
10
+ import { getVariableDefinitionValue } from '../utils/get-variable-definition-value';
11
+ import { spaceTokenMap } from './space-token-map';
12
+ import { spaceTokenPositiveMap } from './space-token-positive-map';
13
+ import { supportedDimensionAttributesMap } from './supported-dimension-attributes-map';
9
14
  export var cssToXcssTransformer = function cssToXcssTransformer(node, context, fixer) {
10
15
  /**
11
16
  * Note: The logic here is very similar to the logic in `shouldSuggestBox`. i.e.
@@ -70,19 +75,6 @@ export var styledObjectToXcssTokens = function styledObjectToXcssTokens(styles,
70
75
  }
71
76
  });
72
77
  };
73
- export var spaceTokenMap = allSpaceMap;
74
- export var spaceTokenPositiveMap = positiveSpaceMap;
75
- export var dimensionsMap = {
76
- '100%': '100%'
77
- };
78
- export var supportedDimensionAttributesMap = {
79
- width: dimensionsMap,
80
- height: dimensionsMap,
81
- minWidth: dimensionsMap,
82
- minHeight: dimensionsMap,
83
- maxWidth: dimensionsMap,
84
- maxHeight: dimensionsMap
85
- };
86
78
  export var supportedStylesMap = _objectSpread({
87
79
  padding: spaceTokenPositiveMap,
88
80
  paddingBlock: spaceTokenPositiveMap,
@@ -0,0 +1,3 @@
1
+ export var dimensionsMap = {
2
+ '100%': '100%'
3
+ };
@@ -1,4 +1,3 @@
1
- export var elements = ['div'];
2
1
  export var attributes = ['css'
3
2
  // 'data-testid'
4
3
  ];
@@ -0,0 +1 @@
1
+ export var elements = ['div'];