@atlaskit/eslint-plugin-design-system 14.4.0 → 15.1.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 (402) hide show
  1. package/CHANGELOG.md +35 -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/rules/index.codegen.js +3 -1
  6. package/dist/cjs/rules/use-tokens-motion/index.js +555 -0
  7. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/create-no-tagged-template-expression-rule.js +23 -23
  8. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/index.js +23 -23
  9. package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +1 -1
  10. package/dist/es2019/presets/all-flat.codegen.js +2 -1
  11. package/dist/es2019/presets/all.codegen.js +2 -1
  12. package/dist/es2019/rules/index.codegen.js +3 -1
  13. package/dist/es2019/rules/use-tokens-motion/index.js +489 -0
  14. package/dist/esm/presets/all-flat.codegen.js +2 -1
  15. package/dist/esm/presets/all.codegen.js +2 -1
  16. package/dist/esm/rules/index.codegen.js +3 -1
  17. package/dist/esm/rules/use-tokens-motion/index.js +548 -0
  18. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/create-no-tagged-template-expression-rule.js +23 -23
  19. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/index.js +23 -23
  20. package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +1 -1
  21. package/dist/types/presets/all-flat.codegen.d.ts +1 -1
  22. package/dist/types/presets/all.codegen.d.ts +1 -1
  23. package/dist/types/rules/index.codegen.d.ts +1 -1
  24. package/dist/types/rules/use-tokens-motion/index.d.ts +3 -0
  25. package/package.json +7 -15
  26. package/dist/types-ts4.5/ast-nodes/function-call.d.ts +0 -21
  27. package/dist/types-ts4.5/ast-nodes/import.d.ts +0 -16
  28. package/dist/types-ts4.5/ast-nodes/jsx-attribute.d.ts +0 -29
  29. package/dist/types-ts4.5/ast-nodes/jsx-element-helper.d.ts +0 -23
  30. package/dist/types-ts4.5/ast-nodes/jsx-element.d.ts +0 -24
  31. package/dist/types-ts4.5/ast-nodes/object-entry.d.ts +0 -17
  32. package/dist/types-ts4.5/ast-nodes/object.d.ts +0 -53
  33. package/dist/types-ts4.5/ast-nodes/root.d.ts +0 -26
  34. package/dist/types-ts4.5/common/is-from-import-source.d.ts +0 -8
  35. package/dist/types-ts4.5/common/is-imported-jsx-element.d.ts +0 -8
  36. package/dist/types-ts4.5/common/token-maps.partial.d.ts +0 -65
  37. package/dist/types-ts4.5/index.codegen.d.ts +0 -15
  38. package/dist/types-ts4.5/index.d.ts +0 -2
  39. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +0 -8
  40. package/dist/types-ts4.5/presets/all.codegen.d.ts +0 -8
  41. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +0 -8
  42. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +0 -8
  43. package/dist/types-ts4.5/rules/consistent-css-prop-usage/index.d.ts +0 -3
  44. package/dist/types-ts4.5/rules/consistent-css-prop-usage/types.d.ts +0 -10
  45. package/dist/types-ts4.5/rules/enforce-inline-styles-in-select/index.d.ts +0 -3
  46. package/dist/types-ts4.5/rules/enforce-inline-styles-in-select/utils.d.ts +0 -2
  47. package/dist/types-ts4.5/rules/ensure-avatar-tag-avatar-props/index.d.ts +0 -3
  48. package/dist/types-ts4.5/rules/ensure-design-token-usage/border-width-value-to-token.d.ts +0 -1
  49. package/dist/types-ts4.5/rules/ensure-design-token-usage/clean-comments.d.ts +0 -5
  50. package/dist/types-ts4.5/rules/ensure-design-token-usage/convert-hyphenated-name-to-camel-case.d.ts +0 -1
  51. package/dist/types-ts4.5/rules/ensure-design-token-usage/em-to-pixels.d.ts +0 -1
  52. package/dist/types-ts4.5/rules/ensure-design-token-usage/find-parent-node-for-line.d.ts +0 -6
  53. package/dist/types-ts4.5/rules/ensure-design-token-usage/find-token-name-by-property-value.d.ts +0 -1
  54. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-domains-for-property.d.ts +0 -13
  55. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-elevation-token-example.d.ts +0 -2
  56. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-font-size-value-in-scope.d.ts +0 -2
  57. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-property-node-from-parent.d.ts +0 -3
  58. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-raw-expression.d.ts +0 -3
  59. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-token-node-for-value.d.ts +0 -12
  60. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-token-replacement.d.ts +0 -8
  61. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-token-suggestion.d.ts +0 -7
  62. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-value-for-property-node.d.ts +0 -3
  63. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-value-from-shorthand.d.ts +0 -1
  64. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-value-from-template-literal-raw.d.ts +0 -17
  65. package/dist/types-ts4.5/rules/ensure-design-token-usage/get-value.d.ts +0 -3
  66. package/dist/types-ts4.5/rules/ensure-design-token-usage/includes-token-string.d.ts +0 -1
  67. package/dist/types-ts4.5/rules/ensure-design-token-usage/index.d.ts +0 -5
  68. package/dist/types-ts4.5/rules/ensure-design-token-usage/insert-tokens-import.d.ts +0 -2
  69. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-auto.d.ts +0 -1
  70. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-border-radius.d.ts +0 -2
  71. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-border-size-property.d.ts +0 -1
  72. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-calc.d.ts +0 -1
  73. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-radius-property.d.ts +0 -1
  74. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-shape-property.d.ts +0 -1
  75. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-spacing-property.d.ts +0 -1
  76. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-token-value-string.d.ts +0 -5
  77. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-valid-spacing-value.d.ts +0 -1
  78. package/dist/types-ts4.5/rules/ensure-design-token-usage/is-zero.d.ts +0 -1
  79. package/dist/types-ts4.5/rules/ensure-design-token-usage/lint-jsx-identifier-for-color.d.ts +0 -3
  80. package/dist/types-ts4.5/rules/ensure-design-token-usage/lint-jsx-literal-for-color.d.ts +0 -3
  81. package/dist/types-ts4.5/rules/ensure-design-token-usage/lint-jsx-member-for-color.d.ts +0 -3
  82. package/dist/types-ts4.5/rules/ensure-design-token-usage/lint-object-for-color.d.ts +0 -4
  83. package/dist/types-ts4.5/rules/ensure-design-token-usage/lint-template-identifier-for-color.d.ts +0 -3
  84. package/dist/types-ts4.5/rules/ensure-design-token-usage/normalise-value.d.ts +0 -10
  85. package/dist/types-ts4.5/rules/ensure-design-token-usage/process-css-node.d.ts +0 -16
  86. package/dist/types-ts4.5/rules/ensure-design-token-usage/radius-value-to-token.d.ts +0 -1
  87. package/dist/types-ts4.5/rules/ensure-design-token-usage/remove-pixel-suffix.d.ts +0 -1
  88. package/dist/types-ts4.5/rules/ensure-design-token-usage/rule-meta.d.ts +0 -44
  89. package/dist/types-ts4.5/rules/ensure-design-token-usage/spacing.d.ts +0 -4
  90. package/dist/types-ts4.5/rules/ensure-design-token-usage/split-css-properties.d.ts +0 -6
  91. package/dist/types-ts4.5/rules/ensure-design-token-usage/split-shorthand-values.d.ts +0 -12
  92. package/dist/types-ts4.5/rules/ensure-design-token-usage/types.d.ts +0 -15
  93. package/dist/types-ts4.5/rules/ensure-design-token-usage-preview/index.d.ts +0 -3
  94. package/dist/types-ts4.5/rules/ensure-icon-color/index.d.ts +0 -3
  95. package/dist/types-ts4.5/rules/ensure-proper-xcss-usage/index.d.ts +0 -3
  96. package/dist/types-ts4.5/rules/icon-label/index.d.ts +0 -2
  97. package/dist/types-ts4.5/rules/index.codegen.d.ts +0 -7
  98. package/dist/types-ts4.5/rules/lozenge-badge-tag-labelling-system-migration/index.d.ts +0 -3
  99. package/dist/types-ts4.5/rules/no-banned-imports/index.d.ts +0 -2
  100. package/dist/types-ts4.5/rules/no-banned-imports/paths.d.ts +0 -4
  101. package/dist/types-ts4.5/rules/no-boolean-autofocus-on-modal-dialog/index.d.ts +0 -5
  102. package/dist/types-ts4.5/rules/no-css-tagged-template-expression/index.d.ts +0 -2
  103. package/dist/types-ts4.5/rules/no-dark-theme-vr-tests/index.d.ts +0 -3
  104. package/dist/types-ts4.5/rules/no-deprecated-apis/helpers/filter-actionable-deprecations.d.ts +0 -1
  105. package/dist/types-ts4.5/rules/no-deprecated-apis/helpers/validate-deprecated-apis-config.d.ts +0 -2
  106. package/dist/types-ts4.5/rules/no-deprecated-apis/index.d.ts +0 -5
  107. package/dist/types-ts4.5/rules/no-deprecated-design-token-usage/index.d.ts +0 -3
  108. package/dist/types-ts4.5/rules/no-deprecated-imports/checks.d.ts +0 -11
  109. package/dist/types-ts4.5/rules/no-deprecated-imports/constants.d.ts +0 -2
  110. package/dist/types-ts4.5/rules/no-deprecated-imports/handlers/icon.d.ts +0 -38
  111. package/dist/types-ts4.5/rules/no-deprecated-imports/index.d.ts +0 -29
  112. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-add-event-listener.d.ts +0 -2
  113. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.d.ts +0 -3
  114. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.d.ts +0 -3
  115. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.d.ts +0 -3
  116. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/index.d.ts +0 -2
  117. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-event-name-lookup.d.ts +0 -1
  118. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/shared/blocked-jsx-attribute-lookup.d.ts +0 -1
  119. package/dist/types-ts4.5/rules/no-direct-use-of-web-platform-drag-and-drop/shared/is-blocked-event-binding.d.ts +0 -2
  120. package/dist/types-ts4.5/rules/no-emotion-primitives/index.d.ts +0 -3
  121. package/dist/types-ts4.5/rules/no-empty-styled-expression/index.d.ts +0 -3
  122. package/dist/types-ts4.5/rules/no-exported-css/index.d.ts +0 -3
  123. package/dist/types-ts4.5/rules/no-exported-keyframes/index.d.ts +0 -3
  124. package/dist/types-ts4.5/rules/no-html-anchor/index.d.ts +0 -3
  125. package/dist/types-ts4.5/rules/no-html-anchor/node-types/jsx-element/index.d.ts +0 -8
  126. package/dist/types-ts4.5/rules/no-html-anchor/node-types/styled-component/index.d.ts +0 -8
  127. package/dist/types-ts4.5/rules/no-html-anchor/node-types/supported.d.ts +0 -7
  128. package/dist/types-ts4.5/rules/no-html-button/index.d.ts +0 -3
  129. package/dist/types-ts4.5/rules/no-html-button/node-types/jsx-element/index.d.ts +0 -8
  130. package/dist/types-ts4.5/rules/no-html-button/node-types/styled-component/index.d.ts +0 -8
  131. package/dist/types-ts4.5/rules/no-html-button/node-types/supported.d.ts +0 -7
  132. package/dist/types-ts4.5/rules/no-html-checkbox/index.d.ts +0 -3
  133. package/dist/types-ts4.5/rules/no-html-checkbox/node-types/jsx-element/index.d.ts +0 -8
  134. package/dist/types-ts4.5/rules/no-html-checkbox/node-types/supported.d.ts +0 -7
  135. package/dist/types-ts4.5/rules/no-html-code/index.d.ts +0 -3
  136. package/dist/types-ts4.5/rules/no-html-code/node-types/jsx-element/index.d.ts +0 -8
  137. package/dist/types-ts4.5/rules/no-html-code/node-types/styled-component/index.d.ts +0 -8
  138. package/dist/types-ts4.5/rules/no-html-code/node-types/supported.d.ts +0 -7
  139. package/dist/types-ts4.5/rules/no-html-heading/index.d.ts +0 -3
  140. package/dist/types-ts4.5/rules/no-html-heading/node-types/jsx-element/index.d.ts +0 -8
  141. package/dist/types-ts4.5/rules/no-html-heading/node-types/styled-component/index.d.ts +0 -8
  142. package/dist/types-ts4.5/rules/no-html-heading/node-types/supported.d.ts +0 -7
  143. package/dist/types-ts4.5/rules/no-html-image/index.d.ts +0 -3
  144. package/dist/types-ts4.5/rules/no-html-image/node-types/jsx-element/index.d.ts +0 -8
  145. package/dist/types-ts4.5/rules/no-html-image/node-types/styled-component/index.d.ts +0 -8
  146. package/dist/types-ts4.5/rules/no-html-image/node-types/supported.d.ts +0 -7
  147. package/dist/types-ts4.5/rules/no-html-image/utils/get-jsx-element-by-name.d.ts +0 -6
  148. package/dist/types-ts4.5/rules/no-html-radio/index.d.ts +0 -3
  149. package/dist/types-ts4.5/rules/no-html-radio/node-types/jsx-element/index.d.ts +0 -8
  150. package/dist/types-ts4.5/rules/no-html-radio/node-types/supported.d.ts +0 -7
  151. package/dist/types-ts4.5/rules/no-html-range/index.d.ts +0 -3
  152. package/dist/types-ts4.5/rules/no-html-range/node-types/jsx-element/index.d.ts +0 -8
  153. package/dist/types-ts4.5/rules/no-html-range/node-types/supported.d.ts +0 -7
  154. package/dist/types-ts4.5/rules/no-html-select/index.d.ts +0 -3
  155. package/dist/types-ts4.5/rules/no-html-select/node-types/jsx-element/index.d.ts +0 -8
  156. package/dist/types-ts4.5/rules/no-html-select/node-types/styled-component/index.d.ts +0 -8
  157. package/dist/types-ts4.5/rules/no-html-select/node-types/supported.d.ts +0 -7
  158. package/dist/types-ts4.5/rules/no-html-text-input/index.d.ts +0 -3
  159. package/dist/types-ts4.5/rules/no-html-text-input/node-types/jsx-element/index.d.ts +0 -8
  160. package/dist/types-ts4.5/rules/no-html-text-input/node-types/supported.d.ts +0 -7
  161. package/dist/types-ts4.5/rules/no-html-textarea/index.d.ts +0 -3
  162. package/dist/types-ts4.5/rules/no-html-textarea/node-types/jsx-element/index.d.ts +0 -8
  163. package/dist/types-ts4.5/rules/no-html-textarea/node-types/styled-component/index.d.ts +0 -8
  164. package/dist/types-ts4.5/rules/no-html-textarea/node-types/supported.d.ts +0 -7
  165. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-css-map-key.d.ts +0 -5
  166. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-icon-size.d.ts +0 -5
  167. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-spacing-attribute.d.ts +0 -5
  168. package/dist/types-ts4.5/rules/no-icon-spacing-prop/get-static-attribute-value.d.ts +0 -5
  169. package/dist/types-ts4.5/rules/no-icon-spacing-prop/has-spread-props.d.ts +0 -5
  170. package/dist/types-ts4.5/rules/no-icon-spacing-prop/index.d.ts +0 -3
  171. package/dist/types-ts4.5/rules/no-icon-spacing-prop/spacing-to-padding.d.ts +0 -5
  172. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-css-map-import.d.ts +0 -8
  173. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-css-map-variable.d.ts +0 -9
  174. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-flex-import.d.ts +0 -8
  175. package/dist/types-ts4.5/rules/no-icon-spacing-prop/upsert-token-import.d.ts +0 -8
  176. package/dist/types-ts4.5/rules/no-invalid-css-map/get-css-map-object.d.ts +0 -2
  177. package/dist/types-ts4.5/rules/no-invalid-css-map/index.d.ts +0 -3
  178. package/dist/types-ts4.5/rules/no-invalid-css-map/utils.d.ts +0 -12
  179. package/dist/types-ts4.5/rules/no-keyframes-tagged-template-expression/index.d.ts +0 -2
  180. package/dist/types-ts4.5/rules/no-margin/index.d.ts +0 -3
  181. package/dist/types-ts4.5/rules/no-nested-styles/index.d.ts +0 -3
  182. package/dist/types-ts4.5/rules/no-physical-properties/index.d.ts +0 -3
  183. package/dist/types-ts4.5/rules/no-physical-properties/logical-physical-map.d.ts +0 -72
  184. package/dist/types-ts4.5/rules/no-physical-properties/physical-logical-map.d.ts +0 -34
  185. package/dist/types-ts4.5/rules/no-placeholder/affected-atlaskit-packages.d.ts +0 -1
  186. package/dist/types-ts4.5/rules/no-placeholder/affected-html-elements.d.ts +0 -1
  187. package/dist/types-ts4.5/rules/no-placeholder/index.d.ts +0 -2
  188. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/affected-atlaskit-packages.d.ts +0 -1
  189. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/affected-html-elements.d.ts +0 -1
  190. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/index.d.ts +0 -2
  191. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/unwanted-atlaskit-attributes.d.ts +0 -4
  192. package/dist/types-ts4.5/rules/no-readonly-or-disabled-inputs/unwanted-html-attributes.d.ts +0 -4
  193. package/dist/types-ts4.5/rules/no-separator-with-list-elements/index.d.ts +0 -3
  194. package/dist/types-ts4.5/rules/no-styled-tagged-template-expression/index.d.ts +0 -2
  195. package/dist/types-ts4.5/rules/no-to-match-snapshot/index.d.ts +0 -4
  196. package/dist/types-ts4.5/rules/no-unsafe-design-token-usage/index.d.ts +0 -3
  197. package/dist/types-ts4.5/rules/no-unsafe-inline-snapshot/index.d.ts +0 -4
  198. package/dist/types-ts4.5/rules/no-unsafe-style-overrides/index.d.ts +0 -2
  199. package/dist/types-ts4.5/rules/no-unsupported-drag-and-drop-libraries/index.d.ts +0 -2
  200. package/dist/types-ts4.5/rules/no-unsupported-drag-and-drop-libraries/paths.d.ts +0 -4
  201. package/dist/types-ts4.5/rules/no-unused-css-map/get-css-map-object.d.ts +0 -5
  202. package/dist/types-ts4.5/rules/no-unused-css-map/index.d.ts +0 -3
  203. package/dist/types-ts4.5/rules/no-unused-css-map/unused-css-map-checker.d.ts +0 -14
  204. package/dist/types-ts4.5/rules/no-unused-css-map/utils.d.ts +0 -15
  205. package/dist/types-ts4.5/rules/prefer-primitives/index.d.ts +0 -2
  206. package/dist/types-ts4.5/rules/prefer-primitives/utils.d.ts +0 -2
  207. package/dist/types-ts4.5/rules/prefer-primitives/valid-primitive-elements.d.ts +0 -1
  208. package/dist/types-ts4.5/rules/use-button-group-label/index.d.ts +0 -3
  209. package/dist/types-ts4.5/rules/use-character-counter-field/index.d.ts +0 -6
  210. package/dist/types-ts4.5/rules/use-correct-field/index.d.ts +0 -5
  211. package/dist/types-ts4.5/rules/use-cx-function-in-xcss/index.d.ts +0 -3
  212. package/dist/types-ts4.5/rules/use-datetime-picker-calendar-button/index.d.ts +0 -7
  213. package/dist/types-ts4.5/rules/use-drawer-label/index.d.ts +0 -3
  214. package/dist/types-ts4.5/rules/use-field-message-wrapper/index.d.ts +0 -3
  215. package/dist/types-ts4.5/rules/use-heading/config/index.d.ts +0 -9
  216. package/dist/types-ts4.5/rules/use-heading/index.d.ts +0 -3
  217. package/dist/types-ts4.5/rules/use-heading/transformers/allowed-attrs.d.ts +0 -1
  218. package/dist/types-ts4.5/rules/use-heading/transformers/common.d.ts +0 -6
  219. package/dist/types-ts4.5/rules/use-heading/transformers/native-elements.d.ts +0 -22
  220. package/dist/types-ts4.5/rules/use-heading/transformers/update-test-id-attribute-fix.d.ts +0 -3
  221. package/dist/types-ts4.5/rules/use-heading-level-in-section-message/index.d.ts +0 -4
  222. package/dist/types-ts4.5/rules/use-heading-level-in-spotlight-card/index.d.ts +0 -4
  223. package/dist/types-ts4.5/rules/use-href-in-link-item/get-unique-button-item-name.d.ts +0 -2
  224. package/dist/types-ts4.5/rules/use-href-in-link-item/has-import-of-name.d.ts +0 -2
  225. package/dist/types-ts4.5/rules/use-href-in-link-item/index.d.ts +0 -4
  226. package/dist/types-ts4.5/rules/use-href-in-link-item/insert-button-item-default-import.d.ts +0 -3
  227. package/dist/types-ts4.5/rules/use-href-in-link-item/insert-button-item-import.d.ts +0 -3
  228. package/dist/types-ts4.5/rules/use-href-in-link-item/utils.d.ts +0 -3
  229. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/index.d.ts +0 -4
  230. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/transformers/style-property/index.d.ts +0 -18
  231. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/transformers/style-property/style-map.d.ts +0 -1
  232. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/transformers/style-property/supported.d.ts +0 -6
  233. package/dist/types-ts4.5/rules/use-latest-xcss-syntax/utils/is-string-or-number.d.ts +0 -1
  234. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/config/get-config.d.ts +0 -2
  235. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/config/patterns.d.ts +0 -6
  236. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/config/types.d.ts +0 -5
  237. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/index.d.ts +0 -3
  238. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/linters/common.d.ts +0 -7
  239. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/linters/restricted-capitalisation.d.ts +0 -6
  240. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/linters/restricted-property.d.ts +0 -6
  241. package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/linters/wrapped-token-value.d.ts +0 -7
  242. package/dist/types-ts4.5/rules/use-menu-section-title/index.d.ts +0 -3
  243. package/dist/types-ts4.5/rules/use-modal-dialog-close-button/index.d.ts +0 -7
  244. package/dist/types-ts4.5/rules/use-onboarding-spotlight-label/index.d.ts +0 -3
  245. package/dist/types-ts4.5/rules/use-popup-label/index.d.ts +0 -3
  246. package/dist/types-ts4.5/rules/use-primitives/config/get-config.d.ts +0 -2
  247. package/dist/types-ts4.5/rules/use-primitives/config/index.d.ts +0 -7
  248. package/dist/types-ts4.5/rules/use-primitives/config/types.d.ts +0 -4
  249. package/dist/types-ts4.5/rules/use-primitives/config/valid-patterns.d.ts +0 -2
  250. package/dist/types-ts4.5/rules/use-primitives/index.d.ts +0 -3
  251. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/attributes.d.ts +0 -1
  252. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/convert-jsx-call-site.d.ts +0 -17
  253. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/convert-styled-component-call-to-jsx.d.ts +0 -17
  254. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/elements.d.ts +0 -1
  255. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.d.ts +0 -9
  256. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/find-valid-styled-component-call.d.ts +0 -7
  257. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/index.d.ts +0 -25
  258. package/dist/types-ts4.5/rules/use-primitives/transformers/css-to-xcss-transformer.d.ts +0 -3
  259. package/dist/types-ts4.5/rules/use-primitives/transformers/dimensions-map.d.ts +0 -3
  260. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/attributes.d.ts +0 -1
  261. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/elements.d.ts +0 -1
  262. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/index.d.ts +0 -15
  263. package/dist/types-ts4.5/rules/use-primitives/transformers/space-token-map.d.ts +0 -3
  264. package/dist/types-ts4.5/rules/use-primitives/transformers/space-token-positive-map.d.ts +0 -3
  265. package/dist/types-ts4.5/rules/use-primitives/transformers/styled-object-to-xcss-tokens.d.ts +0 -3
  266. package/dist/types-ts4.5/rules/use-primitives/transformers/supported-dimension-attributes-map.d.ts +0 -4
  267. package/dist/types-ts4.5/rules/use-primitives/transformers/supported-styles-map.d.ts +0 -4
  268. package/dist/types-ts4.5/rules/use-primitives/utils/convert-ast-object-expression-to-js-object.d.ts +0 -18
  269. package/dist/types-ts4.5/rules/use-primitives/utils/get-attribute-value-identifier.d.ts +0 -14
  270. package/dist/types-ts4.5/rules/use-primitives/utils/get-function-argument-at-pos.d.ts +0 -2
  271. package/dist/types-ts4.5/rules/use-primitives/utils/get-jsx-attribute-by-name.d.ts +0 -2
  272. package/dist/types-ts4.5/rules/use-primitives/utils/get-variable-definition-value.d.ts +0 -2
  273. package/dist/types-ts4.5/rules/use-primitives/utils/get-variable-usage-count.d.ts +0 -7
  274. package/dist/types-ts4.5/rules/use-primitives/utils/is-function-named.d.ts +0 -2
  275. package/dist/types-ts4.5/rules/use-primitives/utils/is-valid-css-properties-to-transform.d.ts +0 -4
  276. package/dist/types-ts4.5/rules/use-primitives/utils/spread-syntax.d.ts +0 -1
  277. package/dist/types-ts4.5/rules/use-primitives/utils/update-jsx-attribute-by-name.d.ts +0 -3
  278. package/dist/types-ts4.5/rules/use-primitives/utils/validate-styles.d.ts +0 -3
  279. package/dist/types-ts4.5/rules/use-primitives-text/config/get-config.d.ts +0 -2
  280. package/dist/types-ts4.5/rules/use-primitives-text/config/patterns.d.ts +0 -2
  281. package/dist/types-ts4.5/rules/use-primitives-text/config/types.d.ts +0 -8
  282. package/dist/types-ts4.5/rules/use-primitives-text/index.d.ts +0 -3
  283. package/dist/types-ts4.5/rules/use-primitives-text/transformers/add-color-inherit-attribute-fix.d.ts +0 -4
  284. package/dist/types-ts4.5/rules/use-primitives-text/transformers/allowed-attrs.d.ts +0 -1
  285. package/dist/types-ts4.5/rules/use-primitives-text/transformers/common.d.ts +0 -6
  286. package/dist/types-ts4.5/rules/use-primitives-text/transformers/emphasis-elements.d.ts +0 -13
  287. package/dist/types-ts4.5/rules/use-primitives-text/transformers/has-text-children-only.d.ts +0 -2
  288. package/dist/types-ts4.5/rules/use-primitives-text/transformers/paragraph-elements.d.ts +0 -25
  289. package/dist/types-ts4.5/rules/use-primitives-text/transformers/span-elements.d.ts +0 -13
  290. package/dist/types-ts4.5/rules/use-primitives-text/transformers/strong-elements.d.ts +0 -13
  291. package/dist/types-ts4.5/rules/use-primitives-text/transformers/update-test-id-attribute-fix.d.ts +0 -3
  292. package/dist/types-ts4.5/rules/use-should-render-to-parent/add-prop.d.ts +0 -1
  293. package/dist/types-ts4.5/rules/use-should-render-to-parent/index.d.ts +0 -6
  294. package/dist/types-ts4.5/rules/use-should-render-to-parent/set-prop-to-true.d.ts +0 -1
  295. package/dist/types-ts4.5/rules/use-simple-field/index.d.ts +0 -4
  296. package/dist/types-ts4.5/rules/use-simple-form/index.d.ts +0 -5
  297. package/dist/types-ts4.5/rules/use-simple-form/top-level-attribute-names.d.ts +0 -1
  298. package/dist/types-ts4.5/rules/use-spotlight-package/index.d.ts +0 -3
  299. package/dist/types-ts4.5/rules/use-spotlight-package/linters/import-declaration/index.d.ts +0 -16
  300. package/dist/types-ts4.5/rules/use-tag-group-label/index.d.ts +0 -3
  301. package/dist/types-ts4.5/rules/use-textfield-autocomplete/index.d.ts +0 -4
  302. package/dist/types-ts4.5/rules/use-tokens-shape/index.d.ts +0 -3
  303. package/dist/types-ts4.5/rules/use-tokens-shape/transformers/index.d.ts +0 -26
  304. package/dist/types-ts4.5/rules/use-tokens-shape/transformers/style-map.d.ts +0 -10
  305. package/dist/types-ts4.5/rules/use-tokens-shape/transformers/supported.d.ts +0 -6
  306. package/dist/types-ts4.5/rules/use-tokens-space/index.d.ts +0 -3
  307. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/index.d.ts +0 -26
  308. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/style-map.d.ts +0 -7
  309. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/supported.d.ts +0 -6
  310. package/dist/types-ts4.5/rules/use-tokens-space/utils/is-string-or-number.d.ts +0 -1
  311. package/dist/types-ts4.5/rules/use-tokens-typography/config/get-config.d.ts +0 -2
  312. package/dist/types-ts4.5/rules/use-tokens-typography/config/rule-schema.d.ts +0 -2
  313. package/dist/types-ts4.5/rules/use-tokens-typography/config/types.d.ts +0 -7
  314. package/dist/types-ts4.5/rules/use-tokens-typography/convert-property-node-to-stringable-node.d.ts +0 -2
  315. package/dist/types-ts4.5/rules/use-tokens-typography/default-font-weight.d.ts +0 -1
  316. package/dist/types-ts4.5/rules/use-tokens-typography/find-font-family-token-for-value.d.ts +0 -1
  317. package/dist/types-ts4.5/rules/use-tokens-typography/find-font-weight-token-for-value.d.ts +0 -2
  318. package/dist/types-ts4.5/rules/use-tokens-typography/find-typography-token-for-values.d.ts +0 -2
  319. package/dist/types-ts4.5/rules/use-tokens-typography/font-weight-map.d.ts +0 -2
  320. package/dist/types-ts4.5/rules/use-tokens-typography/font-weight-tokens.d.ts +0 -2
  321. package/dist/types-ts4.5/rules/use-tokens-typography/get-literal-property.d.ts +0 -2
  322. package/dist/types-ts4.5/rules/use-tokens-typography/get-token-property.d.ts +0 -2
  323. package/dist/types-ts4.5/rules/use-tokens-typography/index.d.ts +0 -3
  324. package/dist/types-ts4.5/rules/use-tokens-typography/insert-tokens-import.d.ts +0 -3
  325. package/dist/types-ts4.5/rules/use-tokens-typography/is-code-font-family.d.ts +0 -2
  326. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-family.d.ts +0 -2
  327. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-size-small.d.ts +0 -2
  328. package/dist/types-ts4.5/rules/use-tokens-typography/is-font-size.d.ts +0 -2
  329. package/dist/types-ts4.5/rules/use-tokens-typography/is-typography-property.d.ts +0 -1
  330. package/dist/types-ts4.5/rules/use-tokens-typography/is-valid-property-node.d.ts +0 -2
  331. package/dist/types-ts4.5/rules/use-tokens-typography/is-valid-typography-token.d.ts +0 -36
  332. package/dist/types-ts4.5/rules/use-tokens-typography/not-undefined.d.ts +0 -1
  333. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/banned-properties.d.ts +0 -12
  334. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/font-family.d.ts +0 -13
  335. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/font-weight.d.ts +0 -13
  336. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/restricted-capitalisation.d.ts +0 -12
  337. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/style-object.d.ts +0 -33
  338. package/dist/types-ts4.5/rules/use-tokens-typography/transformers/untokenized-properties.d.ts +0 -12
  339. package/dist/types-ts4.5/rules/use-tokens-typography/types.d.ts +0 -15
  340. package/dist/types-ts4.5/rules/use-tokens-typography/typography-properties.d.ts +0 -1
  341. package/dist/types-ts4.5/rules/use-tokens-typography/typography-value-to-token.d.ts +0 -2
  342. package/dist/types-ts4.5/rules/use-visually-hidden/constants.d.ts +0 -3
  343. package/dist/types-ts4.5/rules/use-visually-hidden/count-matching-key-values.d.ts +0 -6
  344. package/dist/types-ts4.5/rules/use-visually-hidden/fix-jsx.d.ts +0 -3
  345. package/dist/types-ts4.5/rules/use-visually-hidden/fix-vanilla.d.ts +0 -3
  346. package/dist/types-ts4.5/rules/use-visually-hidden/get-first-import.d.ts +0 -5
  347. package/dist/types-ts4.5/rules/use-visually-hidden/get-object-likeness.d.ts +0 -9
  348. package/dist/types-ts4.5/rules/use-visually-hidden/index.d.ts +0 -3
  349. package/dist/types-ts4.5/rules/use-visually-hidden/make-template-literal-into-entries.d.ts +0 -4
  350. package/dist/types-ts4.5/rules/use-visually-hidden/reference-object.d.ts +0 -11
  351. package/dist/types-ts4.5/rules/use-visually-hidden/utils.d.ts +0 -26
  352. package/dist/types-ts4.5/rules/utils/create-lint-rule.d.ts +0 -8
  353. package/dist/types-ts4.5/rules/utils/create-no-exported-rule/check-if-supported-export.d.ts +0 -15
  354. package/dist/types-ts4.5/rules/utils/create-no-exported-rule/is-styled-component.d.ts +0 -14
  355. package/dist/types-ts4.5/rules/utils/create-no-exported-rule/main.d.ts +0 -19
  356. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/create-no-tagged-template-expression-rule.d.ts +0 -5
  357. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/generate.d.ts +0 -2
  358. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.d.ts +0 -4
  359. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/index.d.ts +0 -7
  360. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/no-tagged-template-expression-rule-schema.d.ts +0 -2
  361. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/to-arguments.d.ts +0 -4
  362. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/types.d.ts +0 -28
  363. package/dist/types-ts4.5/rules/utils/create-rule.d.ts +0 -11
  364. package/dist/types-ts4.5/rules/utils/error-boundary.d.ts +0 -18
  365. package/dist/types-ts4.5/rules/utils/find-in-parent.d.ts +0 -9
  366. package/dist/types-ts4.5/rules/utils/find-prop.d.ts +0 -2
  367. package/dist/types-ts4.5/rules/utils/get-deprecated-config.d.ts +0 -2
  368. package/dist/types-ts4.5/rules/utils/get-first-supported-import.d.ts +0 -17
  369. package/dist/types-ts4.5/rules/utils/get-import-name.d.ts +0 -2
  370. package/dist/types-ts4.5/rules/utils/get-imported-node-by-source.d.ts +0 -8
  371. package/dist/types-ts4.5/rules/utils/get-is-exception.d.ts +0 -2
  372. package/dist/types-ts4.5/rules/utils/get-jsx-element-by-name.d.ts +0 -6
  373. package/dist/types-ts4.5/rules/utils/get-module-of-identifier.d.ts +0 -10
  374. package/dist/types-ts4.5/rules/utils/get-node-source.d.ts +0 -3
  375. package/dist/types-ts4.5/rules/utils/get-rule-url.d.ts +0 -1
  376. package/dist/types-ts4.5/rules/utils/get-styled-component-call.d.ts +0 -6
  377. package/dist/types-ts4.5/rules/utils/includes-hard-coded-color.d.ts +0 -1
  378. package/dist/types-ts4.5/rules/utils/is-child-of-type.d.ts +0 -2
  379. package/dist/types-ts4.5/rules/utils/is-color-css-property-name.d.ts +0 -1
  380. package/dist/types-ts4.5/rules/utils/is-css-in-js-call-node.d.ts +0 -2
  381. package/dist/types-ts4.5/rules/utils/is-css-in-js-object-node.d.ts +0 -2
  382. package/dist/types-ts4.5/rules/utils/is-css-in-js-template-node.d.ts +0 -2
  383. package/dist/types-ts4.5/rules/utils/is-current-surface-custom-property-name.d.ts +0 -1
  384. package/dist/types-ts4.5/rules/utils/is-decendant-of-global-token.d.ts +0 -2
  385. package/dist/types-ts4.5/rules/utils/is-decendant-of-primitive.d.ts +0 -2
  386. package/dist/types-ts4.5/rules/utils/is-decendant-of-style-block.d.ts +0 -2
  387. package/dist/types-ts4.5/rules/utils/is-decendant-of-style-jsx-attribute.d.ts +0 -2
  388. package/dist/types-ts4.5/rules/utils/is-decendant-of-svg-element.d.ts +0 -2
  389. package/dist/types-ts4.5/rules/utils/is-decendant-of-type.d.ts +0 -2
  390. package/dist/types-ts4.5/rules/utils/is-decendant-of-xcss-block.d.ts +0 -2
  391. package/dist/types-ts4.5/rules/utils/is-deprecated-import-config.d.ts +0 -2
  392. package/dist/types-ts4.5/rules/utils/is-deprecated-jsx-attribute-config.d.ts +0 -2
  393. package/dist/types-ts4.5/rules/utils/is-elevation.d.ts +0 -5
  394. package/dist/types-ts4.5/rules/utils/is-hard-coded-color.d.ts +0 -1
  395. package/dist/types-ts4.5/rules/utils/is-legacy-color.d.ts +0 -1
  396. package/dist/types-ts4.5/rules/utils/is-legacy-named-color.d.ts +0 -1
  397. package/dist/types-ts4.5/rules/utils/is-node.d.ts +0 -6
  398. package/dist/types-ts4.5/rules/utils/is-property-key.d.ts +0 -2
  399. package/dist/types-ts4.5/rules/utils/is-token.d.ts +0 -1
  400. package/dist/types-ts4.5/rules/utils/jsx.d.ts +0 -2
  401. package/dist/types-ts4.5/rules/utils/named-colors.d.ts +0 -1
  402. package/dist/types-ts4.5/rules/utils/types.d.ts +0 -28
