@atlaskit/share 4.2.2 → 4.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 (60) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/clients/ShareServiceClient.js +24 -15
  3. package/dist/cjs/components/LazyShareForm/LazyShareForm.js +3 -1
  4. package/dist/cjs/components/ShareDialogWithTrigger.js +84 -13
  5. package/dist/cjs/components/ShareForm.js +11 -7
  6. package/dist/cjs/components/ShareFormWrapper/styled.js +2 -3
  7. package/dist/cjs/components/ShareHeader.js +1 -2
  8. package/dist/cjs/components/UserPickerField.js +14 -7
  9. package/dist/cjs/components/analytics/analytics.js +1 -1
  10. package/dist/cjs/i18n/da.js +1 -1
  11. package/dist/cjs/i18n/en_ZZ.js +5 -1
  12. package/dist/cjs/i18n/es.js +1 -1
  13. package/dist/cjs/i18n/nl.js +1 -1
  14. package/dist/cjs/i18n/pt_BR.js +1 -1
  15. package/dist/cjs/i18n/tr.js +1 -1
  16. package/dist/cjs/i18n/uk.js +1 -1
  17. package/dist/cjs/version.json +1 -1
  18. package/dist/es2019/clients/ShareServiceClient.js +24 -15
  19. package/dist/es2019/components/LazyShareForm/LazyShareForm.js +2 -1
  20. package/dist/es2019/components/ShareDialogWithTrigger.js +29 -6
  21. package/dist/es2019/components/ShareForm.js +11 -7
  22. package/dist/es2019/components/ShareFormWrapper/styled.js +2 -3
  23. package/dist/es2019/components/ShareHeader.js +3 -4
  24. package/dist/es2019/components/UserPickerField.js +14 -7
  25. package/dist/es2019/components/analytics/analytics.js +1 -1
  26. package/dist/es2019/i18n/da.js +1 -1
  27. package/dist/es2019/i18n/en_ZZ.js +5 -1
  28. package/dist/es2019/i18n/es.js +1 -1
  29. package/dist/es2019/i18n/nl.js +1 -1
  30. package/dist/es2019/i18n/pt_BR.js +1 -1
  31. package/dist/es2019/i18n/tr.js +1 -1
  32. package/dist/es2019/i18n/uk.js +1 -1
  33. package/dist/es2019/version.json +1 -1
  34. package/dist/esm/clients/ShareServiceClient.js +24 -15
  35. package/dist/esm/components/LazyShareForm/LazyShareForm.js +2 -1
  36. package/dist/esm/components/ShareDialogWithTrigger.js +84 -13
  37. package/dist/esm/components/ShareForm.js +11 -7
  38. package/dist/esm/components/ShareFormWrapper/styled.js +2 -3
  39. package/dist/esm/components/ShareHeader.js +1 -2
  40. package/dist/esm/components/UserPickerField.js +14 -7
  41. package/dist/esm/components/analytics/analytics.js +1 -1
  42. package/dist/esm/i18n/da.js +1 -1
  43. package/dist/esm/i18n/en_ZZ.js +5 -1
  44. package/dist/esm/i18n/es.js +1 -1
  45. package/dist/esm/i18n/nl.js +1 -1
  46. package/dist/esm/i18n/pt_BR.js +1 -1
  47. package/dist/esm/i18n/tr.js +1 -1
  48. package/dist/esm/i18n/uk.js +1 -1
  49. package/dist/esm/version.json +1 -1
  50. package/dist/types/components/ShareDialogWithTrigger.d.ts +3 -0
  51. package/dist/types/components/UserPickerField.d.ts +3 -2
  52. package/dist/types/i18n/en_ZZ.d.ts +3 -0
  53. package/dist/types/types/ShareContentState.d.ts +3 -0
  54. package/dist/types-ts4.5/components/ShareDialogWithTrigger.d.ts +3 -0
  55. package/dist/types-ts4.5/components/UserPickerField.d.ts +3 -2
  56. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +3 -0
  57. package/dist/types-ts4.5/types/ShareContentState.d.ts +3 -0
  58. package/package.json +8 -6
  59. package/report.api.md +3 -0
  60. package/tmp/api-report-tmp.d.ts +3 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/share
2
2
 
3
+ ## 4.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`1b0098b3680`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1b0098b3680) - [ux] Updated the Share dialog to handle errors relating to user, group, or team selection.
8
+
9
+ ## 4.2.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [`d6d8c718bd8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d6d8c718bd8) - Internal change to enforce token usage for spacing properties. There is no expected visual or behaviour change.
14
+
3
15
  ## 4.2.2
4
16
 
5
17
  ### Patch Changes
@@ -45,22 +45,31 @@ var ShareServiceClient = /*#__PURE__*/function () {
45
45
  }, {
46
46
  key: "share",
47
47
  value: function share(content, recipients, metadata, comment) {
48
- var options = {
49
- path: DEFAULT_SHARE_PATH,
50
- requestInit: {
51
- method: 'post',
52
- headers: {
53
- 'Content-Type': 'application/json; charset=UTF-8'
54
- },
55
- body: JSON.stringify({
56
- content: content,
57
- recipients: recipients,
58
- metadata: metadata,
59
- comment: comment
60
- })
48
+ return fetch("".concat(this.serviceConfig.url, "/").concat(DEFAULT_SHARE_PATH), {
49
+ method: 'post',
50
+ headers: {
51
+ 'Content-Type': 'application/json; charset=UTF-8'
52
+ },
53
+ credentials: 'include',
54
+ body: JSON.stringify({
55
+ content: content,
56
+ recipients: recipients,
57
+ metadata: metadata,
58
+ comment: comment
59
+ })
60
+ }).then(function (response) {
61
+ if (response.status === 204) {
62
+ return Promise.resolve();
63
+ } else if (response.ok) {
64
+ return response.json();
65
+ } else {
66
+ return Promise.reject({
67
+ code: response.status,
68
+ reason: response.statusText,
69
+ body: response.json()
70
+ });
61
71
  }
62
- };
63
- return _utilServiceSupport.utils.requestService(this.serviceConfig, options);
72
+ });
64
73
  }
65
74
  }]);
