@atlaskit/ads-mcp 0.17.0 → 0.17.2

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 (88) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +88 -0
  3. package/dist/cjs/index.js +5 -18
  4. package/dist/cjs/tools/get-all-icons/icons.js +43 -0
  5. package/dist/cjs/tools/get-all-icons/index.js +4 -19
  6. package/dist/cjs/tools/get-all-tokens/index.js +3 -6
  7. package/dist/cjs/tools/get-all-tokens/tokens.js +18 -0
  8. package/dist/cjs/tools/get-components/components.codegen.js +3984 -0
  9. package/dist/cjs/tools/get-components/components.js +423 -235
  10. package/dist/cjs/tools/get-components/index.js +2 -2
  11. package/dist/cjs/tools/get-components/load-all-components.js +16 -0
  12. package/dist/cjs/tools/get-guidelines/guidelines-structured-content.codegen.js +72 -6
  13. package/dist/cjs/tools/get-lint-rules/lint-rules-structured-content.codegen.js +7 -7
  14. package/dist/cjs/tools/search-components/index.js +13 -12
  15. package/dist/cjs/tools/search-icons/index.js +7 -24
  16. package/dist/es2019/index.js +5 -17
  17. package/dist/es2019/tools/get-all-icons/icons.js +25 -0
  18. package/dist/es2019/tools/get-all-icons/index.js +1 -10
  19. package/dist/es2019/tools/get-all-tokens/index.js +2 -5
  20. package/dist/es2019/tools/get-all-tokens/tokens.js +13 -0
  21. package/dist/es2019/tools/get-components/components.codegen.js +3978 -0
  22. package/dist/es2019/tools/get-components/components.js +423 -235
  23. package/dist/es2019/tools/get-components/index.js +11 -9
  24. package/dist/es2019/tools/get-components/load-all-components.js +10 -0
  25. package/dist/es2019/tools/get-guidelines/guidelines-structured-content.codegen.js +72 -6
  26. package/dist/es2019/tools/get-lint-rules/lint-rules-structured-content.codegen.js +7 -7
  27. package/dist/es2019/tools/search-components/index.js +2 -1
  28. package/dist/es2019/tools/search-icons/index.js +1 -10
  29. package/dist/esm/index.js +5 -18
  30. package/dist/esm/tools/get-all-icons/icons.js +37 -0
  31. package/dist/esm/tools/get-all-icons/index.js +3 -18
  32. package/dist/esm/tools/get-all-tokens/index.js +2 -5
  33. package/dist/esm/tools/get-all-tokens/tokens.js +13 -0
  34. package/dist/esm/tools/get-components/components.codegen.js +3978 -0
  35. package/dist/esm/tools/get-components/components.js +423 -235
  36. package/dist/esm/tools/get-components/index.js +2 -2
  37. package/dist/esm/tools/get-components/load-all-components.js +10 -0
  38. package/dist/esm/tools/get-guidelines/guidelines-structured-content.codegen.js +72 -6
  39. package/dist/esm/tools/get-lint-rules/lint-rules-structured-content.codegen.js +7 -7
  40. package/dist/esm/tools/search-components/index.js +9 -8
  41. package/dist/esm/tools/search-icons/index.js +3 -20
  42. package/dist/types/tools/get-all-icons/icons.d.ts +11 -0
  43. package/dist/types/tools/get-all-tokens/tokens.d.ts +7 -0
  44. package/dist/types/tools/get-components/components.codegen.d.ts +10 -0
  45. package/dist/types/tools/get-components/components.d.ts +1 -1
  46. package/dist/types/tools/get-components/load-all-components.d.ts +2 -0
  47. package/dist/types/tools/get-components/types.d.ts +20 -14
  48. package/dist/types/tools/get-guidelines/guidelines-structured-content.codegen.d.ts +1 -1
  49. package/dist/types/tools/get-lint-rules/lint-rules-structured-content.codegen.d.ts +1 -1
  50. package/dist/types-ts4.5/tools/get-all-icons/icons.d.ts +11 -0
  51. package/dist/types-ts4.5/tools/get-all-tokens/tokens.d.ts +7 -0
  52. package/dist/types-ts4.5/tools/get-components/components.codegen.d.ts +10 -0
  53. package/dist/types-ts4.5/tools/get-components/components.d.ts +1 -1
  54. package/dist/types-ts4.5/tools/get-components/load-all-components.d.ts +2 -0
  55. package/dist/types-ts4.5/tools/get-components/types.d.ts +20 -14
  56. package/dist/types-ts4.5/tools/get-guidelines/guidelines-structured-content.codegen.d.ts +1 -1
  57. package/dist/types-ts4.5/tools/get-lint-rules/lint-rules-structured-content.codegen.d.ts +1 -1
  58. package/package.json +5 -3
  59. package/dist/cjs/tools/get-icons/icon-mcp-structured-content.codegen.js +0 -8
  60. package/dist/cjs/tools/get-icons/icon-structured-content.codegen.js +0 -8
  61. package/dist/cjs/tools/get-icons/index.js +0 -135
  62. package/dist/cjs/tools/get-tokens/index.js +0 -125
  63. package/dist/cjs/tools/get-tokens/token-mcp-structured-content.codegen.js +0 -2356
  64. package/dist/cjs/tools/get-tokens/token-structured-content.codegen.js +0 -2356
  65. package/dist/es2019/tools/get-icons/icon-mcp-structured-content.codegen.js +0 -8
  66. package/dist/es2019/tools/get-icons/icon-structured-content.codegen.js +0 -8
  67. package/dist/es2019/tools/get-icons/index.js +0 -110
  68. package/dist/es2019/tools/get-tokens/index.js +0 -100
  69. package/dist/es2019/tools/get-tokens/token-mcp-structured-content.codegen.js +0 -2350
  70. package/dist/es2019/tools/get-tokens/token-structured-content.codegen.js +0 -2350
  71. package/dist/esm/tools/get-icons/icon-mcp-structured-content.codegen.js +0 -8
  72. package/dist/esm/tools/get-icons/icon-structured-content.codegen.js +0 -8
  73. package/dist/esm/tools/get-icons/index.js +0 -128
  74. package/dist/esm/tools/get-tokens/index.js +0 -118
  75. package/dist/esm/tools/get-tokens/token-mcp-structured-content.codegen.js +0 -2350
  76. package/dist/esm/tools/get-tokens/token-structured-content.codegen.js +0 -2350
  77. package/dist/types/tools/get-icons/icon-mcp-structured-content.codegen.d.ts +0 -13
  78. package/dist/types/tools/get-icons/icon-structured-content.codegen.d.ts +0 -13
  79. package/dist/types/tools/get-icons/index.d.ts +0 -35
  80. package/dist/types/tools/get-tokens/index.d.ts +0 -35
  81. package/dist/types/tools/get-tokens/token-mcp-structured-content.codegen.d.ts +0 -13
  82. package/dist/types/tools/get-tokens/token-structured-content.codegen.d.ts +0 -13
  83. package/dist/types-ts4.5/tools/get-icons/icon-mcp-structured-content.codegen.d.ts +0 -13
  84. package/dist/types-ts4.5/tools/get-icons/icon-structured-content.codegen.d.ts +0 -13
  85. package/dist/types-ts4.5/tools/get-icons/index.d.ts +0 -35
  86. package/dist/types-ts4.5/tools/get-tokens/index.d.ts +0 -35
  87. package/dist/types-ts4.5/tools/get-tokens/token-mcp-structured-content.codegen.d.ts +0 -13
  88. package/dist/types-ts4.5/tools/get-tokens/token-structured-content.codegen.d.ts +0 -13
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Structured content for MCP (JSON) for ESLint rule docs from constellation.
5
5
  *
6
- * @codegen <<SignedSource::31ccbe611e32ed18b0d8477d40030cbc>>
6
+ * @codegen <<SignedSource::a2a44589058cd6aac45502ef8b3ba132>>
7
7
  * @codegenCommand yarn build structured-docs
8
8
  */
9
9
  /* eslint-disable no-template-curly-in-string */