@@ -0,0 +1,548 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ import tokenDefaultValues from '@atlaskit/tokens/token-default-values';
6
+ import { createLintRule } from '../utils/create-lint-rule';
7
+ var DURATION_TOKEN_NAMES = ['motion.duration.instant', 'motion.duration.xxshort', 'motion.duration.xshort', 'motion.duration.short', 'motion.duration.medium', 'motion.duration.long', 'motion.duration.xlong', 'motion.duration.xxlong'];
8
+ function parseDurationMs(value) {
9
+ var ms = value.match(/^(\d+(?:\.\d+)?)ms$/);
10
+ if (ms) {
11
+ return parseFloat(ms[1]);
12
+ }
13
+ var s = value.match(/^(\d+(?:\.\d+)?)s$/);
14
+ if (s) {
15
+ return parseFloat(s[1]) * 1000;
16
+ }
17
+ return null;
18
+ }
19
+ var DURATION_TOKENS = DURATION_TOKEN_NAMES.map(function (name) {
20
+ var rawValue = tokenDefaultValues[name];
21
+ var ms = parseDurationMs(rawValue);
22
+ if (ms === null) {
23
+ throw new Error("use-tokens-motion: could not parse duration for token ".concat(name, ": ").concat(rawValue));
24
+ }
25
+ return {
26
+ ms: ms,
27
+ token: name
28
+ };
29
+ }).sort(function (a, b) {
30
+ return a.ms - b.ms;
31
+ });
32
+ var EASING_TOKEN_NAMES = ['motion.easing.in.practical', 'motion.easing.inout.bold', 'motion.easing.out.practical', 'motion.easing.out.bold'];
33
+ function parseCubicBezierParams(value) {
34
+ var match = value.match(/^cubic-bezier\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)$/);
35
+ if (!match) {
36
+ return null;
37
+ }
38
+ return [parseFloat(match[1]), parseFloat(match[2]), parseFloat(match[3]), parseFloat(match[4])];
39
+ }
40
+ var EASING_TOKENS = EASING_TOKEN_NAMES.map(function (name) {
41
+ var rawValue = tokenDefaultValues[name];
42
+ var params = parseCubicBezierParams(rawValue);
43
+ if (!params) {
44
+ throw new Error("use-tokens-motion: could not parse cubic-bezier for token ".concat(name, ": ").concat(rawValue));
45
+ }
46
+ return {
47
+ value: rawValue,
48
+ token: name,
49
+ params: params
50
+ };
51
+ });
52
+
53
+ // Splits on top-level commas (outside function parens) — preserves cubic-bezier(...) commas.
54
+ function splitOnTopLevelCommas(value) {
55
+ var parts = [];
56
+ var depth = 0;
57
+ var current = '';
58
+ var _iterator = _createForOfIteratorHelper(value),
59
+ _step;
60
+ try {
61
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
62
+ var ch = _step.value;
63
+ if (ch === '(') {
64
+ depth++;
65
+ current += ch;
66
+ } else if (ch === ')') {
67
+ depth--;
68
+ current += ch;
69
+ } else if (ch === ',' && depth === 0) {
70
+ parts.push(current.trim());
71
+ current = '';
72
+ } else {
73
+ current += ch;
74
+ }
75
+ }
76
+ } catch (err) {
77
+ _iterator.e(err);
78
+ } finally {
79
+ _iterator.f();
80
+ }
81
+ if (current.trim().length > 0) {
82
+ parts.push(current.trim());
83
+ }
84
+ return parts;
85
+ }
86
+ var DURATION_PROPERTIES = new Set(['transitionDuration', 'animationDuration']);
87
+ var EASING_PROPERTIES = new Set(['transitionTimingFunction', 'animationTimingFunction']);
88
+
89
+ // Explicit semantic mappings for CSS keyword easings to motion tokens.
90
+ // Pinned by design intent, confirmed with design system team (Alex + Akshay).
91
+ var CSS_KEYWORD_EASING_TOKEN_MAP = {
92
+ ease: 'motion.easing.out.practical',
93
+ 'ease-out': 'motion.easing.out.practical',
94
+ 'ease-in': 'motion.easing.in.practical',
95
+ 'ease-in-out': 'motion.easing.inout.bold'
96
+ // linear (0,0,1,1) — warn only, no autofix (per Akshay: too generic, no good token match)
97
+ };
98
+
99
+ // Non-curve easing values with no meaningful cubic-bezier representation — skip entirely
100
+ var SKIP_EASING_VALUES = new Set(['step-start', 'step-end', 'inherit', 'initial', 'unset', 'none']);
101
+ function euclideanDistance(a, b) {
102
+ return Math.sqrt(a.reduce(function (sum, val, i) {
103
+ return sum + Math.pow(val - b[i], 2);
104
+ }, 0));
105
+ }
106
+
107
+ // Maximum Euclidean distance for easing autofix — beyond this threshold, we report-only
108
+ var EASING_AUTOFIX_THRESHOLD = 0.5;
109
+ function findClosestEasingToken(params) {
110
+ var minDist = Infinity;
111
+ var closest = EASING_TOKENS[0];
112
+ var _iterator2 = _createForOfIteratorHelper(EASING_TOKENS),
113
+ _step2;
114
+ try {
115
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
116
+ var entry = _step2.value;
117
+ var dist = euclideanDistance(params, entry.params);
118
+ if (dist < minDist) {
119
+ minDist = dist;
120
+ closest = entry;
121
+ }
122
+ }
123
+ } catch (err) {
124
+ _iterator2.e(err);
125
+ } finally {
126
+ _iterator2.f();
127
+ }
128
+ if (minDist > EASING_AUTOFIX_THRESHOLD) {
129
+ return null;
130
+ }
131
+ return {
132
+ token: closest.token,
133
+ value: closest.value,
134
+ dist: minDist
135
+ };
136
+ }
137
+ function findClosestDurationTokens(ms) {
138
+ var exact = DURATION_TOKENS.find(function (t) {
139
+ return t.ms === ms;
140
+ });
141
+ if (exact) {
142
+ return [exact];
143
+ }
144
+ var minDist = Infinity;
145
+ var _iterator3 = _createForOfIteratorHelper(DURATION_TOKENS),
146
+ _step3;
147
+ try {
148
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
149
+ var entry = _step3.value;
150
+ var dist = Math.abs(entry.ms - ms);
151
+ if (dist < minDist) {
152
+ minDist = dist;
153
+ }
154
+ }
155
+ } catch (err) {
156
+ _iterator3.e(err);
157
+ } finally {
158
+ _iterator3.f();
159
+ }
160
+ var closest = DURATION_TOKENS.filter(function (t) {
161
+ return Math.abs(t.ms - ms) === minDist;
162
+ });
163
+ return closest;
164
+ }
165
+ var useTokensMotion = createLintRule({
166
+ meta: {
167
+ name: 'use-tokens-motion',
168
+ type: 'suggestion',
169
+ hasSuggestions: true,
170
+ docs: {
171
+ description: 'Enforces usage of motion design tokens rather than hard-coded duration and easing values.',
172
+ recommended: false,
173
+ severity: 'warn'
174
+ },
175
+ messages: {
176
+ useMotionDurationToken: "Use a motion duration token instead of the hard-coded value '{{ value }}'.",
177
+ useMotionDurationTokenSuggest: 'Replace with {{ suggestion }}.',
178
+ useMotionDurationTokenNearest: "No exact token match for '{{ value }}'. Nearest: {{ suggestion1 }} or {{ suggestion2 }}.",
179
+ useMotionDurationTokenSingleNearest: "No exact token match for '{{ value }}'. Nearest: {{ suggestion }}.",
180
+ useMotionEasingToken: "Use a motion easing token instead of the hard-coded value '{{ value }}'.",
181
+ useMotionEasingTokenSuggest: 'Replace with {{ suggestion }}.',
182
+ useMotionEasingTokenUnknown: "Use a motion easing token from @atlaskit/tokens instead of the hard-coded value '{{ value }}'."
183
+ }
184
+ },
185
+ create: function create(context) {
186
+ var tokensImportNode = null;
187
+ var hasTokenSpecifier = false;
188
+ function buildTokenCall(tokenName, fallback) {
189
+ return "token('".concat(tokenName, "', '").concat(fallback, "')");
190
+ }
191
+ function getImportFix(fixer) {
192
+ var _context$sourceCode;
193
+ if (hasTokenSpecifier) {
194
+ return [];
195
+ }
196
+ if (tokensImportNode) {
197
+ // @atlaskit/tokens is imported but without `token` — add `token` to existing import
198
+ var lastSpecifier = tokensImportNode.specifiers[tokensImportNode.specifiers.length - 1];
199
+ if (lastSpecifier) {
200
+ return [fixer.insertTextAfter(lastSpecifier, ', token')];
201
+ }
202
+ // Empty import — replace the whole declaration
203
+ return [fixer.replaceText(tokensImportNode, "import { token } from '@atlaskit/tokens';")];
204
+ }
205
+ var sourceCode = (_context$sourceCode = context.sourceCode) !== null && _context$sourceCode !== void 0 ? _context$sourceCode : context.getSourceCode();
206
+ var programBody = sourceCode.ast.body;
207
+ // Insert after the last existing import, or at top if no imports exist
208
+ var lastImport = _toConsumableArray(programBody).reverse().find(function (n) {
209
+ return n.type === 'ImportDeclaration';
210
+ });
211
+ if (lastImport) {
212
+ return [fixer.insertTextAfter(lastImport, "\nimport { token } from '@atlaskit/tokens';")];
213
+ }
214
+ if (programBody.length > 0) {
215
+ return [fixer.insertTextBefore(programBody[0], "import { token } from '@atlaskit/tokens';\n")];
216
+ }
217
+ return [];
218
+ }
219
+
220
+ // Returns autofix string for a single duration value, or null if ambiguous (equidistant)
221
+ function resolveDurationToken(value) {
222
+ var ms = parseDurationMs(value);
223
+ if (ms === null) {
224
+ return null;
225
+ }
226
+ var exact = DURATION_TOKENS.find(function (t) {
227
+ return t.ms === ms;
228
+ });
229
+ if (exact) {
230
+ return buildTokenCall(exact.token, value);
231
+ }
232
+ return null;
233
+ }
234
+ function handleDurationProperty(node, rawValue) {
235
+ var segments = splitOnTopLevelCommas(rawValue);
236
+ if (segments.length === 1) {
237
+ var ms = parseDurationMs(rawValue);
238
+ if (ms === null) {
239
+ return;
240
+ }
241
+ var exactMatch = DURATION_TOKENS.find(function (t) {
242
+ return t.ms === ms;
243
+ });
244
+ if (exactMatch) {
245
+ var suggestion = buildTokenCall(exactMatch.token, rawValue);
246
+ context.report({
247
+ node: node,
248
+ messageId: 'useMotionDurationToken',
249
+ data: {
250
+ value: rawValue
251
+ },
252
+ suggest: [{
253
+ messageId: 'useMotionDurationTokenSuggest',
254
+ data: {
255
+ suggestion: suggestion
256
+ },
257
+ fix: function fix(fixer) {
258
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, suggestion)]);
259
+ }
260
+ }]
261
+ });
262
+ } else {
263
+ var result = findClosestDurationTokens(ms);
264
+ if (result.length >= 2) {
265
+ var suggestion1 = buildTokenCall(result[0].token, rawValue);
266
+ var suggestion2 = buildTokenCall(result[1].token, rawValue);
267
+ context.report({
268
+ node: node,
269
+ messageId: 'useMotionDurationTokenNearest',
270
+ data: {
271
+ value: rawValue,
272
+ suggestion1: "".concat(suggestion1, " (").concat(result[0].ms, "ms)"),
273
+ suggestion2: "".concat(suggestion2, " (").concat(result[1].ms, "ms)")
274
+ }
275
+ });
276
+ } else {
277
+ var _suggestion = buildTokenCall(result[0].token, rawValue);
278
+ context.report({
279
+ node: node,
280
+ messageId: 'useMotionDurationTokenSingleNearest',
281
+ data: {
282
+ value: rawValue,
283
+ suggestion: "".concat(_suggestion, " (").concat(result[0].ms, "ms)")
284
+ }
285
+ });
286
+ }
287
+ }
288
+ return;
289
+ }
290
+ var resolved = segments.map(resolveDurationToken);
291
+ if (resolved.some(function (s) {
292
+ return s === null;
293
+ })) {
294
+ return;
295
+ }
296
+ var templateLiteral = '`' + resolved.map(function (s) {
297
+ return "${".concat(s, "}");
298
+ }).join(', ') + '`';
299
+ context.report({
300
+ node: node,
301
+ messageId: 'useMotionDurationToken',
302
+ data: {
303
+ value: rawValue
304
+ },
305
+ suggest: [{
306
+ messageId: 'useMotionDurationTokenSuggest',
307
+ data: {
308
+ suggestion: templateLiteral
309
+ },
310
+ fix: function fix(fixer) {
311
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, templateLiteral)]);
312
+ }
313
+ }]
314
+ });
315
+ }
316
+
317
+ // Returns autofix string for a single easing value, or null if no token suggestion is possible
318
+ function resolveEasingToken(value) {
319
+ var trimmed = value.trim();
320
+ if (SKIP_EASING_VALUES.has(trimmed)) {
321
+ return null;
322
+ }
323
+ if (trimmed in CSS_KEYWORD_EASING_TOKEN_MAP) {
324
+ return buildTokenCall(CSS_KEYWORD_EASING_TOKEN_MAP[trimmed], trimmed);
325
+ }
326
+ // linear has no curve (0,0,1,1) — warn only, no autofix
327
+ if (trimmed === 'linear') {
328
+ return null;
329
+ }
330
+ if (trimmed.startsWith('linear(')) {
331
+ // linear() is used for spring animations — motion.easing.spring is experimental, skip
332
+ return null;
333
+ }
334
+ var params = parseCubicBezierParams(trimmed);
335
+ if (!params) {
336
+ return null;
337
+ }
338
+ var exact = EASING_TOKENS.find(function (t) {
339
+ return t.value === trimmed;
340
+ });
341
+ if (exact) {
342
+ return buildTokenCall(exact.token, trimmed);
343
+ }
344
+ var closest = findClosestEasingToken(params);
345
+ return closest ? buildTokenCall(closest.token, trimmed) : null;
346
+ }
347
+ function handleEasingProperty(node, rawValue) {
348
+ var segments = splitOnTopLevelCommas(rawValue);
349
+
350
+ // Multi-value path: resolve each segment, autofix only if all resolve cleanly
351
+ if (segments.length > 1) {
352
+ var resolved = segments.map(resolveEasingToken);
353
+ if (resolved.some(function (s) {
354
+ return s === null;
355
+ })) {
356
+ return;
357
+ }
358
+ var templateLiteral = '`' + resolved.map(function (s) {
359
+ return "${".concat(s, "}");
360
+ }).join(', ') + '`';
361
+ context.report({
362
+ node: node,
363
+ messageId: 'useMotionEasingToken',
364
+ data: {
365
+ value: rawValue
366
+ },
367
+ suggest: [{
368
+ messageId: 'useMotionEasingTokenSuggest',
369
+ data: {
370
+ suggestion: templateLiteral
371
+ },
372
+ fix: function fix(fixer) {
373
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, templateLiteral)]);
374
+ }
375
+ }]
376
+ });
377
+ return;
378
+ }
379
+ var trimmed = rawValue.trim();
380
+ if (SKIP_EASING_VALUES.has(trimmed)) {
381
+ return;
382
+ }
383
+
384
+ // CSS keyword easings: convert to cubic-bezier equivalent and find closest token
385
+ if (trimmed in CSS_KEYWORD_EASING_TOKEN_MAP) {
386
+ var suggestion = buildTokenCall(CSS_KEYWORD_EASING_TOKEN_MAP[trimmed], trimmed);
387
+ context.report({
388
+ node: node,
389
+ messageId: 'useMotionEasingToken',
390
+ data: {
391
+ value: trimmed
392
+ },
393
+ suggest: [{
394
+ messageId: 'useMotionEasingTokenSuggest',
395
+ data: {
396
+ suggestion: suggestion
397
+ },
398
+ fix: function fix(fixer) {
399
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, suggestion)]);
400
+ }
401
+ }]
402
+ });
403
+ return;
404
+ }
405
+ // linear has no curve (0,0,1,1) — warn only, no autofix
406
+ if (trimmed === 'linear') {
407
+ context.report({
408
+ node: node,
409
+ messageId: 'useMotionEasingTokenUnknown',
410
+ data: {
411
+ value: trimmed
412
+ }
413
+ });
414
+ return;
415
+ }
416
+ if (trimmed.startsWith('linear(')) {
417
+ // linear() is used for spring animations — motion.easing.spring is experimental, skip
418
+ return;
419
+ }
420
+ var params = parseCubicBezierParams(trimmed);
421
+ if (!params) {
422
+ context.report({
423
+ node: node,
424
+ messageId: 'useMotionEasingTokenUnknown',
425
+ data: {
426
+ value: rawValue
427
+ }
428
+ });
429
+ return;
430
+ }
431
+ var exact = EASING_TOKENS.find(function (t) {
432
+ return t.value === trimmed;
433
+ });
434
+ if (exact) {
435
+ var _suggestion2 = buildTokenCall(exact.token, rawValue);
436
+ context.report({
437
+ node: node,
438
+ messageId: 'useMotionEasingToken',
439
+ data: {
440
+ value: rawValue
441
+ },
442
+ suggest: [{
443
+ messageId: 'useMotionEasingTokenSuggest',
444
+ data: {
445
+ suggestion: _suggestion2
446
+ },
447
+ fix: function fix(fixer) {
448
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, _suggestion2)]);
449
+ }
450
+ }]
451
+ });
452
+ return;
453
+ }
454
+ var closest = findClosestEasingToken(params);
455
+ if (closest) {
456
+ var _suggestion3 = buildTokenCall(closest.token, rawValue);
457
+ context.report({
458
+ node: node,
459
+ messageId: 'useMotionEasingToken',
460
+ data: {
461
+ value: rawValue
462
+ },
463
+ suggest: [{
464
+ messageId: 'useMotionEasingTokenSuggest',
465
+ data: {
466
+ suggestion: _suggestion3
467
+ },
468
+ fix: function fix(fixer) {
469
+ return [].concat(_toConsumableArray(getImportFix(fixer)), [fixer.replaceText(node.value, _suggestion3)]);
470
+ }
471
+ }]
472
+ });
473
+ } else {
474
+ context.report({
475
+ node: node,
476
+ messageId: 'useMotionEasingTokenUnknown',
477
+ data: {
478
+ value: rawValue
479
+ }
480
+ });
481
+ }
482
+ }
483
+ function handleProperty(node) {
484
+ var key = node.key;
485
+ if (key.type !== 'Identifier') {
486
+ return;
487
+ }
488
+ var isDuration = DURATION_PROPERTIES.has(key.name);
489
+ var isEasing = EASING_PROPERTIES.has(key.name);
490
+ if (!isDuration && !isEasing) {
491
+ return;
492
+ }
493
+ var value = node.value;
494
+ if (value.type === 'TemplateLiteral') {
495
+ // Only handle no-interpolation template literals (e.g. `200ms`) — treat as string
496
+ var tl = value;
497
+ if (tl.expressions.length === 0 && tl.quasis.length === 1) {
498
+ var _tl$quasis$0$value$co;
499
+ var rawValue = (_tl$quasis$0$value$co = tl.quasis[0].value.cooked) !== null && _tl$quasis$0$value$co !== void 0 ? _tl$quasis$0$value$co : tl.quasis[0].value.raw;
500
+ if (isDuration) {
501
+ handleDurationProperty(node, rawValue);
502
+ } else {
503
+ handleEasingProperty(node, rawValue);
504
+ }
505
+ }
506
+ return;
507
+ }
508
+ if (value.type === 'CallExpression') {
509
+ var ce = value;
510
+ if (ce.callee.type === 'Identifier' && ce.callee.name === 'token') {
511
+ return;
512
+ }
513
+ return;
514
+ }
515
+ if (value.type === 'Literal') {
516
+ var lit = value;
517
+ var _rawValue;
518
+ if (typeof lit.value === 'string') {
519
+ _rawValue = lit.value;
520
+ } else if (typeof lit.value === 'number') {
521
+ // Treat bare numbers as ms
522
+ _rawValue = "".concat(lit.value, "ms");
523
+ } else {
524
+ return;
525
+ }
526
+ if (isDuration) {
527
+ handleDurationProperty(node, _rawValue);
528
+ } else {
529
+ handleEasingProperty(node, _rawValue);
530
+ }
531
+ }
532
+ }
533
+ return {
534
+ ImportDeclaration: function ImportDeclaration(node) {
535
+ if (node.source.value === '@atlaskit/tokens') {
536
+ tokensImportNode = node;
537
+ hasTokenSpecifier = node.specifiers.some(function (s) {
538
+ return s.type === 'ImportSpecifier' && s.local.name === 'token';
539
+ });
540
+ }
541
+ },
542
+ Property: function Property(node) {
543
+ handleProperty(node);
544
+ }
545
+ };
546
+ }
547
+ });
548
+ export default useTokensMotion;
@@ -37,7 +37,7 @@ export var createNoTaggedTemplateExpressionRule = function createNoTaggedTemplat
37
37
  node: node,
