@atlaskit/ads-mcp 0.20.2 → 0.20.4

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 (430) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/entry-points/analyze-a11y.js +40 -0
  3. package/dist/cjs/entry-points/get-a11y-guidelines.js +26 -0
  4. package/dist/cjs/entry-points/get-all-components.js +19 -0
  5. package/dist/cjs/entry-points/get-all-icons.js +19 -0
  6. package/dist/cjs/entry-points/get-all-tokens.js +19 -0
  7. package/dist/cjs/entry-points/get-atlaskit-components.js +19 -0
  8. package/dist/cjs/entry-points/get-guidelines.js +26 -0
  9. package/dist/cjs/entry-points/get-lint-rules.js +26 -0
  10. package/dist/cjs/entry-points/i18n-conversion.js +26 -0
  11. package/dist/cjs/entry-points/migration-guides.js +26 -0
  12. package/dist/cjs/entry-points/plan.js +26 -0
  13. package/dist/cjs/entry-points/search-atlaskit-components.js +26 -0
  14. package/dist/cjs/entry-points/search-components.js +26 -0
  15. package/dist/cjs/entry-points/search-icons.js +26 -0
  16. package/dist/cjs/entry-points/search-tokens.js +26 -0
  17. package/dist/cjs/entry-points/suggest-a11y-fixes.js +26 -0
  18. package/dist/cjs/helpers/agent.js +9 -0
  19. package/dist/cjs/helpers/clean-query.js +10 -0
  20. package/dist/cjs/helpers/index.js +14 -11
  21. package/dist/cjs/helpers/send-operational-event.js +56 -0
  22. package/dist/cjs/helpers/validation.js +2 -2
  23. package/dist/cjs/helpers/zod-to-json-schema.js +12 -0
  24. package/dist/cjs/index.js +127 -85
  25. package/dist/cjs/tools/analyze-a11y/analyze-a11y-input-schema.js +13 -0
  26. package/dist/cjs/tools/analyze-a11y/analyze-a11y-localhost-input-schema.js +13 -0
  27. package/dist/cjs/tools/analyze-a11y/analyze-a11y-tool.js +242 -0
  28. package/dist/cjs/tools/analyze-a11y/analyze-localhost-a11y-tool.js +214 -0
  29. package/dist/cjs/tools/analyze-a11y/generate-ads-fix-for-violation.js +32 -0
  30. package/dist/cjs/tools/analyze-a11y/list-analyze-a11y-tool.js +20 -0
  31. package/dist/cjs/tools/analyze-a11y/list-analyze-localhost-a11y-tool.js +20 -0
  32. package/dist/cjs/tools/get-a11y-guidelines/get-a11y-guidelines-input-schema.js +14 -0
  33. package/dist/cjs/tools/get-a11y-guidelines/{index.js → get-a11y-guidelines-tool.js} +1 -18
  34. package/dist/cjs/tools/get-a11y-guidelines/list-get-a11y-guidelines-tool.js +22 -0
  35. package/dist/cjs/tools/get-all-components/components.codegen.js +2 -2
  36. package/dist/cjs/tools/get-all-components/{index.js → get-all-components-tool.js} +1 -15
  37. package/dist/cjs/tools/get-all-components/list-get-all-components-tool.js +22 -0
  38. package/dist/cjs/tools/get-all-icons/{index.js → get-all-icons-tool.js} +1 -15
  39. package/dist/cjs/tools/get-all-icons/list-get-all-icons-tool.js +22 -0
  40. package/dist/cjs/tools/get-all-tokens/{index.js → get-all-tokens-tool.js} +1 -18
  41. package/dist/cjs/tools/get-all-tokens/list-get-all-tokens-tool.js +23 -0
  42. package/dist/cjs/tools/get-atlaskit-components/atlaskit-components.codegen.js +1944 -0
  43. package/dist/cjs/tools/get-atlaskit-components/get-atlaskit-components-tool.js +40 -0
  44. package/dist/cjs/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +22 -0
  45. package/dist/cjs/tools/get-guidelines/get-guidelines-input-schema.js +11 -0
  46. package/dist/cjs/tools/get-guidelines/{index.js → get-guidelines-tool.js} +3 -20
  47. package/dist/cjs/tools/get-guidelines/list-get-guidelines-tool.js +22 -0
  48. package/dist/cjs/tools/get-lint-rules/get-lint-rules-input-schema.js +14 -0
  49. package/dist/cjs/tools/get-lint-rules/{index.js → get-lint-rules-tool.js} +3 -21
  50. package/dist/cjs/tools/get-lint-rules/list-get-lint-rules-tool.js +22 -0
  51. package/dist/cjs/tools/i18n-conversion/i18n-conversion-input-schema.js +12 -0
  52. package/dist/cjs/tools/i18n-conversion/i18n-conversion-tool.js +33 -0
  53. package/dist/cjs/tools/i18n-conversion/{index.js → list-i18n-conversion-tool.js} +5 -33
  54. package/dist/cjs/tools/migration-guides/get-available-migration-ids.js +22 -0
  55. package/dist/cjs/tools/migration-guides/get-available-migrations-description.js +25 -0
  56. package/dist/cjs/tools/migration-guides/list-migration-guides-tool.js +23 -0
  57. package/dist/cjs/tools/migration-guides/migration-guides-input-schema.js +17 -0
  58. package/dist/cjs/tools/migration-guides/{index.js → migration-guides-tool.js} +3 -24
  59. package/dist/cjs/tools/migration-guides/migration-registry.js +5 -2
  60. package/dist/cjs/tools/migration-guides/migrations/onboarding-jira-spotlight.js +29 -0
  61. package/dist/cjs/tools/migration-guides/migrations/onboarding-multi-step.js +23 -0
  62. package/dist/cjs/tools/migration-guides/migrations/onboarding-single-step.js +23 -0
  63. package/dist/cjs/tools/migration-guides/migrations/onboarding-with-motion.js +23 -0
  64. package/dist/cjs/tools/plan/list-plan-tool.js +22 -0
  65. package/dist/cjs/tools/plan/plan-input-schema.js +16 -0
  66. package/dist/cjs/tools/plan/{index.js → plan-tool.js} +28 -36
  67. package/dist/cjs/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +22 -0
  68. package/dist/cjs/tools/search-atlaskit-components/search-atlaskit-components-input-schema.js +11 -0
  69. package/dist/cjs/tools/search-atlaskit-components/search-atlaskit-components-tool.js +114 -0
  70. package/dist/cjs/tools/search-components/list-search-components-tool.js +22 -0
  71. package/dist/cjs/tools/search-components/search-components-input-schema.js +13 -0
  72. package/dist/cjs/tools/search-components/{index.js → search-components-tool.js} +3 -19
  73. package/dist/cjs/tools/search-icons/list-search-icons-tool.js +22 -0
  74. package/dist/cjs/tools/search-icons/search-icons-input-schema.js +13 -0
  75. package/dist/cjs/tools/search-icons/{index.js → search-icons-tool.js} +3 -19
  76. package/dist/cjs/tools/search-tokens/list-search-tokens-tool.js +22 -0
  77. package/dist/cjs/tools/search-tokens/search-tokens-input-schema.js +13 -0
  78. package/dist/cjs/tools/search-tokens/{index.js → search-tokens-tool.js} +3 -19
  79. package/dist/cjs/tools/suggest-a11y-fixes/list-suggest-a11y-fixes-tool.js +22 -0
  80. package/dist/cjs/tools/suggest-a11y-fixes/suggest-a11y-fixes-input-schema.js +15 -0
  81. package/dist/cjs/tools/suggest-a11y-fixes/{index.js → suggest-a11y-fixes-tool.js} +1 -22
  82. package/dist/es2019/entry-points/analyze-a11y.js +5 -0
  83. package/dist/es2019/entry-points/get-a11y-guidelines.js +3 -0
  84. package/dist/es2019/entry-points/get-all-components.js +2 -0
  85. package/dist/es2019/entry-points/get-all-icons.js +2 -0
  86. package/dist/es2019/entry-points/get-all-tokens.js +2 -0
  87. package/dist/es2019/entry-points/get-atlaskit-components.js +2 -0
  88. package/dist/es2019/entry-points/get-guidelines.js +3 -0
  89. package/dist/es2019/entry-points/get-lint-rules.js +3 -0
  90. package/dist/es2019/entry-points/i18n-conversion.js +3 -0
  91. package/dist/es2019/entry-points/migration-guides.js +3 -0
  92. package/dist/es2019/entry-points/plan.js +3 -0
  93. package/dist/es2019/entry-points/search-atlaskit-components.js +3 -0
  94. package/dist/es2019/entry-points/search-components.js +3 -0
  95. package/dist/es2019/entry-points/search-icons.js +3 -0
  96. package/dist/es2019/entry-points/search-tokens.js +3 -0
  97. package/dist/es2019/entry-points/suggest-a11y-fixes.js +3 -0
  98. package/dist/es2019/helpers/agent.js +3 -0
  99. package/dist/es2019/helpers/clean-query.js +2 -0
  100. package/dist/es2019/helpers/index.js +2 -7
  101. package/dist/es2019/helpers/send-operational-event.js +49 -0
  102. package/dist/es2019/helpers/validation.js +1 -1
  103. package/dist/es2019/helpers/zod-to-json-schema.js +6 -0
  104. package/dist/es2019/index.js +138 -92
  105. package/dist/es2019/tools/analyze-a11y/analyze-a11y-input-schema.js +7 -0
  106. package/dist/es2019/tools/analyze-a11y/analyze-a11y-localhost-input-schema.js +7 -0
  107. package/dist/es2019/tools/analyze-a11y/analyze-a11y-tool.js +212 -0
  108. package/dist/es2019/tools/analyze-a11y/analyze-localhost-a11y-tool.js +163 -0
  109. package/dist/es2019/tools/analyze-a11y/generate-ads-fix-for-violation.js +26 -0
  110. package/dist/es2019/tools/analyze-a11y/list-analyze-a11y-tool.js +21 -0
  111. package/dist/es2019/tools/analyze-a11y/list-analyze-localhost-a11y-tool.js +23 -0
  112. package/dist/es2019/tools/get-a11y-guidelines/get-a11y-guidelines-input-schema.js +7 -0
  113. package/dist/es2019/tools/get-a11y-guidelines/get-a11y-guidelines-tool.js +34 -0
  114. package/dist/es2019/tools/get-a11y-guidelines/list-get-a11y-guidelines-tool.js +23 -0
  115. package/dist/es2019/tools/get-all-components/components.codegen.js +2 -2
  116. package/dist/es2019/tools/get-all-components/get-all-components-tool.js +12 -0
  117. package/dist/es2019/tools/get-all-components/{index.js → list-get-all-components-tool.js} +1 -12
  118. package/dist/es2019/tools/get-all-icons/get-all-icons-tool.js +10 -0
  119. package/dist/es2019/tools/get-all-icons/{index.js → list-get-all-icons-tool.js} +2 -11
  120. package/dist/es2019/tools/get-all-tokens/get-all-tokens-tool.js +13 -0
  121. package/dist/es2019/tools/get-all-tokens/{index.js → list-get-all-tokens-tool.js} +2 -15
  122. package/dist/es2019/tools/get-atlaskit-components/atlaskit-components.codegen.js +1938 -0
  123. package/dist/es2019/tools/get-atlaskit-components/get-atlaskit-components-tool.js +14 -0
  124. package/dist/es2019/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +21 -0
  125. package/dist/es2019/tools/get-guidelines/get-guidelines-input-schema.js +5 -0
  126. package/dist/es2019/tools/get-guidelines/get-guidelines-tool.js +55 -0
  127. package/dist/es2019/tools/get-guidelines/{index.js → list-get-guidelines-tool.js} +2 -59
  128. package/dist/es2019/tools/get-lint-rules/get-lint-rules-input-schema.js +7 -0
  129. package/dist/es2019/tools/get-lint-rules/{index.js → get-lint-rules-tool.js} +1 -28
  130. package/dist/es2019/tools/get-lint-rules/list-get-lint-rules-tool.js +24 -0
  131. package/dist/es2019/tools/i18n-conversion/i18n-conversion-input-schema.js +5 -0
  132. package/dist/es2019/tools/i18n-conversion/i18n-conversion-tool.js +11 -0
  133. package/dist/es2019/tools/i18n-conversion/{index.js → list-i18n-conversion-tool.js} +2 -14
  134. package/dist/es2019/tools/migration-guides/get-available-migration-ids.js +17 -0
  135. package/dist/es2019/tools/migration-guides/get-available-migrations-description.js +18 -0
  136. package/dist/es2019/tools/migration-guides/list-migration-guides-tool.js +25 -0
  137. package/dist/es2019/tools/migration-guides/migration-guides-input-schema.js +10 -0
  138. package/dist/es2019/tools/migration-guides/migration-guides-tool.js +39 -0
  139. package/dist/es2019/tools/migration-guides/migration-registry.js +4 -1
  140. package/dist/es2019/tools/migration-guides/migrations/onboarding-jira-spotlight.js +230 -0
  141. package/dist/es2019/tools/migration-guides/migrations/onboarding-multi-step.js +179 -0
  142. package/dist/es2019/tools/migration-guides/migrations/onboarding-single-step.js +120 -0
  143. package/dist/es2019/tools/migration-guides/migrations/onboarding-with-motion.js +120 -0
  144. package/dist/es2019/tools/plan/list-plan-tool.js +47 -0
  145. package/dist/es2019/tools/plan/plan-input-schema.js +9 -0
  146. package/dist/es2019/tools/plan/plan-tool.js +111 -0
  147. package/dist/es2019/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +19 -0
  148. package/dist/es2019/tools/search-atlaskit-components/search-atlaskit-components-input-schema.js +5 -0
  149. package/dist/es2019/tools/search-atlaskit-components/search-atlaskit-components-tool.js +84 -0
  150. package/dist/es2019/tools/search-components/list-search-components-tool.js +19 -0
  151. package/dist/es2019/tools/search-components/search-components-input-schema.js +6 -0
  152. package/dist/es2019/tools/search-components/{index.js → search-components-tool.js} +2 -21
  153. package/dist/es2019/tools/search-icons/list-search-icons-tool.js +25 -0
  154. package/dist/es2019/tools/search-icons/search-icons-input-schema.js +6 -0
  155. package/dist/es2019/tools/search-icons/{index.js → search-icons-tool.js} +2 -27
  156. package/dist/es2019/tools/search-tokens/list-search-tokens-tool.js +25 -0
  157. package/dist/es2019/tools/search-tokens/search-tokens-input-schema.js +6 -0
  158. package/dist/es2019/tools/search-tokens/{index.js → search-tokens-tool.js} +2 -27
  159. package/dist/es2019/tools/suggest-a11y-fixes/list-suggest-a11y-fixes-tool.js +25 -0
  160. package/dist/es2019/tools/suggest-a11y-fixes/suggest-a11y-fixes-input-schema.js +8 -0
  161. package/dist/es2019/tools/suggest-a11y-fixes/{index.js → suggest-a11y-fixes-tool.js} +0 -30
  162. package/dist/esm/entry-points/analyze-a11y.js +5 -0
  163. package/dist/esm/entry-points/get-a11y-guidelines.js +3 -0
  164. package/dist/esm/entry-points/get-all-components.js +2 -0
  165. package/dist/esm/entry-points/get-all-icons.js +2 -0
  166. package/dist/esm/entry-points/get-all-tokens.js +2 -0
  167. package/dist/esm/entry-points/get-atlaskit-components.js +2 -0
  168. package/dist/esm/entry-points/get-guidelines.js +3 -0
  169. package/dist/esm/entry-points/get-lint-rules.js +3 -0
  170. package/dist/esm/entry-points/i18n-conversion.js +3 -0
  171. package/dist/esm/entry-points/migration-guides.js +3 -0
  172. package/dist/esm/entry-points/plan.js +3 -0
  173. package/dist/esm/entry-points/search-atlaskit-components.js +3 -0
  174. package/dist/esm/entry-points/search-components.js +3 -0
  175. package/dist/esm/entry-points/search-icons.js +3 -0
  176. package/dist/esm/entry-points/search-tokens.js +3 -0
  177. package/dist/esm/entry-points/suggest-a11y-fixes.js +3 -0
  178. package/dist/esm/helpers/agent.js +3 -0
  179. package/dist/esm/helpers/clean-query.js +4 -0
  180. package/dist/esm/helpers/index.js +2 -9
  181. package/dist/esm/helpers/send-operational-event.js +52 -0
  182. package/dist/esm/helpers/validation.js +1 -1
  183. package/dist/esm/helpers/zod-to-json-schema.js +6 -0
  184. package/dist/esm/index.js +65 -23
  185. package/dist/esm/tools/analyze-a11y/analyze-a11y-input-schema.js +7 -0
  186. package/dist/esm/tools/analyze-a11y/analyze-a11y-localhost-input-schema.js +7 -0
  187. package/dist/esm/tools/analyze-a11y/analyze-a11y-tool.js +235 -0
  188. package/dist/esm/tools/analyze-a11y/analyze-localhost-a11y-tool.js +207 -0
  189. package/dist/esm/tools/analyze-a11y/generate-ads-fix-for-violation.js +26 -0
  190. package/dist/esm/tools/analyze-a11y/list-analyze-a11y-tool.js +14 -0
  191. package/dist/esm/tools/analyze-a11y/list-analyze-localhost-a11y-tool.js +14 -0
  192. package/dist/esm/tools/get-a11y-guidelines/get-a11y-guidelines-input-schema.js +7 -0
  193. package/dist/esm/tools/get-a11y-guidelines/{index.js → get-a11y-guidelines-tool.js} +0 -17
  194. package/dist/esm/tools/get-a11y-guidelines/list-get-a11y-guidelines-tool.js +16 -0
  195. package/dist/esm/tools/get-all-components/components.codegen.js +2 -2
  196. package/dist/esm/tools/get-all-components/{index.js → get-all-components-tool.js} +0 -15
  197. package/dist/esm/tools/get-all-components/list-get-all-components-tool.js +16 -0
  198. package/dist/esm/tools/get-all-icons/{index.js → get-all-icons-tool.js} +0 -15
  199. package/dist/esm/tools/get-all-icons/list-get-all-icons-tool.js +16 -0
  200. package/dist/esm/tools/get-all-tokens/{index.js → get-all-tokens-tool.js} +0 -17
  201. package/dist/esm/tools/get-all-tokens/list-get-all-tokens-tool.js +17 -0
  202. package/dist/esm/tools/get-atlaskit-components/atlaskit-components.codegen.js +1938 -0
  203. package/dist/esm/tools/get-atlaskit-components/get-atlaskit-components-tool.js +32 -0
  204. package/dist/esm/tools/get-atlaskit-components/list-get-atlaskit-components-tool.js +16 -0
  205. package/dist/esm/tools/get-guidelines/get-guidelines-input-schema.js +5 -0
  206. package/dist/esm/tools/get-guidelines/{index.js → get-guidelines-tool.js} +1 -19
  207. package/dist/esm/tools/get-guidelines/list-get-guidelines-tool.js +16 -0
  208. package/dist/esm/tools/get-lint-rules/get-lint-rules-input-schema.js +7 -0
  209. package/dist/esm/tools/get-lint-rules/{index.js → get-lint-rules-tool.js} +1 -19
  210. package/dist/esm/tools/get-lint-rules/list-get-lint-rules-tool.js +15 -0
  211. package/dist/esm/tools/i18n-conversion/i18n-conversion-input-schema.js +5 -0
  212. package/dist/esm/tools/i18n-conversion/i18n-conversion-tool.js +26 -0
  213. package/dist/esm/tools/i18n-conversion/{index.js → list-i18n-conversion-tool.js} +3 -30
  214. package/dist/esm/tools/migration-guides/get-available-migration-ids.js +17 -0
  215. package/dist/esm/tools/migration-guides/get-available-migrations-description.js +20 -0
  216. package/dist/esm/tools/migration-guides/list-migration-guides-tool.js +17 -0
  217. package/dist/esm/tools/migration-guides/migration-guides-input-schema.js +10 -0
  218. package/dist/esm/tools/migration-guides/{index.js → migration-guides-tool.js} +1 -23
  219. package/dist/esm/tools/migration-guides/migration-registry.js +4 -1
  220. package/dist/esm/tools/migration-guides/migrations/onboarding-jira-spotlight.js +23 -0
  221. package/dist/esm/tools/migration-guides/migrations/onboarding-multi-step.js +17 -0
  222. package/dist/esm/tools/migration-guides/migrations/onboarding-single-step.js +17 -0
  223. package/dist/esm/tools/migration-guides/migrations/onboarding-with-motion.js +17 -0
  224. package/dist/esm/tools/plan/list-plan-tool.js +16 -0
  225. package/dist/esm/tools/plan/plan-input-schema.js +9 -0
  226. package/dist/esm/tools/plan/{index.js → plan-tool.js} +24 -32
  227. package/dist/esm/tools/search-atlaskit-components/list-search-atlaskit-components-tool.js +16 -0
  228. package/dist/esm/tools/search-atlaskit-components/search-atlaskit-components-input-schema.js +5 -0
  229. package/dist/esm/tools/search-atlaskit-components/search-atlaskit-components-tool.js +107 -0
  230. package/dist/esm/tools/search-components/list-search-components-tool.js +16 -0
  231. package/dist/esm/tools/search-components/search-components-input-schema.js +6 -0
  232. package/dist/esm/tools/search-components/{index.js → search-components-tool.js} +2 -18
  233. package/dist/esm/tools/search-icons/list-search-icons-tool.js +16 -0
  234. package/dist/esm/tools/search-icons/search-icons-input-schema.js +6 -0
  235. package/dist/esm/tools/search-icons/{index.js → search-icons-tool.js} +2 -18
  236. package/dist/esm/tools/search-tokens/list-search-tokens-tool.js +16 -0
  237. package/dist/esm/tools/search-tokens/search-tokens-input-schema.js +6 -0
  238. package/dist/esm/tools/search-tokens/{index.js → search-tokens-tool.js} +2 -18
  239. package/dist/esm/tools/suggest-a11y-fixes/list-suggest-a11y-fixes-tool.js +16 -0
  240. package/dist/esm/tools/suggest-a11y-fixes/suggest-a11y-fixes-input-schema.js +8 -0
  241. package/dist/esm/tools/suggest-a11y-fixes/{index.js → suggest-a11y-fixes-tool.js} +0 -21
  242. package/dist/types/entry-points/analyze-a11y.d.ts +5 -0
  243. package/dist/types/entry-points/get-a11y-guidelines.d.ts +3 -0
  244. package/dist/types/entry-points/get-all-components.d.ts +2 -0
  245. package/dist/types/entry-points/get-all-icons.d.ts +2 -0
  246. package/dist/types/entry-points/get-all-tokens.d.ts +2 -0
  247. package/dist/types/entry-points/get-atlaskit-components.d.ts +2 -0
  248. package/dist/types/entry-points/get-guidelines.d.ts +3 -0
  249. package/dist/types/entry-points/get-lint-rules.d.ts +3 -0
  250. package/dist/types/entry-points/i18n-conversion.d.ts +3 -0
  251. package/dist/types/entry-points/migration-guides.d.ts +3 -0
  252. package/dist/types/entry-points/plan.d.ts +3 -0
  253. package/dist/types/entry-points/search-atlaskit-components.d.ts +3 -0
  254. package/dist/types/entry-points/search-components.d.ts +3 -0
  255. package/dist/types/entry-points/search-icons.d.ts +3 -0
  256. package/dist/types/entry-points/search-tokens.d.ts +3 -0
  257. package/dist/types/entry-points/suggest-a11y-fixes.d.ts +3 -0
  258. package/dist/types/helpers/agent.d.ts +3 -0
  259. package/dist/types/helpers/clean-query.d.ts +1 -0
  260. package/dist/types/helpers/index.d.ts +2 -4
  261. package/dist/types/helpers/send-operational-event.d.ts +13 -0
  262. package/dist/types/helpers/zod-to-json-schema.d.ts +3 -0
  263. package/dist/types/tools/analyze-a11y/analyze-a11y-input-schema.d.ts +17 -0
  264. package/dist/types/tools/analyze-a11y/analyze-a11y-localhost-input-schema.d.ts +17 -0
  265. package/dist/types/tools/analyze-a11y/analyze-a11y-tool.d.ts +8 -0
  266. package/dist/types/tools/analyze-a11y/analyze-localhost-a11y-tool.d.ts +8 -0
  267. package/dist/types/tools/analyze-a11y/generate-ads-fix-for-violation.d.ts +1 -0
  268. package/dist/types/tools/analyze-a11y/list-analyze-a11y-tool.d.ts +2 -0
  269. package/dist/types/tools/analyze-a11y/list-analyze-localhost-a11y-tool.d.ts +2 -0
  270. package/dist/types/tools/get-a11y-guidelines/get-a11y-guidelines-input-schema.d.ts +8 -0
  271. package/dist/types/tools/get-a11y-guidelines/get-a11y-guidelines-tool.d.ts +8 -0
  272. package/dist/types/tools/get-a11y-guidelines/list-get-a11y-guidelines-tool.d.ts +2 -0
  273. package/dist/types/tools/get-all-components/components.codegen.d.ts +1 -1
  274. package/dist/types/tools/get-all-components/{index.d.ts → get-all-components-tool.d.ts} +0 -2
  275. package/dist/types/tools/get-all-components/list-get-all-components-tool.d.ts +2 -0
  276. package/dist/{types-ts4.5/tools/get-all-icons/index.d.ts → types/tools/get-all-icons/get-all-icons-tool.d.ts} +0 -2
  277. package/dist/types/tools/get-all-icons/list-get-all-icons-tool.d.ts +2 -0
  278. package/dist/types/tools/get-all-tokens/{index.d.ts → get-all-tokens-tool.d.ts} +0 -2
  279. package/dist/types/tools/get-all-tokens/list-get-all-tokens-tool.d.ts +2 -0
  280. package/dist/types/tools/get-atlaskit-components/atlaskit-components.codegen.d.ts +10 -0
  281. package/dist/types/tools/get-atlaskit-components/get-atlaskit-components-tool.d.ts +6 -0
  282. package/dist/types/tools/get-atlaskit-components/list-get-atlaskit-components-tool.d.ts +2 -0
  283. package/dist/types/tools/get-guidelines/get-guidelines-input-schema.d.ts +5 -0
  284. package/dist/types/tools/get-guidelines/get-guidelines-tool.d.ts +8 -0
  285. package/dist/types/tools/get-guidelines/list-get-guidelines-tool.d.ts +2 -0
  286. package/dist/types/tools/get-lint-rules/get-lint-rules-input-schema.d.ts +6 -0
  287. package/dist/types/tools/get-lint-rules/get-lint-rules-tool.d.ts +4 -0
  288. package/dist/types/tools/get-lint-rules/{index.d.ts → list-get-lint-rules-tool.d.ts} +0 -8
  289. package/dist/types/tools/i18n-conversion/i18n-conversion-input-schema.d.ts +8 -0
  290. package/dist/types/tools/i18n-conversion/i18n-conversion-tool.d.ts +8 -0
  291. package/dist/types/tools/i18n-conversion/list-i18n-conversion-tool.d.ts +2 -0
  292. package/dist/types/tools/migration-guides/get-available-migration-ids.d.ts +12 -0
  293. package/dist/types/tools/migration-guides/get-available-migrations-description.d.ts +13 -0
  294. package/dist/types/tools/migration-guides/list-migration-guides-tool.d.ts +2 -0
  295. package/dist/types/tools/migration-guides/migration-guides-input-schema.d.ts +11 -0
  296. package/dist/types/tools/migration-guides/migration-guides-tool.d.ts +8 -0
  297. package/dist/types/tools/migration-guides/migrations/onboarding-jira-spotlight.d.ts +2 -0
  298. package/dist/types/tools/migration-guides/migrations/onboarding-multi-step.d.ts +2 -0
  299. package/dist/types/tools/migration-guides/migrations/onboarding-single-step.d.ts +2 -0
  300. package/dist/types/tools/migration-guides/migrations/onboarding-with-motion.d.ts +2 -0
  301. package/dist/types/tools/plan/list-plan-tool.d.ts +2 -0
  302. package/dist/types/tools/plan/{index.d.ts → plan-input-schema.d.ts} +3 -15
  303. package/dist/types/tools/plan/plan-tool.d.ts +15 -0
  304. package/dist/types/tools/search-atlaskit-components/list-search-atlaskit-components-tool.d.ts +2 -0
  305. package/dist/types/tools/search-atlaskit-components/search-atlaskit-components-input-schema.d.ts +11 -0
  306. package/dist/types/tools/search-atlaskit-components/search-atlaskit-components-tool.d.ts +4 -0
  307. package/dist/types/tools/search-components/list-search-components-tool.d.ts +2 -0
  308. package/dist/{types-ts4.5/tools/search-components/index.d.ts → types/tools/search-components/search-components-input-schema.d.ts} +0 -3
  309. package/dist/types/tools/search-components/search-components-tool.d.ts +4 -0
  310. package/dist/types/tools/search-icons/list-search-icons-tool.d.ts +2 -0
  311. package/dist/{types-ts4.5/tools/search-icons/index.d.ts → types/tools/search-icons/search-icons-input-schema.d.ts} +0 -3
  312. package/dist/types/tools/search-icons/search-icons-tool.d.ts +4 -0
  313. package/dist/types/tools/search-tokens/list-search-tokens-tool.d.ts +2 -0
  314. package/dist/types/tools/search-tokens/{index.d.ts → search-tokens-input-schema.d.ts} +0 -3
  315. package/dist/types/tools/search-tokens/search-tokens-tool.d.ts +4 -0
  316. package/dist/types/tools/suggest-a11y-fixes/list-suggest-a11y-fixes-tool.d.ts +2 -0
  317. package/dist/types/tools/suggest-a11y-fixes/{index.d.ts → suggest-a11y-fixes-input-schema.d.ts} +0 -8
  318. package/dist/types/tools/suggest-a11y-fixes/suggest-a11y-fixes-tool.d.ts +8 -0
  319. package/dist/types-ts4.5/entry-points/analyze-a11y.d.ts +5 -0
  320. package/dist/types-ts4.5/entry-points/get-a11y-guidelines.d.ts +3 -0
  321. package/dist/types-ts4.5/entry-points/get-all-components.d.ts +2 -0
  322. package/dist/types-ts4.5/entry-points/get-all-icons.d.ts +2 -0
  323. package/dist/types-ts4.5/entry-points/get-all-tokens.d.ts +2 -0
  324. package/dist/types-ts4.5/entry-points/get-atlaskit-components.d.ts +2 -0
  325. package/dist/types-ts4.5/entry-points/get-guidelines.d.ts +3 -0
  326. package/dist/types-ts4.5/entry-points/get-lint-rules.d.ts +3 -0
  327. package/dist/types-ts4.5/entry-points/i18n-conversion.d.ts +3 -0
  328. package/dist/types-ts4.5/entry-points/migration-guides.d.ts +3 -0
  329. package/dist/types-ts4.5/entry-points/plan.d.ts +3 -0
  330. package/dist/types-ts4.5/entry-points/search-atlaskit-components.d.ts +3 -0
  331. package/dist/types-ts4.5/entry-points/search-components.d.ts +3 -0
  332. package/dist/types-ts4.5/entry-points/search-icons.d.ts +3 -0
  333. package/dist/types-ts4.5/entry-points/search-tokens.d.ts +3 -0
  334. package/dist/types-ts4.5/entry-points/suggest-a11y-fixes.d.ts +3 -0
  335. package/dist/types-ts4.5/helpers/agent.d.ts +3 -0
  336. package/dist/types-ts4.5/helpers/clean-query.d.ts +1 -0
  337. package/dist/types-ts4.5/helpers/index.d.ts +2 -4
  338. package/dist/types-ts4.5/helpers/send-operational-event.d.ts +13 -0
  339. package/dist/types-ts4.5/helpers/zod-to-json-schema.d.ts +3 -0
  340. package/dist/types-ts4.5/tools/analyze-a11y/analyze-a11y-input-schema.d.ts +17 -0
  341. package/dist/types-ts4.5/tools/analyze-a11y/analyze-a11y-localhost-input-schema.d.ts +17 -0
  342. package/dist/types-ts4.5/tools/analyze-a11y/analyze-a11y-tool.d.ts +8 -0
  343. package/dist/types-ts4.5/tools/analyze-a11y/analyze-localhost-a11y-tool.d.ts +8 -0
  344. package/dist/types-ts4.5/tools/analyze-a11y/generate-ads-fix-for-violation.d.ts +1 -0
  345. package/dist/types-ts4.5/tools/analyze-a11y/list-analyze-a11y-tool.d.ts +2 -0
  346. package/dist/types-ts4.5/tools/analyze-a11y/list-analyze-localhost-a11y-tool.d.ts +2 -0
  347. package/dist/types-ts4.5/tools/get-a11y-guidelines/get-a11y-guidelines-input-schema.d.ts +8 -0
  348. package/dist/types-ts4.5/tools/get-a11y-guidelines/get-a11y-guidelines-tool.d.ts +8 -0
  349. package/dist/types-ts4.5/tools/get-a11y-guidelines/list-get-a11y-guidelines-tool.d.ts +2 -0
  350. package/dist/types-ts4.5/tools/get-all-components/components.codegen.d.ts +1 -1
  351. package/dist/types-ts4.5/tools/get-all-components/{index.d.ts → get-all-components-tool.d.ts} +0 -2
  352. package/dist/types-ts4.5/tools/get-all-components/list-get-all-components-tool.d.ts +2 -0
  353. package/dist/{types/tools/get-all-icons/index.d.ts → types-ts4.5/tools/get-all-icons/get-all-icons-tool.d.ts} +0 -2
  354. package/dist/types-ts4.5/tools/get-all-icons/list-get-all-icons-tool.d.ts +2 -0
  355. package/dist/types-ts4.5/tools/get-all-tokens/{index.d.ts → get-all-tokens-tool.d.ts} +0 -2
  356. package/dist/types-ts4.5/tools/get-all-tokens/list-get-all-tokens-tool.d.ts +2 -0
  357. package/dist/types-ts4.5/tools/get-atlaskit-components/atlaskit-components.codegen.d.ts +10 -0
  358. package/dist/types-ts4.5/tools/get-atlaskit-components/get-atlaskit-components-tool.d.ts +6 -0
  359. package/dist/types-ts4.5/tools/get-atlaskit-components/list-get-atlaskit-components-tool.d.ts +2 -0
  360. package/dist/types-ts4.5/tools/get-guidelines/get-guidelines-input-schema.d.ts +5 -0
  361. package/dist/types-ts4.5/tools/get-guidelines/get-guidelines-tool.d.ts +8 -0
  362. package/dist/types-ts4.5/tools/get-guidelines/list-get-guidelines-tool.d.ts +2 -0
  363. package/dist/types-ts4.5/tools/get-lint-rules/get-lint-rules-input-schema.d.ts +6 -0
  364. package/dist/types-ts4.5/tools/get-lint-rules/get-lint-rules-tool.d.ts +4 -0
  365. package/dist/types-ts4.5/tools/get-lint-rules/{index.d.ts → list-get-lint-rules-tool.d.ts} +0 -8
  366. package/dist/types-ts4.5/tools/i18n-conversion/{index.d.ts → i18n-conversion-input-schema.d.ts} +0 -8
  367. package/dist/types-ts4.5/tools/i18n-conversion/i18n-conversion-tool.d.ts +8 -0
  368. package/dist/types-ts4.5/tools/i18n-conversion/list-i18n-conversion-tool.d.ts +2 -0
  369. package/dist/types-ts4.5/tools/migration-guides/get-available-migration-ids.d.ts +12 -0
  370. package/dist/types-ts4.5/tools/migration-guides/get-available-migrations-description.d.ts +13 -0
  371. package/dist/types-ts4.5/tools/migration-guides/list-migration-guides-tool.d.ts +2 -0
  372. package/dist/types-ts4.5/tools/migration-guides/{index.d.ts → migration-guides-input-schema.d.ts} +0 -8
  373. package/dist/types-ts4.5/tools/migration-guides/migration-guides-tool.d.ts +8 -0
  374. package/dist/types-ts4.5/tools/migration-guides/migrations/onboarding-jira-spotlight.d.ts +2 -0
  375. package/dist/types-ts4.5/tools/migration-guides/migrations/onboarding-multi-step.d.ts +2 -0
  376. package/dist/types-ts4.5/tools/migration-guides/migrations/onboarding-single-step.d.ts +2 -0
  377. package/dist/types-ts4.5/tools/migration-guides/migrations/onboarding-with-motion.d.ts +2 -0
  378. package/dist/types-ts4.5/tools/plan/list-plan-tool.d.ts +2 -0
  379. package/dist/types-ts4.5/tools/plan/{index.d.ts → plan-input-schema.d.ts} +3 -15
  380. package/dist/types-ts4.5/tools/plan/plan-tool.d.ts +15 -0
  381. package/dist/types-ts4.5/tools/search-atlaskit-components/list-search-atlaskit-components-tool.d.ts +2 -0
  382. package/dist/types-ts4.5/tools/search-atlaskit-components/search-atlaskit-components-input-schema.d.ts +11 -0
  383. package/dist/types-ts4.5/tools/search-atlaskit-components/search-atlaskit-components-tool.d.ts +4 -0
  384. package/dist/types-ts4.5/tools/search-components/list-search-components-tool.d.ts +2 -0
  385. package/dist/{types/tools/search-components/index.d.ts → types-ts4.5/tools/search-components/search-components-input-schema.d.ts} +0 -3
  386. package/dist/types-ts4.5/tools/search-components/search-components-tool.d.ts +4 -0
  387. package/dist/types-ts4.5/tools/search-icons/list-search-icons-tool.d.ts +2 -0
  388. package/dist/{types/tools/search-icons/index.d.ts → types-ts4.5/tools/search-icons/search-icons-input-schema.d.ts} +0 -3
  389. package/dist/types-ts4.5/tools/search-icons/search-icons-tool.d.ts +4 -0
  390. package/dist/types-ts4.5/tools/search-tokens/list-search-tokens-tool.d.ts +2 -0
  391. package/dist/types-ts4.5/tools/search-tokens/{index.d.ts → search-tokens-input-schema.d.ts} +0 -3
  392. package/dist/types-ts4.5/tools/search-tokens/search-tokens-tool.d.ts +4 -0
  393. package/dist/types-ts4.5/tools/suggest-a11y-fixes/list-suggest-a11y-fixes-tool.d.ts +2 -0
  394. package/dist/types-ts4.5/tools/suggest-a11y-fixes/{index.d.ts → suggest-a11y-fixes-input-schema.d.ts} +0 -8
  395. package/dist/types-ts4.5/tools/suggest-a11y-fixes/suggest-a11y-fixes-tool.d.ts +8 -0
  396. package/index.js +0 -2
  397. package/package.json +4 -9
  398. package/tools/analyze-a11y/package.json +5 -5
  399. package/tools/get-a11y-guidelines/package.json +5 -5
  400. package/tools/get-all-components/package.json +5 -5
  401. package/tools/get-all-icons/package.json +5 -5
  402. package/tools/get-all-tokens/package.json +5 -5
  403. package/tools/get-guidelines/package.json +5 -5
  404. package/tools/get-lint-rules/package.json +5 -5
  405. package/tools/i18n-conversion/package.json +5 -5
  406. package/tools/migration-guides/package.json +5 -5
  407. package/tools/plan/package.json +5 -5
  408. package/tools/search-components/package.json +5 -5
  409. package/tools/search-icons/package.json +5 -5
  410. package/tools/search-tokens/package.json +5 -5
  411. package/tools/suggest-a11y-fixes/package.json +5 -5
  412. package/dist/cjs/tools/analyze-a11y/index.js +0 -483
  413. package/dist/cjs/tools/migration-guides/migrations/onboarding-to-spotlight.js +0 -77
  414. package/dist/es2019/tools/analyze-a11y/index.js +0 -432
  415. package/dist/es2019/tools/get-a11y-guidelines/index.js +0 -58
  416. package/dist/es2019/tools/migration-guides/index.js +0 -69
  417. package/dist/es2019/tools/migration-guides/migrations/onboarding-to-spotlight.js +0 -646
  418. package/dist/es2019/tools/plan/index.js +0 -147
  419. package/dist/esm/tools/analyze-a11y/index.js +0 -478
  420. package/dist/esm/tools/migration-guides/migrations/onboarding-to-spotlight.js +0 -71
  421. package/dist/types/tools/analyze-a11y/index.d.ts +0 -48
  422. package/dist/types/tools/get-a11y-guidelines/index.d.ts +0 -16
  423. package/dist/types/tools/get-guidelines/index.d.ts +0 -13
  424. package/dist/types/tools/i18n-conversion/index.d.ts +0 -16
  425. package/dist/types/tools/migration-guides/index.d.ts +0 -19
  426. package/dist/types/tools/migration-guides/migrations/onboarding-to-spotlight.d.ts +0 -5
  427. package/dist/types-ts4.5/tools/analyze-a11y/index.d.ts +0 -48
  428. package/dist/types-ts4.5/tools/get-a11y-guidelines/index.d.ts +0 -16
  429. package/dist/types-ts4.5/tools/get-guidelines/index.d.ts +0 -13
  430. package/dist/types-ts4.5/tools/migration-guides/migrations/onboarding-to-spotlight.d.ts +0 -5
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getAtlaskitComponentsTool = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _atlaskitComponents = require("./atlaskit-components.codegen");
11
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
12
+
13
+ var getAtlaskitComponentsTool = exports.getAtlaskitComponentsTool = /*#__PURE__*/function () {
14
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
15
+ var components;
16
+ return _regenerator.default.wrap(function _callee$(_context) {
17
+ while (1) switch (_context.prev = _context.next) {
18
+ case 0:
19
+ components = _atlaskitComponents.atlaskitComponents.map(function (component) {
20
+ return {
21
+ name: component.name,
22
+ package: component.package
23
+ };
24
+ });
25
+ return _context.abrupt("return", {
26
+ content: [{
27
+ type: 'text',
28
+ text: JSON.stringify(components, null, 2)
29
+ }]
30
+ });
31
+ case 2:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }, _callee);
36
+ }));
37
+ return function getAtlaskitComponentsTool() {
38
+ return _ref.apply(this, arguments);
39
+ };
40
+ }();
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.listGetAtlaskitComponentsTool = void 0;
7
+ var _zod = require("zod");
8
+ var _helpers = require("../../helpers");
9
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
10
+
11
+ var listGetAtlaskitComponentsTool = exports.listGetAtlaskitComponentsTool = {
12
+ name: 'atlaskit_get_components',
13
+ description: "Returns the names and packages of all atlaskit components excluding components covered by the Atlassian Design System.\n\nWHEN TO USE:\nUse this when you want to see what components are available without the full metadata payload.\n\nNo parameters.",
14
+ annotations: {
15
+ title: 'Get all Atlaskit components',
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: true
20
+ },
21
+ inputSchema: (0, _helpers.zodToJsonSchema)(_zod.z.object({}))
22
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGuidelinesInputSchema = void 0;
7
+ var _zod = require("zod");
8
+ var getGuidelinesInputSchema = exports.getGuidelinesInputSchema = _zod.z.object({
9
+ terms: _zod.z.array(_zod.z.string()).default([]).describe('Search terms matched against guideline keywords and body (fuzzy). Examples: `["empty state", "voice tone"]`, `["color tokens", "spacing"]`, `["elevation", "grid"]`. Omit or use an empty array to return **all** guidelines as Markdown.').optional(),
10
+ limit: _zod.z.number().default(1).describe('Max matches **per term** when `terms` is non-empty (default 1). Ignored when returning all guidelines.').optional()
11
+ });
@@ -4,31 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.listGetGuidelinesTool = exports.getGuidelinesTool = exports.getGuidelinesInputSchema = void 0;
7
+ exports.getGuidelinesTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _fuse = _interopRequireDefault(require("fuse.js"));
11
- var _zod = require("zod");
12
- var _helpers = require("../../helpers");
11
+ var _cleanQuery = require("../../helpers/clean-query");
13
12
  var _guidelinesStructuredContent = require("./guidelines-structured-content.codegen");
14
13
  /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
15
14
 
16
- var getGuidelinesInputSchema = exports.getGuidelinesInputSchema = _zod.z.object({
17
- terms: _zod.z.array(_zod.z.string()).default([]).describe('Search terms matched against guideline keywords and body (fuzzy). Examples: `["empty state", "voice tone"]`, `["color tokens", "spacing"]`, `["elevation", "grid"]`. Omit or use an empty array to return **all** guidelines as Markdown.').optional(),
18
- limit: _zod.z.number().default(1).describe('Max matches **per term** when `terms` is non-empty (default 1). Ignored when returning all guidelines.').optional()
19
- });
20
- var listGetGuidelinesTool = exports.listGetGuidelinesTool = {
21
- name: 'ads_get_guidelines',
22
- description: "Returns Atlassian Design System (ADS) **foundations** guidelines as Markdown: the bundled design-system-docs foundations set (not component API docs).\n\nTOPIC COVERAGE:\n- **Content & UX writing**: messaging types (empty state, error, success, warning, info, feature discovery), voice and tone, inclusive language, grammar and style, date/time copy handoff, vocabulary pointers.\n- **Visual foundations**: color (roles, accents, palette, charts, pickers), borders and radius, elevation and z-index, spacing and layout primitives (box/inline/stack), grid, iconography, logos.\n- **Design tokens**: concepts, themes, migration, using tokens in code and in Figma.\n- **Typography**: typefaces, scale, applying text styles and tokens.\n- **Accessibility overview**: building accessible apps and related foundations pages bundled here.\n\nWhen working with content, use this tool alongside the Context Engine MCP tool `get_content_standards_docs` for Atlassian-wide content standards (CDSTD/BAIT-style org guidance); this tool supplies ADS-specific foundations.\n\nWHAT YOU GET:\n- With `terms`: fuzzy search over keywords and content; concatenated Markdown for matches.\n- Without `terms` (or empty): the full guideline set as Markdown.\n\nWHEN TO USE:\nUse this when you are **building or updating a visual interface**, **writing or reviewing user-facing copy**, or need to **answer foundations questions** about ADS: content patterns, visual appearance, design tokens, typography, spacing, color, grid, motion, and related topics shipped in this bundle.\n\nIt is **not** for picking a component\u2019s props or package (use `ads_plan` / `ads_search_components`) or for interactive accessibility rules and patterns (use `ads_get_a11y_guidelines`, with Context Engine `get_accessibility_docs` for org-wide a11y standards).",
23
- annotations: {
24
- title: 'Get ADS guidelines (content, a11y, visual design, design tokens, typography)',
25
- readOnlyHint: true,
26
- destructiveHint: false,
27
- idempotentHint: true,
28
- openWorldHint: true
29
- },
30
- inputSchema: (0, _helpers.zodToJsonSchema)(getGuidelinesInputSchema)
31
- };
32
15
  var getGuidelinesTool = exports.getGuidelinesTool = /*#__PURE__*/function () {
33
16
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
34
17
  var _params$terms, terms, _params$limit, limit, searchTerms, guidelineDocs, allGuidelinesMarkdown, fuse, results, seen, uniqueResults, matchedGuidelines, formattedGuidelines;
@@ -36,7 +19,7 @@ var getGuidelinesTool = exports.getGuidelinesTool = /*#__PURE__*/function () {
36
19
  while (1) switch (_context.prev = _context.next) {
37
20
  case 0:
38
21
  _params$terms = params.terms, terms = _params$terms === void 0 ? [] : _params$terms, _params$limit = params.limit, limit = _params$limit === void 0 ? 1 : _params$limit;
39
- searchTerms = terms.filter(Boolean).map(_helpers.cleanQuery);
22
+ searchTerms = terms.filter(Boolean).map(_cleanQuery.cleanQuery);
40
23
  guidelineDocs = _guidelinesStructuredContent.guidelinesStructuredContent; // If no search terms provided, return all guidelines formatted as Markdown
41
24
  if (!(searchTerms.length === 0)) {
42
25
  _context.next = 6;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.listGetGuidelinesTool = void 0;
7
+ var _zodToJsonSchema = require("../../helpers/zod-to-json-schema");
8
+ var _getGuidelinesInputSchema = require("./get-guidelines-input-schema");
9
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
10
+
11
+ var listGetGuidelinesTool = exports.listGetGuidelinesTool = {
12
+ name: 'ads_get_guidelines',
13
+ description: "Returns Atlassian Design System (ADS) **foundations** guidelines as Markdown: the bundled design-system-docs foundations set (not component API docs).\n\nTOPIC COVERAGE:\n- **Content & UX writing**: messaging types (empty state, error, success, warning, info, feature discovery), voice and tone, inclusive language, grammar and style, date/time copy handoff, vocabulary pointers.\n- **Visual foundations**: color (roles, accents, palette, charts, pickers), borders and radius, elevation and z-index, spacing and layout primitives (box/inline/stack), grid, iconography, logos.\n- **Design tokens**: concepts, themes, migration, using tokens in code and in Figma.\n- **Typography**: typefaces, scale, applying text styles and tokens.\n- **Accessibility overview**: building accessible apps and related foundations pages bundled here.\n\nWhen working with content, use this tool alongside the Context Engine MCP tool `get_content_standards_docs` for Atlassian-wide content standards (CDSTD/BAIT-style org guidance); this tool supplies ADS-specific foundations.\n\nWHAT YOU GET:\n- With `terms`: fuzzy search over keywords and content; concatenated Markdown for matches.\n- Without `terms` (or empty): the full guideline set as Markdown.\n\nWHEN TO USE:\nUse this when you are **building or updating a visual interface**, **writing or reviewing user-facing copy**, or need to **answer foundations questions** about ADS: content patterns, visual appearance, design tokens, typography, spacing, color, grid, motion, and related topics shipped in this bundle.\n\nIt is **not** for picking a component\u2019s props or package (use `ads_plan` / `ads_search_components`) or for interactive accessibility rules and patterns (use `ads_get_a11y_guidelines`, with Context Engine `get_accessibility_docs` for org-wide a11y standards).",
14
+ annotations: {
15
+ title: 'Get ADS guidelines (content, a11y, visual design, design tokens, typography)',
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: true
20
+ },
21
+ inputSchema: (0, _zodToJsonSchema.zodToJsonSchema)(_getGuidelinesInputSchema.getGuidelinesInputSchema)
22
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLintRulesInputSchema = void 0;
7
+ var _zod = require("zod");
8
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
9
+
10
+ var getLintRulesInputSchema = exports.getLintRulesInputSchema = _zod.z.object({
11
+ terms: _zod.z.array(_zod.z.string()).default([]).describe('Search terms matched against rule name, description, and docs body (fuzzy unless \`exactName\` is true). Example: `["icon-label", "xcss", "design token"]`. Omit or empty: return **all** rules as JSON.').optional(),
12
+ limit: _zod.z.number().default(1).describe('Max matches **per term** when searching (default 1). Not used when returning all rules.').optional(),
13
+ exactName: _zod.z.boolean().default(false).describe('If true, resolve each term by **exact** ESLint rule name (case-insensitive). If false, fuzzy search across name, description, and content.').optional()
14
+ });
@@ -4,32 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.listGetLintRulesTool = exports.getLintRulesTool = exports.getLintRulesInputSchema = void 0;
7
+ exports.getLintRulesTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _fuse = _interopRequireDefault(require("fuse.js"));
11
- var _zod = require("zod");
12
- var _helpers = require("../../helpers");
11
+ var _cleanQuery = require("../../helpers/clean-query");
13
12
  var _lintRulesStructuredContent = require("./lint-rules-structured-content.codegen");
14
13
  /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
15
14
 
16
- var getLintRulesInputSchema = exports.getLintRulesInputSchema = _zod.z.object({
17
- terms: _zod.z.array(_zod.z.string()).default([]).describe('Search terms matched against rule name, description, and docs body (fuzzy unless \`exactName\` is true). Example: `["icon-label", "xcss", "design token"]`. Omit or empty: return **all** rules as JSON.').optional(),
18
- limit: _zod.z.number().default(1).describe('Max matches **per term** when searching (default 1). Not used when returning all rules.').optional(),
19
- exactName: _zod.z.boolean().default(false).describe('If true, resolve each term by **exact** ESLint rule name (case-insensitive). If false, fuzzy search across name, description, and content.').optional()
20
- });
21
- var listGetLintRulesTool = exports.listGetLintRulesTool = {
22
- name: 'ads_get_lint_rules',
23
- description: "Returns documentation for **Constellation** (Atlassian Design System) ESLint rules shipped with this MCP\u2014rule purpose, examples, and fixes where available.\n\nWHAT YOU GET:\n- No `terms`: JSON array of all rule payloads.\n- With `terms`: fuzzy search (or exact rule name when `exactName` is true); JSON for one or more matching rules.\n\nWHEN TO USE:\nExplaining or fixing an ESLint message from ADS rules (e.g. `icon-label`, `ensure-proper-xcss-usage`, `no-deprecated-apis`), or browsing rule docs without opening the repo. Prefer this over guessing from rule id alone.\n\nThis tool does not run ESLint; it only returns bundled documentation.",
24
- annotations: {
25
- title: 'Get ADS ESLint rule docs',
26
- readOnlyHint: true,
27
- destructiveHint: false,
28
- idempotentHint: true,
29
- openWorldHint: true
30
- },
31
- inputSchema: (0, _helpers.zodToJsonSchema)(getLintRulesInputSchema)
32
- };
33
15
  var getLintRulesTool = exports.getLintRulesTool = /*#__PURE__*/function () {
34
16
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
35
17
  var _params$terms, terms, _params$limit, limit, _params$exactName, exactName, searchTerms, ruleDocs, _payload, exactNameMatches, _payload2, fuse, results, uniqueResults, matchedRules, payload;
@@ -37,7 +19,7 @@ var getLintRulesTool = exports.getLintRulesTool = /*#__PURE__*/function () {
37
19
  while (1) switch (_context.prev = _context.next) {
38
20
  case 0:
39
21
  _params$terms = params.terms, terms = _params$terms === void 0 ? [] : _params$terms, _params$limit = params.limit, limit = _params$limit === void 0 ? 1 : _params$limit, _params$exactName = params.exactName, exactName = _params$exactName === void 0 ? false : _params$exactName;
40
- searchTerms = terms.filter(Boolean).map(_helpers.cleanQuery);
22
+ searchTerms = terms.filter(Boolean).map(_cleanQuery.cleanQuery);
41
23
  ruleDocs = _lintRulesStructuredContent.lintRulesMcpStructuredContent; // If no search terms provided, return all rules as JSON array
42
24
  if (!(searchTerms.length === 0)) {
43
25
  _context.next = 6;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.listGetLintRulesTool = void 0;
7
+ var _zodToJsonSchema = require("../../helpers/zod-to-json-schema");
8
+ var _getLintRulesInputSchema = require("./get-lint-rules-input-schema");
9
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
10
+
11
+ var listGetLintRulesTool = exports.listGetLintRulesTool = {
12
+ name: 'ads_get_lint_rules',
13
+ description: "Returns documentation for **Constellation** (Atlassian Design System) ESLint rules shipped with this MCP\u2014rule purpose, examples, and fixes where available.\n\nWHAT YOU GET:\n- No `terms`: JSON array of all rule payloads.\n- With `terms`: fuzzy search (or exact rule name when `exactName` is true); JSON for one or more matching rules.\n\nWHEN TO USE:\nExplaining or fixing an ESLint message from ADS rules (e.g. `icon-label`, `ensure-proper-xcss-usage`, `no-deprecated-apis`), or browsing rule docs without opening the repo. Prefer this over guessing from rule id alone.\n\nThis tool does not run ESLint; it only returns bundled documentation.",
14
+ annotations: {
15
+ title: 'Get ADS ESLint rule docs',
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: true
20
+ },
21
+ inputSchema: (0, _zodToJsonSchema.zodToJsonSchema)(_getLintRulesInputSchema.getLintRulesInputSchema)
22
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.i18nConversionInputSchema = void 0;
7
+ var _zod = require("zod");
8
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
9
+
10
+ var i18nConversionInputSchema = exports.i18nConversionInputSchema = _zod.z.object({
11
+ guide: _zod.z.enum(['hardcoded-string-to-formatmessage']).describe('Which bundled guide to return. Currently only `hardcoded-string-to-formatmessage` (JSX literals → `formatMessage` / intl patterns).')
12
+ });
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.i18nConversionTool = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _guide = require("./guide");
11
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
12
+
13
+ var i18nConversionTool = exports.i18nConversionTool = /*#__PURE__*/function () {
14
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_params) {
15
+ return _regenerator.default.wrap(function _callee$(_context) {
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ return _context.abrupt("return", {
19
+ content: [{
20
+ type: 'text',
21
+ text: JSON.stringify(_guide.i18nConversionGuide, null, 2)
22
+ }]
23
+ });
24
+ case 1:
25
+ case "end":
26
+ return _context.stop();
27
+ }
28
+ }, _callee);
29
+ }));
30
+ return function i18nConversionTool(_x) {
31
+ return _ref.apply(this, arguments);
32
+ };
33
+ }();
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.listI18nConversionTool = exports.i18nConversionTool = exports.i18nConversionInputSchema = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _zod = require("zod");
11
- var _helpers = require("../../helpers");
12
- var _guide = require("./guide");
6
+ exports.listI18nConversionTool = void 0;
7
+ var _zodToJsonSchema = require("../../helpers/zod-to-json-schema");
8
+ var _i18nConversionInputSchema = require("./i18n-conversion-input-schema");
13
9
  /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
14
10
 
15
- var i18nConversionInputSchema = exports.i18nConversionInputSchema = _zod.z.object({
16
- guide: _zod.z.enum(['hardcoded-string-to-formatmessage']).describe('Which bundled guide to return. Currently only `hardcoded-string-to-formatmessage` (JSX literals → `formatMessage` / intl patterns).')
17
- });
18
11
  var listI18nConversionTool = exports.listI18nConversionTool = {
19
12
  name: 'ads_i18n_conversion_guide',
20
13
  description: "Returns a **bundled** step-by-step guide for replacing hardcoded UI strings with `formatMessage` (and related patterns) using @atlassian/jira-intl or react-intl-next: message constants, placeholders, descriptions, and scope/limitations for systematic refactors.\n\nWhen working with i18n or hardcoded UI strings, use this tool alongside the Context Engine MCP tool `get_i18n_docs` for Atlassian-wide Traduki / i18n standards (message definition, extraction, pluralisation, formatting, workflow); this tool supplies the concrete hardcoded-string \u2192 `formatMessage` playbook bundled in ADS MCP.\n\nWHEN TO USE / TYPICAL TRIGGERS:\n- Refactoring JSX or TS literals to i18n; \"fix hardcoded string(s)\", \"convert hardcoded string in [file]\", \"literal string in JSX\".\n- \"Convert to i18n\", \"convert to formatMessage\", \"translate this string\", \"internationalize this string\", \"i18n this string\".\n- \"Use formatMessage\", \"use FormattedMessage\", \"wrap in formatMessage\", \"fix literal string\".\n- ESLint: `Literal string in JSX content should be internationalized. Use FormattedMessage or intl.formatMessage()`.\n- ESLint: `@atlassian/i18n/no-literal-string-in-jsx`.",
@@ -25,26 +18,5 @@ var listI18nConversionTool = exports.listI18nConversionTool = {
25
18
  idempotentHint: true,
26
19
  openWorldHint: false
27
20
  },
28
- inputSchema: (0, _helpers.zodToJsonSchema)(i18nConversionInputSchema)
29
- };
30
- var i18nConversionTool = exports.i18nConversionTool = /*#__PURE__*/function () {
31
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_params) {
32
- return _regenerator.default.wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- return _context.abrupt("return", {
36
- content: [{
37
- type: 'text',
38
- text: JSON.stringify(_guide.i18nConversionGuide, null, 2)
39
- }]
40
- });
41
- case 1:
42
- case "end":
43
- return _context.stop();
44
- }
45
- }, _callee);
46
- }));
47
- return function i18nConversionTool(_x) {
48
- return _ref.apply(this, arguments);
49
- };
50
- }();
21
+ inputSchema: (0, _zodToJsonSchema.zodToJsonSchema)(_i18nConversionInputSchema.i18nConversionInputSchema)
22
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAvailableMigrationIds = void 0;
7
+ var _migrationRegistry = require("./migration-registry");
8
+ /**
9
+ * Migration registry - central place to register all available migrations
10
+ *
11
+ * To add a new migration:
12
+ * 1. Create a new file in ./migrations/ with your MigrationGuide(s)
13
+ * 2. Import and add to the registry below
14
+ * 3. The tool will automatically include it in the available options
15
+ */
16
+
17
+ /**
18
+ * Get all available migration IDs for use in the tool schema
19
+ */
20
+ var getAvailableMigrationIds = exports.getAvailableMigrationIds = function getAvailableMigrationIds() {
21
+ return Object.keys(_migrationRegistry.migrationRegistry);
22
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAvailableMigrationsDescription = void 0;
7
+ var _migrationRegistry = require("./migration-registry");
8
+ /**
9
+ * Migration registry - central place to register all available migrations
10
+ *
11
+ * To add a new migration:
12
+ * 1. Create a new file in ./migrations/ with your MigrationGuide(s)
13
+ * 2. Import and add to the registry below
14
+ * 3. The tool will automatically include it in the available options
15
+ */
16
+
17
+ /**
18
+ * Get a formatted list of available migrations with descriptions
19
+ * Useful for tool descriptions and help text
20
+ */
21
+ var getAvailableMigrationsDescription = exports.getAvailableMigrationsDescription = function getAvailableMigrationsDescription() {
22
+ return Object.values(_migrationRegistry.migrationRegistry).map(function (m) {
23
+ return "- \"".concat(m.id, "\": ").concat(m.description);
24
+ });
25
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.listMigrationGuidesTool = void 0;
7
+ var _zodToJsonSchema = require("../../helpers/zod-to-json-schema");
8
+ var _getAvailableMigrationsDescription = require("./get-available-migrations-description");
9
+ var _migrationGuidesInputSchema = require("./migration-guides-input-schema");
10
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
11
+
12
+ var listMigrationGuidesTool = exports.listMigrationGuidesTool = {
13
+ name: 'ads_migration_guides',
14
+ description: "Returns a structured Atlassian Design System (ADS) **migration guide** for a known package or API migration (before/after examples, best practices, links).\n\nWHEN TO USE:\nYou are upgrading or refactoring code between ADS packages or APIs and need the official migration pattern for a specific id listed below.\n\nPass **both** `migration` and `description` using a **matching pair** from the enum (schema enforces valid combinations).\n\nAvailable migrations:\n".concat((0, _getAvailableMigrationsDescription.getAvailableMigrationsDescription)()),
15
+ annotations: {
16
+ title: 'ADS Migration Guides',
17
+ readOnlyHint: true,
18
+ destructiveHint: false,
19
+ idempotentHint: true,
20
+ openWorldHint: false
21
+ },
22
+ inputSchema: (0, _zodToJsonSchema.zodToJsonSchema)(_migrationGuidesInputSchema.migrationGuidesInputSchema)
23
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.migrationGuidesInputSchema = void 0;
7
+ var _zod = require("zod");
8
+ var _getAvailableMigrationIds = require("./get-available-migration-ids");
9
+ var _getAvailableMigrationsDescription = require("./get-available-migrations-description");
10
+ /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
11
+
12
+ var migrationIds = (0, _getAvailableMigrationIds.getAvailableMigrationIds)();
13
+ var migrationDescriptions = (0, _getAvailableMigrationsDescription.getAvailableMigrationsDescription)();
14
+ var migrationGuidesInputSchema = exports.migrationGuidesInputSchema = _zod.z.object({
15
+ migration: _zod.z.enum(migrationIds).describe('Migration id from the registry. Must match the guide you want (see tool description list).'),
16
+ description: _zod.z.enum(migrationDescriptions).describe('Human-readable migration label that pairs with `migration` in the schema—choose the entry that matches the selected id.')
17
+ });
@@ -4,34 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.migrationGuidesTool = exports.migrationGuidesInputSchema = exports.listMigrationGuidesTool = void 0;
7
+ exports.migrationGuidesTool = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _zod = require("zod");
11
- var _helpers = require("../../helpers");
10
+ var _getAvailableMigrationIds = require("./get-available-migration-ids");
12
11
  var _migrationRegistry = require("./migration-registry");
13
- var _registry = require("./registry");
14
12
  /* eslint-disable-next-line import/extensions -- MCP SDK requires .js extensions for ESM imports */
15
13
 
16
- // Build the enum dynamically from the registry
17
- var migrationIds = (0, _registry.getAvailableMigrationIds)();
18
- var migrationDescriptions = (0, _registry.getAvailableMigrationsDescription)();
19
- var migrationGuidesInputSchema = exports.migrationGuidesInputSchema = _zod.z.object({
20
- migration: _zod.z.enum(migrationIds).describe('Migration id from the registry. Must match the guide you want (see tool description list).'),
21
- description: _zod.z.enum(migrationDescriptions).describe('Human-readable migration label that pairs with `migration` in the schema—choose the entry that matches the selected id.')
22
- });
23
- var listMigrationGuidesTool = exports.listMigrationGuidesTool = {
24
- name: 'ads_migration_guides',
25
- description: "Returns a structured Atlassian Design System (ADS) **migration guide** for a known package or API migration (before/after examples, best practices, links).\n\nWHEN TO USE:\nYou are upgrading or refactoring code between ADS packages or APIs and need the official migration pattern for a specific id listed below.\n\nPass **both** `migration` and `description` using a **matching pair** from the enum (schema enforces valid combinations).\n\nAvailable migrations:\n".concat((0, _registry.getAvailableMigrationsDescription)()),
26
- annotations: {
27
- title: 'ADS Migration Guides',
28
- readOnlyHint: true,
29
- destructiveHint: false,
30
- idempotentHint: true,
31
- openWorldHint: false
32
- },
33
- inputSchema: (0, _helpers.zodToJsonSchema)(migrationGuidesInputSchema)
34
- };
35
14
  var migrationGuidesTool = exports.migrationGuidesTool = /*#__PURE__*/function () {
36
15
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params) {
37
16
  var migration, guide;
@@ -49,7 +28,7 @@ var migrationGuidesTool = exports.migrationGuidesTool = /*#__PURE__*/function ()
49
28
  type: 'text',
50
29
  text: JSON.stringify({
51
30
  error: "Unknown migration: ".concat(migration),
52
- availableMigrations: (0, _registry.getAvailableMigrationIds)(),
31
+ availableMigrations: (0, _getAvailableMigrationIds.getAvailableMigrationIds)(),
53
32
  suggestion: 'Please use one of the available migration IDs listed above.'
54
33
  }, null, 2)
55
34
  }]
@@ -6,5 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.migrationRegistry = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _onboardingToSpotlight = require("./migrations/onboarding-to-spotlight");
10
- var migrationRegistry = exports.migrationRegistry = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _onboardingToSpotlight.onboardingJiraSpotlight.id, _onboardingToSpotlight.onboardingJiraSpotlight), _onboardingToSpotlight.onboardingSingleStep.id, _onboardingToSpotlight.onboardingSingleStep), _onboardingToSpotlight.onboardingMultiStep.id, _onboardingToSpotlight.onboardingMultiStep), _onboardingToSpotlight.onboardingWithMotion.id, _onboardingToSpotlight.onboardingWithMotion);
9
+ var _onboardingJiraSpotlight = require("./migrations/onboarding-jira-spotlight");
10
+ var _onboardingMultiStep = require("./migrations/onboarding-multi-step");
11
+ var _onboardingSingleStep = require("./migrations/onboarding-single-step");
12
+ var _onboardingWithMotion = require("./migrations/onboarding-with-motion");
13
+ var migrationRegistry = exports.migrationRegistry = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _onboardingJiraSpotlight.onboardingJiraSpotlight.id, _onboardingJiraSpotlight.onboardingJiraSpotlight), _onboardingSingleStep.onboardingSingleStep.id, _onboardingSingleStep.onboardingSingleStep), _onboardingMultiStep.onboardingMultiStep.id, _onboardingMultiStep.onboardingMultiStep), _onboardingWithMotion.onboardingWithMotion.id, _onboardingWithMotion.onboardingWithMotion);
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.onboardingJiraSpotlight = void 0;
7
+ var additionalResources = 'Visit https://hello.atlassian.net/wiki/spaces/DST/pages/6069774593 or https://atlassian.design/components/spotlight for more context';
8
+ var onboardingJiraSpotlight = exports.onboardingJiraSpotlight = {
9
+ id: 'jira-spotlight',
10
+ title: 'JiraSpotlight Migration',
11
+ description: 'Use when code contains `JiraSpotlight` import from `@atlassian/jira-spotlight`',
12
+ fromPackage: '@atlassian/jira-spotlight',
13
+ toPackage: '@atlaskit/spotlight',
14
+ examples: [{
15
+ title: 'Internal <JiraSpotlight /> migration',
16
+ description: 'Internal migrations are possible for JiraSpotlight usages which only pass simple/textual content to JiraSpotlight children',
17
+ before: "\n// file1.tsx\nimport { JiraSpotlight } from '@atlassian/jira-spotlight/src/ui/jira-spotlight.tsx';\n\nexport const OnboardingSpotlightWrapper = () => {\n\tconst spotlightId = 'some-unique-identifier'\n\tconst { dark, light } = spotlightImageUrls[spotlightId];\n\tconst imageUrl = colorMode === 'dark' ? dark : light;\n\n\treturn (\n\t\t<JiraSpotlight\n\t\t\timage={imageUrl}\n\t\t\tactions={[\n\t\t\t\t{\n\t\t\t\t\tonClick,\n\t\t\t\t\ttext: formatMessage(dismiss),\n\t\t\t\t},\n\t\t\t]}\n\t\t\theading={formatMessage(heading)}\n\t\t\ttarget={spotlightId}\n\t\t\tkey={spotlightId}\n\t\t\ttargetRadius={3}\n\t\t\ttargetBgColor={token('elevation.surface')}\n\t\t\tmessageId={spotlightId}\n\t\t\tmessageType=\"transactional\"\n\t\t\tdialogWidth={275}\n\t\t>\n\t\t\t{formatMessage(body)}\n\t\t</JiraSpotlight>\n\t);\n}\n\n// file2.tsx\nimport { SpotlightTarget } from '@atlaskit/onboarding';\n\nconst spotlightId = 'some-unique-identifier'\n\nexport const SomeFeature = () => {\n\treturn (\n\t\t<SpotlightTarget name={spotlightId}>\n\t\t\t// Target code\n\t\t</SpotlightTarget>\n\t);\n}\n",
18
+ after: "\n// file1.tsx\nimport { JiraSpotlight } from '@atlassian/jira-spotlight/src/ui/jira-spotlight.tsx';\n\nexport const OnboardingSpotlightWrapper = () => {\n\tconst spotlightId = 'some-unique-identifier'\n\tconst { dark, light } = spotlightImageUrls[spotlightId];\n\tconst imageUrl = colorMode === 'dark' ? dark : light;\n\n\treturn (\n\t\t<JiraSpotlight\n\t\t\tisMigrated // isMigrated prop passed\n\t\t\timage={imageUrl}\n\t\t\tactions={[\n\t\t\t\t{\n\t\t\t\t\tonClick,\n\t\t\t\t\ttext: formatMessage(dismiss),\n\t\t\t\t},\n\t\t\t]}\n\t\t\theading={formatMessage(heading)}\n\t\t\ttarget={spotlightId}\n\t\t\tkey={spotlightId}\n\t\t\ttargetRadius={3}\n\t\t\ttargetBgColor={token('elevation.surface')}\n\t\t\tmessageId={spotlightId}\n\t\t\tmessageType=\"transactional\"\n\t\t\tdialogWidth={275}\n\t\t>\n\t\t\t{formatMessage(body)}\n\t\t</JiraSpotlight>\n\t);\n}\n\n// file2.tsx\n// Updated SpotlightTarget import statement\nimport { SpotlightTarget } from '@atlassian/jira-spotlight/src/ui/SpotlightTarget.tsx';\n\nexport const SomeFeature = () => {\n\tconst spotlightId = 'some-unique-identifier'\n\n\treturn (\n\t\t<SpotlightTarget name={spotlightId}>\n\t\t\t// Target code\n\t\t</SpotlightTarget>\n\t);\n}\n\t\t\t",
19
+ explanation: "Key changes when migrating a JiraSpotlight:\n- A JiraSpotlight and a SpotlightTarget are part of the same usage if they share a spotlightId value - Referenced in JiraSpotlight.target and SpotlightTarget.name props\n- Pass isMigrated={true} to JiraSpotlight.\n- Update SpotlightTarget import statment from '@atlaskit/onboarding' to '@atlassian/jira-spotlight/src/ui/SpotlightTarget.tsx';\n- These changes allow switching the internal implementation to '@atlaskit/spotlight' via a feature flag.\n- This internal migration is only possible for usages that don't rely too heavily on the 'children' prop, as complex values, like heading, images, etc passed to 'children' are difficult to parse.\n"
20
+ }, {
21
+ title: 'Complex <JiraSpotlight /> migration',
22
+ description: 'Complex migrations are necessary for JiraSpotlight usages that make heavy use of the `children` prop to achieve customisation instead of relying on the `heading`, `body`, `image`, and/or `actions` props.',
23
+ before: "\n// file1.tsx\nimport { JiraSpotlight } from '@atlassian/jira-spotlight/src/ui/jira-spotlight.tsx';\n\nexport const OnboardingSpotlightWrapper = () => {\n\tconst spotlightId = 'some-unique-identifier'\n\tconst { dark, light } = spotlightImageUrls[spotlightId];\n\tconst imageUrl = colorMode === 'dark' ? dark : light;\n\n\treturn (\n\t\t<JiraSpotlight\n\t\t\ttarget={spotlightId}\n\t\t\ttargetRadius={3}\n\t\t\tdialogPlacement=''\n\t\t\ttargetBgColor={token('elevation.surface')}\n\t\t\tmessageId={spotlightId}\n\t\t\tmessageType=\"transactional\"\n\t\t\tdialogWidth={275}\n\t\t>\n\t\t\t<CustomSpotlightInner>\n\t\t\t\t{imageUrl}\n\t\t\t\t{formatMessage(heading)}\n\t\t\t\t{formatMessage(body)}\n\t\t\t\t<CustomSpotlightAction>\n\t\t\t\t\t{formatMessage(dismiss)}\n\t\t\t\t</CustomSpotlightAction>\n\t\t\t</CustomSpotlightInner>\n\t\t</JiraSpotlight>\n\t);\n}\n\n// file2.tsx\nimport { SpotlightTarget } from '@atlaskit/onboarding';\n\nconst spotlightId = 'some-unique-identifier'\n\nexport const SomeFeature = () => {\n\treturn (\n\t\t<SpotlightTarget name={spotlightId}>\n\t\t\t// Target code\n\t\t</SpotlightTarget>\n\t);\n}\n",
24
+ after: "\n// file2.tsx - Spotlight code has been co-located to the targeted element\nimport { Text } from '@atlaskit/primitives/compiled';\nimport {\n PopoverContent,\n PopoverProvider,\n PopoverTarget,\n SpotlightActions,\n SpotlightBody,\n SpotlightCard,\n SpotlightControls,\n SpotlightDismissControl,\n SpotlightFooter,\n SpotlightHeader,\n SpotlightHeadline,\n SpotlightPrimaryAction,\n} from '@atlaskit/spotlight';\nimport Image from '@atlaskit/image';\nimport { ChoreographedComponent } from '@atlassian/jira-spotlight/src/ui/ChoreographedComponent.tsx';\n\nexport const SomeFeature = () => {\n\tconst { dark, light } = spotlightImageUrls[spotlightId];\n\n\tconst [isSpotlightVisible, actions] = useListViewOnboarding({\n\t\tprojectId: String(projectData.id),\n\t\tid: spotlightId,\n\t});\n\n\treturn (\n\t\t<PopoverProvider>\n\t\t\t<PopoverTarget>{renderTrigger(isSpotlightVisible)}</PopoverTarget>\n\t\t\t<ChoreographedComponent messageId={spotlightId} messageType=\"transactional\">\n\t\t\t\t<PopoverContent isVisible={isSpotlightVisible} placement=\"bottom-start\" dismiss={onClick}>\n\t\t\t\t\t<SpotlightCard>\n\t\t\t\t\t\t<SpotlightHeader>\n\t\t\t\t\t\t\t<SpotlightHeadline>{formatMessage(heading)}</SpotlightHeadline>\n\t\t\t\t\t\t\t<SpotlightControls>\n\t\t\t\t\t\t\t\t<SpotlightDismissControl />\n\t\t\t\t\t\t\t</SpotlightControls>\n\t\t\t\t\t\t</SpotlightHeader>\n\t\t\t\t\t\t<SpotlightMedia>\n\t\t\t\t\t\t\t<Image src={light} srcDark={dark} alt=\"\" />\n\t\t\t\t\t\t</SpotlightMedia>\n\t\t\t\t\t\t<SpotlightBody>\n\t\t\t\t\t\t\t<Text>{formatMessage(body)}</Text>\n\t\t\t\t\t\t</SpotlightBody>\n\t\t\t\t\t\t<SpotlightFooter>\n\t\t\t\t\t\t\t<SpotlightActions>\n\t\t\t\t\t\t\t\t<SpotlightPrimaryAction onClick={onClick}>\n\t\t\t\t\t\t\t\t\t{formatMessage(dismiss)}\n\t\t\t\t\t\t\t\t</SpotlightPrimaryAction>\n\t\t\t\t\t\t\t</SpotlightActions>\n\t\t\t\t\t\t</SpotlightFooter>\n\t\t\t\t\t</SpotlightCard>\n\t\t\t\t</PopoverContent>\n\t\t\t</ChoreographedComponent>\n\t\t</PopoverProvider>\n\t);\n};",
25
+ explanation: "Key changes when migrating a single step spotlight:\n- Replace JiraSpotlight with ChoreographedComponent from '@atlassian/jira-spotlight'.\n- PopoverProvider maintains internal Spotlight state.\n- Replace SpotlightTarget with PopoverTarget - wraps the element to highlight\n- Replace Spotlight with PopoverContent containing SpotlightCard - controls visibility and positioning\n- 'heading' becomes SpotlightHeadline inside SpotlightHeader\n- 'actions' becomes SpotlightActions with SpotlightPrimaryAction (and optionally SpotlightSecondaryAction)\n- 'body' content moves into SpotlightBody wrapped with Text component\n- Add SpotlightDismissControl inside SpotlightControls for the close button\n- The 'target' and/or 'targetName' prop is replaced with PopoverTarget directly wrapping the target element\n- 'dialogPlacement' prop becomes 'placement' on PopoverContent. Mapping: \"top right\" \u2192 \"top-start\", \"top center\" \u2192 \"top\", \"top left\" \u2192 \"top-end\", \"right bottom\" \u2192 \"right-start\", \"right middle\" \u2192 \"right-start | right-end\", \"right top\" \u2192 \"right-end\", \"bottom left\" \u2192 \"bottom-end\", \"bottom center\" \u2192 \"bottom\", \"bottom right\" \u2192 \"bottom-start\", \"left top\" \u2192 \"left-end\", \"left middle\" \u2192 \"left-start | left-end\", \"left bottom\" \u2192 \"left-start\"'"
26
+ }],
27
+ bestPractices: [],
28
+ additionalResources: additionalResources
29
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.onboardingMultiStep = void 0;
7
+ var additionalResources = 'Visit https://hello.atlassian.net/wiki/spaces/DST/pages/6069774593 or https://atlassian.design/components/spotlight for more context';
8
+ var onboardingMultiStep = exports.onboardingMultiStep = {
9
+ id: 'multi-step',
10
+ title: 'Multi Step Spotlight Tour Migration',
11
+ description: 'Migrate a multi-step spotlight tour from @atlaskit/onboarding to @atlaskit/spotlight',
12
+ fromPackage: '@atlaskit/onboarding',
13
+ toPackage: '@atlaskit/spotlight',
14
+ examples: [{
15
+ title: 'Migrate multi step spotlight tour',
16
+ description: 'Replace the single SpotlightManager pattern with multiple PopoverProvider instances, one for each target in the tour',
17
+ before: "import React, { useState } from 'react';\nimport Button, { IconButton } from '@atlaskit/button/new';\nimport CommentAddIcon from '@atlaskit/icon/core/comment-add';\nimport CopyIcon from '@atlaskit/icon/core/copy';\nimport {\n Spotlight,\n SpotlightManager,\n SpotlightTarget,\n SpotlightTransition,\n} from '@atlaskit/onboarding';\n\nconst OnboardingTour = () => {\n const [activeSpotlight, setActiveSpotlight] = useState<null | number>(null);\n const start = () => setActiveSpotlight(0);\n const next = () => setActiveSpotlight((activeSpotlight || 0) + 1);\n const back = () => setActiveSpotlight((activeSpotlight || 1) - 1);\n const end = () => setActiveSpotlight(null);\n\n const renderActiveSpotlight = () => {\n const spotlights = [\n <Spotlight\n actions={[\n { onClick: () => next(), text: 'Next' },\n { onClick: () => end(), text: 'Dismiss', appearance: 'subtle' },\n ]}\n heading=\"Add a comment\"\n target=\"comment\"\n key=\"comment\"\n >\n Quickly add a comment to the work item.\n </Spotlight>,\n <Spotlight\n actions={[\n { onClick: () => end(), text: 'Done' },\n { onClick: () => back(), text: 'Back', appearance: 'subtle' },\n ]}\n heading=\"Copy code\"\n target=\"copy\"\n key=\"copy\"\n >\n Click to copy the example code to your clipboard.\n </Spotlight>,\n ];\n\n if (activeSpotlight === null) {\n return null;\n }\n return spotlights[activeSpotlight];\n };\n\n return (\n <SpotlightManager>\n <SpotlightTarget name=\"comment\">\n <IconButton icon={CommentAddIcon} label=\"comment\" />\n </SpotlightTarget>\n <SpotlightTarget name=\"copy\">\n <IconButton icon={CopyIcon} label=\"Copy\" />\n </SpotlightTarget>\n <Button appearance=\"primary\" onClick={start}>\n Start tour\n </Button>\n <SpotlightTransition>{renderActiveSpotlight()}</SpotlightTransition>\n </SpotlightManager>\n );\n};",
18
+ after: "import React, { useState } from 'react';\nimport Button, { IconButton } from '@atlaskit/button/new';\nimport CommentAddIcon from '@atlaskit/icon/core/comment-add';\nimport CopyIcon from '@atlaskit/icon/core/copy';\nimport { Text } from '@atlaskit/primitives/compiled';\nimport {\n PopoverContent,\n PopoverProvider,\n PopoverTarget,\n SpotlightActions,\n SpotlightBody,\n SpotlightCard,\n SpotlightControls,\n SpotlightDismissControl,\n SpotlightFooter,\n SpotlightHeader,\n SpotlightHeadline,\n SpotlightPrimaryAction,\n SpotlightSecondaryAction,\n SpotlightStepCount,\n} from '@atlaskit/spotlight';\n\nconst SpotlightTour = () => {\n const [currentStep, setCurrentStep] = useState<number>(0);\n\n const dismiss = () => setCurrentStep(0);\n const back = () => setCurrentStep(Math.max(currentStep - 1, 1));\n const next = () => setCurrentStep(Math.min(currentStep + 1, 2));\n const done = () => setCurrentStep(0);\n\n return (\n <>\n <PopoverProvider>\n <PopoverTarget>\n <IconButton icon={CommentAddIcon} label=\"comment\" />\n </PopoverTarget>\n <PopoverContent dismiss={dismiss} placement=\"bottom-start\" isVisible={currentStep === 1}>\n <SpotlightCard>\n <SpotlightHeader>\n <SpotlightHeadline>Add a comment</SpotlightHeadline>\n <SpotlightControls>\n <SpotlightDismissControl onClick={dismiss} />\n </SpotlightControls>\n </SpotlightHeader>\n <SpotlightBody>\n <Text>Quickly add a comment to the work item.</Text>\n </SpotlightBody>\n <SpotlightFooter>\n <SpotlightStepCount>1 of 2</SpotlightStepCount>\n <SpotlightActions>\n <SpotlightPrimaryAction onClick={next}>Next</SpotlightPrimaryAction>\n </SpotlightActions>\n </SpotlightFooter>\n </SpotlightCard>\n </PopoverContent>\n </PopoverProvider>\n\n <PopoverProvider>\n <PopoverTarget>\n <IconButton icon={CopyIcon} label=\"Copy\" />\n </PopoverTarget>\n <PopoverContent dismiss={dismiss} placement=\"bottom-start\" isVisible={currentStep === 2}>\n <SpotlightCard>\n <SpotlightHeader>\n <SpotlightHeadline>Copy code</SpotlightHeadline>\n <SpotlightControls>\n <SpotlightDismissControl onClick={dismiss} />\n </SpotlightControls>\n </SpotlightHeader>\n <SpotlightBody>\n <Text>Click to copy the example code to your clipboard.</Text>\n </SpotlightBody>\n <SpotlightFooter>\n <SpotlightStepCount>2 of 2</SpotlightStepCount>\n <SpotlightActions>\n <SpotlightSecondaryAction onClick={back}>Back</SpotlightSecondaryAction>\n <SpotlightPrimaryAction onClick={done}>Done</SpotlightPrimaryAction>\n </SpotlightActions>\n </SpotlightFooter>\n </SpotlightCard>\n </PopoverContent>\n </PopoverProvider>\n\n <Button appearance=\"primary\" onClick={() => setCurrentStep(1)}>\n Start tour\n </Button>\n </>\n );\n};",
19
+ explanation: "Key changes when migrating a multi-step spotlight tour:\n- SpotlightManager coordinated multiple spotlights in a tour. PopoverProvider manages internal state for a single spotlight.\n- Each target gets its own PopoverProvider > PopoverTarget > PopoverContent structure\n- The spotlight array pattern is replaced with individual SpotlightCard components per target\n- Control visibility with isVisible={currentStep === n} on each PopoverContent\n- Add SpotlightStepCount component in SpotlightFooter to show progress (e.g., \"1 of 3\")\n- Use SpotlightSecondaryAction for \"Back\" buttons instead of appearance: 'subtle' in the actions array\n- Use SpotlightPrimaryAction for \"Next\" and \"Done\" buttons\n- The renderActiveSpotlight pattern is no longer needed - visibility is controlled declaratively\n- Navigation functions use Math.max/Math.min to bound the step range safely\n- All other migration changes from single step spotlight migration guide apply."
20
+ }],
21
+ bestPractices: ['Use a numeric currentStep state where 0 = hidden, 1+ = active step number', 'Always include SpotlightStepCount in multi-step tours for user orientation', 'First step should only have "Next" action, middle steps have "Back" and "Next", last step has "Back" and "Done"', 'Use SpotlightSecondaryAction for back/dismiss actions and SpotlightPrimaryAction for next/done', 'Include SpotlightDismissControl with onClick={dismiss} so users can exit the tour at any point', 'Bound navigation functions with Math.max/Math.min to prevent invalid step values', 'Preference duplicating Spotlight code instead of trying to have a single `@atlaskit/spotlight` instance that conditionally renders content based on step.'],
22
+ additionalResources: additionalResources
23
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.onboardingSingleStep = void 0;
7
+ var additionalResources = 'Visit https://hello.atlassian.net/wiki/spaces/DST/pages/6069774593 or https://atlassian.design/components/spotlight for more context';
8
+ var onboardingSingleStep = exports.onboardingSingleStep = {
9
+ id: 'single-step',
10
+ title: 'Single Step Spotlight Migration',
11
+ description: 'Use when code ONLY has `Spotlight` from `@atlaskit/onboarding` (no JiraSpotlight)',
12
+ fromPackage: '@atlaskit/onboarding',
13
+ toPackage: '@atlaskit/spotlight',
14
+ examples: [{
15
+ title: 'Migrate single step spotlight',
16
+ description: 'Replace SpotlightTarget, and Spotlight with the new compositional @atlaskit/spotlight components',
17
+ before: "\n// file1.tsx\nimport React, { useState } from 'react';\nimport Button from '@atlaskit/button/new';\nimport { Spotlight } from '@atlaskit/onboarding';\n\nconst OnboardingSpotlight = () => {\n const [isSpotlightActive, setIsSpotlightActive] = useState(true);\n const start = () => setIsSpotlightActive(true);\n const end = () => setIsSpotlightActive(false);\n\n return (\n\t\t{isSpotlightActive && (\n\t\t\t<Spotlight\n\t\t\t\tdialogPlacement='bottom right'\n\t\t\t\tactions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tonClick: end,\n\t\t\t\t\t\ttext: 'Got it',\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t\theading=\"Feature Heading\"\n\t\t\t\ttarget=\"my-target\"\n\t\t\t>\n\t\t\t\tThis is the spotlight body content describing the feature.\n\t\t\t</Spotlight>\n\t\t)}\n );\n};\n\n// file2.tsx\nimport React from 'react';\nimport Button from '@atlaskit/button/new';\nimport { Spotlight } from '@atlaskit/onboarding';\n\nconst SomeFeature = () => {\n\n return (\n\t\t<SpotlightTarget name=\"my-target\">\n\t\t\t<Button>Target Element</Button>\n\t\t</SpotlightTarget>\n );\n};\n",
18
+ after: "\n// file2.tsx -- the Spotlight has been co-located to the targeted element.\nimport React, { useState } from 'react';\nimport Button from '@atlaskit/button/new';\nimport { Text } from '@atlaskit/primitives/compiled';\nimport {\n PopoverContent,\n PopoverProvider,\n PopoverTarget,\n SpotlightActions,\n SpotlightBody,\n SpotlightCard,\n SpotlightControls,\n SpotlightDismissControl,\n SpotlightFooter,\n SpotlightHeader,\n SpotlightHeadline,\n SpotlightPrimaryAction,\n} from '@atlaskit/spotlight';\n\nconst Spotlight = () => {\n const [isVisible, setIsVisible] = useState(false);\n const dismiss = () => setIsVisible(false);\n const done = () => setIsVisible(false);\n\n return (\n <PopoverProvider>\n <PopoverTarget>\n <Button onClick={() => setIsVisible(true)}>Target Element</Button>\n </PopoverTarget>\n <PopoverContent dismiss={dismiss} placement=\"bottom-start\" isVisible={isVisible}>\n <SpotlightCard>\n <SpotlightHeader>\n <SpotlightHeadline>Feature Heading</SpotlightHeadline>\n <SpotlightControls>\n <SpotlightDismissControl />\n </SpotlightControls>\n </SpotlightHeader>\n <SpotlightBody>\n <Text>This is the spotlight body content describing the feature.</Text>\n </SpotlightBody>\n <SpotlightFooter>\n <SpotlightActions>\n <SpotlightPrimaryAction onClick={done}>Got it</SpotlightPrimaryAction>\n </SpotlightActions>\n </SpotlightFooter>\n </SpotlightCard>\n </PopoverContent>\n </PopoverProvider>\n );\n};",
19
+ explanation: "Key changes when migrating a single step spotlight:\n- Do not use this migration guide for JiraSpotlight. Use 'jira-spotlight' instead.\n- PopoverProvider maintains internal Spotlight state. SpotlightManager coordinated multiple @atlaskit/onboarding usages and is no longer needed.\n- Replace SpotlightTarget with PopoverTarget - wraps the element to highlight\n- Replace Spotlight with PopoverContent containing SpotlightCard - controls visibility and positioning\n- The 'heading' prop becomes SpotlightHeadline inside SpotlightHeader\n- The 'actions' array becomes SpotlightActions with SpotlightPrimaryAction (and optionally SpotlightSecondaryAction)\n- The children content moves into SpotlightBody wrapped with Text component\n- Add SpotlightDismissControl inside SpotlightControls for the close button\n- The 'target' and/or 'targetName' prop is replaced with PopoverTarget directly wrapping the target element\n- The 'dialogPlacement' prop becomes 'placement' on PopoverContent. Mapping: \"top right\" \u2192 \"top-start\", \"top center\" \u2192 \"top\", \"top left\" \u2192 \"top-end\", \"right bottom\" \u2192 \"right-start\", \"right middle\" \u2192 \"right-start | right-end\", \"right top\" \u2192 \"right-end\", \"bottom left\" \u2192 \"bottom-end\", \"bottom center\" \u2192 \"bottom\", \"bottom right\" \u2192 \"bottom-start\", \"left top\" \u2192 \"left-end\", \"left middle\" \u2192 \"left-start | left-end\", \"left bottom\" \u2192 \"left-start\"'"
20
+ }],
21
+ bestPractices: ['PopoverTarget should wrap exactly one child element that will be highlighted', 'Always include SpotlightDismissControl for accessibility - allows users to dismiss via close button', 'SpotlightPrimaryAction is required and wraps the main CTA button', 'Wrap body text content in the Text component from @atlaskit/primitives/compiled'],
22
+ additionalResources: additionalResources
23
+ };