@atlaskit/link-create 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/common/constants.js +4 -2
  3. package/dist/cjs/index.js +6 -0
  4. package/dist/cjs/ui/create-form/main.js +1 -1
  5. package/dist/cjs/ui/create-form/user-picker/index.js +12 -0
  6. package/dist/cjs/ui/create-form/user-picker/main.js +59 -0
  7. package/dist/cjs/ui/create-form/user-picker/types.js +5 -0
  8. package/dist/cjs/ui/index.js +8 -1
  9. package/dist/cjs/ui/inline-create/inline-analytics/index.js +22 -0
  10. package/dist/cjs/ui/inline-create/main.js +9 -8
  11. package/dist/cjs/ui/modal-create/main.js +3 -5
  12. package/dist/es2019/common/constants.js +3 -1
  13. package/dist/es2019/index.js +2 -2
  14. package/dist/es2019/ui/create-form/main.js +1 -1
  15. package/dist/es2019/ui/create-form/user-picker/index.js +1 -0
  16. package/dist/es2019/ui/create-form/user-picker/main.js +48 -0
  17. package/dist/es2019/ui/create-form/user-picker/types.js +1 -0
  18. package/dist/es2019/ui/index.js +2 -1
  19. package/dist/es2019/ui/inline-create/inline-analytics/index.js +14 -0
  20. package/dist/es2019/ui/inline-create/main.js +8 -10
  21. package/dist/es2019/ui/modal-create/main.js +2 -4
  22. package/dist/esm/common/constants.js +3 -1
  23. package/dist/esm/index.js +2 -2
  24. package/dist/esm/ui/create-form/main.js +1 -1
  25. package/dist/esm/ui/create-form/user-picker/index.js +1 -0
  26. package/dist/esm/ui/create-form/user-picker/main.js +51 -0
  27. package/dist/esm/ui/create-form/user-picker/types.js +1 -0
  28. package/dist/esm/ui/index.js +2 -1
  29. package/dist/esm/ui/inline-create/inline-analytics/index.js +15 -0
  30. package/dist/esm/ui/inline-create/main.js +9 -10
  31. package/dist/esm/ui/modal-create/main.js +2 -4
  32. package/dist/types/common/constants.d.ts +2 -0
  33. package/dist/types/common/ui/confirm-dismiss-dialog/main.d.ts +1 -1
  34. package/dist/types/common/ui/error-boundary/index.d.ts +1 -1
  35. package/dist/types/common/ui/error-boundary-modal/index.d.ts +1 -1
  36. package/dist/types/common/ui/link-create-content/index.d.ts +1 -1
  37. package/dist/types/common/utils/analytics/index.d.ts +1 -1
  38. package/dist/types/controllers/exit-warning-modal-context/index.d.ts +1 -1
  39. package/dist/types/controllers/form-context/index.d.ts +1 -1
  40. package/dist/types/index.d.ts +2 -2
  41. package/dist/types/ui/create-form/form-spy/index.d.ts +1 -1
  42. package/dist/types/ui/create-form/user-picker/index.d.ts +1 -0
  43. package/dist/types/ui/create-form/user-picker/main.d.ts +8 -0
  44. package/dist/types/ui/create-form/user-picker/types.d.ts +25 -0
  45. package/dist/types/ui/index.d.ts +1 -0
  46. package/dist/types/ui/inline-create/inline-analytics/index.d.ts +9 -0
  47. package/dist/types/ui/inline-create/main.d.ts +0 -1
  48. package/dist/types/ui/modal-create/main.d.ts +0 -1
  49. package/dist/types-ts4.5/common/constants.d.ts +2 -0
  50. package/dist/types-ts4.5/common/ui/confirm-dismiss-dialog/main.d.ts +1 -1
  51. package/dist/types-ts4.5/common/ui/error-boundary/index.d.ts +1 -1
  52. package/dist/types-ts4.5/common/ui/error-boundary-modal/index.d.ts +1 -1
  53. package/dist/types-ts4.5/common/ui/link-create-content/index.d.ts +1 -1
  54. package/dist/types-ts4.5/common/utils/analytics/index.d.ts +1 -1
  55. package/dist/types-ts4.5/controllers/exit-warning-modal-context/index.d.ts +1 -1
  56. package/dist/types-ts4.5/controllers/form-context/index.d.ts +1 -1
  57. package/dist/types-ts4.5/index.d.ts +2 -2
  58. package/dist/types-ts4.5/ui/create-form/form-spy/index.d.ts +1 -1
  59. package/dist/types-ts4.5/ui/create-form/user-picker/index.d.ts +1 -0
  60. package/dist/types-ts4.5/ui/create-form/user-picker/main.d.ts +8 -0
  61. package/dist/types-ts4.5/ui/create-form/user-picker/types.d.ts +25 -0
  62. package/dist/types-ts4.5/ui/index.d.ts +1 -0
  63. package/dist/types-ts4.5/ui/inline-create/inline-analytics/index.d.ts +9 -0
  64. package/dist/types-ts4.5/ui/inline-create/main.d.ts +0 -1
  65. package/dist/types-ts4.5/ui/modal-create/main.d.ts +0 -1
  66. package/example-helpers/mock-disclaimer.tsx +11 -11
  67. package/example-helpers/mock-plugin-form.tsx +71 -74
  68. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/link-create