@@ -41,11 +41,11 @@ export var lintRulesMcpStructuredContent = [{
41
41
  ruleName: 'ensure-proper-xcss-usage',
42
42
  description: 'This ESLint rule enforces proper usage of the `xcss` prop with compiled Primitives from'
43
43
  }, {
44
- content: '{"ruleName":"icon-label","description":"Icon labels are used to describe what the icon is so the visually impaired can be described what the","content":"# icon-label\\n\\nIcon labels are used to describe what the icon is so the visually impaired can be described what the\\nUI element is. There are cases where icons should have labels as well as cases where they shouldn\'t\\nbe labelled.\\n\\n## Examples\\n\\nThis rule will find violations for when an icon label is or isn\'t needed when composed with other\\nDesign System components.\\n\\n### Incorrect\\n\\n```js\\nimport ActivityIcon from \'@atlaskit/icon/glyph/activity\'\\n\\n<ActivityIcon>\\n^^^^^^^^^^^^^^ missing `label` prop\\n\\n<Button iconLeft={<ActivityIcon label=\\"\\">} />\\n ^^^^^ label should be defined\\n\\n<ButtonItem iconBefore={<ActivityIcon label=\\"\\">}>\\n ^^^^^ label should not be defined\\n My activity\\n</ButtonItem>\\n```\\n\\n### Correct\\n\\n```js\\nimport ActivityIcon from \'@atlaskit/icon/glyph/activity\'\\n\\n<ActivityIcon label=\\"Activity\\">\\n\\n<Button iconLeft={<ActivityIcon label=\\"Activity\\">} />\\n\\n<ButtonItem iconBefore={<ActivityIcon label=\\"\\">}>\\n My activity\\n</ButtonItem>\\n```\\n"}',
44
+ content: '{"ruleName":"icon-label","description":"Icon labels are used to describe what the icon is so the visually impaired can be described what the","content":"# icon-label\\n\\nIcon labels are used to describe what the icon is so the visually impaired can be described what the\\nUI element is. There are cases where icons should have labels as well as cases where they shouldn\'t\\nbe labelled.\\n\\n## Examples\\n\\nThis rule will find violations for when an icon label is or isn\'t needed when composed with other\\nDesign System components.\\n\\n### Incorrect\\n\\n```js\\nimport DashboardIcon from \'@atlaskit/icon/glyph/dashboard\'\\n\\n<DashboardIcon>\\n^^^^^^^^^^^^^^^ missing `label` prop\\n\\n<Button iconLeft={<DashboardIcon label=\\"\\">} />\\n ^^^^^ label should be defined\\n\\n<ButtonItem iconBefore={<DashboardIcon label=\\"\\">}>\\n ^^^^^ label should not be defined\\n My dashboard\\n</ButtonItem>\\n```\\n\\n### Correct\\n\\n```js\\nimport DashboardIcon from \'@atlaskit/icon/glyph/dashboard\'\\n\\n<DashboardIcon label=\\"Dashboard\\">\\n\\n<Button iconLeft={<DashboardIcon label=\\"Add\\">} />\\n\\n<ButtonItem iconBefore={<DashboardIcon label=\\"\\">}>\\n My dashboard\\n</ButtonItem>\\n```\\n"}',
45
45
  ruleName: 'icon-label',
46
46
  description: 'Icon labels are used to describe what the icon is so the visually impaired can be described what the'
47
47
  }, {
48
- content: '{"ruleName":"index","description":"---","content":"---\\norder: 0\\n---\\n\\nThis plugin contains rules that should be used when working with the\\n[Atlassian Design System](https://atlassian.design).\\n\\n## Rules\\n\\n<!-- START_RULE_TABLE_CODEGEN -->\\n<!-- @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen -->\\n\\n| Rule | Description | Recommended | Fixable | Suggestions |\\n| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------- | ----------- |\\n| <a href=\\"/components/eslint-plugin-design-system/consistent-css-prop-usage/usage\\">consistent-css-prop-usage</a> | Ensures consistency with `css` and `xcss` prop usages | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/enforce-inline-styles-in-select/usage\\">enforce-inline-styles-in-select</a> | Disallow unsupported CSS selectors in styles prop for @atlaskit/select and require inline styles only | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-avatar-tag-avatar-props/usage\\">ensure-avatar-tag-avatar-props</a> | Ensures AvatarTag avatar prop does not include controlled props (size, borderColor, appearance) which are managed internally. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-design-token-usage/usage\\">ensure-design-token-usage</a> | Enforces usage of design tokens rather than hard-coded values. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-design-token-usage-preview/usage\\">ensure-design-token-usage/preview</a> | Enforces usage of pre-release design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-icon-color/usage\\">ensure-icon-color</a> | Enforces that upcoming icon components have a color prop set, to enable a migration of the default value. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-proper-xcss-usage/usage\\">ensure-proper-xcss-usage</a> | Enforces proper xcss usage: migrate from xcss() to cssMap() and use cssMap objects with specific keys. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/icon-label/usage\\">icon-label</a> | Enforces accessible usage of icon labels when composed with Atlassian Design System components. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/lozenge-badge-tag-labelling-system-migration/usage\\">lozenge-badge-tag-labelling-system-migration</a> | Helps migrate Lozenge isBold prop, Badge appearance values, and SimpleTag/RemovableTag components as part of the Labelling System Phase 1 migration. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-banned-imports/usage\\">no-banned-imports</a> | Disallow importing banned modules. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-boolean-autofocus-on-modal-dialog/usage\\">no-boolean-autofocus-on-modal-dialog</a> | Encourages makers to not use boolean values for `autoFocus` on Atlassian Design System\'s modal dialog component. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-css-tagged-template-expression/usage\\">no-css-tagged-template-expression</a> | Disallows any `css` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-custom-icons/usage\\">no-custom-icons</a> | Enforces custom glyph icons are used. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-dark-theme-vr-tests/usage\\">no-dark-theme-vr-tests</a> | Disallow using dark colorScheme in VR tests. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-apis/usage\\">no-deprecated-apis</a> | Disallow using deprecated APIs. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-design-token-usage/usage\\">no-deprecated-design-token-usage</a> | Disallow using deprecated design tokens. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-imports/usage\\">no-deprecated-imports</a> | Disallow importing deprecated modules. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-direct-use-of-web-platform-drag-and-drop/usage\\">no-direct-use-of-web-platform-drag-and-drop</a> | Disallow using direct use of native drag and drop (please use Pragmatic drag and drop) | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-emotion-primitives/usage\\">no-emotion-primitives</a> | Ensures usage of Compiled Primitives import instead of Emotion entrypoint. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-empty-styled-expression/usage\\">no-empty-styled-expression</a> | Forbids any styled expression to be used when passing empty arguments to styled.div() (or other JSX elements). | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-exported-css/usage\\">no-exported-css</a> | Forbid exporting `css` function calls. Exporting `css` function calls can result in unexpected behaviour at runtime, and is not statically analysable. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-exported-keyframes/usage\\">no-exported-keyframes</a> | Forbid exporting `keyframes` function calls. Exporting `css` function calls can result in unexpected behaviour at runtime, and is not statically analysable. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-anchor/usage\\">no-html-anchor</a> | Discourage direct usage of HTML anchor elements in favor of Atlassian Design System link components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-button/usage\\">no-html-button</a> | Discourage direct usage of HTML button elements in favor of Atlassian Design System button components. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-checkbox/usage\\">no-html-checkbox</a> | Discourage direct usage of HTML checkbox elements in favor of the Atlassian Design System checkbox component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-code/usage\\">no-html-code</a> | Discourage direct usage of HTML code elements in favor of the Atlassian Design System code component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-heading/usage\\">no-html-heading</a> | Discourage direct usage of HTML heading elements in favor of Atlassian Design System heading components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-image/usage\\">no-html-image</a> | Discourage direct usage of HTML image elements in favor of the Atlassian Design System image component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-radio/usage\\">no-html-radio</a> | Discourage direct usage of HTML radio elements in favor of the Atlassian Design System radio component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-range/usage\\">no-html-range</a> | Discourage direct usage of HTML range elements in favor of the Atlassian Design System range component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-select/usage\\">no-html-select</a> | Discourage direct usage of HTML select elements in favor of the Atlassian Design System select component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-text-input/usage\\">no-html-text-input</a> | Discourage direct usage of HTML text input elements in favor of the Atlassian Design System textfield component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-textarea/usage\\">no-html-textarea</a> | Discourage direct usage of HTML textarea elements in favor of the Atlassian Design System textarea component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-invalid-css-map/usage\\">no-invalid-css-map</a> | Checks the validity of a CSS map created through cssMap. This is intended to be used alongside TypeScript\'s type-checking. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-keyframes-tagged-template-expression/usage\\">no-keyframes-tagged-template-expression</a> | Disallows any `keyframe` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-legacy-icons/usage\\">no-legacy-icons</a> | Enforces no legacy icons are used. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-margin/usage\\">no-margin</a> | Disallow using the margin CSS property. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-nested-styles/usage\\">no-nested-styles</a> | Disallows use of nested styles in `css` functions. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-physical-properties/usage\\">no-physical-properties</a> | Disallow physical properties and values in `css` and `cssMap` function calls. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-placeholder/usage\\">no-placeholder</a> | Placeholders should not be used. If information should be given to the user about the proper type or formatting of a value, this should be included using a helper message that is associated to the input instead. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-separator-with-list-elements/usage\\">no-separator-with-list-elements</a> | Warn when the `separator` prop is used with `as=\\"li\\"`, `as=\\"ol\\"`, or `as=\\"dl\\"` in the Inline component. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-styled-tagged-template-expression/usage\\">no-styled-tagged-template-expression</a> | Disallows any `styled` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-to-match-snapshot/usage\\">no-to-match-snapshot</a> | Disallow using toMatchSnapshot() in favor of toMatchInlineSnapshot(). See https://hello.atlassian.net/wiki/spaces/DST/pages/6105892000/DSTRFC-038+-+Removal+of+.toMatchSnapshot for rationale. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-design-token-usage/usage\\">no-unsafe-design-token-usage</a> | Enforces design token usage is statically and locally analyzable. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-inline-snapshot/usage\\">no-unsafe-inline-snapshot</a> | Enforce guardrails on toMatchInlineSnapshot usage: snapshots must not exceed 100 lines and must not contain internal implementation details like className or style attributes. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-style-overrides/usage\\">no-unsafe-style-overrides</a> | Discourage usage of unsafe style overrides used against the Atlassian Design System. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsupported-drag-and-drop-libraries/usage\\">no-unsupported-drag-and-drop-libraries</a> | Disallow importing unsupported drag and drop modules. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unused-css-map/usage\\">no-unused-css-map</a> | Detects unused styles in cssMap objects to help keep code clean. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/prefer-primitives/usage\\">prefer-primitives</a> | Increase awareness of primitive components via code hints. Strictly used for education purposes and discoverability. To enforce usage please refer to the `use-primitives` rule. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-button-group-label/usage\\">use-button-group-label</a> | Ensures button groups are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-character-counter-field/usage\\">use-character-counter-field</a> | Suggests using CharacterCounterField or CharacterCounter when Textfield or Textarea components have maxLength or minLength props. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-correct-field/usage\\">use-correct-field</a> | Ensure makers use appropriate field component for their respective form elements. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-cx-function-in-xcss/usage\\">use-cx-function-in-xcss</a> | Enforces cx function use to combine styles in xcss. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-datetime-picker-calendar-button/usage\\">use-datetime-picker-calendar-button</a> | Encourages makers to use calendar button in Atlassian Design System\'s date picker and datetime picker components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-drawer-label/usage\\">use-drawer-label</a> | Encourages to provide accessible name for Atlassian Design System Drawer component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-field-message-wrapper/usage\\">use-field-message-wrapper</a> | Encourage use of message wrapper component when using form message components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-heading/usage\\">use-heading</a> | Encourage the usage of heading components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-heading-level-in-spotlight-card/usage\\">use-heading-level-in-spotlight-card</a> | Inform developers of eventual requirement of `headingLevel` prop in `SpotlightCard` component. The heading level should be the appropriate level according to the surrounding context. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-href-in-link-item/usage\\">use-href-in-link-item</a> | Inform developers of eventual requirement of `href` prop in `LinkItem` component. Elements with a `link` role require an `href` attribute for users to properly navigate, particularly those using assistive technologies. If no valid `href` is required for your use case, consider using a `ButtonItem` instead. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-latest-xcss-syntax/usage\\">use-latest-xcss-syntax</a> | Enforces usage of space design tokens rather than hard-coded values in xcss. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-latest-xcss-syntax-typography/usage\\">use-latest-xcss-syntax-typography</a> | Prohibits use of unsafe styling properties in xcss. Please use Text/Heading primitives instead. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-menu-section-title/usage\\">use-menu-section-title</a> | Encourages makers to provide accessible title for Atlassian Design System Menu Section component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-modal-dialog-close-button/usage\\">use-modal-dialog-close-button</a> | Encourages makers to use close button in Atlassian Design System\'s modal dialog component. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-onboarding-spotlight-label/usage\\">use-onboarding-spotlight-label</a> | Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-popup-label/usage\\">use-popup-label</a> | Encourages to provide accessible name for Atlassian Design System Popup component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-primitives/usage\\">use-primitives</a> | Encourage the usage of primitives components. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-primitives-text/usage\\">use-primitives-text</a> | Encourage the usage of text components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-should-render-to-parent/usage\\">use-should-render-to-parent</a> | Encourages makers to use the `shouldRenderToParent` where possible in Atlassian Design System `Popup` and `DropdownMenu` components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-side-nav-items-package/usage\\">use-side-nav-items-package</a> | Use @atlaskit/side-nav-items instead of @atlaskit/navigation-system/side-nav-items. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-simple-field/usage\\">use-simple-field</a> | Encourage use of simple field for better developer experience and accessibility. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-simple-form/usage\\">use-simple-form</a> | Encourage use of simple form for better developer experience and accessibility. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-spotlight-package/usage\\">use-spotlight-package</a> | Discourage the use of @atlaskit/onboarding in favor of @atlaskit/spotlight. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tag-group-label/usage\\">use-tag-group-label</a> | Ensures tag groups are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-shape/usage\\">use-tokens-shape</a> | Enforces usage of shape design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-space/usage\\">use-tokens-space</a> | Enforces usage of space design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-typography/usage\\">use-tokens-typography</a> | Enforces usage of design tokens for typography properties rather than hard-coded values. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-visually-hidden/usage\\">use-visually-hidden</a> | Enforce usage of the visually hidden component. | Yes | Yes | |\\n\\n<!-- END_RULE_TABLE_CODEGEN -->\\n\\n\\n## Props\\n\\nUse the recommended config to get reasonable defaults recommended by the Atlassian Design System:\\n\\n```diff\\nmodule.exports = {\\n extends: [\\n+ \'plugin:@atlaskit/design-system/recommended\',\\n ],\\n};\\n```\\n\\nWe don\'t recommended maintaining your own configuration. If you do not use our config you will need\\nto specify individual rules and configuration. Add the plugin to your `eslint.config.cjs` file.\\n\\n```diff\\nmodule.exports = {\\n plugins: [\\n+ \'@atlaskit/design-system\',\\n ],\\n};\\n```\\n\\nEnable the rules that you would like to use.\\n\\n```diff\\nmodule.exports = {\\n rules: [\\n+ \'@atlaskit/design-system/no-deprecated-apis\': \'error\',\\n ],\\n};\\n```\\n"}',
48
+ content: '{"ruleName":"index","description":"---","content":"---\\norder: 0\\n---\\n\\nThis plugin contains rules that should be used when working with the\\n[Atlassian Design System](https://atlassian.design).\\n\\n## Rules\\n\\n<!-- START_RULE_TABLE_CODEGEN -->\\n<!-- @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen -->\\n\\n| Rule | Description | Recommended | Fixable | Suggestions |\\n| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------- | ----------- |\\n| <a href=\\"/components/eslint-plugin-design-system/consistent-css-prop-usage/usage\\">consistent-css-prop-usage</a> | Ensures consistency with `css` and `xcss` prop usages | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/enforce-inline-styles-in-select/usage\\">enforce-inline-styles-in-select</a> | Disallow unsupported CSS selectors in styles prop for @atlaskit/select and require inline styles only | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-avatar-tag-avatar-props/usage\\">ensure-avatar-tag-avatar-props</a> | Ensures AvatarTag avatar prop does not include controlled props (size, borderColor, appearance) which are managed internally. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-design-token-usage/usage\\">ensure-design-token-usage</a> | Enforces usage of design tokens rather than hard-coded values. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-design-token-usage-preview/usage\\">ensure-design-token-usage/preview</a> | Enforces usage of pre-release design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-icon-color/usage\\">ensure-icon-color</a> | Enforces that upcoming icon components have a color prop set, to enable a migration of the default value. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/ensure-proper-xcss-usage/usage\\">ensure-proper-xcss-usage</a> | Enforces proper xcss usage: migrate from xcss() to cssMap() and use cssMap objects with specific keys. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/icon-label/usage\\">icon-label</a> | Enforces accessible usage of icon labels when composed with Atlassian Design System components. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/lozenge-badge-tag-labelling-system-migration/usage\\">lozenge-badge-tag-labelling-system-migration</a> | Helps migrate Lozenge isBold prop, Badge appearance values, and SimpleTag/RemovableTag components as part of the Labelling System Phase 1 migration. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-banned-imports/usage\\">no-banned-imports</a> | Disallow importing banned modules. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-boolean-autofocus-on-modal-dialog/usage\\">no-boolean-autofocus-on-modal-dialog</a> | Encourages makers to not use boolean values for `autoFocus` on Atlassian Design System\'s modal dialog component. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-css-tagged-template-expression/usage\\">no-css-tagged-template-expression</a> | Disallows any `css` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-custom-icons/usage\\">no-custom-icons</a> | Enforces custom glyph icons are used. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-dark-theme-vr-tests/usage\\">no-dark-theme-vr-tests</a> | Disallow using dark colorScheme in VR tests. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-apis/usage\\">no-deprecated-apis</a> | Disallow using deprecated APIs. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-design-token-usage/usage\\">no-deprecated-design-token-usage</a> | Disallow using deprecated design tokens. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-deprecated-imports/usage\\">no-deprecated-imports</a> | Disallow importing deprecated modules. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-direct-use-of-web-platform-drag-and-drop/usage\\">no-direct-use-of-web-platform-drag-and-drop</a> | Disallow using direct use of native drag and drop (please use Pragmatic drag and drop) | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-emotion-primitives/usage\\">no-emotion-primitives</a> | Ensures usage of Compiled Primitives import instead of Emotion entrypoint. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-empty-styled-expression/usage\\">no-empty-styled-expression</a> | Forbids any styled expression to be used when passing empty arguments to styled.div() (or other JSX elements). | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-exported-css/usage\\">no-exported-css</a> | Forbid exporting `css` function calls. Exporting `css` function calls can result in unexpected behaviour at runtime, and is not statically analysable. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-exported-keyframes/usage\\">no-exported-keyframes</a> | Forbid exporting `keyframes` function calls. Exporting `css` function calls can result in unexpected behaviour at runtime, and is not statically analysable. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-anchor/usage\\">no-html-anchor</a> | Discourage direct usage of HTML anchor elements in favor of Atlassian Design System link components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-button/usage\\">no-html-button</a> | Discourage direct usage of HTML button elements in favor of Atlassian Design System button components. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-checkbox/usage\\">no-html-checkbox</a> | Discourage direct usage of HTML checkbox elements in favor of the Atlassian Design System checkbox component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-code/usage\\">no-html-code</a> | Discourage direct usage of HTML code elements in favor of the Atlassian Design System code component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-heading/usage\\">no-html-heading</a> | Discourage direct usage of HTML heading elements in favor of Atlassian Design System heading components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-image/usage\\">no-html-image</a> | Discourage direct usage of HTML image elements in favor of the Atlassian Design System image component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-radio/usage\\">no-html-radio</a> | Discourage direct usage of HTML radio elements in favor of the Atlassian Design System radio component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-range/usage\\">no-html-range</a> | Discourage direct usage of HTML range elements in favor of the Atlassian Design System range component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-select/usage\\">no-html-select</a> | Discourage direct usage of HTML select elements in favor of the Atlassian Design System select component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-text-input/usage\\">no-html-text-input</a> | Discourage direct usage of HTML text input elements in favor of the Atlassian Design System textfield component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-html-textarea/usage\\">no-html-textarea</a> | Discourage direct usage of HTML textarea elements in favor of the Atlassian Design System textarea component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-icon-spacing-prop/usage\\">no-icon-spacing-prop</a> | Disallows usage of the deprecated spacing prop on new icons. Use Flex with cssMap for spacing instead. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-invalid-css-map/usage\\">no-invalid-css-map</a> | Checks the validity of a CSS map created through cssMap. This is intended to be used alongside TypeScript\'s type-checking. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-keyframes-tagged-template-expression/usage\\">no-keyframes-tagged-template-expression</a> | Disallows any `keyframe` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-legacy-icons/usage\\">no-legacy-icons</a> | Enforces no legacy icons are used. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/no-margin/usage\\">no-margin</a> | Disallow using the margin CSS property. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-nested-styles/usage\\">no-nested-styles</a> | Disallows use of nested styles in `css` functions. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-physical-properties/usage\\">no-physical-properties</a> | Disallow physical properties and values in `css` and `cssMap` function calls. | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-placeholder/usage\\">no-placeholder</a> | Placeholders should not be used. If information should be given to the user about the proper type or formatting of a value, this should be included using a helper message that is associated to the input instead. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-separator-with-list-elements/usage\\">no-separator-with-list-elements</a> | Warn when the `separator` prop is used with `as=\\"li\\"`, `as=\\"ol\\"`, or `as=\\"dl\\"` in the Inline component. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-styled-tagged-template-expression/usage\\">no-styled-tagged-template-expression</a> | Disallows any `styled` tagged template expressions that originate from Emotion, Styled Components or Compiled | | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-to-match-snapshot/usage\\">no-to-match-snapshot</a> | Disallow using toMatchSnapshot() in favor of toMatchInlineSnapshot(). See https://hello.atlassian.net/wiki/spaces/DST/pages/6105892000/DSTRFC-038+-+Removal+of+.toMatchSnapshot for rationale. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-design-token-usage/usage\\">no-unsafe-design-token-usage</a> | Enforces design token usage is statically and locally analyzable. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-inline-snapshot/usage\\">no-unsafe-inline-snapshot</a> | Enforce guardrails on toMatchInlineSnapshot usage: snapshots must not exceed 100 lines and must not contain internal implementation details like className or style attributes. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsafe-style-overrides/usage\\">no-unsafe-style-overrides</a> | Discourage usage of unsafe style overrides used against the Atlassian Design System. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unsupported-drag-and-drop-libraries/usage\\">no-unsupported-drag-and-drop-libraries</a> | Disallow importing unsupported drag and drop modules. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/no-unused-css-map/usage\\">no-unused-css-map</a> | Detects unused styles in cssMap objects to help keep code clean. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/prefer-primitives/usage\\">prefer-primitives</a> | Increase awareness of primitive components via code hints. Strictly used for education purposes and discoverability. To enforce usage please refer to the `use-primitives` rule. | | | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-button-group-label/usage\\">use-button-group-label</a> | Ensures button groups are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-character-counter-field/usage\\">use-character-counter-field</a> | Suggests using CharacterCounterField or CharacterCounter when Textfield or Textarea components have maxLength or minLength props. | Yes | | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-correct-field/usage\\">use-correct-field</a> | Ensure makers use appropriate field component for their respective form elements. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-cx-function-in-xcss/usage\\">use-cx-function-in-xcss</a> | Enforces cx function use to combine styles in xcss. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-datetime-picker-calendar-button/usage\\">use-datetime-picker-calendar-button</a> | Encourages makers to use calendar button in Atlassian Design System\'s date picker and datetime picker components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-drawer-label/usage\\">use-drawer-label</a> | Encourages to provide accessible name for Atlassian Design System Drawer component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-field-message-wrapper/usage\\">use-field-message-wrapper</a> | Encourage use of message wrapper component when using form message components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-heading/usage\\">use-heading</a> | Encourage the usage of heading components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-heading-level-in-spotlight-card/usage\\">use-heading-level-in-spotlight-card</a> | Inform developers of eventual requirement of `headingLevel` prop in `SpotlightCard` component. The heading level should be the appropriate level according to the surrounding context. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-href-in-link-item/usage\\">use-href-in-link-item</a> | Inform developers of eventual requirement of `href` prop in `LinkItem` component. Elements with a `link` role require an `href` attribute for users to properly navigate, particularly those using assistive technologies. If no valid `href` is required for your use case, consider using a `ButtonItem` instead. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-latest-xcss-syntax/usage\\">use-latest-xcss-syntax</a> | Enforces usage of space design tokens rather than hard-coded values in xcss. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-latest-xcss-syntax-typography/usage\\">use-latest-xcss-syntax-typography</a> | Prohibits use of unsafe styling properties in xcss. Please use Text/Heading primitives instead. | Yes | Yes | |\\n| <a href=\\"/components/eslint-plugin-design-system/use-menu-section-title/usage\\">use-menu-section-title</a> | Encourages makers to provide accessible title for Atlassian Design System Menu Section component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-modal-dialog-close-button/usage\\">use-modal-dialog-close-button</a> | Encourages makers to use close button in Atlassian Design System\'s modal dialog component. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-onboarding-spotlight-label/usage\\">use-onboarding-spotlight-label</a> | Ensures onboarding spotlight dialogs are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-popup-label/usage\\">use-popup-label</a> | Encourages to provide accessible name for Atlassian Design System Popup component. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-primitives/usage\\">use-primitives</a> | Encourage the usage of primitives components. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-primitives-text/usage\\">use-primitives-text</a> | Encourage the usage of text components. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-should-render-to-parent/usage\\">use-should-render-to-parent</a> | Encourages makers to use the `shouldRenderToParent` where possible in Atlassian Design System `Popup` and `DropdownMenu` components. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-simple-field/usage\\">use-simple-field</a> | Encourage use of simple field for better developer experience and accessibility. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-simple-form/usage\\">use-simple-form</a> | Encourage use of simple form for better developer experience and accessibility. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-spotlight-package/usage\\">use-spotlight-package</a> | Discourage the use of @atlaskit/onboarding in favor of @atlaskit/spotlight. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tag-group-label/usage\\">use-tag-group-label</a> | Ensures tag groups are described to assistive technology by a direct label or by another element. | Yes | | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-shape/usage\\">use-tokens-shape</a> | Enforces usage of shape design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-space/usage\\">use-tokens-space</a> | Enforces usage of space design tokens rather than hard-coded values. | | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-tokens-typography/usage\\">use-tokens-typography</a> | Enforces usage of design tokens for typography properties rather than hard-coded values. | Yes | Yes | Yes |\\n| <a href=\\"/components/eslint-plugin-design-system/use-visually-hidden/usage\\">use-visually-hidden</a> | Enforce usage of the visually hidden component. | Yes | Yes | |\\n\\n<!-- END_RULE_TABLE_CODEGEN -->\\n\\n\\n## Props\\n\\nUse the recommended config to get reasonable defaults recommended by the Atlassian Design System:\\n\\n```diff\\nmodule.exports = {\\n extends: [\\n+ \'plugin:@atlaskit/design-system/recommended\',\\n ],\\n};\\n```\\n\\nWe don\'t recommended maintaining your own configuration. If you do not use our config you will need\\nto specify individual rules and configuration. Add the plugin to your `eslint.config.cjs` file.\\n\\n```diff\\nmodule.exports = {\\n plugins: [\\n+ \'@atlaskit/design-system\',\\n ],\\n};\\n```\\n\\nEnable the rules that you would like to use.\\n\\n```diff\\nmodule.exports = {\\n rules: [\\n+ \'@atlaskit/design-system/no-deprecated-apis\': \'error\',\\n ],\\n};\\n```\\n"}',
49
49
  ruleName: 'index',
50
50
  description: '---'
51
51
  }, {
@@ -160,6 +160,10 @@ export var lintRulesMcpStructuredContent = [{
160
160
  content: '{"ruleName":"no-html-textarea","description":"Don\'t use native HTML textarea elements. The Atlassian Design System provides a ready-made textarea","content":"# no-html-textarea\\n\\nDon\'t use native HTML textarea elements. The Atlassian Design System provides a ready-made textarea\\ncomponent that includes event tracking, ensures accessible implementations, and provides access to\\nADS styling features like design tokens.\\n\\nUse the Atlassian Design System [Textarea](/components/textarea/) component when suitable.\\n\\n## Examples\\n\\nThis rule marks code as violations when it finds native HTML code elements.\\n\\n### Incorrect\\n\\n```jsx\\n<label htmlFor=\\"textarea\\">Share your feedback</label>\\n<textarea id=\\"textarea\\"></textarea>\\n ^^^^^^^^ Using a native HTML `<textarea>`\\n```\\n\\n### Correct\\n\\n```jsx\\nimport Textarea from \'@atlaskit/textarea\';\\n\\n<label htmlFor=\\"textarea\\">Share your feedback</label>\\n<Textarea id=\\"textarea\\" />\\n```\\n"}',
161
161
  ruleName: 'no-html-textarea',
162
162
  description: "Don't use native HTML textarea elements. The Atlassian Design System provides a ready-made textarea"
163
+ }, {
164
+ content: '{"ruleName":"no-icon-spacing-prop","description":"Disallows usage of the deprecated `spacing` prop on icon components from `@atlaskit/icon/core` and","content":"# no-icon-spacing-prop\\n\\nDisallows usage of the deprecated `spacing` prop on icon components from `@atlaskit/icon/core` and\\n`@atlaskit/icon-lab/core`.\\n\\nThe `spacing` prop is deprecated. Wrap the icon in a `Flex` from `@atlaskit/primitives/compiled`\\nwith `cssMap` padding from `@atlaskit/css` instead.\\n\\n## Examples\\n\\n### Incorrect\\n\\n```tsx\\nimport AddIcon from \'@atlaskit/icon/core/add\';\\n\\n// ❌ Using deprecated spacing prop\\n<AddIcon label=\\"Add\\" spacing=\\"spacious\\" />\\n<AddIcon label=\\"Add\\" spacing=\\"compact\\" />\\n```\\n\\n### Correct\\n\\n```tsx\\n/** @jsxRuntime classic */\\n/** @jsx jsx */\\nimport { cssMap, jsx } from \'@atlaskit/css\';\\nimport AddIcon from \'@atlaskit/icon/core/add\';\\nimport { Flex } from \'@atlaskit/primitives/compiled\';\\nimport { token } from \'@atlaskit/tokens\';\\n\\nconst iconSpacingStyles = cssMap({\\n space050: {\\n paddingBlock: token(\'space.050\'),\\n paddingInline: token(\'space.050\'),\\n },\\n});\\n\\n// ✅ Using Flex with cssMap for spacing\\n<Flex xcss={iconSpacingStyles.space050}>\\n <AddIcon label=\\"Add\\" />\\n</Flex>\\n\\n// ✅ No spacing needed (spacing=\\"none\\")\\n<AddIcon label=\\"Add\\" />\\n```\\n\\n## Migration\\n\\nUse the `next-icon-spacing-to-flex-primitive` codemod via `npx @atlaskit/codemod-cli` to migrate\\nautomatically, or use the 💡 IDE quick-fix suggestion from this ESLint rule.\\n\\nSpacing token reference:\\n\\n| `spacing` value | Icon size | Token | Result |\\n| --------------- | ------------- | ----------- | --------------------------- |\\n| `spacious` | medium (16px) | `space.050` | 4px padding → 24px total |\\n| `compact` | medium (16px) | `space.050` | 4px padding → 24px total |\\n| `spacious` | small (12px) | `space.075` | 6px padding → 24px total |\\n| `compact` | small (12px) | `space.025` | 2px padding → 16px total |\\n| `none` | any | — | Remove prop, no Flex needed |\\n"}',
165
+ ruleName: 'no-icon-spacing-prop',
166
+ description: 'Disallows usage of the deprecated `spacing` prop on icon components from `@atlaskit/icon/core` and'
163
167
  }, {
164
168
  content: "{\"ruleName\":\"no-invalid-css-map\",\"description\":\"Ensure that all usages of the `cssMap` API are valid, and enforces the format of the object that is\",\"content\":\"# no-invalid-css-map\\n\\nEnsure that all usages of the `cssMap` API are valid, and enforces the format of the object that is\\npassed to `cssMap`.\\n\\nPlease refer to the [Compiled documentation](https://compiledcssinjs.com/docs/api-cssmap) for more\\ndetails and some examples.\\n\\nNote that this version of the `no-invalid-css-map` rule differs from\\n`@compiled/eslint-plugin/no-invalid-css-map` in that this will apply to both `@compiled/react` and\\n`@atlaskit/css`.\\n\\nThis is intended to be used in conjunction with type checking (through TypeScript).\\n\\n## Examples\\n\\n### Incorrect\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\n\\n// cssMap needs to be declared in the top-most scope.\\n// (not within a function, class, etc.)\\n\\nconst Foo = () => {\\n\\tconst bar = cssMap({\\n\\t\\tdanger: {\\n\\t\\t\\tcolor: 'red',\\n\\t\\t},\\n\\t});\\n};\\n```\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\nimport { importedVariable, importedFunction } from 'another-package';\\n\\n// Cannot use imported functions as values in cssMap.\\n\\nconst myVariable = importedFunction();\\n\\nconst styles = cssMap({\\n\\tdanger: {\\n\\t\\t// Both invalid because they rely on an imported function.\\n\\t\\tcolor: myVariable,\\n\\t\\tpadding: importedFunction(),\\n\\t},\\n});\\n```\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\n\\n// Cannot export usages of cssMap.\\n// Any usages of cssMap must be in the same file.\\n\\nexport const foo = cssMap({\\n\\tdanger: {\\n\\t\\tcolor: 'red',\\n\\t},\\n});\\n```\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\nimport { token } from '@atlaskit/tokens';\\n\\n// Functions and object methods are not allowed as\\n// values in cssMap.\\n\\nconst styles = cssMap({\\n\\t// Object method\\n\\tget danger() {\\n\\t\\treturn { color: '#123456' };\\n\\t},\\n});\\n\\nconst styles2 = cssMap({\\n\\t// Arrow function\\n\\tdanger: () => {\\n\\t\\tcolor: '#123456';\\n\\t},\\n});\\n\\nfunction customFunction(...args) {\\n\\treturn arguments.join('');\\n}\\n\\nconst styles3 = cssMap({\\n\\tdanger: {\\n\\t\\t// Locally defined function\\n\\t\\tcolor: customFunction('red', 'blue'),\\n\\t\\tbackgroundColor: 'red',\\n\\t},\\n});\\n```\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\n\\n// Spread elements (\\\"...\\\") cannot be used in cssMap.\\n\\nconst base = {\\n\\tsuccess: {\\n\\t\\tcolor: 'green',\\n\\t},\\n};\\n\\nconst bar = cssMap({\\n\\t...base,\\n\\tdanger: {\\n\\t\\tcolor: 'red',\\n\\t},\\n});\\n```\\n\\n### Correct\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\n\\n// Literals (strings, numbers, etc.) are used as values\\n// in cssMap.\\n\\nconst styles = cssMap({\\n\\tdanger: {\\n\\t\\tcolor: 'red',\\n\\t\\tbackgroundColor: 'red',\\n\\t},\\n\\tsuccess: {\\n\\t\\tcolor: 'green',\\n\\t\\tbackgroundColor: 'green',\\n\\t},\\n});\\n```\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\n\\n// A statically evaluable variable (known at build time)\\n// is used here.\\n\\nconst bap = 'blue';\\n\\nconst styles = cssMap({\\n\\tdanger: {\\n\\t\\tcolor: bap,\\n\\t},\\n});\\n```\\n\\n### Options\\n\\n#### `allowedFunctionCalls`: [string, string][]\\n\\nNormally, this ESLint rule forbids all function calls from being used inside the `cssMap(...)`\\nfunction call. For example, this would be invalid using default settings:\\n\\n```tsx\\nimport React from 'react';\\nimport { cssMap } from '@compiled/react';\\nimport { token } from '@atlaskit/tokens';\\n\\nconst styles = cssMap({\\n\\tdanger: {\\n\\t\\tcolor: token('my-color'),\\n\\t\\tbackgroundColor: 'red',\\n\\t},\\n\\tsuccess: {\\n\\t\\tcolor: 'green',\\n\\t},\\n});\\n```\\n\\nIf you would like to whitelist certain functions (e.g. `token` from `@atlaskit/tokens`), you can\\ninclude the names of the functions as part of the `allowedFunctionCalls` argument. Each function\\nshould be represented as a two-element array, with the first element being the package the function\\nis from, and the second element being the name of the function.\\n\\nFor example, with the below configuration, the above code example would be okay.\\n\\n```tsx\\n// eslint.config.cjs\\n\\n// ...\\n rules: {\\n '@atlaskit/eslint-plugin-design-system/no-invalid-css-map': [\\n 'error',\\n {\\n allowedFunctionCalls: [\\n ['@atlaskit/tokens', 'token'],\\n ]\\n },\\n ],\\n // ...\\n },\\n// ...\\n```\\n\\nPlease note that this ESLint rule only supports whitelisting imports in the form\\n`import { myFunctionOrVariable } from 'my-package'`; we do not currently support whitelisting\\ndefault imports, so `import myFunctionOrVariable from 'my-package'` would always be invalid when\\nused in `cssMap`.\\n\"}",
165
169
  ruleName: 'no-invalid-css-map',
@@ -308,10 +312,6 @@ export var lintRulesMcpStructuredContent = [{
308
312
  content: '{"ruleName":"use-should-render-to-parent","description":"Popups and dropdown menus render to portals by default. This puts their content outside of the","content":"# use-should-render-to-parent\\n\\nPopups and dropdown menus render to portals by default. This puts their content outside of the\\nstandard DOM order which creates accessibility issues for users.\\n\\n## Examples\\n\\nThis rule will indicate user with a recommendation to use the `shouldRenderToParent` prop set to\\n`true`.\\n\\n### Incorrect\\n\\n```tsx\\n<Popup>\\n ^^^^^ The default value of `shouldRenderToParent` is `false`. Setting the `shouldRenderToParent` prop to anything other than `true` causes accessibility issues. Only set to `false` as a last resort.\\n Popup content\\n</Popup>\\n\\n<DropdownMenu>\\n ^^^^^^^^^^^^ The default value of `shouldRenderToParent` is `false`. Setting the `shouldRenderToParent` prop to anything other than `true` causes accessibility issues. Only set to `false` as a last resort.\\n Dropdown content\\n</DropdownMenu>\\n\\n<Popup shouldRenderToParent={false}>\\n ^^^^^^^^^^^^^^^^^^^^ Setting the `shouldRenderToParent` prop to anything other than `true` causes accessibility issues. Only set to `false` as a last resort.\\n Popup content\\n</Popup>\\n```\\n\\n### Correct\\n\\n```tsx\\n<Popup shouldRenderToParent>\\n Popup content\\n</Popup>\\n\\n<DropdownMenu shouldRenderToParent>\\n Dropdown content\\n</DropdownMenu>\\n```\\n"}',
309
313
  ruleName: 'use-should-render-to-parent',
310
314
  description: 'Popups and dropdown menus render to portals by default. This puts their content outside of the'
311
- }, {
312
- content: "{\"ruleName\":\"use-side-nav-items-package\",\"description\":\"This rule raises a violation for usages of `@atlaskit/navigation-system/side-nav-items/*` or for\",\"content\":\"# use-side-nav-items-package\\n\\n## Examples\\n\\nThis rule raises a violation for usages of `@atlaskit/navigation-system/side-nav-items/*` or for\\nimporting side-nav item names from the root `@atlaskit/navigation-system` barrel. This is to assist\\nwith the migration to the dedicated package `@atlaskit/side-nav-items`.\\n\\n### Incorrect\\n\\n```jsx\\nimport { ButtonMenuItem } from '@atlaskit/navigation-system/side-nav-items/button-menu-item';\\nimport { MenuList } from '@atlaskit/navigation-system/side-nav-items/menu-list';\\nimport { ButtonMenuItem, MenuList } from '@atlaskit/navigation-system';\\n```\\n\\n### Correct\\n\\n```jsx\\nimport { ButtonMenuItem } from '@atlaskit/side-nav-items/button-menu-item';\\nimport { MenuList } from '@atlaskit/side-nav-items/menu-list';\\nimport { Main, Root } from '@atlaskit/navigation-system';\\nimport { ButtonMenuItem, MenuList } from '@atlaskit/side-nav-items/button-menu-item';\\nimport { MenuList } from '@atlaskit/side-nav-items/menu-list';\\n```\\n\"}",
313
- ruleName: 'use-side-nav-items-package',
314
- description: 'This rule raises a violation for usages of `@atlaskit/navigation-system/side-nav-items/*` or for'
315
315
  }, {
316
316
  content: '{"ruleName":"use-simple-field","description":"Simple field implementations should be used when extended features or complex implementations are","content":"# use-simple-field\\n\\nSimple field implementations should be used when extended features or complex implementations are\\nnot needed.\\n\\n## Examples\\n\\nThis rule marks code as a violation when it finds Design System field components that have:\\n\\n- no render props or there’s only fieldProps\\n- no messaging components.\\n\\n### Incorrect\\n\\n```jsx\\nimport { Field } from \'@atlaskit/form\';\\nimport TextField from \'@atlaskit/textfield\';\\n\\n<Field name=\\"username\\" label=\\"Username\\">\\n\\t{({ fieldProps }) => <TextField {...fieldProps} />}\\n</Field>;\\n```\\n\\n### Correct\\n\\n```jsx\\nimport { Field } from \'@atlaskit/form\';\\nimport TextField from \'@atlaskit/textfield\';\\n\\n<Field\\n\\tname=\\"username\\"\\n\\tlabel=\\"Username\\"\\n\\tcomponent={({ fieldProps }) => <TextField {...fieldProps} />}\\n/>;\\n```\\n"}',
317
317
  ruleName: 'use-simple-field',
@@ -5,7 +5,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
5
  import Fuse from 'fuse.js';
6
6
  import { z } from 'zod';
7
7
  import { cleanQuery, zodToJsonSchema } from '../../helpers';
8
- import { components } from '../get-components/components';
8
+ import { loadAllComponents } from '../get-components/load-all-components';
9
9
  export var searchComponentsInputSchema = z.object({
10
10
  terms: z.array(z.string()).describe('An array of search terms to find components by name, package name, description, or example, eg. `["button", "input", "select"]`'),
11
11
  limit: z.number().default(1).describe('Maximum number of results per search term in the array (default: 1)').optional(),
@@ -35,7 +35,7 @@ var cleanComponentResult = function cleanComponentResult(result) {
35
35
  };
36
36
  export var searchComponentsTool = /*#__PURE__*/function () {
37
37
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
38
- var terms, _params$limit, limit, _params$exactName, exactName, searchTerms, exactNameMatches, fuse, results, uniqueResults;
38
+ var terms, _params$limit, limit, _params$exactName, exactName, searchTerms, components, exactNameMatches, fuse, results, uniqueResults;
39
39
  return _regeneratorRuntime.wrap(function _callee$(_context) {
40
40
  while (1) switch (_context.prev = _context.next) {
41
41
  case 0:
@@ -53,8 +53,9 @@ export var searchComponentsTool = /*#__PURE__*/function () {
53
53
  }]
54
54
  });
55
55
  case 4:
56
+ components = loadAllComponents();
56
57
  if (!exactName) {
57
- _context.next = 8;
58
+ _context.next = 9;
58
59
  break;
59
60
  }
60
61
  // for each search term, search for the exact match
@@ -64,7 +65,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
64
65
  });
65
66
  }).filter(Boolean);
66
67
  if (!(exactNameMatches.length > 0)) {
67
- _context.next = 8;
68
+ _context.next = 9;
68
69
  break;
69
70
  }
70
71
  return _context.abrupt("return", {
@@ -73,7 +74,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
73
74
  text: JSON.stringify(exactNameMatches.map(cleanComponentResult))
74
75
  }]
75
76
  });
76
- case 8:
77
+ case 9:
77
78
  // use Fuse.js to fuzzy-search through the components
78
79
  fuse = new Fuse(components, {
79
80
  keys: [{
@@ -107,7 +108,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
107
108
  return fuse.search(term).slice(0, limit);
108
109
  }).flat();
109
110
  if (results.length) {
110
- _context.next = 12;
111
+ _context.next = 13;
111
112
  break;
112
113
  }
113
114
  return _context.abrupt("return", {
@@ -119,7 +120,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
119
120
  }).join(', '))
120
121
  }]
121
122
  });