38
38
  fix: /*#__PURE__*/_regeneratorRuntime.mark(function fix(fixer) {
39
39
  var quasi, source, matches, args, oldCode, withoutQuasi, newCode, usesEmotion;
40
- return _regeneratorRuntime.wrap(function fix$(_context) {
40
+ return _regeneratorRuntime.wrap(function (_context) {
41
41
  while (1) switch (_context.prev = _context.next) {
42
42
  case 0:
43
43
  quasi = node.quasi;
@@ -46,40 +46,40 @@ export var createNoTaggedTemplateExpressionRule = function createNoTaggedTemplat
46
46
  if (!(shouldSkipMultilineComments && quasi.quasis.map(function (q) {
47
47
  return q.value.raw;
48
48
  }).join('').match(/\/\*[\s\S]*\*\//g))) {
49
- _context.next = 4;
49
+ _context.next = 1;
50
50
  break;
51
51
  }
52
52
  return _context.abrupt("return");
53
- case 4:
53
+ case 1:
54
54
  matches = esquery(node, 'ArrowFunctionExpression > BlockStatement');
55
55
  if (!matches.length) {
56
- _context.next = 7;
56
+ _context.next = 2;
57
57
  break;
58
58
  }
59
59
  return _context.abrupt("return");
60
- case 7:
60
+ case 2:
61
61
  if (!(!quasi.expressions.length && quasi.quasis.length === 1 && !quasi.quasis[0].value.raw.trim())) {
62
- _context.next = 11;
62
+ _context.next = 4;
63
63
  break;
64
64
  }
65
- _context.next = 10;
65
+ _context.next = 3;
66
66
  return fixer.replaceText(quasi, '({})');
67
- case 10:
67
+ case 3:
68
68
  return _context.abrupt("return");
69
- case 11:
69
+ case 4:
70
70
  args = toArguments(source, quasi);
71
71
  if (!args.some(hasNestedSelectorWithMultipleArguments)) {
72
- _context.next = 14;
72
+ _context.next = 5;
73
73
  break;
74
74
  }
75
75
  return _context.abrupt("return");
76
- case 14:
76
+ case 5:
77
77
  if (!(args.length < 1)) {
78
- _context.next = 16;
78
+ _context.next = 6;
79
79
  break;
80
80
  }
81
81
  return _context.abrupt("return");
82
- case 16:
82
+ case 6:
83
83
  oldCode = source.getText(node); // Remove quasi:
84
84
  // styled.div<Props>`
85
85
  // color: red;
@@ -91,33 +91,33 @@ export var createNoTaggedTemplateExpressionRule = function createNoTaggedTemplat
91
91
  // Indent the arguments after the tagged template expression range
92
92
  generate(args, getTaggedTemplateExpressionOffset(node));
93
93
  if (!(oldCode === newCode)) {
94
- _context.next = 21;
94
+ _context.next = 7;
95
95
  break;
96
96
  }
97
97
  return _context.abrupt("return");
98
- case 21:
98
+ case 7:
99
99
  // For styles like `position: initial !important`,
100
100
  // Emotion can give typechecking errors when using object syntax
101
101
  // due to csstype being overly strict
102
102
  usesEmotion = isEmotion(node.tag, references, importSources);
103
103
  if (!(usesEmotion && !!newCode.match(/!\s*important/gm))) {
104
- _context.next = 24;
104
+ _context.next = 8;
105
105
  break;
106
106
  }
107
107
  return _context.abrupt("return");
108
- case 24:
108
+ case 8:
109
109
  if (!/\$\{.*:/.test(newCode)) {
110
- _context.next = 26;
110
+ _context.next = 9;
111
111
  break;
112
112
  }
113
113
  return _context.abrupt("return");
114
- case 26:
115
- _context.next = 28;
114
+ case 9:
115
+ _context.next = 10;
116
116
  return fixer.insertTextBefore(node, newCode);
117
- case 28:
118
- _context.next = 30;
117
+ case 10:
118
+ _context.next = 11;
119
119
  return fixer.remove(node);
120
- case 30:
120
+ case 11:
121
121
  case "end":
122
122
  return _context.stop();
123
123
  }