@atlaskit/ads-mcp 1.11.5 → 1.11.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/ads-mcp
2
2
 
3
+ ## 1.11.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`c149c3839b565`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c149c3839b565) -
8
+ Add EntryPoint migration guidance to the ADS MCP registry.
9
+
3
10
  ## 1.11.5
4
11
 
5
12
  ### Patch Changes
@@ -7,8 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.migrationRegistry = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _avatarXsmallToXxsmall = require("./migrations/avatar-xsmall-to-xxsmall");
10
+ var _interactionToEntryPoint = require("./migrations/interaction-to-entry-point");
10
11
  var _onboardingJiraSpotlight = require("./migrations/onboarding-jira-spotlight");
11
12
  var _onboardingMultiStep = require("./migrations/onboarding-multi-step");
12
13
  var _onboardingSingleStep = require("./migrations/onboarding-single-step");
13
14
  var _onboardingWithMotion = require("./migrations/onboarding-with-motion");
14
- var migrationRegistry = exports.migrationRegistry = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _avatarXsmallToXxsmall.avatarXsmallToXxsmall.id, _avatarXsmallToXxsmall.avatarXsmallToXxsmall), _onboardingJiraSpotlight.onboardingJiraSpotlight.id, _onboardingJiraSpotlight.onboardingJiraSpotlight), _onboardingSingleStep.onboardingSingleStep.id, _onboardingSingleStep.onboardingSingleStep), _onboardingMultiStep.onboardingMultiStep.id, _onboardingMultiStep.onboardingMultiStep), _onboardingWithMotion.onboardingWithMotion.id, _onboardingWithMotion.onboardingWithMotion);
15
+ var migrationRegistry = exports.migrationRegistry = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _avatarXsmallToXxsmall.avatarXsmallToXxsmall.id, _avatarXsmallToXxsmall.avatarXsmallToXxsmall), _interactionToEntryPoint.interactionToEntryPoint.id, _interactionToEntryPoint.interactionToEntryPoint), _onboardingJiraSpotlight.onboardingJiraSpotlight.id, _onboardingJiraSpotlight.onboardingJiraSpotlight), _onboardingSingleStep.onboardingSingleStep.id, _onboardingSingleStep.onboardingSingleStep), _onboardingMultiStep.onboardingMultiStep.id, _onboardingMultiStep.onboardingMultiStep), _onboardingWithMotion.onboardingWithMotion.id, _onboardingWithMotion.onboardingWithMotion);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.interactionToEntryPoint = void 0;
7
+ var interactionToEntryPoint = exports.interactionToEntryPoint = {
8
+ id: 'interaction-to-entry-point',
9
+ title: 'Interaction to EntryPoint migration',
10
+ description: 'Use when replacing an existing modal, popup, dropdown, or similar interaction boundary with an EntryPoint. It does not apply to new inline UI, API-only work, or test-only changes.',
11
+ fromPackage: 'product-owned interaction',
12
+ toPackage: '@atlassian/entry-points',
13
+ examples: [{
14
+ title: 'Move a controlled modal to an EntryPoint trigger',
15
+ description: 'Replace locally owned visibility state and direct rendering with the product-supported trigger and required provider.',
16
+ before: "\nconst [isOpen, setIsOpen] = useState(false);\n\n<Button aria-haspopup=\"dialog\" onClick={() => setIsOpen(true)}>\n\tOpen modal\n</Button>\n{isOpen && <Modal onClose={() => setIsOpen(false)}>\u2026</Modal>}\n",
17
+ after: "\n<ModalContextProvider>\n\t<ModalButtonTrigger entryPoint={modalEntryPoint} appearance=\"primary\">\n\t\tOpen modal\n\t</ModalButtonTrigger>\n</ModalContextProvider>\n",
18
+ explanation: 'The trigger owns visibility while the loaded root receives the supplied close callback. This is a structural example only: confirm the product API, provider requirements, focus return, Escape and outside dismissal, analytics, and any existing controlled-open contract before applying it.'
19
+ }],
20
+ bestPractices: ['Read the applicable product and package guides, then inspect the current interaction, its callers, and the shipped target trigger. Identify open/close paths, callbacks, state and data owners, provider lifetime, and the trigger ref, keyboard, disabled, and semantic props.', 'Use a direct conversion only when the supported target contract preserves required behavior. Do not remove public controlled or default-open behavior, manufacture unsupported props, or force a migration by changing requirements.', 'Move deferred UI behind the product-supported lazy root and remove eager value imports that defeat it. Keep preload parameters, queries, runtime props, and injected trigger props separate.', 'Forward the supplied trigger ref and interaction props to the actual control. Keep state, analytics, providers, and close side effects with the owner whose lifetime the existing contract requires.', 'For GraphQL, preload only data available at open time and consume the matching query reference in the lazy UI. Do not hand-edit generated artifacts or replace unrelated data architectures.', 'Trace the launcher through the trigger, EntryPoint, and lazy root to the rendered experience. A disconnected descriptor or unused preload is not a completed migration.', 'Run the smallest supported checks that observe changed behavior. Check opening, closing, callbacks, focus and keyboard behavior, data freshness, loading, and failures only when the original interaction requires them.'],
21
+ additionalResources: 'Report independently whether the conversion is full, partial, or blocked; whether behavior is preserved, changed, or unresolved; and which checks actually ran. Do not claim performance gains or runtime parity without evidence.'
22
+ };
@@ -1,10 +1,12 @@
1
1
  import { avatarXsmallToXxsmall } from './migrations/avatar-xsmall-to-xxsmall';