122
- case 12:
123
+ case 13:
123
124
  // Remove duplicates based on component name
124
125
  uniqueResults = results.filter(function (result, index, arr) {
125
126
  return arr.findIndex(function (r) {
@@ -134,7 +135,7 @@ export var searchComponentsTool = /*#__PURE__*/function () {
134
135
  }).map(cleanComponentResult))
135
136
  }]
136
137
  });
137
- case 14:
138
+ case 15:
138
139
  case "end":
139
140
  return _context.stop();
140
141
  }
@@ -1,33 +1,16 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
3
  /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
5
4
 
6
5
  import Fuse from 'fuse.js';
7
6
  import { z } from 'zod';
8
- import { coreIconMetadata } from '@atlaskit/icon/metadata';
9
7
  import { cleanQuery, zodToJsonSchema } from '../../helpers';
8
+ import { icons } from '../get-all-icons/icons';
10
9
  export var searchIconsInputSchema = z.object({
11
10
  terms: z.array(z.string()).describe('An array of search terms to find icons by name, keywords, or categorization, eg. `["search", "folder", "user"]`'),
12
11
  limit: z.number().default(1).describe('Maximum number of results per search term in the array (default: 1)').optional(),
13
12
  exactName: z.boolean().default(false).describe('Enable to explicitly search icons by the exact name match (when you know the name, but need more details)').optional()
14
13
  });
