@atlaskit/link-create 5.0.1 → 5.1.1

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,22 @@
1
1
  # @atlaskit/link-create
2
2
 
3
+ ## 5.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 5.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`c4f985702c3d5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c4f985702c3d5) -
14
+ Remove flag to increase accessibility in links.
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+
3
20
  ## 5.0.1
4
21
 
5
22
  ### Patch Changes
@@ -16,7 +16,7 @@ var CREATE_FORM_MIN_HEIGHT_IN_PX = exports.CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
16
16
  var LINK_CREATE_FORM_POST_CREATE_FIELD = exports.LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
17
17
  var PACKAGE_DATA = exports.PACKAGE_DATA = {
18
18
  packageName: "@atlaskit/link-create" || '',
19
- packageVersion: "5.0.0" || '',
19
+ packageVersion: "0.0.0-development" || '',
20
20
  component: COMPONENT_NAME,
21
21
  componentName: COMPONENT_NAME
22
22
  };
@@ -11,7 +11,7 @@ var _runtime = require("@compiled/react/runtime");
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _reactIntl = require("react-intl");
13
13
  var _8 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/document/16"));
14
- var _9 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/page-live-doc/16"));
14
+ var _pageLiveDoc = _interopRequireDefault(require("@atlaskit/object/page-live-doc"));
15
15
  var _messages = require("./messages");
16
16
  var baseStyles = null;
