@atlaskit/share 4.23.11 → 4.24.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/share
2
2
 
3
+ ## 4.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#103086](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/103086)
8
+ [`3d37cc0ea36c7`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3d37cc0ea36c7) -
9
+ add ability to disable the submit button on the share tab and allow additional tabs to be rendered
10
+ when the slack integration is not provided
11
+
3
12
  ## 4.23.11
4
13
 
5
14
  ### Patch Changes
@@ -79,7 +79,8 @@ function LazyShareForm(props) {
79
79
  showTitle = props.showTitle,
80
80
  orgId = props.orgId,
81
81
  isBrowseUsersDisabled = props.isBrowseUsersDisabled,
82
- userPickerOptions = props.userPickerOptions;
82
+ userPickerOptions = props.userPickerOptions,
83
+ isSubmitShareDisabled = props.isSubmitShareDisabled;
83
84
  var footer = (0, _react2.jsx)("div", null, bottomMessage ? (0, _react2.jsx)("div", {
84
85
  css: footerBottomMessageStyles
85
86
  }, bottomMessage) : null, customFooter && selectedIntegration === null && (0, _react2.jsx)("div", {
@@ -138,7 +139,8 @@ function LazyShareForm(props) {
138
139
  onTabChange: onTabChange,
139
140
  onMenuItemChange: onMenuItemChange,
140
141
  isBrowseUsersDisabled: isBrowseUsersDisabled,
141
- userPickerOptions: userPickerOptions
142
+ userPickerOptions: userPickerOptions,
143
+ isSubmitShareDisabled: isSubmitShareDisabled
142
144
  }) : (0, _react2.jsx)(_primitives.Text, {
143
145
  as: "p"
144
146
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.formNoPermissions))));
@@ -358,7 +358,8 @@ var ShareDialogContainerInternal = exports.ShareDialogContainerInternal = /*#__P
358
358
  copyTooltipText = _this$props2.copyTooltipText,
359
359
  onDialogClose = _this$props2.onDialogClose,
360
360
  isBrowseUsersDisabled = _this$props2.isBrowseUsersDisabled,
361
- userPickerOptions = _this$props2.userPickerOptions;
361
+ userPickerOptions = _this$props2.userPickerOptions,
362
+ isSubmitShareDisabled = _this$props2.isSubmitShareDisabled;
362
363
  var _this$state = this.state,
363
364
  config = _this$state.config,
364
365
  isFetchingConfig = _this$state.isFetchingConfig;
@@ -410,7 +411,8 @@ var ShareDialogContainerInternal = exports.ShareDialogContainerInternal = /*#__P
410
411
  isBrowseUsersDisabled: isBrowseUsersDisabled,
411
412
  userPickerOptions: userPickerOptions,
412
413
  additionalTabs: additionalTabs,
413
- builtInTabContentWidth: builtInTabContentWidth
414
+ builtInTabContentWidth: builtInTabContentWidth,
415
+ isSubmitShareDisabled: isSubmitShareDisabled
414
416
  })));
415
417
  }
416
418
  }]);
@@ -557,7 +557,8 @@ var ShareDialogWithTriggerInternal = exports.ShareDialogWithTriggerInternal = /*
557
557
  additionalTabs = _this$props7.additionalTabs,
558
558
  builtInTabContentWidth = _this$props7.builtInTabContentWidth,
559
559
  isBrowseUsersDisabled = _this$props7.isBrowseUsersDisabled,
560
- userPickerOptions = _this$props7.userPickerOptions;
560
+ userPickerOptions = _this$props7.userPickerOptions,
561
+ isSubmitShareDisabled = _this$props7.isSubmitShareDisabled;
561
562
  var style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
562
563
  outline: 'none'
563
564
  } : undefined;
@@ -609,7 +610,8 @@ var ShareDialogWithTriggerInternal = exports.ShareDialogWithTriggerInternal = /*
609
610
  shareIntegrations: shareIntegrations,
610
611
  additionalTabs: additionalTabs,
611
612
  builtInTabContentWidth: builtInTabContentWidth,
612
- isMenuItemSelected: isMenuItemSelected
613
+ isMenuItemSelected: isMenuItemSelected,
614
+ isSubmitShareDisabled: isSubmitShareDisabled
613
615
  // actions
614
616
  ,
615
617
  onLinkCopy: _this2.handleCopyLink,
@@ -204,7 +204,8 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
204
204
  submitButtonLabel = _this$props2.submitButtonLabel,
205
205
  isDisabled = _this$props2.isDisabled,
206
206
  isPublicLink = _this$props2.isPublicLink,
207
- integrationMode = _this$props2.integrationMode;
207
+ integrationMode = _this$props2.integrationMode,
208
+ isSubmitShareDisabled = _this$props2.isSubmitShareDisabled;
208
209
  var isRetryableError = !!(shareError !== null && shareError !== void 0 && shareError.retryable);
209
210
  var isNonRetryableError = shareError && !shareError.retryable;
210
211
  var shouldShowWarning = isRetryableError && !isSharing;
@@ -214,7 +215,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
214
215
  var formSendLabel = _i18n.messages.formShare;
215
216
  var sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
216
217
  var buttonLabel = isRetryableError ? _i18n.messages.formRetry : sendLabel;
217
- var buttonDisabled = isDisabled || isNonRetryableError;
218
+ var buttonDisabled = isDisabled || isNonRetryableError || isSubmitShareDisabled && (0, _platformFeatureFlags.fg)('plans_outgoing_mail_fix');
218
219
  var ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : _react.default.Fragment;
219
220
  return (0, _react2.jsx)("div", {
220
221
  css: submitButtonWrapperStyles
@@ -286,6 +287,111 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
286
287
  builtInTabContentWidth = _this$props7.builtInTabContentWidth,
287
288
  handleCloseDialog = _this$props7.handleCloseDialog;
288
289
  var selectedMenuItem = this.state.selectedMenuItem;
290
+ if ((0, _platformFeatureFlags.fg)('plans_outgoing_mail_fix')) {
291
+ var hasShareIntegrations = shareIntegrations && shareIntegrations.length;
292
+ var hasAdditionalTabs = additionalTabs && additionalTabs.length;
293
+ if (integrationMode === 'off' || !hasShareIntegrations && !hasAdditionalTabs) {
294
+ return this.renderShareForm();
295
+ }
296
+ if (selectedMenuItem === 'default') {
297
+ return this.renderShareForm();
298
+ }
299
+ if (hasShareIntegrations) {
300
+ var _firstIntegration = shareIntegrations[0];
301
+ if (selectedMenuItem === 'Slack') {
302
+ return (0, _react2.jsx)(_IntegrationForm.IntegrationForm, {
303
+ Content: _firstIntegration.Content,
304
+ onIntegrationClose: function onIntegrationClose() {
305
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
306
+ }
307
+ });
308
+ }
309
+ if (integrationMode === 'menu') {
310
+ return (0, _react2.jsx)(_primitives.Box, {
311
+ xcss: menuGroupContainerStyles
312
+ }, (0, _react2.jsx)(_menu.MenuGroup, null, (0, _react2.jsx)(_ShareMenuItem.ShareMenuItem, {
313
+ iconName: (0, _react2.jsx)(_firstIntegration.Icon, null),
314
+ labelId: _i18n.messages.slackMenuItemText,
315
+ onClickHandler: function onClickHandler() {
316
+ return _this2.changeMenuItem('Slack');
317
+ }
318
+ }), (0, _react2.jsx)(_ShareMenuItem.ShareMenuItem, {
319
+ iconName: (0, _react2.jsx)(_email.default, {
320
+ color: "currentColor",
321
+ label: "",
322
+ LEGACY_size: "medium",
323
+ spacing: "spacious"
324
+ }),
325
+ labelId: _i18n.messages.emailMenuItemText,
326
+ onClickHandler: function onClickHandler() {
327
+ return _this2.changeMenuItem('default');
328
+ }
329
+ })));
330
+ }
331
+ }
332
+ if (integrationMode === 'tabs') {
333
+ var DEFAULT_TAB_CONTENT_WIDTH = 304;
334
+ return (0, _react2.jsx)(_tabs.default, {
335
+ id: "ShareForm-Tabs-Integrations",
336
+ onChange: this.changeTab,
337
+ selected: this.state.selectedTab
338
+ }, (0, _react2.jsx)(_tabs.TabList, null, (0, _react2.jsx)(_tabs.Tab, {
339
+ key: "share-tab-default"
340
+ }, this.renderMainTabTitle()), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(function (integration) {
341
+ return (0, _react2.jsx)(_tabs.Tab, {
342
+ key: "share-tab-".concat(integration.type)
343
+ }, (0, _react2.jsx)("div", {
344
+ css: integrationWrapperStyles
345
+ }, (0, _react2.jsx)("span", {
346
+ css: integrationIconWrapperStyles
347
+ }, (0, _react2.jsx)(integration.Icon, null)), integrationTabText(integration.type)));
348
+ }), (0, _platformFeatureFlags.fg)('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(function (tab) {
349
+ return (0, _react2.jsx)(_tabs.Tab, {
350
+ key: "share-tab-".concat(tab.label)
351
+ }, tab.label);
352
+ }))), (0, _react2.jsx)(_tabs.TabPanel, {
353
+ key: "share-tabPanel-default"
354
+ }, (0, _react2.jsx)("div", {
355
+ css: formWrapperStyles
356
+ }, (0, _react2.jsx)("div", {
357
+ style: {
358
+ width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
359
+ }
360
+ }, this.renderShareForm()))), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(function (integration) {
361
+ return (0, _react2.jsx)(_tabs.TabPanel, {
362
+ key: "share-tabPanel-integration"
363
+ }, (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
364
+ data: {
365
+ source: _analytics.INTEGRATION_MODAL_SOURCE
366
+ }
367
+ }, (0, _react2.jsx)("div", {
368
+ css: formWrapperStyles
369
+ }, (0, _react2.jsx)("div", {
370
+ style: {
371
+ width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
372
+ }
373
+ }, (0, _react2.jsx)(_IntegrationForm.IntegrationForm, {
374
+ Content: integration.Content,
375
+ onIntegrationClose: function onIntegrationClose() {
376
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
377
+ },
378
+ changeTab: _this2.changeTab
379
+ })))));
380
+ }), (0, _platformFeatureFlags.fg)('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(function (tab) {
381
+ return (0, _react2.jsx)(_tabs.TabPanel, {
382
+ key: "share-tabPanel-".concat(tab.label)
383
+ }, (0, _react2.jsx)("div", {
384
+ css: formWrapperStyles
385
+ }, (0, _react2.jsx)(_IntegrationForm.IntegrationForm, {
386
+ Content: tab.Content,
387
+ onIntegrationClose: function onIntegrationClose() {
388
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
389
+ },
390
+ changeTab: _this2.changeTab
391
+ })));
392
+ })));
393
+ }
394
+ }
289
395
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
290
396
  return this.renderShareForm();
291
397
  }
@@ -324,7 +430,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
324
430
  })));
325
431
  }
326
432
  if (integrationMode === 'tabs') {
327
- var DEFAULT_TAB_CONTENT_WIDTH = 304;
433
+ var _DEFAULT_TAB_CONTENT_WIDTH = 304;
328
434
  return (0, _react2.jsx)(_tabs.default, {
329
435
  id: "ShareForm-Tabs-Integrations",
330
436
  onChange: this.changeTab,
@@ -347,7 +453,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
347
453
  css: formWrapperStyles
348
454
  }, (0, _react2.jsx)("div", {
349
455
  style: {
350
- width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
456
+ width: "".concat(builtInTabContentWidth || _DEFAULT_TAB_CONTENT_WIDTH, "px")
351
457
  }
352
458
  }, this.renderShareForm()))), (0, _react2.jsx)(_tabs.TabPanel, {
353
459
  key: "share-tabPanel-integration"
@@ -359,7 +465,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
359
465
  css: formWrapperStyles
360
466
  }, (0, _react2.jsx)("div", {
361
467
  style: {
362
- width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
468
+ width: "".concat(builtInTabContentWidth || _DEFAULT_TAB_CONTENT_WIDTH, "px")
363
469
  }
364
470
  }, (0, _react2.jsx)(_IntegrationForm.IntegrationForm, {
365
471
  Content: firstIntegration.Content,
@@ -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.23.11"
16
+ packageVersion: "4.24.0"
17
17
  }, attributes);
18
18
  };
19
19
  var createEvent = function createEvent(eventType, source, action, actionSubject, actionSubjectId) {
@@ -74,7 +74,8 @@ function LazyShareForm(props) {
74
74
  showTitle,
75
75
  orgId,
76
76
  isBrowseUsersDisabled,
77
- userPickerOptions
77
+ userPickerOptions,
78
+ isSubmitShareDisabled
78
79
  } = props;
79
80
  const footer = jsx("div", null, bottomMessage ? jsx("div", {
80
81
  css: footerBottomMessageStyles
@@ -134,7 +135,8 @@ function LazyShareForm(props) {
134
135
  onTabChange: onTabChange,
135
136
  onMenuItemChange: onMenuItemChange,
136
137
  isBrowseUsersDisabled: isBrowseUsersDisabled,
137
- userPickerOptions: userPickerOptions
138
+ userPickerOptions: userPickerOptions,
139
+ isSubmitShareDisabled: isSubmitShareDisabled
138
140
  }) : jsx(Text, {
139
141
  as: "p"
140
142
  }, jsx(FormattedMessage, messages.formNoPermissions))));
@@ -306,7 +306,8 @@ export class ShareDialogContainerInternal extends React.Component {
306
306
  copyTooltipText,
307
307
  onDialogClose,
308
308
  isBrowseUsersDisabled,
309
- userPickerOptions
309
+ userPickerOptions,
310
+ isSubmitShareDisabled
310
311
  } = this.props;
311
312
  const {
312
313
  config,
@@ -360,7 +361,8 @@ export class ShareDialogContainerInternal extends React.Component {
360
361
  isBrowseUsersDisabled: isBrowseUsersDisabled,
361
362
  userPickerOptions: userPickerOptions,
362
363
  additionalTabs: additionalTabs,
363
- builtInTabContentWidth: builtInTabContentWidth
364
+ builtInTabContentWidth: builtInTabContentWidth,
365
+ isSubmitShareDisabled: isSubmitShareDisabled
364
366
  })));
365
367
  }
366
368
  }
@@ -505,7 +505,8 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
505
505
  additionalTabs,
506
506
  builtInTabContentWidth,
507
507
  isBrowseUsersDisabled,
508
- userPickerOptions
508
+ userPickerOptions,
509
+ isSubmitShareDisabled
509
510
  } = this.props;
510
511
  const style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
511
512
  outline: 'none'
@@ -557,7 +558,8 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
557
558
  shareIntegrations: shareIntegrations,
558
559
  additionalTabs: additionalTabs,
559
560
  builtInTabContentWidth: builtInTabContentWidth,
560
- isMenuItemSelected: isMenuItemSelected
561
+ isMenuItemSelected: isMenuItemSelected,
562
+ isSubmitShareDisabled: isSubmitShareDisabled
561
563
  // actions
562
564
  ,
563
565
  onLinkCopy: this.handleCopyLink,
@@ -185,7 +185,8 @@ class InternalForm extends React.PureComponent {
185
185
  submitButtonLabel,
186
186
  isDisabled,
187
187
  isPublicLink,
188
- integrationMode
188
+ integrationMode,
189
+ isSubmitShareDisabled
189
190
  } = this.props;
190
191
  const isRetryableError = !!(shareError !== null && shareError !== void 0 && shareError.retryable);
191
192
  const isNonRetryableError = shareError && !shareError.retryable;
@@ -196,7 +197,7 @@ class InternalForm extends React.PureComponent {
196
197
  const formSendLabel = messages.formShare;
197
198
  const sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
198
199
  const buttonLabel = isRetryableError ? messages.formRetry : sendLabel;
199
- const buttonDisabled = isDisabled || isNonRetryableError;
200
+ const buttonDisabled = isDisabled || isNonRetryableError || isSubmitShareDisabled && fg('plans_outgoing_mail_fix');
200
201
  const ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : React.Fragment;
201
202
  return jsx("div", {
202
203
  css: submitButtonWrapperStyles
@@ -269,6 +270,93 @@ class InternalForm extends React.PureComponent {
269
270
  const {
270
271
  selectedMenuItem
271
272
  } = this.state;
273
+ if (fg('plans_outgoing_mail_fix')) {
274
+ const hasShareIntegrations = shareIntegrations && shareIntegrations.length;
275
+ const hasAdditionalTabs = additionalTabs && additionalTabs.length;
276
+ if (integrationMode === 'off' || !hasShareIntegrations && !hasAdditionalTabs) {
277
+ return this.renderShareForm();
278
+ }
279
+ if (selectedMenuItem === 'default') {
280
+ return this.renderShareForm();
281
+ }
282
+ if (hasShareIntegrations) {
283
+ const firstIntegration = shareIntegrations[0];
284
+ if (selectedMenuItem === 'Slack') {
285
+ return jsx(IntegrationForm, {
286
+ Content: firstIntegration.Content,
287
+ onIntegrationClose: () => handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog()
288
+ });
289
+ }
290
+ if (integrationMode === 'menu') {
291
+ return jsx(Box, {
292
+ xcss: menuGroupContainerStyles
293
+ }, jsx(MenuGroup, null, jsx(ShareMenuItem, {
294
+ iconName: jsx(firstIntegration.Icon, null),
295
+ labelId: messages.slackMenuItemText,
296
+ onClickHandler: () => this.changeMenuItem('Slack')
297
+ }), jsx(ShareMenuItem, {
298
+ iconName: jsx(EmailIcon, {
299
+ color: "currentColor",
300
+ label: "",
301
+ LEGACY_size: "medium",
302
+ spacing: "spacious"
303
+ }),
304
+ labelId: messages.emailMenuItemText,
305
+ onClickHandler: () => this.changeMenuItem('default')
306
+ })));
307
+ }
308
+ }
309
+ if (integrationMode === 'tabs') {
310
+ const DEFAULT_TAB_CONTENT_WIDTH = 304;
311
+ return jsx(Tabs, {
312
+ id: "ShareForm-Tabs-Integrations",
313
+ onChange: this.changeTab,
314
+ selected: this.state.selectedTab
315
+ }, jsx(TabList, null, jsx(Tab, {
316
+ key: `share-tab-default`
317
+ }, this.renderMainTabTitle()), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(integration => jsx(Tab, {
318
+ key: `share-tab-${integration.type}`
319
+ }, jsx("div", {
320
+ css: integrationWrapperStyles
321
+ }, jsx("span", {
322
+ css: integrationIconWrapperStyles
323
+ }, jsx(integration.Icon, null)), integrationTabText(integration.type)))), fg('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(tab => jsx(Tab, {
324
+ key: `share-tab-${tab.label}`
325
+ }, tab.label)))), jsx(TabPanel, {
326
+ key: `share-tabPanel-default`
327
+ }, jsx("div", {
328
+ css: formWrapperStyles
329
+ }, jsx("div", {
330
+ style: {
331
+ width: `${builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH}px`
332
+ }
333
+ }, this.renderShareForm()))), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(integration => jsx(TabPanel, {
334
+ key: `share-tabPanel-integration`
335
+ }, jsx(AnalyticsContext, {
336
+ data: {
337
+ source: INTEGRATION_MODAL_SOURCE
338
+ }
339
+ }, jsx("div", {
340
+ css: formWrapperStyles
341
+ }, jsx("div", {
342
+ style: {
343
+ width: `${builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH}px`
344
+ }
345
+ }, jsx(IntegrationForm, {
346
+ Content: integration.Content,
347
+ onIntegrationClose: () => handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog(),
348
+ changeTab: this.changeTab
349
+ })))))), fg('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(tab => jsx(TabPanel, {
350
+ key: `share-tabPanel-${tab.label}`
351
+ }, jsx("div", {
352
+ css: formWrapperStyles
353
+ }, jsx(IntegrationForm, {
354
+ Content: tab.Content,
355
+ onIntegrationClose: () => handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog(),
356
+ changeTab: this.changeTab
357
+ }))))));
358
+ }
359
+ }
272
360
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
273
361
  return this.renderShareForm();
274
362
  }
@@ -1,7 +1,7 @@
1
1
  import { isEmail, isExternalUser, isGroup, isTeam, isUser } from '@atlaskit/smart-user-picker';
2
2
  const buildAttributes = (attributes = {}) => ({
3
3
  packageName: "@atlaskit/share",
4
- packageVersion: "4.23.11",
4
+ packageVersion: "4.24.0",
5
5
  ...attributes
6
6
  });
7
7
  const createEvent = (eventType, source, action, actionSubject, actionSubjectId, attributes = {}) => ({
@@ -70,7 +70,8 @@ function LazyShareForm(props) {
70
70
  showTitle = props.showTitle,
71
71
  orgId = props.orgId,
72
72
  isBrowseUsersDisabled = props.isBrowseUsersDisabled,
73
- userPickerOptions = props.userPickerOptions;
73
+ userPickerOptions = props.userPickerOptions,
74
+ isSubmitShareDisabled = props.isSubmitShareDisabled;
74
75
  var footer = jsx("div", null, bottomMessage ? jsx("div", {
75
76
  css: footerBottomMessageStyles
76
77
  }, bottomMessage) : null, customFooter && selectedIntegration === null && jsx("div", {
@@ -129,7 +130,8 @@ function LazyShareForm(props) {
129
130
  onTabChange: onTabChange,
130
131
  onMenuItemChange: onMenuItemChange,
131
132
  isBrowseUsersDisabled: isBrowseUsersDisabled,
132
- userPickerOptions: userPickerOptions
133
+ userPickerOptions: userPickerOptions,
134
+ isSubmitShareDisabled: isSubmitShareDisabled
133
135
  }) : jsx(Text, {
134
136
  as: "p"
135
137
  }, jsx(FormattedMessage, messages.formNoPermissions))));
@@ -351,7 +351,8 @@ export var ShareDialogContainerInternal = /*#__PURE__*/function (_React$Componen
351
351
  copyTooltipText = _this$props2.copyTooltipText,
352
352
  onDialogClose = _this$props2.onDialogClose,
353
353
  isBrowseUsersDisabled = _this$props2.isBrowseUsersDisabled,
354
- userPickerOptions = _this$props2.userPickerOptions;
354
+ userPickerOptions = _this$props2.userPickerOptions,
355
+ isSubmitShareDisabled = _this$props2.isSubmitShareDisabled;
355
356
  var _this$state = this.state,
356
357
  config = _this$state.config,
357
358
  isFetchingConfig = _this$state.isFetchingConfig;
@@ -403,7 +404,8 @@ export var ShareDialogContainerInternal = /*#__PURE__*/function (_React$Componen
403
404
  isBrowseUsersDisabled: isBrowseUsersDisabled,
404
405
  userPickerOptions: userPickerOptions,
405
406
  additionalTabs: additionalTabs,
406
- builtInTabContentWidth: builtInTabContentWidth
407
+ builtInTabContentWidth: builtInTabContentWidth,
408
+ isSubmitShareDisabled: isSubmitShareDisabled
407
409
  })));