15
- var icons = Object.entries(coreIconMetadata).map(function (_ref) {
16
- var _ref2 = _slicedToArray(_ref, 2),
17
- _key = _ref2[0],
18
- icon = _ref2[1];
19
- return {
20
- componentName: icon.componentName,
21
- package: icon.package,
22
- categorization: icon.categorization,
23
- keywords: icon.keywords,
24
- status: icon.status,
25
- usage: icon.usage,
26
- shouldRecommendSmallIcon: icon.shouldRecommendSmallIcon
27
- };
28
- }).filter(function (icon) {
29
- return icon.status === 'published';
30
- });
31
14
  export var listSearchIconsTool = {
32
15
  name: 'ads_search_icons',
33
16
  description: "Search for Atlassian Design System icons.\n\nExample icon usage:\n```tsx\nimport AddIcon from '@atlaskit/icon/core/add';\n<AddIcon label=\"Add work item\" size=\"small\" />\n```",
@@ -41,7 +24,7 @@ export var listSearchIconsTool = {
41
24
  inputSchema: zodToJsonSchema(searchIconsInputSchema)
42
25
  };
43
26
  export var searchIconsTool = /*#__PURE__*/function () {
44
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
27
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
45
28
  var terms, _params$limit, limit, _params$exactName, exactName, searchTerms, exactNameMatches, fuse, results, uniqueResults, matchedIcons;
46
29
  return _regeneratorRuntime.wrap(function _callee$(_context) {
47
30
  while (1) switch (_context.prev = _context.next) {
@@ -156,6 +139,6 @@ export var searchIconsTool = /*#__PURE__*/function () {
156
139
  }, _callee);
157
140
  }));
158
141
  return function searchIconsTool(_x) {
159
- return _ref3.apply(this, arguments);
142
+ return _ref.apply(this, arguments);
160
143
  };
161
144
  }();