66
75
  return ShareServiceClient;
@@ -19,6 +19,8 @@ var _utils = require("../utils");
19
19
  /** @jsx jsx */
20
20
  /** @jsxFrag */
21
21
 
22
+ // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
23
+
22
24
  /**
23
25
  * A Share form content which is lazy-loaded.
24
26
  * Make sure this component is not exported inside main entry points `src/index.ts`
@@ -64,7 +66,7 @@ function LazyShareForm(props) {
64
66
  }
65
67
  }, bottomMessage) : null, customFooter && selectedIntegration === null && (0, _react2.jsx)("div", {
66
68
  css: {
67
- margin: "0 ".concat(-(0, _constants.gridSize)() * 3, "px ").concat(-(0, _constants.gridSize)() * 2, "px ").concat(-(0, _constants.gridSize)() * 3, "px")
69
+ margin: "0 calc(-1 * ".concat("var(--ds-space-300, 24px)", ") calc(-1 * ", "var(--ds-space-200, 16px)", ") calc(-1 * ", "var(--ds-space-300, 24px)", ")")
68
70
  }
69
71
  }, customFooter));
70
72
  _react.default.useEffect(function () {
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.defaultShareContentState = exports.ShareDialogWithTriggerInternal = exports.ShareDialogWithTrigger = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
13
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -254,19 +256,40 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
254
256
  });
255
257
  showFlags(_this.getFlags());
256
258
  _ufoExperiences.shareSubmitExp.success();
257
- }).catch(function (err) {
258
- _this.setState({
259
- isSharing: false,
260
- shareError: {
261
- message: err.message
262
- }
263
- });
264
- (0, _ufoExperienceHelper.isValidFailedExperience)(_ufoExperiences.shareSubmitExp, err);
265
- });
259
+ }).catch( /*#__PURE__*/function () {
260
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(err) {
261
+ var shareError;
262
+ return _regenerator.default.wrap(function _callee$(_context) {
263
+ while (1) switch (_context.prev = _context.next) {
264
+ case 0:
265
+ _context.next = 2;
266
+ return _this.generateShareError(err).catch(function (errorGenFailed) {
267
+ return {
268
+ message: err.message || errorGenFailed.message || 'Unknown error',
269
+ retryable: true
270
+ };
271
+ });
272
+ case 2:
273
+ shareError = _context.sent;
274
+ _this.setState({
275
+ isSharing: false,
276
+ shareError: shareError
277
+ });
278
+ (0, _ufoExperienceHelper.isValidFailedExperience)(_ufoExperiences.shareSubmitExp, err);
279
+ case 5:
280
+ case "end":
281
+ return _context.stop();
282
+ }
283
+ }, _callee);
284
+ }));
285
+ return function (_x) {
286
+ return _ref.apply(this, arguments);
287
+ };
288
+ }());
266
289
  });
267
290
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleFormDismiss", function (data) {
268
- _this.setState(function (_ref) {
269
- var ignoreIntermediateState = _ref.ignoreIntermediateState;
291
+ _this.setState(function (_ref2) {
292
+ var ignoreIntermediateState = _ref2.ignoreIntermediateState;
270
293
  return ignoreIntermediateState ? null : {
271
294
  defaultValue: data
272
295
  };
@@ -370,6 +393,13 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
370
393
  isUsingSplitButton: false
371
394
  });
372
395
  });
396
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleOnUserSelectionChange", function (value) {
397
+ var onUserSelectionChange = _this.props.onUserSelectionChange;
398
+ _this.setState({
399
+ shareError: undefined
400
+ });
401
+ onUserSelectionChange === null || onUserSelectionChange === void 0 ? void 0 : onUserSelectionChange(value);
402
+ });
373
403
  return _this;
374
404
  }