408
410
  }
409
411
  }]);
@@ -556,7 +556,8 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
556
556
  additionalTabs = _this$props7.additionalTabs,
557
557
  builtInTabContentWidth = _this$props7.builtInTabContentWidth,
558
558
  isBrowseUsersDisabled = _this$props7.isBrowseUsersDisabled,
559
- userPickerOptions = _this$props7.userPickerOptions;
559
+ userPickerOptions = _this$props7.userPickerOptions,
560
+ isSubmitShareDisabled = _this$props7.isSubmitShareDisabled;
560
561
  var style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
561
562
  outline: 'none'
562
563
  } : undefined;
@@ -608,7 +609,8 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
608
609
  shareIntegrations: shareIntegrations,
609
610
  additionalTabs: additionalTabs,
610
611
  builtInTabContentWidth: builtInTabContentWidth,
611
- isMenuItemSelected: isMenuItemSelected
612
+ isMenuItemSelected: isMenuItemSelected,
613
+ isSubmitShareDisabled: isSubmitShareDisabled
612
614
  // actions
613
615
  ,
614
616
  onLinkCopy: _this2.handleCopyLink,
@@ -197,7 +197,8 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
197
197
  submitButtonLabel = _this$props2.submitButtonLabel,
198
198
  isDisabled = _this$props2.isDisabled,