@@ -0,0 +1,11 @@
1
+ export type IconMCPSchema = {
2
+ keywords: string[];
3
+ componentName: string;
4
+ package: string;
5
+ categorization: 'single-purpose' | 'multi-purpose';
6
+ team: string;
7
+ status?: 'draft' | 'ready-to-publish' | 'published' | 'modified' | 'deprecated' | undefined;
8
+ usage?: string | undefined;
9
+ shouldRecommendSmallIcon?: boolean | undefined;
10
+ };
11
+ export declare const icons: IconMCPSchema[];
@@ -0,0 +1,7 @@
1
+ export type TokenMCPSchema = {
2
+ name: string;
3
+ path: string[];
4
+ description: string;
5
+ exampleValue: string;
6
+ };
7
+ export declare const tokens: TokenMCPSchema[];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
+ *
4
+ * Structured content components from design-system *.docs.tsx files
5
+ *
6
+ * @codegen <<SignedSource::e95f33d4763be141adff38f29074981c>>
7
+ * @codegenCommand yarn workspace @af/ads-ai-tooling codegen:structured-docs-components
8
+ */
9
+ import type { ComponentMcpPayload } from './types';
10
+ export declare const components: ComponentMcpPayload[];
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates TypeScript components data for AI tooling from offerings.json files
5
5
  *