375
405
  (0, _createClass2.default)(ShareDialogWithTriggerInternal, [{
@@ -386,6 +416,48 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
386
416
  this.handleDialogOpen();
387
417
  }
388
418
  }
419
+ }, {
420
+ key: "generateShareError",
421
+ value: function () {
422
+ var _generateShareError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(err) {
423
+ var _errorBody$messagesDe;
424
+ var errorBody, firstErrorFromBody;
425
+ return _regenerator.default.wrap(function _callee2$(_context2) {
426
+ while (1) switch (_context2.prev = _context2.next) {
427
+ case 0:
428
+ if (!err.body) {
429
+ _context2.next = 6;
430
+ break;
431
+ }
432
+ _context2.next = 3;
433
+ return err.body;
434
+ case 3:
435
+ _context2.t0 = _context2.sent;
436
+ _context2.next = 7;
437
+ break;
438
+ case 6:
439
+ _context2.t0 = {};
440
+ case 7:
441
+ errorBody = _context2.t0;
442
+ // We'll only try and deal with the first error, sorry
443
+ firstErrorFromBody = (_errorBody$messagesDe = errorBody.messagesDetails) === null || _errorBody$messagesDe === void 0 ? void 0 : _errorBody$messagesDe[0];
444
+ return _context2.abrupt("return", {
445
+ message: (firstErrorFromBody === null || firstErrorFromBody === void 0 ? void 0 : firstErrorFromBody.message) || err.message,
446
+ errorCode: firstErrorFromBody === null || firstErrorFromBody === void 0 ? void 0 : firstErrorFromBody.errorCode,
447
+ helpUrl: firstErrorFromBody === null || firstErrorFromBody === void 0 ? void 0 : firstErrorFromBody.helpUrl,
448
+ retryable: (firstErrorFromBody === null || firstErrorFromBody === void 0 ? void 0 : firstErrorFromBody.errorCode) === undefined
449
+ });
450
+ case 10:
451
+ case "end":
452
+ return _context2.stop();
453
+ }
454
+ }, _callee2);
455
+ }));
456
+ function generateShareError(_x2) {
457
+ return _generateShareError.apply(this, arguments);
458
+ }
459
+ return generateShareError;
460
+ }()
389
461
  }, {
390
462
  key: "render",
391
463
  value: function render() {
@@ -414,7 +486,6 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
414
486
  cloudId = _this$props7.cloudId,
415
487
  orgId = _this$props7.orgId,
416
488
  shareFieldsFooter = _this$props7.shareFieldsFooter,
417
- onUserSelectionChange = _this$props7.onUserSelectionChange,
418
489
  dialogZIndex = _this$props7.dialogZIndex,
419
490
  isPublicLink = _this$props7.isPublicLink,
420
491
  tabIndex = _this$props7.tabIndex,
@@ -460,7 +531,7 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
460
531
  loggedInAccountId: loggedInAccountId,
461
532
  cloudId: cloudId,
462
533
  orgId: orgId,
463
- onUserSelectionChange: onUserSelectionChange,
534
+ onUserSelectionChange: _this2.handleOnUserSelectionChange,
464
535
  shareFieldsFooter: shareFieldsFooter,
465
536
  isPublicLink: isPublicLink,
466
537
  copyTooltipText: copyTooltipText,
@@ -24,7 +24,6 @@ var _form = _interopRequireDefault(require("@atlaskit/form"));
24
24
  var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
25
25
  var _tabs = _interopRequireWildcard(require("@atlaskit/tabs"));
26
26
  var _colors = require("@atlaskit/theme/colors");
27
- var _constants = require("@atlaskit/theme/constants");
28
27
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
29
28
  var _i18n = require("../i18n");
30
29
  var _types = require("../types");
@@ -44,7 +43,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
44
43
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
44
  var submitButtonWrapperStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin-left: auto;\n"])));
46
45
  var centerAlignedIconWrapperStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-self: center;\n padding: 0 10px;\n\n > div {\n line-height: 1;\n }\n"])));
47
- var formWrapperStyles = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", "px;\n width: 100%;\n\n /* jira has a class override font settings on h1 in gh-custom-field-pickers.css */\n #ghx-modes-tools #ghx-share & h1:first-child {\n margin-top: 0;\n }\n"])), (0, _constants.gridSize)());
46
+ var formWrapperStyles = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n width: 100%;\n\n /* jira has a class override font settings on h1 in gh-custom-field-pickers.css */\n #ghx-modes-tools #ghx-share & h1:first-child {\n margin-top: 0;\n }\n"])), "var(--ds-space-100, 8px)");
48
47
  exports.formWrapperStyles = formWrapperStyles;
49
48
  var formFooterStyles = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: flex-start;\n"])));
50
49
  exports.formFooterStyles = formFooterStyles;
@@ -98,7 +97,8 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
98
97
  helperMessage = _this$props.helperMessage,
99
98
  orgId = _this$props.orgId,
100
99
  isBrowseUsersDisabled = _this$props.isBrowseUsersDisabled,
101
- formatMessage = _this$props.intl.formatMessage;
100
+ formatMessage = _this$props.intl.formatMessage,
101
+ shareError = _this$props.shareError;
102
102
  return (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
103
103
  data: {
104
104
  source: _analytics.ANALYTICS_SOURCE
@@ -122,7 +122,8 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
122
122
  isPublicLink: isPublicLink,
123
123
  helperMessage: helperMessage,
124
124
  orgId: orgId,
125
- isBrowseUsersDisabled: isBrowseUsersDisabled
125
+ isBrowseUsersDisabled: isBrowseUsersDisabled,
126
+ shareError: shareError
126
127
  })), (0, _react2.jsx)("div", {
127
128
  css: formFieldStyles
128
129
  }, (0, _react2.jsx)(_CommentField.CommentField, {
@@ -148,13 +149,16 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
148
149
  isDisabled = _this$props2.isDisabled,
149
150
  isPublicLink = _this$props2.isPublicLink,
150
151
  integrationMode = _this$props2.integrationMode;
151
- var shouldShowWarning = shareError && !isSharing;
152
+ var isRetryableError = !!(shareError !== null && shareError !== void 0 && shareError.retryable);
153
+ var isNonRetryableError = shareError && !shareError.retryable;
154
+ var shouldShowWarning = isRetryableError && !isSharing;
152
155
  var buttonAppearance = !shouldShowWarning ? 'primary' : 'warning';
153
156
  var tabMode = integrationMode === 'tabs';
154
157
  var formPublicLabel = tabMode ? _i18n.messages.formSharePublic : _i18n.messages.formSendPublic;
155
158
  var formSendLabel = _i18n.messages.formShare;
156
159
  var sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
157
- var buttonLabel = shareError ? _i18n.messages.formRetry : sendLabel;
160
+ var buttonLabel = isRetryableError ? _i18n.messages.formRetry : sendLabel;
161
+ var buttonDisabled = isDisabled || isNonRetryableError;
158
162
  var ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : _react.default.Fragment;
159
163
  return (0, _react2.jsx)("div", {
160
164
  css: submitButtonWrapperStyles
@@ -170,7 +174,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
170
174
  appearance: buttonAppearance,
171
175
  type: "submit",
172
176
  isLoading: isSharing,
173
- isDisabled: isDisabled
177
+ isDisabled: buttonDisabled
174
178
  }, (0, _react2.jsx)(ButtonLabelWrapper, null, submitButtonLabel || (0, _react2.jsx)(_reactIntlNext.FormattedMessage, buttonLabel))));
175
179
  });
176
180
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMainTabTitle", function () {
@@ -7,14 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.InlineDialogFormWrapper = exports.InlineDialogContentWrapper = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@emotion/react");
10
- var _constants = require("@atlaskit/theme/constants");
11
10
  /** @jsx jsx */
12
11
 
13
12
  var InlineDialogFormWrapper = function InlineDialogFormWrapper(_ref) {
14
13
  var children = _ref.children;
15
14
  return (0, _react2.jsx)("div", {
16
15
  css: {
17
- width: "".concat((0, _constants.gridSize)() * 44, "px")
16
+ width: "".concat(8 * 44, "px")
18
17
  }
19
18
  }, children);
20
19
  };
@@ -30,7 +29,7 @@ var InlineDialogContentWrapper = function InlineDialogContentWrapper(_ref2) {
30
29
  var children = _ref2.children;
31
30
  return (0, _react2.jsx)("div", {
32
31
  css: {
33
- padding: "".concat((0, _constants.gridSize)() * 2, "px ").concat((0, _constants.gridSize)() * 3, "px")
32
+ padding: "var(--ds-space-200, 16px)".concat(" ", "var(--ds-space-300, 24px)")
34
33
  }
35
34
  }, children);
36
35
  };
@@ -9,14 +9,13 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _react2 = require("@emotion/react");
11
11
  var _reactIntlNext = require("react-intl-next");
12
- var _constants = require("@atlaskit/theme/constants");
13
12
  var _typography = require("@atlaskit/theme/typography");
14
13
  var _i18n = require("../i18n");
15
14
  var _templateObject, _templateObject2;
16
15
  /** @jsx jsx */
17
16
  var headerWrapperStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n"])));
18
17
  var getFormHeaderTitleStyles = function getFormHeaderTitleStyles(theme) {
19
- return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n line-height: ", "px;\n margin-right: ", "px;\n margin-top: ", "px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n > span {\n font-size: initial;\n }\n"])), (0, _typography.h500)(theme), (0, _constants.gridSize)() * 4, (0, _constants.gridSize)() * 4, (0, _constants.gridSize)() * 4);
18
+ return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n line-height: ", ";\n margin-right: ", ";\n margin-top: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n > span {\n font-size: initial;\n }\n"])), (0, _typography.h500)(theme), "var(--ds-font-lineHeight-500, 32px)", "var(--ds-space-400, 32px)", "var(--ds-space-400, 32px)");
20
19
  };
21
20
  exports.getFormHeaderTitleStyles = getFormHeaderTitleStyles;
22
21
  var ShareHeader = function ShareHeader(_ref) {
@@ -103,7 +103,7 @@ var UserPickerFieldComponent = /*#__PURE__*/function (_React$Component) {
103
103
  return [];
104
104
  }
105
105
  });