2
+ import { interactionToEntryPoint } from './migrations/interaction-to-entry-point';
2
3
  import { onboardingJiraSpotlight } from './migrations/onboarding-jira-spotlight';
3
4
  import { onboardingMultiStep } from './migrations/onboarding-multi-step';
4
5
  import { onboardingSingleStep } from './migrations/onboarding-single-step';
5
6
  import { onboardingWithMotion } from './migrations/onboarding-with-motion';
6
7
  export const migrationRegistry = {
7
8
  [avatarXsmallToXxsmall.id]: avatarXsmallToXxsmall,
9
+ [interactionToEntryPoint.id]: interactionToEntryPoint,
8
10
  [onboardingJiraSpotlight.id]: onboardingJiraSpotlight,
9
11
  [onboardingSingleStep.id]: onboardingSingleStep,
10
12
  [onboardingMultiStep.id]: onboardingMultiStep,
@@ -0,0 +1,29 @@
1
+ export const interactionToEntryPoint = {
2
+ id: 'interaction-to-entry-point',
3
+ title: 'Interaction to EntryPoint migration',
4
+ description: 'Use when replacing an existing modal, popup, dropdown, or similar interaction boundary with an EntryPoint. It does not apply to new inline UI, API-only work, or test-only changes.',
5
+ fromPackage: 'product-owned interaction',
6
+ toPackage: '@atlassian/entry-points',
7
+ examples: [{
8
+ title: 'Move a controlled modal to an EntryPoint trigger',
9
+ description: 'Replace locally owned visibility state and direct rendering with the product-supported trigger and required provider.',
10
+ before: `
11
+ const [isOpen, setIsOpen] = useState(false);
12
+
13
+ <Button aria-haspopup="dialog" onClick={() => setIsOpen(true)}>
14
+ Open modal
15
+ </Button>
16
+ {isOpen && <Modal onClose={() => setIsOpen(false)}>…</Modal>}
17
+ `,
18
+ after: `
19
+ <ModalContextProvider>
20
+ <ModalButtonTrigger entryPoint={modalEntryPoint} appearance="primary">
21
+ Open modal
22
+ </ModalButtonTrigger>
23
+ </ModalContextProvider>
24
+ `,
25
+ explanation: 'The trigger owns visibility while the loaded root receives the supplied close callback. This is a structural example only: confirm the product API, provider requirements, focus return, Escape and outside dismissal, analytics, and any existing controlled-open contract before applying it.'
26
+ }],
27
+ bestPractices: ['Read the applicable product and package guides, then inspect the current interaction, its callers, and the shipped target trigger. Identify open/close paths, callbacks, state and data owners, provider lifetime, and the trigger ref, keyboard, disabled, and semantic props.', 'Use a direct conversion only when the supported target contract preserves required behavior. Do not remove public controlled or default-open behavior, manufacture unsupported props, or force a migration by changing requirements.', 'Move deferred UI behind the product-supported lazy root and remove eager value imports that defeat it. Keep preload parameters, queries, runtime props, and injected trigger props separate.', 'Forward the supplied trigger ref and interaction props to the actual control. Keep state, analytics, providers, and close side effects with the owner whose lifetime the existing contract requires.', 'For GraphQL, preload only data available at open time and consume the matching query reference in the lazy UI. Do not hand-edit generated artifacts or replace unrelated data architectures.', 'Trace the launcher through the trigger, EntryPoint, and lazy root to the rendered experience. A disconnected descriptor or unused preload is not a completed migration.', 'Run the smallest supported checks that observe changed behavior. Check opening, closing, callbacks, focus and keyboard behavior, data freshness, loading, and failures only when the original interaction requires them.'],
28
+ additionalResources: 'Report independently whether the conversion is full, partial, or blocked; whether behavior is preserved, changed, or unresolved; and which checks actually ran. Do not claim performance gains or runtime parity without evidence.'
29
+ };
@@ -1,7 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { avatarXsmallToXxsmall } from './migrations/avatar-xsmall-to-xxsmall';
3
+ import { interactionToEntryPoint } from './migrations/interaction-to-entry-point';
3
4
  import { onboardingJiraSpotlight } from './migrations/onboarding-jira-spotlight';
4
5
  import { onboardingMultiStep } from './migrations/onboarding-multi-step';
5
6
  import { onboardingSingleStep } from './migrations/onboarding-single-step';
6
7
  import { onboardingWithMotion } from './migrations/onboarding-with-motion';
7
- export var migrationRegistry = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, avatarXsmallToXxsmall.id, avatarXsmallToXxsmall), onboardingJiraSpotlight.id, onboardingJiraSpotlight), onboardingSingleStep.id, onboardingSingleStep), onboardingMultiStep.id, onboardingMultiStep), onboardingWithMotion.id, onboardingWithMotion);
8
+ export var migrationRegistry = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, avatarXsmallToXxsmall.id, avatarXsmallToXxsmall), interactionToEntryPoint.id, interactionToEntryPoint), onboardingJiraSpotlight.id, onboardingJiraSpotlight), onboardingSingleStep.id, onboardingSingleStep), onboardingMultiStep.id, onboardingMultiStep), onboardingWithMotion.id, onboardingWithMotion);
@@ -0,0 +1,16 @@
1
+ export var interactionToEntryPoint = {
2
+ id: 'interaction-to-entry-point',
3
+ title: 'Interaction to EntryPoint migration',
4
+ description: 'Use when replacing an existing modal, popup, dropdown, or similar interaction boundary with an EntryPoint. It does not apply to new inline UI, API-only work, or test-only changes.',
5
+ fromPackage: 'product-owned interaction',
6
+ toPackage: '@atlassian/entry-points',
7
+ examples: [{
8
+ title: 'Move a controlled modal to an EntryPoint trigger',
9
+ description: 'Replace locally owned visibility state and direct rendering with the product-supported trigger and required provider.',
10
+ before: "\nconst [isOpen, setIsOpen] = useState(false);\n\n<Button aria-haspopup=\"dialog\" onClick={() => setIsOpen(true)}>\n\tOpen modal\n</Button>\n{isOpen && <Modal onClose={() => setIsOpen(false)}>\u2026</Modal>}\n",
11
+ after: "\n<ModalContextProvider>\n\t<ModalButtonTrigger entryPoint={modalEntryPoint} appearance=\"primary\">\n\t\tOpen modal\n\t</ModalButtonTrigger>\n</ModalContextProvider>\n",
12
+ explanation: 'The trigger owns visibility while the loaded root receives the supplied close callback. This is a structural example only: confirm the product API, provider requirements, focus return, Escape and outside dismissal, analytics, and any existing controlled-open contract before applying it.'
13
+ }],
14
+ bestPractices: ['Read the applicable product and package guides, then inspect the current interaction, its callers, and the shipped target trigger. Identify open/close paths, callbacks, state and data owners, provider lifetime, and the trigger ref, keyboard, disabled, and semantic props.', 'Use a direct conversion only when the supported target contract preserves required behavior. Do not remove public controlled or default-open behavior, manufacture unsupported props, or force a migration by changing requirements.', 'Move deferred UI behind the product-supported lazy root and remove eager value imports that defeat it. Keep preload parameters, queries, runtime props, and injected trigger props separate.', 'Forward the supplied trigger ref and interaction props to the actual control. Keep state, analytics, providers, and close side effects with the owner whose lifetime the existing contract requires.', 'For GraphQL, preload only data available at open time and consume the matching query reference in the lazy UI. Do not hand-edit generated artifacts or replace unrelated data architectures.', 'Trace the launcher through the trigger, EntryPoint, and lazy root to the rendered experience. A disconnected descriptor or unused preload is not a completed migration.', 'Run the smallest supported checks that observe changed behavior. Check opening, closing, callbacks, focus and keyboard behavior, data freshness, loading, and failures only when the original interaction requires them.'],
15
+ additionalResources: 'Report independently whether the conversion is full, partial, or blocked; whether behavior is preserved, changed, or unresolved; and which checks actually ran. Do not claim performance gains or runtime parity without evidence.'
16
+ };
@@ -0,0 +1,2 @@
1
+ import type { MigrationGuide } from '../types';
2
+ export declare const interactionToEntryPoint: MigrationGuide;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/ads-mcp",
3
- "version": "1.11.5",
3
+ "version": "1.11.6",
4
4
  "description": "The official Atlassian Design System MCP server to develop apps and user interfaces matching the Atlassian style.",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -24,7 +24,7 @@
24
24
  "@atlaskit/icon": "^38.0.0",
25
25
  "@atlaskit/icon-lab": "^7.11.0",
26
26
  "@atlaskit/platform-feature-flags": "^2.2.0",
27
- "@atlaskit/tokens": "^20.7.0",
27
+ "@atlaskit/tokens": "^20.8.0",
28
28
  "@axe-core/playwright": "^4.11.1",
29
29
  "@axe-core/puppeteer": "^4.11.1",
30
30
  "@babel/runtime": "^7.0.0",