6
- * @codegen <<SignedSource::1d781f4539138bf6cabcd8c01b207b06>>
6
+ * @codegen <<SignedSource::8e120a2eb2205e4c89f4bdddbf4e436f>>
7
7
  * @codegenCommand yarn workspace @af/ads-ai-tooling codegen:prototyping
8
8
  */
9
9
  import type { Component } from './types';
@@ -0,0 +1,2 @@
1
+ import type { ComponentMcpPayload } from './types';
2
+ export declare function loadAllComponents(): ComponentMcpPayload[];
@@ -1,20 +1,26 @@
1
- interface Prop {
1
+ export type ComponentStatus = 'release-candidate' | 'early-access' | 'open-beta' | 'general-availability' | 'intent-to-deprecate' | 'deprecated' | 'unmaintained';
2
+ export type ComponentProps = {
2
3
  name: string;
3
- description: string;
4
4
  type: string;
5
- exampleValue?: string;
6
- }
7
- export interface Component {
5
+ description?: string;
6
+ isRequired?: boolean;
7
+ isDeprecated?: boolean;
8
+ defaultValue?: string;
9
+ };
10
+ export type ComponentMcpPayload = {
8
11
  name: string;
9
- package: `@${'atlaskit' | 'atlassian'}/${string}`;
10
- keywords: string[];
11
- category: string;
12
12
  description: string;
13
- status: string;
14
- examples: string[];
15
- accessibilityGuidelines?: string[];
13
+ status: ComponentStatus;
16
14
  usageGuidelines?: string[];
17
15
  contentGuidelines?: string[];
18
- props?: Prop[];
19
- }
20
- export {};
16
+ accessibilityGuidelines?: string[];
17
+ keywords: string[];
18
+ package: string;
19
+ examples: string[];
20
+ props: ComponentProps[] | undefined;
21
+ category: string;
22
+ };
23
+ /**
24
+ * Re-exported to save rebuilding existing codegen.
25
+ */
26
+ export type Component = ComponentMcpPayload;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Structured content for content guidelines from design-system-docs foundations content.
5
5
  *