106
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getInviteWarningMessage", function () {
106
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getHelperMessageOrDefault", function () {
107
107
  var _this$props = _this.props,
108
108
  product = _this$props.product,
109
109
  isPublicLink = _this$props.isPublicLink,
@@ -142,7 +142,8 @@ var UserPickerFieldComponent = /*#__PURE__*/function (_React$Component) {
142
142
  selectPortalRef = _this$props2.selectPortalRef,
143
143
  isPublicLink = _this$props2.isPublicLink,
144
144
  orgId = _this$props2.orgId,
145
- isBrowseUsersDisabled = _this$props2.isBrowseUsersDisabled;
145
+ isBrowseUsersDisabled = _this$props2.isBrowseUsersDisabled,
146
+ shareError = _this$props2.shareError;
146
147
  var smartUserPickerProps = enableSmartUserPicker && !isBrowseUsersDisabled ? {
147
148
  productKey: product,
148
149
  principalId: loggedInAccountId,
@@ -176,13 +177,19 @@ var UserPickerFieldComponent = /*#__PURE__*/function (_React$Component) {
176
177
  transform: this.handleUserPickerTransform
177
178
  }, function (_ref2) {
178
179
  var fieldProps = _ref2.fieldProps,
179
- error = _ref2.error,
180
- valid = _ref2.meta.valid;
181
- var inviteWarningMessage = _this2.getInviteWarningMessage();
180
+ fieldValidationError = _ref2.error,
181
+ fieldValid = _ref2.meta.valid;
182
+ var helperMessage = _this2.getHelperMessageOrDefault();
183
+ var addMoreMessage = shareError !== null && shareError !== void 0 && shareError.errorCode ? null : intl.formatMessage(_i18n.messages.userPickerAddMoreMessage);
184
+ var wasValidationOrShareError = !!fieldValidationError || !!shareError;
182
185
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(UserPickerComponent, (0, _extends2.default)({}, fieldProps, commonPickerProps, smartUserPickerProps, {
183
- addMoreMessage: intl.formatMessage(_i18n.messages.userPickerAddMoreMessage),
186
+ addMoreMessage: addMoreMessage,
184
187
  menuPortalTarget: menuPortalTarget
185
- })), inviteWarningMessage && /*#__PURE__*/_react.default.createElement(_form.HelperMessage, null, inviteWarningMessage), !valid && error === REQUIRED && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, requiredMessage)));
188
+ })), helperMessage && !wasValidationOrShareError && /*#__PURE__*/_react.default.createElement(_form.HelperMessage, null, helperMessage), !fieldValid && fieldValidationError === REQUIRED && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, requiredMessage)), shareError && shareError.errorCode && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, shareError.message, "\xA0", shareError.helpUrl && /*#__PURE__*/_react.default.createElement("a", {
189
+ target: "_blank",
190
+ href: shareError.helpUrl,
191
+ rel: "help"
192
+ }, "Learn why")));
186
193
  });