17
17
  var UrlIcon = exports.UrlIcon = function UrlIcon(_ref) {
@@ -32,7 +32,7 @@ var PageIcon = exports.PageIcon = function PageIcon() {
32
32
  };
33
33
  var LiveDocIcon = exports.LiveDocIcon = function LiveDocIcon() {
34
34
  var intl = (0, _reactIntl.useIntl)();
35
- return /*#__PURE__*/_react.default.createElement(_9.default, {
35
+ return /*#__PURE__*/_react.default.createElement(_pageLiveDoc.default, {
36
36
  label: intl.formatMessage(_messages.iconLabelMessages.pageIconLabel)
37
37
  });
38
38
  };
@@ -11,17 +11,17 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  *
12
12
  * Generates Typescript types for analytics events from analytics.spec.yaml
13
13
  *
14
- * @codegen <<SignedSource::7beb355391f6269c701cf87b0c222d69>>
14
+ * @codegen <<SignedSource::af3c25c127bdcca927adcfc972a0d6cb>>
15
15
  * @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
16
16
  */
17
17
 
18
18
  function createEventPayload(eventKey, attributes) {
19
- var _eventKey$split = eventKey.split('.'),
20
- _eventKey$split2 = (0, _slicedToArray2.default)(_eventKey$split, 4),
21
- eventType = _eventKey$split2[0],
22
- actionSubject = _eventKey$split2[1],
23
- action = _eventKey$split2[2],
24
- actionSubjectId = _eventKey$split2[3];
19
+ var _ref = eventKey.split('.'),
20
+ _ref2 = (0, _slicedToArray2.default)(_ref, 4),
21
+ eventType = _ref2[0],
22
+ actionSubject = _ref2[1],
23
+ action = _ref2[2],
24
+ actionSubjectId = _ref2[3];
25
25
  if (eventType === 'screen') {
26
26
  return {
27
27
  eventType: eventType,
@@ -9,6 +9,6 @@ var messages = exports.messages = (0, _reactIntl.defineMessages)({
9
9
  heading: {
10
10
  id: 'linkCreate.modal.heading',
11
11
  defaultMessage: 'Create new',
12
- description: 'Header for the create modal'
12
+ description: 'Heading displayed at the top of the modal dialog used to create a new item (e.g. a page or issue)'
13
13
  }
14
14
  });
@@ -10,7 +10,7 @@ export const CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
10
10
  export const LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
11
11
  export const PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/link-create" || '',
13
- packageVersion: "5.0.0" || '',
13
+ packageVersion: "0.0.0-development" || '',
14
14
  component: COMPONENT_NAME,
15
15
  componentName: COMPONENT_NAME
16
16
  };
@@ -4,7 +4,7 @@ import { ax, ix } from "@compiled/react/runtime";
4
4
  import React from 'react';
5
5
  import { useIntl } from 'react-intl';
6
6
  import Document16Icon from '@atlaskit/icon-file-type/glyph/document/16';
7
- import PageLiveDoc16Icon from '@atlaskit/icon-object/glyph/page-live-doc/16';
7
+ import PageLiveDocObject from '@atlaskit/object/page-live-doc';
8
8
  import { iconLabelMessages } from './messages';
9
9
  const baseStyles = null;
10
10
  export const UrlIcon = ({
@@ -26,7 +26,7 @@ export const PageIcon = () => {
26
26
  };
27
27
  export const LiveDocIcon = () => {
28
28
  const intl = useIntl();
29
- return /*#__PURE__*/React.createElement(PageLiveDoc16Icon, {
29
+ return /*#__PURE__*/React.createElement(PageLiveDocObject, {
30
30
  label: intl.formatMessage(iconLabelMessages.pageIconLabel)
31
31
  });
32
32
  };
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::7beb355391f6269c701cf87b0c222d69>>
6
+ * @codegen <<SignedSource::af3c25c127bdcca927adcfc972a0d6cb>>
7
7
  * @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
8
8
  */
9
9
 
@@ -11,17 +11,17 @@ function createEventPayload(eventKey, attributes) {
11
11
  const [eventType, actionSubject, action, actionSubjectId] = eventKey.split('.');
12
12
  if (eventType === 'screen') {
13
13
  return {
14
- eventType,
14
+ eventType: eventType,
15
15
  name: actionSubject,
16
16
  action: 'viewed',
17
17
  attributes: attributes
18
18
  };
19
19
  }
20
20
  return {
21
- eventType,
22
- actionSubject,
23
- actionSubjectId,
24
- action,
21
+ eventType: eventType,
22
+ actionSubject: actionSubject,
23
+ actionSubjectId: actionSubjectId,
24
+ action: action,
25
25
  attributes: attributes
26
26
  };
27
27
  }
@@ -3,6 +3,6 @@ export const messages = defineMessages({
3
3
  heading: {
4
4
  id: 'linkCreate.modal.heading',
5
5
  defaultMessage: 'Create new',
6
- description: 'Header for the create modal'
6
+ description: 'Heading displayed at the top of the modal dialog used to create a new item (e.g. a page or issue)'
7
7
  }
8
8
  });
@@ -10,7 +10,7 @@ export var CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
10
10
  export var LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
11
11
  export var PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/link-create" || '',
13
- packageVersion: "5.0.0" || '',
13
+ packageVersion: "0.0.0-development" || '',
14
14
  component: COMPONENT_NAME,
15
15
  componentName: COMPONENT_NAME
16
16
  };
@@ -4,7 +4,7 @@ import { ax, ix } from "@compiled/react/runtime";
4
4
  import React from 'react';
5
5
  import { useIntl } from 'react-intl';
6
6
  import Document16Icon from '@atlaskit/icon-file-type/glyph/document/16';
7
- import PageLiveDoc16Icon from '@atlaskit/icon-object/glyph/page-live-doc/16';
7
+ import PageLiveDocObject from '@atlaskit/object/page-live-doc';
8
8
  import { iconLabelMessages } from './messages';
9
9
  var baseStyles = null;
10
10
  export var UrlIcon = function UrlIcon(_ref) {
@@ -25,7 +25,7 @@ export var PageIcon = function PageIcon() {
25
25
  };
26
26
  export var LiveDocIcon = function LiveDocIcon() {
27
27
  var intl = useIntl();
28
- return /*#__PURE__*/React.createElement(PageLiveDoc16Icon, {
28
+ return /*#__PURE__*/React.createElement(PageLiveDocObject, {
29
29
  label: intl.formatMessage(iconLabelMessages.pageIconLabel)
30
30
  });
31
31
  };
@@ -4,17 +4,17 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  *
5
5
  * Generates Typescript types for analytics events from analytics.spec.yaml
6
6
  *
7
- * @codegen <<SignedSource::7beb355391f6269c701cf87b0c222d69>>
7
+ * @codegen <<SignedSource::af3c25c127bdcca927adcfc972a0d6cb>>
8
8
  * @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
9
9
  */
10
10
 
11
11
  function createEventPayload(eventKey, attributes) {
12
- var _eventKey$split = eventKey.split('.'),
13
- _eventKey$split2 = _slicedToArray(_eventKey$split, 4),
14
- eventType = _eventKey$split2[0],
15
- actionSubject = _eventKey$split2[1],
16
- action = _eventKey$split2[2],
17
- actionSubjectId = _eventKey$split2[3];
12
+ var _ref = eventKey.split('.'),
13
+ _ref2 = _slicedToArray(_ref, 4),
14
+ eventType = _ref2[0],
15
+ actionSubject = _ref2[1],
16
+ action = _ref2[2],
17
+ actionSubjectId = _ref2[3];
18
18
  if (eventType === 'screen') {
19
19
  return {
20
20
  eventType: eventType,
@@ -3,6 +3,6 @@ export var messages = defineMessages({
3
3
  heading: {
4
4
  id: 'linkCreate.modal.heading',
5
5
  defaultMessage: 'Create new',
6
- description: 'Header for the create modal'
6
+ description: 'Heading displayed at the top of the modal dialog used to create a new item (e.g. a page or issue)'
7
7
  }
8
8
  });
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::7beb355391f6269c701cf87b0c222d69>>
6
+ * @codegen <<SignedSource::af3c25c127bdcca927adcfc972a0d6cb>>
7
7
  * @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -29,7 +29,7 @@ export type ModalDialogOpenedLinkCreateAttributesType = {};
29
29
  export type LinkCreateUnhandledErrorCaughtAttributesType = {
30
30
  browserInfo: string;
31
31
  error: string;
32
- componentStack: string | null;
32
+ componentStack?: string | null;
33
33
  };
34
34
  export type ObjectCreatedLinkCreateAttributesType = {
35
35
  objectId: string;
@@ -39,13 +39,13 @@ export type ObjectCreateFailedLinkCreateAttributesType = {
39
39
  failureType: string;
40
40
  };
41
41
  export type LinkCreateExperienceFailedAttributesType = {
42
- errorType: string | null;
43
- errorMessage: string | null;
42
+ errorType?: string | null;
43
+ errorMessage?: string | null;
44
44
  experienceStatus: 'SUCCEEDED' | 'FAILED';
45
45
  previousExperienceStatus: 'STARTED' | 'SUCCEEDED' | 'FAILED';
46
- path: string | null;
47
- status: number | null;
48
- traceId: string | null;
46
+ path?: string | null;
47
+ status?: number | null;
48
+ traceId?: string | null;
49
49
  isSLOFailure: boolean;
50
50
  };
51
51
  export type AnalyticsEventAttributes = {
@@ -63,19 +63,13 @@ export type AnalyticsEventAttributes = {
63
63
  'track.object.createFailed.linkCreate': ObjectCreateFailedLinkCreateAttributesType;
64
64
  'operational.linkCreateExperience.failed': LinkCreateExperienceFailedAttributesType;
65
65
  };
66
- declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): {
66
+ type CreateEventPayloadResult<K extends keyof AnalyticsEventAttributes> = {
67
67
  eventType: string;
68
- name: string | undefined;
69
68
  action: string;
70
69
  attributes: AnalyticsEventAttributes[K];
71
- actionSubject?: undefined;
72
- actionSubjectId?: undefined;
73
- } | {
74
- eventType: string | undefined;
75
- actionSubject: string | undefined;
76
- actionSubjectId: string | undefined;
77
- action: string | undefined;
78
- attributes: AnalyticsEventAttributes[K];
79
- name?: undefined;
70
+ name?: string;
71
+ actionSubject?: string;
72
+ actionSubjectId?: string;
80
73
  };
74
+ declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): CreateEventPayloadResult<K>;
81
75
  export default createEventPayload;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::7beb355391f6269c701cf87b0c222d69>>
6
+ * @codegen <<SignedSource::af3c25c127bdcca927adcfc972a0d6cb>>
7
7
  * @codegenCommand yarn workspace @atlaskit/link-create run codegen-analytics
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -29,7 +29,7 @@ export type ModalDialogOpenedLinkCreateAttributesType = {};
29
29
  export type LinkCreateUnhandledErrorCaughtAttributesType = {
30
30
  browserInfo: string;
31
31
  error: string;
32
- componentStack: string | null;
32
+ componentStack?: string | null;
33
33
  };
34
34
  export type ObjectCreatedLinkCreateAttributesType = {
35
35
  objectId: string;
@@ -39,13 +39,13 @@ export type ObjectCreateFailedLinkCreateAttributesType = {
39
39
  failureType: string;
40
40
  };
41
41
  export type LinkCreateExperienceFailedAttributesType = {
42
- errorType: string | null;
43
- errorMessage: string | null;
42
+ errorType?: string | null;
43
+ errorMessage?: string | null;
44
44
  experienceStatus: 'SUCCEEDED' | 'FAILED';
45
45
  previousExperienceStatus: 'STARTED' | 'SUCCEEDED' | 'FAILED';
46
- path: string | null;
47
- status: number | null;
48
- traceId: string | null;
46
+ path?: string | null;
47
+ status?: number | null;
48
+ traceId?: string | null;
49
49
  isSLOFailure: boolean;
50
50
  };
51
51
  export type AnalyticsEventAttributes = {
@@ -63,19 +63,13 @@ export type AnalyticsEventAttributes = {
63
63
  'track.object.createFailed.linkCreate': ObjectCreateFailedLinkCreateAttributesType;
64
64
  'operational.linkCreateExperience.failed': LinkCreateExperienceFailedAttributesType;
65
65
  };
66
- declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): {
66
+ type CreateEventPayloadResult<K extends keyof AnalyticsEventAttributes> = {
67
67
  eventType: string;
68
- name: string | undefined;
69
68
  action: string;
70
69
  attributes: AnalyticsEventAttributes[K];
71
- actionSubject?: undefined;
72
- actionSubjectId?: undefined;
73
- } | {
74
- eventType: string | undefined;
75
- actionSubject: string | undefined;
76
- actionSubjectId: string | undefined;
77
- action: string | undefined;
78
- attributes: AnalyticsEventAttributes[K];
79
- name?: undefined;
70
+ name?: string;
71
+ actionSubject?: string;
72
+ actionSubjectId?: string;
80
73
  };
74
+ declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): CreateEventPayloadResult<K>;
81
75
  export default createEventPayload;
@@ -0,0 +1,346 @@
1
+ /**
2
+ * Testing structured MCP docs for review — ignore this file.
3
+ * Contact #dst-structured-content in Slack with questions.
4
+ */
5
+
6
+ import path from 'path';
7
+
8
+ import type { ComponentStructuredContentSource } from '@atlassian/structured-docs-types';
9
+
10
+ import packageJson from './package.json';
11
+
12
+ const packagePath = path.resolve(__dirname);
13
+
14
+ const documentation: ComponentStructuredContentSource[] = [
15
+ {
16
+ name: 'LinkCreate',
17
+ description:
18
+ 'The driver component of the link creation (meta create) flow. Renders a modal with plugin tabs (e.g. Jira issue, Confluence page); each plugin provides a form that returns a URL and metadata on success. Use for "create and link" experiences.',
19
+ status: 'general-availability',
20
+ import: {
21
+ name: 'LinkCreate',
22
+ package: '@atlaskit/link-create',
23
+ type: 'default',
24
+ packagePath,
25
+ packageJson,
26
+ },
27
+ usageGuidelines: [
28
+ 'Use when the user should create a new resource (issue, page, etc.) and insert its link in one flow. Supply plugins (e.g. from link-create-jira, link-create-confluence); control visibility with active/onCancel.',
29
+ ],
30
+ contentGuidelines: [],
31
+ accessibilityGuidelines: [
32
+ 'Ensure the modal has an accessible title and focus is trapped; ensure plugin forms have proper labels and error messages announced.',
33
+ ],
34
+ keywords: ['link-create', 'create', 'modal', 'meta create', 'plugins'],
35
+ categories: ['linking', 'forms', 'interaction'],
36
+ examples: [],
37
+ },
38
+ {
39
+ name: 'InlineCreate',
40
+ description:
41
+ 'Inline (non-modal) link creation experience. Renders plugin forms inline so users can create a resource and get a link without opening a modal.',
42
+ status: 'general-availability',
43
+ import: {
44
+ name: 'InlineCreate',
45
+ package: '@atlaskit/link-create',
46
+ type: 'named',
47
+ packagePath,
48
+ packageJson,
49
+ },
50
+ usageGuidelines: [
51
+ 'Use when you want "create and link" inline (e.g. in a dropdown or panel) instead of a modal. Supply the same plugin structure as LinkCreate.',
52
+ ],
53
+ contentGuidelines: [],
54
+ accessibilityGuidelines: [
55
+ 'Ensure the inline form has an accessible name and that focus moves logically through fields.',
56
+ ],
57
+ keywords: ['link-create', 'inline', 'create', 'plugins'],
58
+ categories: ['linking', 'forms', 'interaction'],
59
+ examples: [],
60
+ },
61
+ {
62
+ name: 'CreateForm',
63
+ description:
64
+ 'Form container for a single link-create plugin. Renders the plugin form UI and handles submit, validation, and success callback. Used inside plugin form implementations.',
65
+ status: 'general-availability',
66
+ import: {
67
+ name: 'CreateForm',
68
+ package: '@atlaskit/link-create',
69
+ type: 'named',
70
+ packagePath,
71
+ packageJson,
72
+ },
73
+ usageGuidelines: [
74
+ 'Use when building a custom LinkCreatePlugin form; wrap your fields in CreateForm and use onSubmit to return CreatePayload on success.',
75
+ ],
76
+ contentGuidelines: [],
77
+ accessibilityGuidelines: [],
78
+ keywords: ['link-create', 'form', 'CreateForm', 'plugin'],
79
+ categories: ['linking', 'forms'],
80
+ examples: [],
81
+ },
82
+ {
83
+ name: 'CreateFormLoader',
84
+ description:
85
+ 'Loader wrapper for CreateForm that shows a loading state until form data or context is ready.',
86
+ status: 'general-availability',
87
+ import: {
88
+ name: 'CreateFormLoader',
89
+ package: '@atlaskit/link-create',
90
+ type: 'named',
91
+ packagePath,
92
+ packageJson,
93
+ },
94
+ usageGuidelines: [
95
+ 'Use when the create form depends on async data (e.g. site list, field config); show loading until ready then render CreateForm.',
96
+ ],
97
+ contentGuidelines: [],
98
+ accessibilityGuidelines: ['Ensure loading state is announced (e.g. aria-busy or live region).'],
99
+ keywords: ['link-create', 'form', 'loader', 'CreateFormLoader'],
100
+ categories: ['linking', 'forms'],
101
+ examples: [],
102
+ },
103
+ {
104
+ name: 'FormSpy',
105
+ description:
106
+ 'Component that subscribes to form state (values, errors, submitting) from react-final-form. Used to build custom UI that reacts to form state.',
107
+ status: 'general-availability',
108
+ import: {
109
+ name: 'FormSpy',
110
+ package: '@atlaskit/link-create',
111
+ type: 'named',
112
+ packagePath,
113
+ packageJson,
114
+ },
115
+ usageGuidelines: [
116
+ 'Use when you need to read or react to create form state (e.g. to enable/disable a submit button or show a summary) without controlling the form.',
117
+ ],
118
+ contentGuidelines: [],
119
+ accessibilityGuidelines: [],
120
+ keywords: ['link-create', 'form', 'FormSpy', 'react-final-form'],
121
+ categories: ['linking', 'forms'],
122
+ examples: [],
123
+ },
124
+ {
125
+ name: 'AsyncSelect',
126
+ description:
127
+ 'Async-capable select component used in link-create forms for fields that load options from an API (e.g. project, type).',
128
+ status: 'general-availability',
129
+ import: {
130
+ name: 'AsyncSelect',
131
+ package: '@atlaskit/link-create',
132
+ type: 'named',
133
+ packagePath,
134
+ packageJson,
135
+ },
136
+ usageGuidelines: [
137
+ 'Use inside a create form when the dropdown options are loaded asynchronously (e.g. Jira projects, issue types).',
138
+ ],
139
+ contentGuidelines: [],
140
+ accessibilityGuidelines: [
141
+ 'Ensure the select has a label and that options are announced to screen readers.',
142
+ ],
143
+ keywords: ['link-create', 'select', 'async', 'form'],
144
+ categories: ['linking', 'forms'],
145
+ examples: [],
146
+ },
147
+ {
148
+ name: 'Select',
149
+ description: 'Select component for link-create forms. Use for static or sync option lists.',
150
+ status: 'general-availability',
151
+ import: {
152
+ name: 'Select',
153
+ package: '@atlaskit/link-create',
154
+ type: 'named',
155
+ packagePath,
156
+ packageJson,
157
+ },
158
+ usageGuidelines: [
159
+ 'Use inside a create form for dropdowns with static or synchronously available options.',
160
+ ],
161
+ contentGuidelines: [],
162
+ accessibilityGuidelines: ['Ensure the select has an accessible label.'],
163
+ keywords: ['link-create', 'select', 'form'],
164
+ categories: ['linking', 'forms'],
165
+ examples: [],
166
+ },
167
+ {
168
+ name: 'SiteSelect',
169
+ description:
170
+ 'Site/product picker used in link-create forms when the user must choose a site or product (e.g. Jira site, Confluence space) before other fields.',
171
+ status: 'general-availability',
172
+ import: {
173
+ name: 'SiteSelect',
174
+ package: '@atlaskit/link-create',
175
+ type: 'named',
176
+ packagePath,
177
+ packageJson,
178
+ },
179
+ usageGuidelines: [
180
+ 'Use when the create flow requires picking a site or product first; follow with form fields that depend on that selection.',
181
+ ],
182
+ contentGuidelines: [],
183
+ accessibilityGuidelines: [
184
+ 'Ensure the site picker has an accessible name and that selected site is announced.',
185
+ ],
186
+ keywords: ['link-create', 'site', 'select', 'picker', 'form'],
187
+ categories: ['linking', 'forms'],
188
+ examples: [],
189
+ },
190
+ {
191
+ name: 'TextField',
192
+ description: 'Text input component for link-create forms. Wired for validation and final-form.',
193
+ status: 'general-availability',
194
+ import: {
195
+ name: 'TextField',
196
+ package: '@atlaskit/link-create',
197
+ type: 'named',
198
+ packagePath,
199
+ packageJson,
200
+ },
201
+ usageGuidelines: [
202
+ 'Use inside a create form for single-line text fields (e.g. title, summary).',
203
+ ],
204
+ contentGuidelines: [],
205
+ accessibilityGuidelines: [
206
+ 'Ensure each field has a visible or aria-label and that validation errors are announced.',
207
+ ],
208
+ keywords: ['link-create', 'textfield', 'input', 'form'],
209
+ categories: ['linking', 'forms'],
210
+ examples: [],
211
+ },
212
+ {
213
+ name: 'UserPicker',
214
+ description:
215
+ 'User picker component for link-create forms. Used for assignee, reporter, or other user fields.',
216
+ status: 'general-availability',
217
+ import: {
218
+ name: 'UserPicker',
219
+ package: '@atlaskit/link-create',
220
+ type: 'named',
221
+ packagePath,
222
+ packageJson,
223
+ },
224
+ usageGuidelines: [
225
+ 'Use inside a create form when the user must select a person (e.g. assignee, creator).',
226
+ ],
227
+ contentGuidelines: [],
228
+ accessibilityGuidelines: [
229
+ 'Ensure the picker has an accessible name and that the selected user is announced.',
230
+ ],
231
+ keywords: ['link-create', 'user', 'picker', 'form'],
232
+ categories: ['linking', 'forms'],
233
+ examples: [],
234
+ },
235
+ {
236
+ name: 'LinkCreateCallbackProvider',
237
+ description:
238
+ 'Context provider that supplies a callback (e.g. on success) to link-create. Used so plugins or parents can react to create completion.',
239
+ status: 'general-availability',
240
+ import: {
241
+ name: 'LinkCreateCallbackProvider',
242
+ package: '@atlaskit/link-create',
243
+ type: 'named',
244
+ packagePath,
245
+ packageJson,
246
+ },
247
+ usageGuidelines: [
248
+ 'Wrap LinkCreate or InlineCreate when you need to run custom logic (e.g. insert link, close picker) when create succeeds; consume with useLinkCreateCallback.',
249
+ ],
250
+ contentGuidelines: [],
251
+ accessibilityGuidelines: [],
252
+ keywords: ['link-create', 'callback', 'context', 'provider'],
253
+ categories: ['linking', 'forms'],
254
+ examples: [],
255
+ },
256
+ {
257
+ name: 'useLinkCreateCallback',
258
+ description:
259
+ 'Hook that returns the link-create callback from LinkCreateCallbackProvider. Use to trigger or react to create success from child components.',
260
+ status: 'general-availability',
261
+ import: {
262
+ name: 'useLinkCreateCallback',
263
+ package: '@atlaskit/link-create',
264
+ type: 'named',
265
+ packagePath,
266
+ packageJson,
267
+ },
268
+ usageGuidelines: [
269
+ 'Use inside a plugin or child of LinkCreateCallbackProvider when you need access to the create-success callback.',
270
+ ],
271
+ contentGuidelines: [],
272
+ accessibilityGuidelines: [],
273
+ keywords: ['link-create', 'hooks', 'callback', 'useLinkCreateCallback'],
274
+ categories: ['linking', 'forms'],
275
+ examples: [],
276
+ },
277
+ {
278
+ name: 'LinkCreateExitWarningProvider',
279
+ description:
280
+ 'Provider that enables an exit-confirmation when the user tries to leave the create flow with unsaved changes. Uses ExitWarningModalProvider internally.',
281
+ status: 'general-availability',
282
+ import: {
283
+ name: 'LinkCreateExitWarningProvider',
284
+ package: '@atlaskit/link-create',
285
+ type: 'named',
286
+ packagePath,
287
+ packageJson,
288
+ },
289
+ usageGuidelines: [
290
+ 'Wrap the create flow when you want to warn users before closing or navigating away with unsaved form data.',
291
+ ],
292
+ contentGuidelines: [],
293
+ accessibilityGuidelines: [
294
+ 'Ensure the exit warning modal is focusable and has an accessible title and actions.',
295
+ ],
296
+ keywords: ['link-create', 'exit', 'warning', 'provider', 'unsaved'],
297
+ categories: ['linking', 'forms', 'interaction'],
298
+ examples: [],
299
+ },
300
+ {
301
+ name: 'useWithExitWarning',
302
+ description:
303
+ 'Hook that wires the current form or flow into the exit-warning behavior. Use when building custom create UI that should trigger the exit warning.',
304
+ status: 'general-availability',
305
+ import: {
306
+ name: 'useWithExitWarning',
307
+ package: '@atlaskit/link-create',
308
+ type: 'named',
309
+ packagePath,
310
+ packageJson,
311
+ },
312
+ usageGuidelines: [
313
+ 'Use inside a component wrapped by LinkCreateExitWarningProvider when you need to register dirty state or trigger the exit warning modal.',
314
+ ],
315
+ contentGuidelines: [],
316
+ accessibilityGuidelines: [],
317
+ keywords: ['link-create', 'hooks', 'exit', 'warning', 'useWithExitWarning'],
318
+ categories: ['linking', 'forms'],
319
+ examples: [],
320
+ },
321
+ {
322
+ name: 'CreateField',
323
+ description:
324
+ 'Controller component that connects a form field to the create form state (name, validation, value). Use to build custom fields that participate in CreateForm.',
325
+ status: 'general-availability',
326
+ import: {
327
+ name: 'CreateField',
328
+ package: '@atlaskit/link-create',
329
+ type: 'named',
330
+ packagePath,
331
+ packageJson,
332
+ },
333
+ usageGuidelines: [
334
+ 'Use when building a custom form field (e.g. custom select, date picker) that must be part of the create form validation and submit payload.',
335
+ ],
336
+ contentGuidelines: [],
337
+ accessibilityGuidelines: [
338
+ 'Ensure the rendered control has an accessible name and that validation errors are associated (e.g. aria-describedby).',
339
+ ],
340
+ keywords: ['link-create', 'form', 'field', 'CreateField'],
341
+ categories: ['linking', 'forms'],
342
+ examples: [],
343
+ },
344
+ ];
345
+
346
+ export default documentation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-create",
3
- "version": "5.0.1",
3
+ "version": "5.1.1",
4
4
  "description": "The driver component of meta creation flow",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -44,22 +44,22 @@
44
44
  "@atlaskit/atlassian-context": "^0.8.0",
45
45
  "@atlaskit/button": "^23.11.0",
46
46
  "@atlaskit/css": "^0.19.0",
47
- "@atlaskit/empty-state": "^10.1.0",
47
+ "@atlaskit/empty-state": "^10.2.0",
48
48
  "@atlaskit/form": "^15.5.0",
49
- "@atlaskit/icon": "^34.1.0",
49
+ "@atlaskit/icon": "^34.4.0",
50
50
  "@atlaskit/icon-file-type": "^7.0.0",
51
- "@atlaskit/icon-object": "^7.5.0",
52
- "@atlaskit/intl-messages-provider": "^3.0.0",
51
+ "@atlaskit/intl-messages-provider": "^3.2.0",
53
52
  "@atlaskit/link": "^3.4.0",
54
53
  "@atlaskit/linking-common": "^9.11.0",
55
- "@atlaskit/modal-dialog": "^14.15.0",
54
+ "@atlaskit/modal-dialog": "^15.0.0",
55
+ "@atlaskit/object": "^1.0.0",
56
56
  "@atlaskit/platform-feature-flags": "^1.1.0",
57
57
  "@atlaskit/primitives": "^19.0.0",
58
58
  "@atlaskit/select": "^21.10.0",
59
59
  "@atlaskit/smart-user-picker": "^10.0.0",
60
60
  "@atlaskit/spinner": "^19.1.0",
61
61
  "@atlaskit/textfield": "^8.3.0",
62
- "@atlaskit/theme": "^23.0.0",
62
+ "@atlaskit/theme": "^23.2.0",
63
63
  "@atlaskit/tokens": "^13.0.0",
64
64
  "@babel/runtime": "^7.0.0",
65
65
  "@compiled/react": "^0.20.0",
@@ -75,12 +75,13 @@
75
75
  "@af/accessibility-testing": "workspace:^",
76
76
  "@af/integration-testing": "workspace:^",
77
77
  "@af/visual-regression": "workspace:^",
78
- "@atlaskit/drawer": "^12.0.0",
79
- "@atlaskit/link-test-helpers": "^10.0.0",
80
- "@atlaskit/popup": "^4.16.0",
78
+ "@atlaskit/drawer": "^12.1.0",
79
+ "@atlaskit/link-test-helpers": "^10.2.0",
80
+ "@atlaskit/popup": "^4.17.0",
81
81
  "@atlassian/a11y-jest-testing": "^0.11.0",
82
82
  "@atlassian/feature-flags-test-utils": "^1.0.0",
83
83
  "@atlassian/react-compiler-gating": "workspace:^",
84
+ "@atlassian/structured-docs-types": "workspace:^",
84
85
  "@testing-library/react": "^16.3.0",
85
86
  "@testing-library/user-event": "^14.4.3",
86
87
  "@types/debounce-promise": "^3.1.2",
@@ -128,10 +129,6 @@
128
129
  ]
129
130
  }
130
131
  },
131
- "platform-feature-flags": {
132
- "dst-a11y__replace-anchor-with-link__linking-platfo": {
133
- "type": "boolean"
134
- }
135
- },
132
+ "platform-feature-flags": {},
136
133
  "compassUnitTestMetricSourceId": "ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:metric-source/c5751cc6-3513-4070-9deb-af31e86aed34/5ebc0bfb-9b6d-4ec0-adbe-e4d5e88ace44"
137
134
  }