2
2
 
3
+ ## 2.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#107796](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/107796)
8
+ [`15f419051682`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/15f419051682) -
9
+ Fire screen viewed analytics event for Inline Create
10
+
11
+ ### Patch Changes
12
+
13
+ - [#107877](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/107877)
14
+ [`3f82794369ce`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3f82794369ce) -
15
+ Internal changes to types. No expected functional changes.
16
+
17
+ ## 2.2.0
18
+
19
+ ### Minor Changes
20
+
21
+ - [#105330](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/105330)
22
+ [`9fb53f33cb33`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9fb53f33cb33) -
23
+ [ux] Added a goal owner selector component to the goal creation modal. Additionally, added a new
24
+ user-picker component to be used in CreateForm. Goal picker has a new mandatory default owner prop
25
+
3
26
  ## 2.1.0
4
27
 
5
28
  ### Minor Changes
@@ -3,15 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PACKAGE_DATA = exports.LINK_CREATE_FORM_POST_CREATE_FIELD = exports.CREATE_FORM_MIN_HEIGHT_IN_PX = exports.CREATE_FORM_MAX_WIDTH_IN_PX = exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
6
+ exports.SCREEN_ID = exports.PACKAGE_DATA = exports.LINK_CREATE_FORM_POST_CREATE_FIELD = exports.DEFAULT_TEST_ID = exports.CREATE_FORM_MIN_HEIGHT_IN_PX = exports.CREATE_FORM_MAX_WIDTH_IN_PX = exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
7
7
  var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
8
8
  var COMPONENT_NAME = exports.COMPONENT_NAME = 'linkCreate';
9
+ var SCREEN_ID = exports.SCREEN_ID = 'linkCreateScreen';
10
+ var DEFAULT_TEST_ID = exports.DEFAULT_TEST_ID = 'link-create';
9
11
  var CREATE_FORM_MAX_WIDTH_IN_PX = exports.CREATE_FORM_MAX_WIDTH_IN_PX = '480';
10
12
  var CREATE_FORM_MIN_HEIGHT_IN_PX = exports.CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
11
13
  var LINK_CREATE_FORM_POST_CREATE_FIELD = exports.LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
12
14
  var PACKAGE_DATA = exports.PACKAGE_DATA = {
13
15
  packageName: "@atlaskit/link-create" || '',
14
- packageVersion: "2.1.0" || '',
16
+ packageVersion: "2.3.0" || '',
15
17
  component: COMPONENT_NAME,
16
18
  componentName: COMPONENT_NAME
17
19
  };
package/dist/cjs/index.js CHANGED
@@ -52,6 +52,12 @@ Object.defineProperty(exports, "TextField", {
52
52
  return _index.TextField;
53
53
  }
54
54
  });
55
+ Object.defineProperty(exports, "UserPicker", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _index.UserPicker;
59
+ }
60
+ });
55
61
  Object.defineProperty(exports, "default", {
56
62
  enumerable: true,
57
63
  get: function get() {
@@ -156,7 +156,7 @@ var CreateForm = exports.CreateForm = function CreateForm(_ref) {
156
156
  }
157
157
  }), (0, _react2.jsx)("p", {
158
158
  "aria-hidden": "true"
159
- }, intl.formatMessage(_messages.default.requiredFieldInstruction), ' ', (0, _react2.jsx)(_form.RequiredAsterisk, null)), (0, _react2.jsx)(_primitives.Box, null, children), !hideFooter && (0, _react2.jsx)(_formFooter.CreateFormFooter
159
+ }, intl.formatMessage(_messages.default.requiredFieldInstruction), " ", (0, _react2.jsx)(_form.RequiredAsterisk, null)), (0, _react2.jsx)(_primitives.Box, null, children), !hideFooter && (0, _react2.jsx)(_formFooter.CreateFormFooter
160
160
  /**
161
161
  * We will prefer to render the error message connected to
162
162
  * react final form state (submitError) otherwise we can
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "UserPicker", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _main.UserPicker;
10
+ }
11
+ });
12
+ var _main = require("./main");
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TEST_ID = void 0;
8
+ exports.UserPicker = UserPicker;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = require("@emotion/react");
11
+ var _smartUserPicker = _interopRequireDefault(require("@atlaskit/smart-user-picker"));
12
+ var _createField = require("../../../controllers/create-field");
13
+ var _excluded = ["fieldId"];
14
+ /** @jsx jsx */
15
+ var TEST_ID = exports.TEST_ID = 'link-create-user-picker';
16
+ var DEFAULT_DEBOUNCE_TIME = 400;
17
+ var UserPickerWidth = "100%";
18
+
19
+ /**
20
+ * A user picker utilising the SmartUserPicker.
21
+ */
22
+
23
+ function UserPicker(_ref) {
24
+ var productKey = _ref.productKey,
25
+ siteId = _ref.siteId,
26
+ name = _ref.name,
27
+ label = _ref.label,
28
+ placeholder = _ref.placeholder,
29
+ validators = _ref.validators,
30
+ _ref$testId = _ref.testId,
31
+ testId = _ref$testId === void 0 ? TEST_ID : _ref$testId,
32
+ defaultValue = _ref.defaultValue;
33
+ return (0, _react.jsx)(_createField.CreateField, {
34
+ name: name,
35
+ label: label,
36
+ isRequired: true,
37
+ testId: testId,
38
+ validators: validators
39
+ }, function (_ref2) {
40
+ var fieldId = _ref2.fieldId,
41
+ fieldProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
42
+ return (0, _react.jsx)(_smartUserPicker.default, {
43
+ defaultValue: defaultValue,
44
+ placeholder: placeholder,
45
+ onChange: function onChange(value) {
46
+ return fieldProps.onChange(value);
47
+ },
48
+ subtle: true,
49
+ isMulti: false,
50
+ productKey: productKey,
51
+ siteId: siteId,
52
+ fieldId: fieldId,
53
+ debounceTime: DEFAULT_DEBOUNCE_TIME,
54
+ prefetch: true,
55
+ isClearable: false,
56
+ width: UserPickerWidth
57
+ });
58
+ });
59
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -46,6 +46,12 @@ Object.defineProperty(exports, "TextField", {
46
46
  return _textfield.TextField;
47
47
  }
48
48
  });
49
+ Object.defineProperty(exports, "UserPicker", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _userPicker.UserPicker;
53
+ }
54
+ });
49
55
  Object.defineProperty(exports, "default", {
50
56
  enumerable: true,
51
57
  get: function get() {
@@ -59,4 +65,5 @@ var _main = require("./create-form/main");
59
65
  var _formLoader = require("./create-form/form-loader");
60
66
  var _select = require("./create-form/select");
61
67
  var _asyncSelect = require("./create-form/async-select");
62
- var _formSpy = require("./create-form/form-spy");
68
+ var _formSpy = require("./create-form/form-spy");
69
+ var _userPicker = require("./create-form/user-picker");
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InlineAnalytics = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _analyticsNext = require("@atlaskit/analytics-next");
10
+ var _components = require("../../..//common/utils/analytics/components");
11
+ var InlineAnalytics = exports.InlineAnalytics = function InlineAnalytics(_ref) {
12
+ var screen = _ref.screen,
13
+ children = _ref.children;
14
+ return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
15
+ data: {
16
+ source: screen,
17
+ component: 'inline-create'
18
+ }
19
+ }, /*#__PURE__*/_react.default.createElement(_components.ScreenViewedEvent, {
20
+ screen: screen
21
+ }), children);
22
+ };
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.TEST_ID = void 0;
7
+ exports.default = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -12,6 +12,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
12
  var _react = require("react");
13
13
  var _react2 = require("@emotion/react");
14
14
  var _primitives = require("@atlaskit/primitives");
15
+ var _constants = require("../../common/constants");
15
16
  var _confirmDismissDialog = require("../../common/ui/confirm-dismiss-dialog");
16
17
  var _editModal = require("../../common/ui/edit-modal");
17
18
  var _errorBoundary = require("../../common/ui/error-boundary");
@@ -21,12 +22,9 @@ var _editPostCreateContext = require("../../controllers/edit-post-create-context
21
22
  var _exitWarningModalContext = require("../../controllers/exit-warning-modal-context");
22
23
  var _formContext = require("../../controllers/form-context");
23
24
  var _pluginContext = require("../../controllers/plugin-context");
25
+ var _inlineAnalytics = require("./inline-analytics");
24
26
  /** @jsx jsx */
25
27
 
26
- var TEST_ID = exports.TEST_ID = 'link-create';
27
- // todo: EDM-10075 trigger the screen.viewed_linkCreateScreen event when inline-create is mounted
28
- // const SCREEN_ID = 'linkCreateScreen';
29
-
30
28
  var InlineCreateContent = function InlineCreateContent(_ref) {
31
29
  var onCreate = _ref.onCreate,
32
30
  onFailure = _ref.onFailure,
@@ -34,7 +32,8 @@ var InlineCreateContent = function InlineCreateContent(_ref) {
34
32
  onComplete = _ref.onComplete,
35
33
  plugins = _ref.plugins,
36
34
  entityKey = _ref.entityKey,
37
- testId = _ref.testId;
35
+ _ref$testId = _ref.testId,
36
+ testId = _ref$testId === void 0 ? _constants.DEFAULT_TEST_ID : _ref$testId;
38
37
  var _useExitWarningModal = (0, _exitWarningModalContext.useExitWarningModal)(),
39
38
  getShouldShowWarning = _useExitWarningModal.getShouldShowWarning;
40
39
  var _useState = (0, _react.useState)(false),
@@ -59,12 +58,14 @@ var InlineCreateContent = function InlineCreateContent(_ref) {
59
58
  onCreate: onCreate,
60
59
  onFailure: onFailure,
61
60
  onCancel: handleCancel
62
- }, (0, _react2.jsx)(_errorBoundary.ErrorBoundary, null, (0, _react2.jsx)(_primitives.Box, {
61
+ }, (0, _react2.jsx)(_errorBoundary.ErrorBoundary, null, (0, _react2.jsx)(_inlineAnalytics.InlineAnalytics, {
62
+ screen: _constants.SCREEN_ID
63
+ }, (0, _react2.jsx)(_primitives.Box, {
63
64
  testId: testId
64
65
  }, (0, _react2.jsx)(_linkCreateContent.LinkCreateContent, {
65
66
  plugins: plugins,
66
67
  entityKey: entityKey
67
- }))), onComplete && (0, _react2.jsx)(_editModal.EditModal, {
68
+ })))), onComplete && (0, _react2.jsx)(_editModal.EditModal, {
68
69
  onClose: onComplete,
69
70
  editViewPayload: editViewPayload,
70
71
  activePlugin: activePlugin
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.TEST_ID = void 0;
7
+ exports.default = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -29,8 +29,6 @@ var _pluginContext = require("../../controllers/plugin-context");
29
29
  var _messages = require("./messages");
30
30
  /** @jsx jsx */
31
31
 
32
- var TEST_ID = exports.TEST_ID = 'link-create';
33
- var SCREEN_ID = 'linkCreateScreen';
34
32
  var LinkCreateWithModal = function LinkCreateWithModal(_ref) {
35
33
  var active = _ref.active,
36
34
  modalTitle = _ref.modalTitle,
@@ -41,7 +39,7 @@ var LinkCreateWithModal = function LinkCreateWithModal(_ref) {
41
39
  onOpenComplete = _ref.onOpenComplete,
42
40
  onCloseComplete = _ref.onCloseComplete,
43
41
  _ref$testId = _ref.testId,
44
- testId = _ref$testId === void 0 ? TEST_ID : _ref$testId,
42
+ testId = _ref$testId === void 0 ? _constants.DEFAULT_TEST_ID : _ref$testId,
45
43
  plugins = _ref.plugins,
46
44
  entityKey = _ref.entityKey,
47
45
  modalHero = _ref.modalHero;
@@ -72,7 +70,7 @@ var LinkCreateWithModal = function LinkCreateWithModal(_ref) {
72
70
  onCancel: handleCancel
73
71
  }, (0, _react2.jsx)(_modalDialog.ModalTransition, null, active && (0, _react2.jsx)(_ModalDialog.Modal, {
74
72
  testId: "link-create-modal",
75
- screen: SCREEN_ID,
73
+ screen: _constants.SCREEN_ID,
76
74
  onClose: handleCancel,
77
75
  shouldScrollInViewport: true,
78
76
  onOpenComplete: onOpenComplete,
@@ -1,11 +1,13 @@
1
1
  export const ANALYTICS_CHANNEL = 'media';
2
2
  export const COMPONENT_NAME = 'linkCreate';
3
+ export const SCREEN_ID = 'linkCreateScreen';
4
+ export const DEFAULT_TEST_ID = 'link-create';
3
5
  export const CREATE_FORM_MAX_WIDTH_IN_PX = '480';
4
6
  export const CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
5
7
  export const LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
6
8
  export const PACKAGE_DATA = {
7
9
  packageName: "@atlaskit/link-create" || '',
8
- packageVersion: "2.1.0" || '',
10
+ packageVersion: "2.3.0" || '',
9
11
  component: COMPONENT_NAME,
10
12
  componentName: COMPONENT_NAME
11
13
  };
@@ -1,6 +1,6 @@
1
- export { default, TextField, CreateForm, Select, AsyncSelect, CreateFormLoader, FormSpy
1
+ export { default, TextField, CreateForm, Select, AsyncSelect, CreateFormLoader, FormSpy,
2
2
  // todo: EDM-10077 - export this once inline-create is tested/ready
3
3
  //InlineCreate,
4
- } from './ui/index';
4
+ UserPicker } from './ui/index';
5
5
  export { useLinkCreateCallback, LinkCreateCallbackProvider } from './controllers/callback-context';
6
6
  export { FORM_ERROR } from 'final-form';
@@ -121,7 +121,7 @@ export const CreateForm = ({
121
121
  }
122
122
  }), jsx("p", {
123
123
  "aria-hidden": "true"
124
- }, intl.formatMessage(messages.requiredFieldInstruction), ' ', jsx(RequiredAsterisk, null)), jsx(Box, null, children), !hideFooter && jsx(CreateFormFooter
124
+ }, intl.formatMessage(messages.requiredFieldInstruction), " ", jsx(RequiredAsterisk, null)), jsx(Box, null, children), !hideFooter && jsx(CreateFormFooter
125
125
  /**
126
126
  * We will prefer to render the error message connected to
127
127
  * react final form state (submitError) otherwise we can
@@ -0,0 +1 @@
1
+ export { UserPicker } from './main';
@@ -0,0 +1,48 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ import SmartUserPicker from '@atlaskit/smart-user-picker';
4
+ import { CreateField } from '../../../controllers/create-field';
5
+ export const TEST_ID = 'link-create-user-picker';
6
+ const DEFAULT_DEBOUNCE_TIME = 400;
7
+ const UserPickerWidth = "100%";
8
+
9
+ /**
10
+ * A user picker utilising the SmartUserPicker.
11
+ */
12
+
13
+ export function UserPicker({
14
+ productKey,
15
+ siteId,
16
+ name,
17
+ label,
18
+ placeholder,
19
+ validators,
20
+ testId = TEST_ID,
21
+ defaultValue
22
+ }) {
23
+ return jsx(CreateField, {
24
+ name: name,
25
+ label: label,
26
+ isRequired: true,
27
+ testId: testId,
28
+ validators: validators
29
+ }, ({
30
+ fieldId,
31
+ ...fieldProps
32
+ }) => {
33
+ return jsx(SmartUserPicker, {
34
+ defaultValue: defaultValue,
35
+ placeholder: placeholder,
36
+ onChange: value => fieldProps.onChange(value),
37
+ subtle: true,
38
+ isMulti: false,
39
+ productKey: productKey,
40
+ siteId: siteId,
41
+ fieldId: fieldId,
42
+ debounceTime: DEFAULT_DEBOUNCE_TIME,
43
+ prefetch: true,
44
+ isClearable: false,
45
+ width: UserPickerWidth
46
+ });
47
+ });
48
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -5,4 +5,5 @@ export { CreateForm } from './create-form/main';
5
5
  export { CreateFormLoader } from './create-form/form-loader';
6
6
  export { Select } from './create-form/select';
7
7
  export { AsyncSelect } from './create-form/async-select';
8
- export { FormSpy } from './create-form/form-spy';
8
+ export { FormSpy } from './create-form/form-spy';
9
+ export { UserPicker } from './create-form/user-picker';
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
3
+ import { ScreenViewedEvent } from '../../..//common/utils/analytics/components';
4
+ export const InlineAnalytics = ({
5
+ screen,
6
+ children
7
+ }) => /*#__PURE__*/React.createElement(AnalyticsContext, {
8
+ data: {
9
+ source: screen,
10
+ component: 'inline-create'
11
+ }
12
+ }, /*#__PURE__*/React.createElement(ScreenViewedEvent, {
13
+ screen: screen
14
+ }), children);
@@ -3,21 +3,17 @@ import _extends from "@babel/runtime/helpers/extends";
3
3
  import { useCallback, useState } from 'react';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { Box } from '@atlaskit/primitives';
6
+ import { DEFAULT_TEST_ID, SCREEN_ID } from '../../common/constants';
6
7
  import { ConfirmDismissDialog } from '../../common/ui/confirm-dismiss-dialog';
7
8
  import { EditModal } from '../../common/ui/edit-modal';
8
9
  import { ErrorBoundary } from '../../common/ui/error-boundary';
9
10
  import { LinkCreateContent } from '../../common/ui/link-create-content';
10
- import { LinkCreateCallbackProvider
11
- // useLinkCreateCallback,
12
- } from '../../controllers/callback-context';
11
+ import { LinkCreateCallbackProvider } from '../../controllers/callback-context';
13
12
  import { EditPostCreateModalProvider, useEditPostCreateModal } from '../../controllers/edit-post-create-context';
14
13
  import { ExitWarningModalProvider, useExitWarningModal } from '../../controllers/exit-warning-modal-context';
15
14
  import { FormContextProvider } from '../../controllers/form-context';
16
15
  import { LinkCreatePluginsProvider, useLinkCreatePlugins } from '../../controllers/plugin-context';
17
- export const TEST_ID = 'link-create';
18
- // todo: EDM-10075 trigger the screen.viewed_linkCreateScreen event when inline-create is mounted
19
- // const SCREEN_ID = 'linkCreateScreen';
20
-
16
+ import { InlineAnalytics } from './inline-analytics';
21
17
  const InlineCreateContent = ({
22
18
  onCreate,
23
19
  onFailure,
@@ -25,7 +21,7 @@ const InlineCreateContent = ({
25
21
  onComplete,
26
22
  plugins,
27
23
  entityKey,
28
- testId
24
+ testId = DEFAULT_TEST_ID
29
25
  }) => {
30
26
  const {
31
27
  getShouldShowWarning
@@ -49,12 +45,14 @@ const InlineCreateContent = ({
49
45
  onCreate: onCreate,
50
46
  onFailure: onFailure,
51
47
  onCancel: handleCancel
52
- }, jsx(ErrorBoundary, null, jsx(Box, {
48
+ }, jsx(ErrorBoundary, null, jsx(InlineAnalytics, {
49
+ screen: SCREEN_ID
50
+ }, jsx(Box, {
53
51
  testId: testId
54
52
  }, jsx(LinkCreateContent, {
55
53
  plugins: plugins,
56
54
  entityKey: entityKey
57
- }))), onComplete && jsx(EditModal, {
55
+ })))), onComplete && jsx(EditModal, {
58
56
  onClose: onComplete,
59
57
  editViewPayload: editViewPayload,
60
58
  activePlugin: activePlugin
@@ -5,7 +5,7 @@ import { jsx } from '@emotion/react';
5
5
  import { useIntl } from 'react-intl-next';
6
6
  import { ModalBody, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
7
7
  import { Box } from '@atlaskit/primitives';
8
- import { CREATE_FORM_MAX_WIDTH_IN_PX } from '../../common/constants';
8
+ import { CREATE_FORM_MAX_WIDTH_IN_PX, DEFAULT_TEST_ID, SCREEN_ID } from '../../common/constants';
9
9
  import { ConfirmDismissDialog } from '../../common/ui/confirm-dismiss-dialog';
10
10
  import { EditModal } from '../../common/ui/edit-modal';
11
11
  import { ErrorBoundary } from '../../common/ui/error-boundary';
@@ -18,8 +18,6 @@ import { ExitWarningModalProvider, useExitWarningModal } from '../../controllers
18
18
  import { FormContextProvider } from '../../controllers/form-context';
19
19
  import { LinkCreatePluginsProvider, useLinkCreatePlugins } from '../../controllers/plugin-context';
20
20
  import { messages } from './messages';
21
- export const TEST_ID = 'link-create';
22
- const SCREEN_ID = 'linkCreateScreen';
23
21
  const LinkCreateWithModal = ({
24
22
  active,
25
23
  modalTitle,
@@ -29,7 +27,7 @@ const LinkCreateWithModal = ({
29
27
  onComplete,
30
28
  onOpenComplete,
31
29
  onCloseComplete,
32
- testId = TEST_ID,
30
+ testId = DEFAULT_TEST_ID,
33
31
  plugins,
34
32
  entityKey,
35
33
  modalHero
@@ -1,11 +1,13 @@
1
1
  export var ANALYTICS_CHANNEL = 'media';
2
2
  export var COMPONENT_NAME = 'linkCreate';
3
+ export var SCREEN_ID = 'linkCreateScreen';
4
+ export var DEFAULT_TEST_ID = 'link-create';
3
5
  export var CREATE_FORM_MAX_WIDTH_IN_PX = '480';
4
6
  export var CREATE_FORM_MIN_HEIGHT_IN_PX = '200';
5
7
  export var LINK_CREATE_FORM_POST_CREATE_FIELD = '__post_create__';
6
8
  export var PACKAGE_DATA = {
7
9
  packageName: "@atlaskit/link-create" || '',
8
- packageVersion: "2.1.0" || '',
10
+ packageVersion: "2.3.0" || '',
9
11
  component: COMPONENT_NAME,
10
12
  componentName: COMPONENT_NAME
11
13
  };
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { default, TextField, CreateForm, Select, AsyncSelect, CreateFormLoader, FormSpy
1
+ export { default, TextField, CreateForm, Select, AsyncSelect, CreateFormLoader, FormSpy,
2
2
  // todo: EDM-10077 - export this once inline-create is tested/ready
3
3
  //InlineCreate,
4
- } from './ui/index';
4
+ UserPicker } from './ui/index';
5
5
  export { useLinkCreateCallback, LinkCreateCallbackProvider } from './controllers/callback-context';
6
6
  export { FORM_ERROR } from 'final-form';
@@ -150,7 +150,7 @@ export var CreateForm = function CreateForm(_ref) {
150
150
  }
151
151
  }), jsx("p", {
152
152
  "aria-hidden": "true"
153
- }, intl.formatMessage(messages.requiredFieldInstruction), ' ', jsx(RequiredAsterisk, null)), jsx(Box, null, children), !hideFooter && jsx(CreateFormFooter
153
+ }, intl.formatMessage(messages.requiredFieldInstruction), " ", jsx(RequiredAsterisk, null)), jsx(Box, null, children), !hideFooter && jsx(CreateFormFooter
154
154
  /**
155
155
  * We will prefer to render the error message connected to
156
156
  * react final form state (submitError) otherwise we can
@@ -0,0 +1 @@
1
+ export { UserPicker } from './main';
@@ -0,0 +1,51 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ var _excluded = ["fieldId"];
3
+ /** @jsx jsx */
4
+ import { jsx } from '@emotion/react';
5
+ import SmartUserPicker from '@atlaskit/smart-user-picker';
6
+ import { CreateField } from '../../../controllers/create-field';
7
+ export var TEST_ID = 'link-create-user-picker';
8
+ var DEFAULT_DEBOUNCE_TIME = 400;
9
+ var UserPickerWidth = "100%";
10
+
11
+ /**
12
+ * A user picker utilising the SmartUserPicker.
13
+ */
14
+
15
+ export function UserPicker(_ref) {
16
+ var productKey = _ref.productKey,
17
+ siteId = _ref.siteId,
18
+ name = _ref.name,
19
+ label = _ref.label,
20
+ placeholder = _ref.placeholder,
21
+ validators = _ref.validators,
22
+ _ref$testId = _ref.testId,
23
+ testId = _ref$testId === void 0 ? TEST_ID : _ref$testId,
24
+ defaultValue = _ref.defaultValue;
25
+ return jsx(CreateField, {
26
+ name: name,
27
+ label: label,
28
+ isRequired: true,
29
+ testId: testId,
30
+ validators: validators
31
+ }, function (_ref2) {
32
+ var fieldId = _ref2.fieldId,
33
+ fieldProps = _objectWithoutProperties(_ref2, _excluded);
34
+ return jsx(SmartUserPicker, {
35
+ defaultValue: defaultValue,
36
+ placeholder: placeholder,
37
+ onChange: function onChange(value) {
38
+ return fieldProps.onChange(value);
39
+ },
40
+ subtle: true,
41
+ isMulti: false,
42
+ productKey: productKey,
43
+ siteId: siteId,
44
+ fieldId: fieldId,
45
+ debounceTime: DEFAULT_DEBOUNCE_TIME,
46
+ prefetch: true,
47
+ isClearable: false,
48
+ width: UserPickerWidth
49
+ });
50
+ });
51
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -5,4 +5,5 @@ export { CreateForm } from './create-form/main';
5
5
  export { CreateFormLoader } from './create-form/form-loader';
6
6
  export { Select } from './create-form/select';
7
7
  export { AsyncSelect } from './create-form/async-select';
8
- export { FormSpy } from './create-form/form-spy';
8
+ export { FormSpy } from './create-form/form-spy';
9
+ export { UserPicker } from './create-form/user-picker';
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
3
+ import { ScreenViewedEvent } from '../../..//common/utils/analytics/components';
4
+ export var InlineAnalytics = function InlineAnalytics(_ref) {
5
+ var screen = _ref.screen,
6
+ children = _ref.children;
7
+ return /*#__PURE__*/React.createElement(AnalyticsContext, {
8
+ data: {
9
+ source: screen,
10
+ component: 'inline-create'
11
+ }
12
+ }, /*#__PURE__*/React.createElement(ScreenViewedEvent, {
13
+ screen: screen
14
+ }), children);
15
+ };