187
194
  }
188
195
  }]);
@@ -13,7 +13,7 @@ var buildAttributes = function buildAttributes() {
13
13
  var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
14
  return _objectSpread({
15
15
  packageName: "@atlaskit/share",
16
- packageVersion: "4.2.2"
16
+ packageVersion: "4.3.0"
17
17
  }, attributes);
18
18
  };
19
19
  var createEvent = function createEvent(eventType, source, action, actionSubject, actionSubjectId) {
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': 'Del i {integrationName}',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Del side',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Del sag',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {Blogindlæg delt}board {Tavle delt}calendar {Kalender delt}draft {Udkast delt}filter {Filter delt}issue {Sag delt}summary {Oversigt delt}list {Liste delt}timeline {Tidslinje delt}form {Formular delt}media {Medier delt}page {Side delt}project {Projekt delt}pullrequest {Pullanmodning delt}question {Spørgsmål delt}report {Rapport delt}repository {Lager delt}request {Anmodning delt}roadmap {Køreplan delt}site {Websted delt}space {Område delt}other {Link delt}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {Blogindlæg delt}board {Tavle delt}calendar {Kalender delt}draft {Udkast delt}filter {Filter delt}issue {Sag delt}summary {Oversigt delt}list {Liste delt}timeline {Tidslinje delt}form {Formular delt}media {Medier delt}page {Side delt}project {Projekt delt}pullrequest {Pull-anmodning delt}question {Spørgsmål delt}report {Rapport delt}repository {Lager delt}request {Anmodning delt}roadmap {Køreplan delt}site {Websted delt}space {Område delt}other {Link delt}}',
48
48
  'fabric.elements.share.to.integration.button': 'Del med {integrationName}',
49
49
  'fabric.elements.share.trigger.button.icon.label': 'Del ikon',
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Invitér',
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /* prettier-ignore */
7
8
  /**
8
9
  * NOTE:
9
10
  *
@@ -20,6 +21,7 @@ var _default = {
20
21
  'fabric.elements.share.form.comment.placeholder': '⁣⁢Add a message⁠⁡‌⁠⁠⁡‌‍⁡؜‌⁠⁣⁤',
21
22
  'fabric.elements.share.form.info.message.no.invite.confluence': '⁣⁢Recipients will see the name of the page and your message⁠‌‌؜⁠‌⁡؜⁠‌‌‌⁠‌⁣⁤',
22
23
  'fabric.elements.share.form.info.message.no.invite.jira': '⁣⁢Recipients will see the name of the issue and your message‍‍⁠؜⁡‍⁠⁣⁤',
24
+ 'fabric.elements.share.form.no-permissions': '⁣⁢You do not have the ability to share.؜⁠‍‍‍⁡⁠⁡⁣⁤',
23
25
  'fabric.elements.share.form.public.send': '⁣⁢Send public link⁠؜⁠‍⁠⁡؜‌⁡⁠⁣⁤',
24
26
  'fabric.elements.share.form.public.share': '⁣⁢Share public link⁠⁡‍‍‍‌⁠؜‍‌‍⁡⁡⁡؜⁣⁤',
25
27
  'fabric.elements.share.form.retry': '⁣⁢Retry‌‌⁡؜‌‌⁡⁡‌⁣⁤',
@@ -29,18 +31,20 @@ var _default = {
29
31
  'fabric.elements.share.form.user-picker.add-more': '⁣⁢Enter more⁠⁠⁡‍‌؜؜‌‍⁠؜‍⁠⁣⁤',
30
32
  'fabric.elements.share.form.user-picker.no-options.existingUserOnly': '⁣⁢We couldn’t find any results for "{inputValue}".⁡‌‌؜⁡⁡⁡⁠⁠‍‍⁣⁤',
31
33
  'fabric.elements.share.form.user-picker.no-options.generic': '⁣⁢We couldn’t find any results for "{inputValue}". Invite people by using an email address.⁡؜؜‍⁠؜⁠⁠⁡؜⁡⁠‍‍⁣⁤',
34
+ 'fabric.elements.share.form.user-picker.placeholder.emailOnly': '⁣⁢Enter email⁠⁠⁡⁡‍⁡‌⁣⁤',
32
35
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': '⁣⁢Enter name or team⁡‍؜‍؜⁠‌⁡⁣⁤',
33
36
  'fabric.elements.share.form.user-picker.placeholder.generic': '⁣⁢Enter name, group, team or email⁡؜‌‍؜؜‍⁣⁤',
34
37
  'fabric.elements.share.form.user-picker.placeholder.jira': '⁣⁢Enter name, team or email‌‍⁠‌‌⁡⁠⁡؜‍؜⁣⁤',
35
38
  'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': '⁣⁢Enter name, group or team‍‌‍⁠⁡‌⁡⁠‍⁡⁠⁠⁡⁣⁤',
36
39
  'fabric.elements.share.form.user-picker.validation.required': '⁣⁢Select at least one user, group, team or email.⁡⁡؜‌‍‌⁠؜⁣⁤',
40
+ 'fabric.elements.share.form.user-picker.validation.required.email-only': '⁣⁢Select at least one email.⁠‍‍⁠‌⁠⁡⁡‍⁠‌؜⁡‌⁣⁤',
37
41
  'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': '⁣⁢Select at least one user, group or team.‍‌⁠⁡؜‌⁠⁠‌⁡‍‍⁣⁤',
38
42
  'fabric.elements.share.form.user-picker.validation.required.jira': '⁣⁢Select at least one user, team or email.؜⁠‍؜‍‍‌⁠⁠⁣⁤',
39
43
  'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': '⁣⁢Select at least one user or team.‌؜⁠‌‍⁡؜‌‍⁡‌⁠⁡⁣⁤',
40
44
  'fabric.elements.share.in.integration.button': '⁣⁢Share in {integrationName}⁠؜⁡⁡‌⁡؜‌‌‌⁣⁤',
41
45
  'fabric.elements.share.main.tab.text.confluence': '⁣⁢Share page‌‍‌‍⁠⁡؜‌⁣⁤',
42
46
  'fabric.elements.share.main.tab.text.jira': '⁣⁢Share issue؜‍‍؜‍⁡⁠⁠؜‍⁣⁤',
43
- 'fabric.elements.share.success.message': '{object, select, blogpost {⁣⁢Blog post shared⁡‌‍⁡⁠⁠⁡⁠⁡⁠⁣⁤} board {⁣⁢Board shared‍⁡‍؜⁠⁠‌⁣⁤} calendar {⁣⁢Calendar shared‌⁡⁠⁡⁡‍؜⁠⁠⁣⁤} draft {⁣⁢Draft shared⁠‌‍⁠‍‍‍؜‍⁠؜⁣⁤} filter {⁣⁢Filter shared‍؜؜‍؜⁡‍⁣⁤} issue {⁣⁢Issue shared⁡⁡‍⁡⁡‍⁠؜⁡⁠‌⁣⁤} media {⁣⁢Media shared؜‌‍‌⁠⁠⁣⁤} page {⁣⁢Page shared‍⁡‍‍‌؜‌؜‍⁣⁤} project {⁣⁢Project shared⁡‍⁠⁡‍؜⁡‍‌‌⁡⁣⁤} pullrequest {⁣⁢Pull Request shared‌⁡⁡؜⁠⁡؜‍⁠؜‌⁠؜⁣⁤} question {⁣⁢Question shared⁠‍⁠‍⁠؜‌‌⁣⁤} report {⁣⁢Report shared‍؜⁡⁠‍⁡⁠‍⁠‌⁣⁤} repository {⁣⁢Repository shared‍‌‌‌⁡⁡؜⁣⁤} request {⁣⁢Request shared⁡‌⁡⁡؜‍‌‌‌؜‌⁡⁣⁤} roadmap {⁣⁢Roadmap shared‍‍‌⁡⁡؜⁠⁡‌⁣⁤} site {⁣⁢Site shared؜⁡⁡؜⁡؜؜⁡؜⁠‍⁣⁤} space {⁣⁢Space shared⁡‍‍‍؜؜⁡⁡⁡⁣⁤} other {⁣⁢Link Shared‌‌‍‌‍⁡⁣⁤}}',
47
+ 'fabric.elements.share.success.message': '⁣⁢{object, select,blogpost {Blog post shared}board {Board shared}calendar {Calendar shared}draft {Draft shared}filter {Filter shared}issue {Issue shared}summary {Summary shared}list {List shared}timeline {Timeline shared}form {Form shared}media {Media shared}page {Page shared}project {Project shared}pullrequest {Pull Request shared}question {Question shared}report {Report shared}repository {Repository shared}request {Request shared}roadmap {Roadmap shared}site {Site shared}space {Space shared}other {Link Shared}}؜؜‍‍⁡‍‍⁠⁡⁡‌⁣⁤',
44
48
  'fabric.elements.share.to.integration.button': '⁣⁢Share to {integrationName}‌⁡‌⁠⁡⁡⁡⁠‍‍؜‌⁡⁣⁤',
45
49
  'fabric.elements.share.trigger.button.icon.label': '⁣⁢Share icon‌‍؜‍‍؜‌⁡⁣⁤',
46
50
  'fabric.elements.share.trigger.button.invite.text': '⁣⁢Invite⁡‍‍⁠؜⁡‌⁠؜؜؜؜⁣⁤',
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': 'Compartir en {integrationName}',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Compartir página',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Compartir incidencia',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {Entrada de blog compartida}board {Tablero compartido}calendar {Calendario compartido}draft {Borrador compartido}filter {Filtro compartido}issue {Incidencia compartida}summary {Resumen compartido}list {Lista compartida}timeline {Cronograma compartido}form {Formulario compartido}media {Recursos multimedia compartidos}page {Página compartida}project {Proyecto compartido}pullrequest {Solicitud de incorporación de cambios compartida}question {Pregunta compartida}report {Informe compartido}repository {Repositorio compartido}request {Solicitud compartida}roadmap {Hoja de ruta compartida}site {Sitio compartido}space {Espacio compartido}other {Enlace compartido}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {Entrada de blog compartida}board {Tablero compartido}calendar {Calendario compartido}draft {Borrador compartido}filter {Filtro compartido}issue {Incidencia compartida}summary {Resumen compartido}list {Lista compartida}timeline {Cronograma compartido}form {Formulario compartido}media {Medios compartidos}page {Página compartida}project {Proyecto compartido}pullrequest {Solicitud de incorporación de cambios compartida}question {Pregunta compartida}report {Informe compartido}repository {Repositorio compartido}request {Solicitud compartida}roadmap {Hoja de ruta compartida}site {Sitio compartido}space {Espacio compartido}other {Enlace compartido}}',
48
48
  'fabric.elements.share.to.integration.button': 'Compartir en {integrationName}',
49
49
  'fabric.elements.share.trigger.button.icon.label': 'Icono de compartir',
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Invitar',
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': 'Delen in {integrationName}',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Pagina delen',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Issue delen',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {blogpost gedeeld}board {bord gedeeld}calendar {agenda gedeeld}draft {concept gedeeld}filter {filter gedeeld}issue {issue gedeeld}summary {samenvatting gedeeld}list {lijst gedeeld}timeline {tijdlijn gedeeld}form {formulier gedeeld}media {media gedeeld}page {pagina gedeeld}project {project gedeeld}pullrequest {pull-request gedeeld}question {vraag gedeeld}report {rapport gedeeld}repository {repository gedeeld}request {aanvraag gedeeld}roadmap {roadmap gedeeld}site {site gedeeld}space {space gedeeld}other {link gedeeld}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {blogpost gedeeld}board {bord gedeeld}calendar {agenda gedeeld}draft {concept gedeeld}filter {filter gedeeld}issue {issue gedeeld}summary {samenvatting gedeeld}list {lijst gedeeld}timeline {tijdlijn gedeeld}form {formulier gedeeld}media {media gedeeld}page {pagina gedeeld}project {project gedeeld}pullrequest {pull request gedeeld}question {vraag gedeeld}report {rapport gedeeld}repository {repository gedeeld}request {aanvraag gedeeld}roadmap {roadmap gedeeld}site {site gedeeld}space {space gedeeld}other {link gedeeld}}',
48
48
  'fabric.elements.share.to.integration.button': 'Delen met {integrationName}',
49
49
  'fabric.elements.share.trigger.button.icon.label': "Pictogram 'Delen'",
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Uitnodigen',
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': 'Compartilhar em {integrationName}',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Compartilhar página',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Compartilhar item',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {Blog compartilhado}board {Quadro compartilhado}calendar {Calendário compartilhado}draft {Rascunho compartilhado}filter {Filtro compartilhado}issue {Item compartilhado}summary {Resumo compartilhado}list {Lista compartilhada}timeline {Cronograma compartilhado}form {Formulário compartilhado}media {Mídia compartilhada}page {Página compartilhada}project {Projeto compartilhado}pullrequest {Pull request compartilhada}question {Pergunta compartilhada}report {Relatório compartilhado}repository {Repositório compartilhado}request {Solicitação compartilhada}roadmap {Roteiro compartilhado}site {Site compartilhado}space {Espaço compartilhado}other {Link compartilhado}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {Blog compartilhado}board {Quadro compartilhado}calendar {Calendário compartilhado}draft {Rascunho compartilhado}filter {Filtro compartilhado}issue {Item compartilhado}summary {Resumo compartilhado}list {Lista compartilhada}timeline {Cronograma compartilhado}form {Formulário compartilhado}media {Mídia compartilhada}page {Página compartilhada}project {Projeto compartilhado}pullrequest {Solicitação pull compartilhada}question {Pergunta compartilhada}report {Relatório compartilhado}repository {Repositório compartilhado}request {Solicitação compartilhada}roadmap {Roteiro compartilhado}site {Site compartilhado}space {Espaço compartilhado}other {Link compartilhado}}',
48
48
  'fabric.elements.share.to.integration.button': 'Compartilhar em {integrationName}',
49
49
  'fabric.elements.share.trigger.button.icon.label': 'Ícone de compartilhamento',
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Convidar',
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': '{integrationName} içinde paylaş',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Sayfayı paylaşın',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Konuyu paylaşın',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {Blog gönderisi paylaşıldı}board {Pano paylaşıldı}calendar {Takvim paylaşıldı}draft {Taslak paylaşıldı}filter {Filtre paylaşıldı}issue {Konu paylaşıldı}summary {Özet paylaşıldı}list {Liste paylaşıldı}timeline {Zaman Çizelgesi paylaşıldı}form {Form paylaşıldı}media {Medya paylaşıldı}page {Sayfa paylaşıldı}project {Proje paylaşıldı}pullrequest {Çekme İsteği paylaşıldı}question {Soru paylaşıldı}report {Rapor paylaşıldı}repository {Depo paylaşıldı}request {Talep paylaşıldı}roadmap {Yol haritası paylaşıldı}site {Site paylaşıldı}space {Alan paylaşıldı}other {Bağlantı paylaşıldı}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {Blog gönderisi paylaşıldı}board {Pano paylaşıldı}calendar {Takvim paylaşıldı}draft {Taslak paylaşıldı}filter {Filtre paylaşıldı}issue {Konu paylaşıldı}summary {Özet paylaşıldı}list {Liste paylaşıldı}timeline {Zaman Çizelgesi paylaşıldı}form {Form paylaşıldı}media {Medya paylaşıldı}page {Sayfa paylaşıldı}project {Proje paylaşıldı}pullrequest {Çekme İsteği paylaşıldı}question {Soru paylaşıldı}report {Rapor paylaşıldı}repository {Depo paylaşıldı}request {Talep paylaşıldı}roadmap {Yol haritası paylaşıldı}site {Site paylaşıldı}space {Alan paylaşıldı}other {Bağlantı Paylaşıldı}}',
48
48
  'fabric.elements.share.to.integration.button': '{integrationName} üzerinden paylaş',
49
49
  'fabric.elements.share.trigger.button.icon.label': 'Paylaşma simgesi',
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Davet Et',
@@ -44,7 +44,7 @@ var _default = {
44
44
  'fabric.elements.share.in.integration.button': 'Поділитися в {integrationName}',
45
45
  'fabric.elements.share.main.tab.text.confluence': 'Поділитися сторінкою',
46
46
  'fabric.elements.share.main.tab.text.jira': 'Поділитися завданням',
47
- 'fabric.elements.share.success.message': '{object, select,blogpost {Надано доступ до допису в блозі}board {Надано доступ до дошки}calendar {Надано доступ до календаря}draft {Надано доступ до чернетки}filter {Надано доступ до фільтра}issue {Надано доступ до завдання}summary {Надано доступ до підсумку}list {Надано доступ до списку}timeline {Надано доступ до шкали}form {Надано доступ до форми}media {Надано доступ до медіафайлу}page {Надано доступ до сторінки}project {Надано доступ до проєкту}pullrequest {Надано доступ до запиту на внесення змін}question {Надано доступ до запитання}report {Надано доступ до звіту}repository {Надано доступ до репозиторію}request {Надано доступ до запиту}roadmap {Надано доступ до плану розробки}site {Надано доступ до сайту}space {Надано доступ до розділу}other {Надано доступ до посилання}}',
47
+ 'fabric.elements.share.success.message': '{object, select,blogpost {Надано доступ до допису у блозі}board {Надано доступ до дошки}calendar {Надано доступ до календаря}draft {Надано доступ до чернетки}filter {Надано доступ до фільтра}issue {Надано доступ до завдання}summary {Надано доступ до підсумку}list {Надано доступ до списку}timeline {Надано доступ до шкали}form {Надано доступ до форми}media {Надано доступ до медіафайлу}page {Надано доступ до сторінки}project {Надано доступ до проєкту}pullrequest {Надано доступ до запиту на внесення змін}question {Надано доступ до запитання}report {Надано доступ до звіту}repository {Надано доступ до репозиторію}request {Надано доступ до запиту}roadmap {Надано доступ до плану розробки}site {Надано доступ до сайту}space {Надано доступ до розділу}other {Надано доступ до посилання}}',
48
48
  'fabric.elements.share.to.integration.button': 'Надіслати в {integrationName}',
49
49
  'fabric.elements.share.trigger.button.icon.label': 'Надіслати піктограму',
50
50
  'fabric.elements.share.trigger.button.invite.text': 'Запросити',
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "4.2.2"
3
+ "version": "4.3.0"
4
4
  }
@@ -26,21 +26,30 @@ export class ShareServiceClient {
26
26
  * To send a POST request to the share endpoint in Share service
27
27
  */
28
28
  share(content, recipients, metadata, comment) {
29
- const options = {
30
- path: DEFAULT_SHARE_PATH,
31
- requestInit: {
32
- method: 'post',
33
- headers: {
34
- 'Content-Type': 'application/json; charset=UTF-8'
35
- },
36
- body: JSON.stringify({
37
- content,
38
- recipients,
39
- metadata,
40
- comment
41
- })
29
+ return fetch(`${this.serviceConfig.url}/${DEFAULT_SHARE_PATH}`, {
30
+ method: 'post',
31
+ headers: {
32
+ 'Content-Type': 'application/json; charset=UTF-8'
33
+ },
34
+ credentials: 'include',
35
+ body: JSON.stringify({
36
+ content,
37
+ recipients,
38
+ metadata,
39
+ comment
40
+ })
41
+ }).then(response => {
42
+ if (response.status === 204) {
43
+ return Promise.resolve();
44
+ } else if (response.ok) {
45
+ return response.json();
46
+ } else {
47
+ return Promise.reject({
48
+ code: response.status,
49
+ reason: response.statusText,
50
+ body: response.json()
51
+ });
42
52
  }
43
- };
44
- return utils.requestService(this.serviceConfig, options);
53
+ });
45
54
  }
46
55
  }
@@ -4,6 +4,7 @@ import React from 'react';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { FormattedMessage } from 'react-intl-next';
6
6
  import { AnalyticsContext } from '@atlaskit/analytics-next';
7
+ // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
7
8
  import { gridSize } from '@atlaskit/theme/constants';
8
9
  import { messages } from '../../i18n';
9
10
  import { INTEGRATION_MODAL_SOURCE } from '../analytics/analytics';
@@ -61,7 +62,7 @@ function LazyShareForm(props) {
61
62
  }
62
63
  }, bottomMessage) : null, customFooter && selectedIntegration === null && jsx("div", {
63
64
  css: {
64
- margin: `0 ${-gridSize() * 3}px ${-gridSize() * 2}px ${-gridSize() * 3}px`
65
+ margin: `0 calc(-1 * ${"var(--ds-space-300, 24px)"}) calc(-1 * ${"var(--ds-space-200, 16px)"}) calc(-1 * ${"var(--ds-space-300, 24px)"})`
65
66
  }
66
67
  }, customFooter));
67
68
  React.useEffect(() => {