6
- * @codegen <<SignedSource::4f7efe5f3afd0bc4b8832adf32e729d9>>
6
+ * @codegen <<SignedSource::50b9bf501530f3bf94e6e4dece48d956>>
7
7
  * @codegenCommand yarn build structured-docs
8
8
  */
9
9
  export interface GuidelineStructuredContent {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Structured content for MCP (JSON) for ESLint rule docs from constellation.
5
5
  *
6
- * @codegen <<SignedSource::31ccbe611e32ed18b0d8477d40030cbc>>
6
+ * @codegen <<SignedSource::a2a44589058cd6aac45502ef8b3ba132>>
7
7
  * @codegenCommand yarn build structured-docs
8
8
  */
9
9
  export interface LintRuleStructuredContent {
@@ -0,0 +1,11 @@
1
+ export type IconMCPSchema = {
2
+ keywords: string[];
3
+ componentName: string;
4
+ package: string;
5
+ categorization: 'single-purpose' | 'multi-purpose';
6
+ team: string;
7
+ status?: 'draft' | 'ready-to-publish' | 'published' | 'modified' | 'deprecated' | undefined;
8
+ usage?: string | undefined;
9
+ shouldRecommendSmallIcon?: boolean | undefined;
10
+ };
11
+ export declare const icons: IconMCPSchema[];
@@ -0,0 +1,7 @@
1
+ export type TokenMCPSchema = {
2
+ name: string;
3
+ path: string[];
4
+ description: string;
5
+ exampleValue: string;
6
+ };
7
+ export declare const tokens: TokenMCPSchema[];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
+ *
4
+ * Structured content components from design-system *.docs.tsx files
5
+ *
6
+ * @codegen <<SignedSource::e95f33d4763be141adff38f29074981c>>
7
+ * @codegenCommand yarn workspace @af/ads-ai-tooling codegen:structured-docs-components
8
+ */
9
+ import type { ComponentMcpPayload } from './types';
10
+ export declare const components: ComponentMcpPayload[];
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates TypeScript components data for AI tooling from offerings.json files
5
5
  *
6
- * @codegen <<SignedSource::1d781f4539138bf6cabcd8c01b207b06>>
6
+ * @codegen <<SignedSource::8e120a2eb2205e4c89f4bdddbf4e436f>>
7
7
  * @codegenCommand yarn workspace @af/ads-ai-tooling codegen:prototyping
8
8
  */
9
9
  import type { Component } from './types';
@@ -0,0 +1,2 @@
1
+ import type { ComponentMcpPayload } from './types';
2
+ export declare function loadAllComponents(): ComponentMcpPayload[];
@@ -1,20 +1,26 @@
1
- interface Prop {
1
+ export type ComponentStatus = 'release-candidate' | 'early-access' | 'open-beta' | 'general-availability' | 'intent-to-deprecate' | 'deprecated' | 'unmaintained';
2
+ export type ComponentProps = {
2
3
  name: string;
3
- description: string;
4
4
  type: string;
5
- exampleValue?: string;
6
- }
7
- export interface Component {
5
+ description?: string;
6
+ isRequired?: boolean;
7
+ isDeprecated?: boolean;
8
+ defaultValue?: string;
9
+ };
10
+ export type ComponentMcpPayload = {
8
11
  name: string;
9
- package: `@${'atlaskit' | 'atlassian'}/${string}`;
10
- keywords: string[];
11
- category: string;
12
12
  description: string;
13
- status: string;
14
- examples: string[];
15
- accessibilityGuidelines?: string[];
13
+ status: ComponentStatus;
16
14
  usageGuidelines?: string[];
17
15
  contentGuidelines?: string[];
18
- props?: Prop[];
19
- }
20
- export {};
16
+ accessibilityGuidelines?: string[];
17
+ keywords: string[];
18
+ package: string;
19
+ examples: string[];
20
+ props: ComponentProps[] | undefined;
21
+ category: string;
22
+ };
23
+ /**
24
+ * Re-exported to save rebuilding existing codegen.
25
+ */
26
+ export type Component = ComponentMcpPayload;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Structured content for content guidelines from design-system-docs foundations content.
5
5
  *
6
- * @codegen <<SignedSource::4f7efe5f3afd0bc4b8832adf32e729d9>>
6
+ * @codegen <<SignedSource::50b9bf501530f3bf94e6e4dece48d956>>
7
7
  * @codegenCommand yarn build structured-docs
8
8
  */
9
9
  export interface GuidelineStructuredContent {