199
199
  isPublicLink = _this$props2.isPublicLink,
200
- integrationMode = _this$props2.integrationMode;
200
+ integrationMode = _this$props2.integrationMode,
201
+ isSubmitShareDisabled = _this$props2.isSubmitShareDisabled;
201
202
  var isRetryableError = !!(shareError !== null && shareError !== void 0 && shareError.retryable);
202
203
  var isNonRetryableError = shareError && !shareError.retryable;
203
204
  var shouldShowWarning = isRetryableError && !isSharing;
@@ -207,7 +208,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
207
208
  var formSendLabel = messages.formShare;
208
209
  var sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
209
210
  var buttonLabel = isRetryableError ? messages.formRetry : sendLabel;
210
- var buttonDisabled = isDisabled || isNonRetryableError;
211
+ var buttonDisabled = isDisabled || isNonRetryableError || isSubmitShareDisabled && fg('plans_outgoing_mail_fix');
211
212
  var ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : React.Fragment;
212
213
  return jsx("div", {
213
214
  css: submitButtonWrapperStyles
@@ -279,6 +280,111 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
279
280
  builtInTabContentWidth = _this$props7.builtInTabContentWidth,
280
281
  handleCloseDialog = _this$props7.handleCloseDialog;
281
282
  var selectedMenuItem = this.state.selectedMenuItem;
283
+ if (fg('plans_outgoing_mail_fix')) {
284
+ var hasShareIntegrations = shareIntegrations && shareIntegrations.length;
285
+ var hasAdditionalTabs = additionalTabs && additionalTabs.length;
286
+ if (integrationMode === 'off' || !hasShareIntegrations && !hasAdditionalTabs) {
287
+ return this.renderShareForm();
288
+ }
289
+ if (selectedMenuItem === 'default') {
290
+ return this.renderShareForm();
291
+ }
292
+ if (hasShareIntegrations) {
293
+ var _firstIntegration = shareIntegrations[0];
294
+ if (selectedMenuItem === 'Slack') {
295
+ return jsx(IntegrationForm, {
296
+ Content: _firstIntegration.Content,
297
+ onIntegrationClose: function onIntegrationClose() {
298
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
299
+ }
300
+ });
301
+ }
302
+ if (integrationMode === 'menu') {
303
+ return jsx(Box, {
304
+ xcss: menuGroupContainerStyles
305
+ }, jsx(MenuGroup, null, jsx(ShareMenuItem, {
306
+ iconName: jsx(_firstIntegration.Icon, null),
307
+ labelId: messages.slackMenuItemText,
308
+ onClickHandler: function onClickHandler() {
309
+ return _this2.changeMenuItem('Slack');
310
+ }
311
+ }), jsx(ShareMenuItem, {
312
+ iconName: jsx(EmailIcon, {
313
+ color: "currentColor",
314
+ label: "",
315
+ LEGACY_size: "medium",
316
+ spacing: "spacious"
317
+ }),
318
+ labelId: messages.emailMenuItemText,
319
+ onClickHandler: function onClickHandler() {
320
+ return _this2.changeMenuItem('default');
321
+ }
322
+ })));
323
+ }
324
+ }
325
+ if (integrationMode === 'tabs') {
326
+ var DEFAULT_TAB_CONTENT_WIDTH = 304;
327
+ return jsx(Tabs, {
328
+ id: "ShareForm-Tabs-Integrations",
329
+ onChange: this.changeTab,
330
+ selected: this.state.selectedTab
331
+ }, jsx(TabList, null, jsx(Tab, {
332
+ key: "share-tab-default"
333
+ }, this.renderMainTabTitle()), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(function (integration) {
334
+ return jsx(Tab, {
335
+ key: "share-tab-".concat(integration.type)
336
+ }, jsx("div", {
337
+ css: integrationWrapperStyles
338
+ }, jsx("span", {
339
+ css: integrationIconWrapperStyles
340
+ }, jsx(integration.Icon, null)), integrationTabText(integration.type)));
341
+ }), fg('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(function (tab) {
342
+ return jsx(Tab, {
343
+ key: "share-tab-".concat(tab.label)
344
+ }, tab.label);
345
+ }))), jsx(TabPanel, {
346
+ key: "share-tabPanel-default"
347
+ }, jsx("div", {
348
+ css: formWrapperStyles
349
+ }, jsx("div", {
350
+ style: {
351
+ width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
352
+ }
353
+ }, this.renderShareForm()))), shareIntegrations === null || shareIntegrations === void 0 ? void 0 : shareIntegrations.map(function (integration) {
354
+ return jsx(TabPanel, {
355
+ key: "share-tabPanel-integration"
356
+ }, jsx(AnalyticsContext, {
357
+ data: {
358
+ source: INTEGRATION_MODAL_SOURCE
359
+ }
360
+ }, jsx("div", {
361
+ css: formWrapperStyles
362
+ }, jsx("div", {
363
+ style: {
364
+ width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
365
+ }
366
+ }, jsx(IntegrationForm, {
367
+ Content: integration.Content,
368
+ onIntegrationClose: function onIntegrationClose() {
369
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
370
+ },
371
+ changeTab: _this2.changeTab
372
+ })))));
373
+ }), fg('smart_links_for_plans_platform') && (additionalTabs === null || additionalTabs === void 0 ? void 0 : additionalTabs.map(function (tab) {
374
+ return jsx(TabPanel, {
375
+ key: "share-tabPanel-".concat(tab.label)
376
+ }, jsx("div", {
377
+ css: formWrapperStyles
378
+ }, jsx(IntegrationForm, {
379
+ Content: tab.Content,
380
+ onIntegrationClose: function onIntegrationClose() {
381
+ return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
382
+ },
383
+ changeTab: _this2.changeTab
384
+ })));
385
+ })));
386
+ }
387
+ }
282
388
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
283
389
  return this.renderShareForm();
284
390
  }
@@ -317,7 +423,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
317
423
  })));
318
424
  }
319
425
  if (integrationMode === 'tabs') {
320
- var DEFAULT_TAB_CONTENT_WIDTH = 304;
426
+ var _DEFAULT_TAB_CONTENT_WIDTH = 304;
321
427
  return jsx(Tabs, {
322
428
  id: "ShareForm-Tabs-Integrations",
323
429
  onChange: this.changeTab,
@@ -340,7 +446,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
340
446
  css: formWrapperStyles
341
447
  }, jsx("div", {
342
448
  style: {
343
- width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
449
+ width: "".concat(builtInTabContentWidth || _DEFAULT_TAB_CONTENT_WIDTH, "px")
344
450
  }
345
451
  }, this.renderShareForm()))), jsx(TabPanel, {
346
452
  key: "share-tabPanel-integration"
@@ -352,7 +458,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
352
458
  css: formWrapperStyles
353
459
  }, jsx("div", {
354
460
  style: {
355
- width: "".concat(builtInTabContentWidth || DEFAULT_TAB_CONTENT_WIDTH, "px")
461
+ width: "".concat(builtInTabContentWidth || _DEFAULT_TAB_CONTENT_WIDTH, "px")
356
462
  }
357
463
  }, jsx(IntegrationForm, {
358
464
  Content: firstIntegration.Content,
@@ -6,7 +6,7 @@ var buildAttributes = function buildAttributes() {
6
6
  var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
7
  return _objectSpread({
8
8
  packageName: "@atlaskit/share",
9
- packageVersion: "4.23.11"
9
+ packageVersion: "4.24.0"
10
10
  }, attributes);
11
11
  };
12
12
  var createEvent = function createEvent(eventType, source, action, actionSubject, actionSubjectId) {
@@ -2,7 +2,7 @@ import { jsx } from '@emotion/react';
2
2
  import type { LoadOptions } from '@atlaskit/smart-user-picker';
3
3
  import type { MenuType, ShareData, ShareDialogWithTriggerProps, ShareDialogWithTriggerStates } from '../../types';
4
4
  import { type IntegrationFormProps } from '../IntegrationForm';
5
- export type LazyShareFormProps = Pick<ShareDialogWithTriggerProps, 'copyLink' | 'config' | 'isFetchingConfig' | 'loadUserOptions' | 'shareFormTitle' | 'shareFormHelperMessage' | 'bottomMessage' | 'submitButtonLabel' | 'product' | 'productAttributes' | 'customFooter' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'cloudId' | 'shareFieldsFooter' | 'onUserSelectionChange' | 'isPublicLink' | 'copyTooltipText' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'integrationMode' | 'onDialogClose' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isMenuItemSelected'> & Pick<ShareDialogWithTriggerStates, 'showIntegrationForm' | 'selectedIntegration' | 'isSharing' | 'shareError' | 'defaultValue'> & Pick<IntegrationFormProps, 'Content'> & {
5
+ export type LazyShareFormProps = Pick<ShareDialogWithTriggerProps, 'copyLink' | 'config' | 'isFetchingConfig' | 'loadUserOptions' | 'shareFormTitle' | 'shareFormHelperMessage' | 'bottomMessage' | 'submitButtonLabel' | 'product' | 'productAttributes' | 'customFooter' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'cloudId' | 'shareFieldsFooter' | 'onUserSelectionChange' | 'isPublicLink' | 'copyTooltipText' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'integrationMode' | 'onDialogClose' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isMenuItemSelected' | 'isSubmitShareDisabled'> & Pick<ShareDialogWithTriggerStates, 'showIntegrationForm' | 'selectedIntegration' | 'isSharing' | 'shareError' | 'defaultValue'> & Pick<IntegrationFormProps, 'Content'> & {
6
6
  onLinkCopy: () => void;
7
7
  onDismiss: (data: ShareData) => void;
8
8
  onSubmit: (data: ShareData) => void;
@@ -156,4 +156,5 @@ export type ShareDialogContainerProps = {
156
156
  copyTooltipText?: string;
157
157
  isBrowseUsersDisabled?: boolean;
158
158
  workspaceAri?: string;
159
+ isSubmitShareDisabled?: boolean;
159
160
  };
@@ -19,7 +19,7 @@ export type DialogPlacement = Placement;
19
19
  * with the demo page and clearly visible options on that page.
20
20
  */
21
21
  export type DialogBoundariesElement = 'viewport' | 'window' | 'scrollParent';
22
- export type ShareDialogWithTriggerProps = Pick<ShareDialogContainerProps, 'onTriggerButtonClick' | 'isAutoOpenDialog' | 'shouldCloseOnEscapePress' | 'dialogPlacement' | 'loadUserOptions' | 'onDialogOpen' | 'onDialogClose' | 'onUserSelectionChange' | 'renderCustomTriggerButton' | 'shareContentType' | 'shareContentSubType' | 'shareContentId' | 'shareFormTitle' | 'shareFormHelperMessage' | 'showFlags' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'triggerButtonAppearance' | 'triggerButtonIcon' | 'triggerButtonStyle' | 'triggerButtonTooltipPosition' | 'triggerButtonTooltipText' | 'cloudId' | 'bottomMessage' | 'product' | 'productAttributes' | 'customFooter' | 'isCopyDisabled' | 'isPublicLink' | 'integrationMode' | 'isMenuItemSelected' | 'shareFieldsFooter' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'shareAri' | 'tabIndex' | 'copyTooltipText' | 'dialogZIndex' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions'> & {
22
+ export type ShareDialogWithTriggerProps = Pick<ShareDialogContainerProps, 'onTriggerButtonClick' | 'isAutoOpenDialog' | 'shouldCloseOnEscapePress' | 'dialogPlacement' | 'loadUserOptions' | 'onDialogOpen' | 'onDialogClose' | 'onUserSelectionChange' | 'renderCustomTriggerButton' | 'shareContentType' | 'shareContentSubType' | 'shareContentId' | 'shareFormTitle' | 'shareFormHelperMessage' | 'showFlags' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'triggerButtonAppearance' | 'triggerButtonIcon' | 'triggerButtonStyle' | 'triggerButtonTooltipPosition' | 'triggerButtonTooltipText' | 'cloudId' | 'bottomMessage' | 'product' | 'productAttributes' | 'customFooter' | 'isCopyDisabled' | 'isPublicLink' | 'integrationMode' | 'isMenuItemSelected' | 'shareFieldsFooter' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'shareAri' | 'tabIndex' | 'copyTooltipText' | 'dialogZIndex' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isSubmitShareDisabled'> & {
23
23
  config?: ConfigResponse;
24
24
  isFetchingConfig?: boolean;
25
25
  children?: RenderCustomTriggerButton;
@@ -31,4 +31,5 @@ export type ShareFormProps = Pick<ShareDialogContainerProps, 'integrationMode' |
31
31
  selectedMenuItem?: number;
32
32
  Content?: React.ReactNode;
33
33
  handleCloseDialog?: () => void;
34
+ isSubmitShareDisabled?: boolean;
34
35
  };
@@ -2,7 +2,7 @@ import { jsx } from '@emotion/react';
2
2
  import type { LoadOptions } from '@atlaskit/smart-user-picker';
3
3
  import type { MenuType, ShareData, ShareDialogWithTriggerProps, ShareDialogWithTriggerStates } from '../../types';
4
4
  import { type IntegrationFormProps } from '../IntegrationForm';
5
- export type LazyShareFormProps = Pick<ShareDialogWithTriggerProps, 'copyLink' | 'config' | 'isFetchingConfig' | 'loadUserOptions' | 'shareFormTitle' | 'shareFormHelperMessage' | 'bottomMessage' | 'submitButtonLabel' | 'product' | 'productAttributes' | 'customFooter' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'cloudId' | 'shareFieldsFooter' | 'onUserSelectionChange' | 'isPublicLink' | 'copyTooltipText' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'integrationMode' | 'onDialogClose' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isMenuItemSelected'> & Pick<ShareDialogWithTriggerStates, 'showIntegrationForm' | 'selectedIntegration' | 'isSharing' | 'shareError' | 'defaultValue'> & Pick<IntegrationFormProps, 'Content'> & {
5
+ export type LazyShareFormProps = Pick<ShareDialogWithTriggerProps, 'copyLink' | 'config' | 'isFetchingConfig' | 'loadUserOptions' | 'shareFormTitle' | 'shareFormHelperMessage' | 'bottomMessage' | 'submitButtonLabel' | 'product' | 'productAttributes' | 'customFooter' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'cloudId' | 'shareFieldsFooter' | 'onUserSelectionChange' | 'isPublicLink' | 'copyTooltipText' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'integrationMode' | 'onDialogClose' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isMenuItemSelected' | 'isSubmitShareDisabled'> & Pick<ShareDialogWithTriggerStates, 'showIntegrationForm' | 'selectedIntegration' | 'isSharing' | 'shareError' | 'defaultValue'> & Pick<IntegrationFormProps, 'Content'> & {
6
6
  onLinkCopy: () => void;
7
7
  onDismiss: (data: ShareData) => void;
8
8
  onSubmit: (data: ShareData) => void;
@@ -156,4 +156,5 @@ export type ShareDialogContainerProps = {
156
156
  copyTooltipText?: string;
157
157
  isBrowseUsersDisabled?: boolean;
158
158
  workspaceAri?: string;
159
+ isSubmitShareDisabled?: boolean;
159
160
  };
@@ -19,7 +19,7 @@ export type DialogPlacement = Placement;
19
19
  * with the demo page and clearly visible options on that page.
20
20
  */
21
21
  export type DialogBoundariesElement = 'viewport' | 'window' | 'scrollParent';
22
- export type ShareDialogWithTriggerProps = Pick<ShareDialogContainerProps, 'onTriggerButtonClick' | 'isAutoOpenDialog' | 'shouldCloseOnEscapePress' | 'dialogPlacement' | 'loadUserOptions' | 'onDialogOpen' | 'onDialogClose' | 'onUserSelectionChange' | 'renderCustomTriggerButton' | 'shareContentType' | 'shareContentSubType' | 'shareContentId' | 'shareFormTitle' | 'shareFormHelperMessage' | 'showFlags' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'triggerButtonAppearance' | 'triggerButtonIcon' | 'triggerButtonStyle' | 'triggerButtonTooltipPosition' | 'triggerButtonTooltipText' | 'cloudId' | 'bottomMessage' | 'product' | 'productAttributes' | 'customFooter' | 'isCopyDisabled' | 'isPublicLink' | 'integrationMode' | 'isMenuItemSelected' | 'shareFieldsFooter' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'shareAri' | 'tabIndex' | 'copyTooltipText' | 'dialogZIndex' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions'> & {
22
+ export type ShareDialogWithTriggerProps = Pick<ShareDialogContainerProps, 'onTriggerButtonClick' | 'isAutoOpenDialog' | 'shouldCloseOnEscapePress' | 'dialogPlacement' | 'loadUserOptions' | 'onDialogOpen' | 'onDialogClose' | 'onUserSelectionChange' | 'renderCustomTriggerButton' | 'shareContentType' | 'shareContentSubType' | 'shareContentId' | 'shareFormTitle' | 'shareFormHelperMessage' | 'showFlags' | 'enableSmartUserPicker' | 'loggedInAccountId' | 'triggerButtonAppearance' | 'triggerButtonIcon' | 'triggerButtonStyle' | 'triggerButtonTooltipPosition' | 'triggerButtonTooltipText' | 'cloudId' | 'bottomMessage' | 'product' | 'productAttributes' | 'customFooter' | 'isCopyDisabled' | 'isPublicLink' | 'integrationMode' | 'isMenuItemSelected' | 'shareFieldsFooter' | 'shareIntegrations' | 'additionalTabs' | 'builtInTabContentWidth' | 'shareAri' | 'tabIndex' | 'copyTooltipText' | 'dialogZIndex' | 'orgId' | 'isBrowseUsersDisabled' | 'userPickerOptions' | 'isSubmitShareDisabled'> & {
23
23
  config?: ConfigResponse;
24
24
  isFetchingConfig?: boolean;
25
25
  children?: RenderCustomTriggerButton;
@@ -31,4 +31,5 @@ export type ShareFormProps = Pick<ShareDialogContainerProps, 'integrationMode' |
31
31
  selectedMenuItem?: number;
32
32
  Content?: React.ReactNode;
33
33
  handleCloseDialog?: () => void;
34
+ isSubmitShareDisabled?: boolean;
34
35
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "4.23.11",
3
+ "version": "4.24.0",
4
4
  "description": "Fabric Share Element",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -43,7 +43,7 @@
43
43
  "@atlaskit/dropdown-menu": "^12.24.0",
44
44
  "@atlaskit/form": "^11.0.0",
45
45
  "@atlaskit/heading": "^4.0.0",
46
- "@atlaskit/icon": "^23.3.0",
46
+ "@atlaskit/icon": "^23.4.0",
47
47
  "@atlaskit/link": "^2.0.0",
48
48
  "@atlaskit/menu": "^2.13.0",
49
49
  "@atlaskit/platform-feature-flags": "^0.3.0",
@@ -56,7 +56,7 @@
56
56
  "@atlaskit/tabs": "^17.0.0",
57
57
  "@atlaskit/textarea": "^5.7.0",
58
58
  "@atlaskit/theme": "^14.0.0",
59
- "@atlaskit/tokens": "^3.0.0",
59
+ "@atlaskit/tokens": "^3.1.0",
60
60
  "@atlaskit/tooltip": "^19.0.0",
61
61
  "@atlaskit/ufo": "^0.3.0",
62
62
  "@atlaskit/user-picker": "^10.29.0",
@@ -123,6 +123,9 @@
123
123
  },
124
124
  "smart_links_for_plans_platform": {
125
125
  "type": "boolean"
126
+ },
127
+ "plans_outgoing_mail_fix": {
128
+ "type": "boolean"
126
129
  }
127
130
  }
128
131
  }