@atlaskit/share 3.0.5 → 3.0.9

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 (39) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/clients/ShareServiceClient.js +2 -2
  3. package/dist/cjs/components/IntegrationButton.js +3 -1
  4. package/dist/cjs/components/LazyShareForm/LazyShareForm.js +1 -1
  5. package/dist/cjs/components/MessagesIntlProvider.js +2 -2
  6. package/dist/cjs/components/ShareButton.js +3 -1
  7. package/dist/cjs/components/ShareDialogContainer.js +2 -2
  8. package/dist/cjs/components/ShareDialogWithTrigger.js +13 -6
  9. package/dist/cjs/components/ShareForm.js +22 -23
  10. package/dist/cjs/components/SplitButton.js +3 -1
  11. package/dist/cjs/components/analytics.js +2 -2
  12. package/dist/cjs/components/styles.js +5 -3
  13. package/dist/cjs/components/utils.js +12 -2
  14. package/dist/cjs/i18n.js +10 -0
  15. package/dist/cjs/version.json +1 -1
  16. package/dist/es2019/components/LazyShareForm/LazyShareForm.js +1 -1
  17. package/dist/es2019/components/ShareDialogWithTrigger.js +11 -5
  18. package/dist/es2019/components/ShareForm.js +11 -10
  19. package/dist/es2019/components/utils.js +8 -1
  20. package/dist/es2019/i18n.js +10 -0
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/esm/clients/ShareServiceClient.js +2 -2
  23. package/dist/esm/components/IntegrationButton.js +2 -1
  24. package/dist/esm/components/LazyShareForm/LazyShareForm.js +1 -1
  25. package/dist/esm/components/MessagesIntlProvider.js +2 -2
  26. package/dist/esm/components/ShareButton.js +2 -1
  27. package/dist/esm/components/ShareDialogContainer.js +2 -2
  28. package/dist/esm/components/ShareDialogWithTrigger.js +14 -7
  29. package/dist/esm/components/ShareForm.js +22 -23
  30. package/dist/esm/components/SplitButton.js +2 -1
  31. package/dist/esm/components/analytics.js +2 -2
  32. package/dist/esm/components/styles.js +4 -3
  33. package/dist/esm/components/utils.js +7 -0
  34. package/dist/esm/i18n.js +10 -0
  35. package/dist/esm/version.json +1 -1
  36. package/dist/types/components/utils.d.ts +2 -0
  37. package/dist/types/i18n.d.ts +10 -0
  38. package/dist/types/types/ShareDialogWithTrigger.d.ts +1 -0
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/share
2
2
 
3
+ ## 3.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`da84c14aa89`](https://bitbucket.org/atlassian/atlassian-frontend/commits/da84c14aa89) - Custom footer display in stein fix. Connected analytics event fire fix
8
+
9
+ ## 3.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - [`9f7c98cf94f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9f7c98cf94f) - Fixes issues with share dialog closing and resetting tabIndex
14
+
15
+ ## 3.0.7
16
+
17
+ ### Patch Changes
18
+
19
+ - [`4e97b934e85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4e97b934e85) - Adds condition to only render customFooter for default share form
20
+
21
+ ## 3.0.6
22
+
23
+ ### Patch Changes
24
+
25
+ - [`3bada8f14f6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3bada8f14f6) - Rendering of share form submit button depends on the integration type. A type of 'tabs' will change the label to 'share'
26
+
3
27
  ## 3.0.5
4
28
 
5
29
  ### Patch Changes
@@ -15,9 +15,9 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
 
16
16
  var _utilServiceSupport = require("@atlaskit/util-service-support");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  var DEFAULT_SHARE_PATH = 'share';
23
23
  exports.DEFAULT_SHARE_PATH = DEFAULT_SHARE_PATH;
@@ -19,6 +19,8 @@ var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom
19
19
 
20
20
  var _colors = require("@atlaskit/theme/colors");
21
21
 
22
+ var _excluded = ["text", "textColor", "IntegrationIcon"];
23
+
22
24
  var _templateObject, _templateObject2;
23
25
 
24
26
  var IntegrationButtonCopyWrapper = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n display: flex;\n justify-content: left;\n"])), function (props) {
@@ -31,7 +33,7 @@ var IntegrationButton = function IntegrationButton(props) {
31
33
  var text = props.text,
32
34
  textColor = props.textColor,
33
35
  IntegrationIcon = props.IntegrationIcon,
34
- restProps = (0, _objectWithoutProperties2.default)(props, ["text", "textColor", "IntegrationIcon"]);
36
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
35
37
  return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, restProps, /*#__PURE__*/_react.default.createElement(IntegrationButtonCopyWrapper, {
36
38
  theme: {
37
39
  textColor: textColor
@@ -58,7 +58,7 @@ function LazyShareForm(props) {
58
58
  defaultValue = props.defaultValue,
59
59
  showTitle = props.showTitle;
60
60
 
61
- var footer = /*#__PURE__*/_react.default.createElement("div", null, bottomMessage ? /*#__PURE__*/_react.default.createElement(_styled.BottomMessageWrapper, null, bottomMessage) : null, customFooter && /*#__PURE__*/_react.default.createElement(_styled.CustomFooterWrapper, null, customFooter));
61
+ var footer = /*#__PURE__*/_react.default.createElement("div", null, bottomMessage ? /*#__PURE__*/_react.default.createElement(_styled.BottomMessageWrapper, null, bottomMessage) : null, customFooter && selectedIntegration === null && /*#__PURE__*/_react.default.createElement(_styled.CustomFooterWrapper, null, customFooter));
62
62
 
63
63
  return /*#__PURE__*/_react.default.createElement(_ShareFormWrapper.ShareFormWrapper, {
64
64
  footer: footer // form title will be determined by `title` and `showTitle` prop passed to `ShareForm`,
@@ -21,9 +21,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
21
 
22
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
23
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
27
 
28
28
  var MessagesIntlProvider = function MessagesIntlProvider(_ref) {
29
29
  var intl = _ref.intl,
@@ -15,9 +15,11 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
17
17
 
18
+ var _excluded = ["text"];
19
+
18
20
  var ShareButton = /*#__PURE__*/_react.default.forwardRef(function ShareButton(_ref, ref) {
19
21
  var text = _ref.text,
20
- props = (0, _objectWithoutProperties2.default)(_ref, ["text"]);
22
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
21
23
  return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, (0, _extends2.default)({
22
24
  ref: ref,
23
25
  "aria-expanded": props.isSelected
@@ -53,9 +53,9 @@ var _ShareDialogWithTrigger = require("./ShareDialogWithTrigger");
53
53
 
54
54
  var _utils = require("./utils");
55
55
 
56
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
56
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
57
57
 
58
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
58
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
59
59
 
60
60
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
61
61
 
@@ -59,9 +59,9 @@ var _utils = require("./utils");
59
59
 
60
60
  var _templateObject;
61
61
 
62
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
62
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
63
 
64
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
64
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
65
 
66
66
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
67
67
 
@@ -104,7 +104,8 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
104
104
  defaultValue: defaultShareContentState,
105
105
  isUsingSplitButton: false,
106
106
  showIntegrationForm: false,
107
- selectedIntegration: null
107
+ selectedIntegration: null,
108
+ tabIndex: 0
108
109
  });
109
110
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closeAndResetDialog", function () {
110
111
  _this.setState({
@@ -149,6 +150,10 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
149
150
  }
150
151
 
151
152
  _this.createAndFireEvent((0, _analytics.shareTabClicked)(subjectId));
153
+
154
+ _this.setState({
155
+ tabIndex: index
156
+ });
152
157
  });
153
158
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getFlags", function () {
154
159
  var formatMessage = _this.props.intl.formatMessage; // The reason for providing message property is that in jira,
@@ -250,7 +255,8 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
250
255
  _this.setState({
251
256
  isDialogOpen: false,
252
257
  showIntegrationForm: false,
253
- selectedIntegration: null
258
+ selectedIntegration: null,
259
+ tabIndex: 0
254
260
  });
255
261
  });
256
262
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleShareSubmit", function (data) {
@@ -450,7 +456,8 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
450
456
  shareIntegrations = _this$props7.shareIntegrations;
451
457
  var style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
452
458
  outline: 'none'
453
- } : undefined; // for performance purposes, we may want to have a loadable content i.e. ShareForm
459
+ } : undefined;
460
+ var footer = (0, _utils.resolveShareFooter)(integrationMode, this.state.tabIndex, customFooter); // for performance purposes, we may want to have a loadable content i.e. ShareForm
454
461
 
455
462
  return /*#__PURE__*/_react.default.createElement(ShareButtonWrapper, {
456
463
  tabIndex: tabIndex,
@@ -466,7 +473,7 @@ var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureComponent
466
473
  copyLink: copyLink,
467
474
  showIntegrationForm: showIntegrationForm,
468
475
  bottomMessage: bottomMessage,
469
- customFooter: customFooter,
476
+ customFooter: footer,
470
477
  loadOptions: loadUserOptions,
471
478
  isSharing: isSharing,
472
479
  shareFormTitle: shareFormTitle,
@@ -71,9 +71,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
71
71
 
72
72
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
73
73
 
74
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
74
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
75
75
 
76
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
76
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
77
77
 
78
78
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
79
79
 
@@ -185,10 +185,14 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
185
185
  shareError = _this$props2.shareError,
186
186
  submitButtonLabel = _this$props2.submitButtonLabel,
187
187
  isDisabled = _this$props2.isDisabled,
188
- isPublicLink = _this$props2.isPublicLink;
188
+ isPublicLink = _this$props2.isPublicLink,
189
+ integrationMode = _this$props2.integrationMode;
189
190
  var shouldShowWarning = shareError && !isSharing;
190
191
  var buttonAppearance = !shouldShowWarning ? 'primary' : 'warning';
191
- var sendLabel = isPublicLink ? _i18n.messages.formSendPublic : _i18n.messages.formSend;
192
+ var tabMode = integrationMode === 'tabs';
193
+ var formPublicLabel = tabMode ? _i18n.messages.formSharePublic : _i18n.messages.formSendPublic;
194
+ var formSendLabel = tabMode ? _i18n.messages.formShare : _i18n.messages.formSend;
195
+ var sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
192
196
  var buttonLabel = shareError ? _i18n.messages.formRetry : sendLabel;
193
197
  var ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : _react.default.Fragment;
194
198
  return /*#__PURE__*/_react.default.createElement(SubmitButtonWrapper, null, /*#__PURE__*/_react.default.createElement(CenterAlignedIconWrapper, null, shouldShowWarning && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
@@ -221,9 +225,13 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
221
225
  return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, productShareType);
222
226
  });
223
227
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeTab", function (tab) {
228
+ var _this$props$onTabChan, _this$props4;
229
+
224
230
  _this.setState({
225
231
  selectedTab: tab
226
232
  });
233
+
234
+ (_this$props$onTabChan = (_this$props4 = _this.props).onTabChange) === null || _this$props$onTabChan === void 0 ? void 0 : _this$props$onTabChan.call(_this$props4, tab);
227
235
  });
228
236
  return _this;
229
237
  }
@@ -231,9 +239,9 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
231
239
  (0, _createClass2.default)(InternalForm, [{
232
240
  key: "componentWillUnmount",
233
241
  value: function componentWillUnmount() {
234
- var _this$props4 = this.props,
235
- onDismiss = _this$props4.onDismiss,
236
- getValues = _this$props4.getValues;
242
+ var _this$props5 = this.props,
243
+ onDismiss = _this$props5.onDismiss,
244
+ getValues = _this$props5.getValues;
237
245
 
238
246
  if (onDismiss) {
239
247
  onDismiss(getValues());
@@ -242,14 +250,11 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
242
250
  }, {
243
251
  key: "render",
244
252
  value: function render() {
245
- var _this2 = this;
246
-
247
- var _this$props5 = this.props,
248
- _this$props5$integrat = _this$props5.integrationMode,
249
- integrationMode = _this$props5$integrat === void 0 ? 'off' : _this$props5$integrat,
250
- shareIntegrations = _this$props5.shareIntegrations,
251
- onTabChange = _this$props5.onTabChange,
252
- handleCloseDialog = _this$props5.handleCloseDialog;
253
+ var _this$props6 = this.props,
254
+ _this$props6$integrat = _this$props6.integrationMode,
255
+ integrationMode = _this$props6$integrat === void 0 ? 'off' : _this$props6$integrat,
256
+ shareIntegrations = _this$props6.shareIntegrations,
257
+ handleCloseDialog = _this$props6.handleCloseDialog;
253
258
 
254
259
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
255
260
  return this.renderShareForm();
@@ -260,11 +265,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
260
265
  if (integrationMode === 'tabs') {
261
266
  return /*#__PURE__*/_react.default.createElement(_tabs.default, {
262
267
  id: "ShareForm-Tabs-Integrations",
263
- onChange: function onChange(index) {
264
- _this2.changeTab(index);
265
-
266
- onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
267
- },
268
+ onChange: this.changeTab,
268
269
  selected: this.state.selectedTab
269
270
  }, /*#__PURE__*/_react.default.createElement(_tabs.TabList, null, /*#__PURE__*/_react.default.createElement(_tabs.Tab, {
270
271
  key: "share-tab-default"
@@ -283,9 +284,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
283
284
  onIntegrationClose: function onIntegrationClose() {
284
285
  return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
285
286
  },
286
- changeTab: function changeTab(index) {
287
- _this2.changeTab(index);
288
- }
287
+ changeTab: this.changeTab
289
288
  })))));
290
289
  }
291
290
 
@@ -37,6 +37,8 @@ var _analytics = require("./analytics");
37
37
 
38
38
  var _IntegrationButton = _interopRequireDefault(require("./IntegrationButton"));
39
39
 
40
+ var _excluded = ["triggerRef"];
41
+
40
42
  var _templateObject, _templateObject2, _templateObject3;
41
43
 
42
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -82,7 +84,7 @@ var SplitButtonDropdown = function SplitButtonDropdown(props) {
82
84
  testId: "split-button-dropdown",
83
85
  trigger: function trigger(_ref2) {
84
86
  var triggerRef = _ref2.triggerRef,
85
- providedProps = (0, _objectWithoutProperties2.default)(_ref2, ["triggerRef"]);
87
+ providedProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
86
88
  return /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({}, providedProps, {
87
89
  ref: triggerRef,
88
90
  iconBefore: /*#__PURE__*/_react.default.createElement(_chevronDown.default, {
@@ -13,9 +13,9 @@ var _userPicker = require("@atlaskit/user-picker");
13
13
 
14
14
  var _version = require("../version.json");
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
 
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
20
  var buildAttributes = function buildAttributes() {
21
21
  var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -17,9 +17,11 @@ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
19
19
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
20
+ var _excluded = ["buttonStyles"];
21
21
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
25
 
24
26
  var MAX_PICKER_HEIGHT = 102;
25
27
  exports.MAX_PICKER_HEIGHT = MAX_PICKER_HEIGHT;
@@ -31,7 +33,7 @@ var StyledButton = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
31
33
  theme: function theme(currentTheme, themeProps) {
32
34
  var _currentTheme = currentTheme(themeProps),
33
35
  buttonStyles = _currentTheme.buttonStyles,
34
- rest = (0, _objectWithoutProperties2.default)(_currentTheme, ["buttonStyles"]);
36
+ rest = (0, _objectWithoutProperties2.default)(_currentTheme, _excluded);
35
37
 
36
38
  return _objectSpread({
37
39
  buttonStyles: _objectSpread(_objectSpread({}, buttonStyles), {}, {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.zIndexAddition = exports.optionDataToUsers = exports.getMenuPortalTargetCurrentHTML = exports.generateSelectZIndex = exports.allowEmails = void 0;
6
+ exports.zIndexAddition = exports.resolveShareFooter = exports.optionDataToUsers = exports.getMenuPortalTargetCurrentHTML = exports.generateSelectZIndex = exports.allowEmails = void 0;
7
7
 
8
8
  var _constants = require("@atlaskit/theme/constants");
9
9
 
@@ -73,4 +73,14 @@ var allowEmails = function allowEmails(config) {
73
73
  return !(config && config.disableSharingToEmails);
74
74
  };
75
75
 
76
- exports.allowEmails = allowEmails;
76
+ exports.allowEmails = allowEmails;
77
+
78
+ var resolveShareFooter = function resolveShareFooter(integrationMode, tabIndex, customFooter) {
79
+ if (customFooter) {
80
+ if (integrationMode !== 'tabs' || tabIndex === 0) {
81
+ return customFooter;
82
+ }
83
+ }
84
+ };
85
+
86
+ exports.resolveShareFooter = resolveShareFooter;
package/dist/cjs/i18n.js CHANGED
@@ -18,11 +18,21 @@ var messages = (0, _reactIntlNext.defineMessages)({
18
18
  defaultMessage: 'Send',
19
19
  description: 'Label for Share form submit button.'
20
20
  },
21
+ formShare: {
22
+ id: 'fabric.elements.share.form.share',
23
+ defaultMessage: 'Share',
24
+ description: 'Label for Share form submit button.'
25
+ },
21
26
  formSendPublic: {
22
27
  id: 'fabric.elements.share.form.public.send',
23
28
  defaultMessage: 'Send public link',
24
29
  description: 'Label for Share form submit button when link is public.'
25
30
  },
31
+ formSharePublic: {
32
+ id: 'fabric.elements.share.form.public.share',
33
+ defaultMessage: 'Share public link',
34
+ description: 'Label for Share form submit button when link is public.'
35
+ },
26
36
  formRetry: {
27
37
  id: 'fabric.elements.share.form.retry',
28
38
  defaultMessage: 'Retry',
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "3.0.5"
3
+ "version": "3.0.9"
4
4
  }
@@ -47,7 +47,7 @@ function LazyShareForm(props) {
47
47
  defaultValue,
48
48
  showTitle
49
49
  } = props;
50
- const footer = /*#__PURE__*/React.createElement("div", null, bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter));
50
+ const footer = /*#__PURE__*/React.createElement("div", null, bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && selectedIntegration === null && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter));
51
51
  return /*#__PURE__*/React.createElement(ShareFormWrapper, {
52
52
  footer: footer // form title will be determined by `title` and `showTitle` prop passed to `ShareForm`,
53
53
  // so we don't need to show title via ShareFormWrapper
@@ -17,7 +17,7 @@ import { cancelShare, CHANNEL_ID, copyLinkButtonClicked, formShareSubmitted, scr
17
17
  import LazyShareFormLazy from './LazyShareForm/lazy';
18
18
  import ShareButton from './ShareButton';
19
19
  import SplitButton from './SplitButton';
20
- import { generateSelectZIndex } from './utils';
20
+ import { generateSelectZIndex, resolveShareFooter } from './utils';
21
21
  const ShareButtonWrapper = styled.div`
22
22
  display: inline-flex;
23
23
  outline: none;
@@ -47,7 +47,8 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
47
47
  defaultValue: defaultShareContentState,
48
48
  isUsingSplitButton: false,
49
49
  showIntegrationForm: false,
50
- selectedIntegration: null
50
+ selectedIntegration: null,
51
+ tabIndex: 0
51
52
  });
52
53
 
53
54
  _defineProperty(this, "closeAndResetDialog", () => {
@@ -96,6 +97,9 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
96
97
  }
97
98
 
98
99
  this.createAndFireEvent(shareTabClicked(subjectId));
100
+ this.setState({
101
+ tabIndex: index
102
+ });
99
103
  });
100
104
 
101
105
  _defineProperty(this, "getFlags", () => {
@@ -209,7 +213,8 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
209
213
  this.setState({
210
214
  isDialogOpen: false,
211
215
  showIntegrationForm: false,
212
- selectedIntegration: null
216
+ selectedIntegration: null,
217
+ tabIndex: 0
213
218
  });
214
219
  });
215
220
 
@@ -410,7 +415,8 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
410
415
  } = this.props;
411
416
  const style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
412
417
  outline: 'none'
413
- } : undefined; // for performance purposes, we may want to have a loadable content i.e. ShareForm
418
+ } : undefined;
419
+ const footer = resolveShareFooter(integrationMode, this.state.tabIndex, customFooter); // for performance purposes, we may want to have a loadable content i.e. ShareForm
414
420
 
415
421
  return /*#__PURE__*/React.createElement(ShareButtonWrapper, {
416
422
  tabIndex: tabIndex,
@@ -425,7 +431,7 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
425
431
  copyLink: copyLink,
426
432
  showIntegrationForm: showIntegrationForm,
427
433
  bottomMessage: bottomMessage,
428
- customFooter: customFooter,
434
+ customFooter: footer,
429
435
  loadOptions: loadUserOptions,
430
436
  isSharing: isSharing,
431
437
  shareFormTitle: shareFormTitle,
@@ -137,11 +137,15 @@ class InternalForm extends React.PureComponent {
137
137
  shareError,
138
138
  submitButtonLabel,
139
139
  isDisabled,
140
- isPublicLink
140
+ isPublicLink,
141
+ integrationMode
141
142
  } = this.props;
142
143
  const shouldShowWarning = shareError && !isSharing;
143
144
  const buttonAppearance = !shouldShowWarning ? 'primary' : 'warning';
144
- const sendLabel = isPublicLink ? messages.formSendPublic : messages.formSend;
145
+ const tabMode = integrationMode === 'tabs';
146
+ const formPublicLabel = tabMode ? messages.formSharePublic : messages.formSendPublic;
147
+ const formSendLabel = tabMode ? messages.formShare : messages.formSend;
148
+ const sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
145
149
  const buttonLabel = shareError ? messages.formRetry : sendLabel;
146
150
  const ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : React.Fragment;
147
151
  return /*#__PURE__*/React.createElement(SubmitButtonWrapper, null, /*#__PURE__*/React.createElement(CenterAlignedIconWrapper, null, shouldShowWarning && /*#__PURE__*/React.createElement(Tooltip, {
@@ -179,9 +183,12 @@ class InternalForm extends React.PureComponent {
179
183
  });
180
184
 
181
185
  _defineProperty(this, "changeTab", tab => {
186
+ var _this$props$onTabChan, _this$props;
187
+
182
188
  this.setState({
183
189
  selectedTab: tab
184
190
  });
191
+ (_this$props$onTabChan = (_this$props = this.props).onTabChange) === null || _this$props$onTabChan === void 0 ? void 0 : _this$props$onTabChan.call(_this$props, tab);
185
192
  });
186
193
  }
187
194
 
@@ -200,7 +207,6 @@ class InternalForm extends React.PureComponent {
200
207
  const {
201
208
  integrationMode = 'off',
202
209
  shareIntegrations,
203
- onTabChange,
204
210
  handleCloseDialog
205
211
  } = this.props;
206
212
 
@@ -213,10 +219,7 @@ class InternalForm extends React.PureComponent {
213
219
  if (integrationMode === 'tabs') {
214
220
  return /*#__PURE__*/React.createElement(Tabs, {
215
221
  id: "ShareForm-Tabs-Integrations",
216
- onChange: index => {
217
- this.changeTab(index);
218
- onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
219
- },
222
+ onChange: this.changeTab,
220
223
  selected: this.state.selectedTab
221
224
  }, /*#__PURE__*/React.createElement(TabList, null, /*#__PURE__*/React.createElement(Tab, {
222
225
  key: `share-tab-default`
@@ -233,9 +236,7 @@ class InternalForm extends React.PureComponent {
233
236
  }, /*#__PURE__*/React.createElement(FormWrapper, null, /*#__PURE__*/React.createElement(IntegrationForm, {
234
237
  Content: firstIntegration.Content,
235
238
  onIntegrationClose: () => handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog(),
236
- changeTab: index => {
237
- this.changeTab(index);
238
- }
239
+ changeTab: this.changeTab
239
240
  })))));
240
241
  }
241
242
 
@@ -49,4 +49,11 @@ export const optionDataToUsers = optionDataArray => optionDataArray.map(optionDa
49
49
  };
50
50
  }
51
51
  });
52
- export const allowEmails = config => !(config && config.disableSharingToEmails);
52
+ export const allowEmails = config => !(config && config.disableSharingToEmails);
53
+ export const resolveShareFooter = (integrationMode, tabIndex, customFooter) => {
54
+ if (customFooter) {
55
+ if (integrationMode !== 'tabs' || tabIndex === 0) {
56
+ return customFooter;
57
+ }
58
+ }
59
+ };
@@ -10,11 +10,21 @@ export const messages = defineMessages({
10
10
  defaultMessage: 'Send',
11
11
  description: 'Label for Share form submit button.'
12
12
  },
13
+ formShare: {
14
+ id: 'fabric.elements.share.form.share',
15
+ defaultMessage: 'Share',
16
+ description: 'Label for Share form submit button.'
17
+ },
13
18
  formSendPublic: {
14
19
  id: 'fabric.elements.share.form.public.send',
15
20
  defaultMessage: 'Send public link',
16
21
  description: 'Label for Share form submit button when link is public.'
17
22
  },
23
+ formSharePublic: {
24
+ id: 'fabric.elements.share.form.public.share',
25
+ defaultMessage: 'Share public link',
26
+ description: 'Label for Share form submit button when link is public.'
27
+ },
18
28
  formRetry: {
19
29
  id: 'fabric.elements.share.form.retry',
20
30
  defaultMessage: 'Retry',
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "3.0.5"
3
+ "version": "3.0.9"
4
4
  }
@@ -2,9 +2,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
4
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
 
9
9
  import { utils } from '@atlaskit/util-service-support';
10
10
  export var DEFAULT_SHARE_PATH = 'share';
@@ -1,5 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+ var _excluded = ["text", "textColor", "IntegrationIcon"];
3
4
 
4
5
  var _templateObject, _templateObject2;
5
6
 
@@ -16,7 +17,7 @@ var IntegrationButton = function IntegrationButton(props) {
16
17
  var text = props.text,
17
18
  textColor = props.textColor,
18
19
  IntegrationIcon = props.IntegrationIcon,
19
- restProps = _objectWithoutProperties(props, ["text", "textColor", "IntegrationIcon"]);
20
+ restProps = _objectWithoutProperties(props, _excluded);
20
21
 
21
22
  return /*#__PURE__*/React.createElement(Button, restProps, /*#__PURE__*/React.createElement(IntegrationButtonCopyWrapper, {
22
23
  theme: {
@@ -42,7 +42,7 @@ function LazyShareForm(props) {
42
42
  shareError = props.shareError,
43
43
  defaultValue = props.defaultValue,
44
44
  showTitle = props.showTitle;
45
- var footer = /*#__PURE__*/React.createElement("div", null, bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter));
45
+ var footer = /*#__PURE__*/React.createElement("div", null, bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && selectedIntegration === null && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter));
46
46
  return /*#__PURE__*/React.createElement(ShareFormWrapper, {
47
47
  footer: footer // form title will be determined by `title` and `showTitle` prop passed to `ShareForm`,
48
48
  // so we don't need to show title via ShareFormWrapper
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import React, { useMemo } from 'react';
8
8
  import { injectIntl, IntlProvider } from 'react-intl-next';
@@ -1,10 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["text"];
3
4
  import React from 'react';
4
5
  import Button from '@atlaskit/button/custom-theme-button';
5
6
  export var ShareButton = /*#__PURE__*/React.forwardRef(function ShareButton(_ref, ref) {
6
7
  var text = _ref.text,
7
- props = _objectWithoutProperties(_ref, ["text"]);
8
+ props = _objectWithoutProperties(_ref, _excluded);
8
9
 
9
10
  return /*#__PURE__*/React.createElement(Button, _extends({
10
11
  ref: ref,
@@ -8,9 +8,9 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
 
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
12
 
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
14
 
15
15
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
16
16
 
@@ -10,9 +10,9 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
10
10
 
11
11
  var _templateObject;
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
16
 
17
17
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
18
 
@@ -35,7 +35,7 @@ import { cancelShare, CHANNEL_ID, copyLinkButtonClicked, formShareSubmitted, scr
35
35
  import LazyShareFormLazy from './LazyShareForm/lazy';
36
36
  import ShareButton from './ShareButton';
37
37
  import SplitButton from './SplitButton';
38
- import { generateSelectZIndex } from './utils';
38
+ import { generateSelectZIndex, resolveShareFooter } from './utils';
39
39
  var ShareButtonWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n outline: none;\n"])));
40
40
  export var defaultShareContentState = {
41
41
  users: [],
@@ -74,7 +74,8 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
74
74
  defaultValue: defaultShareContentState,
75
75
  isUsingSplitButton: false,
76
76
  showIntegrationForm: false,
77
- selectedIntegration: null
77
+ selectedIntegration: null,
78
+ tabIndex: 0
78
79
  });
79
80
 
80
81
  _defineProperty(_assertThisInitialized(_this), "closeAndResetDialog", function () {
@@ -122,6 +123,10 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
122
123
  }
123
124
 
124
125
  _this.createAndFireEvent(shareTabClicked(subjectId));
126
+
127
+ _this.setState({
128
+ tabIndex: index
129
+ });
125
130
  });
126
131
 
127
132
  _defineProperty(_assertThisInitialized(_this), "getFlags", function () {
@@ -228,7 +233,8 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
228
233
  _this.setState({
229
234
  isDialogOpen: false,
230
235
  showIntegrationForm: false,
231
- selectedIntegration: null
236
+ selectedIntegration: null,
237
+ tabIndex: 0
232
238
  });
233
239
  });
234
240
 
@@ -436,7 +442,8 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
436
442
  shareIntegrations = _this$props7.shareIntegrations;
437
443
  var style = typeof tabIndex !== 'undefined' && tabIndex >= 0 ? {
438
444
  outline: 'none'
439
- } : undefined; // for performance purposes, we may want to have a loadable content i.e. ShareForm
445
+ } : undefined;
446
+ var footer = resolveShareFooter(integrationMode, this.state.tabIndex, customFooter); // for performance purposes, we may want to have a loadable content i.e. ShareForm
440
447
 
441
448
  return /*#__PURE__*/React.createElement(ShareButtonWrapper, {
442
449
  tabIndex: tabIndex,
@@ -452,7 +459,7 @@ export var ShareDialogWithTriggerInternal = /*#__PURE__*/function (_React$PureCo
452
459
  copyLink: copyLink,
453
460
  showIntegrationForm: showIntegrationForm,
454
461
  bottomMessage: bottomMessage,
455
- customFooter: customFooter,
462
+ customFooter: footer,
456
463
  loadOptions: loadUserOptions,
457
464
  isSharing: isSharing,
458
465
  shareFormTitle: shareFormTitle,
@@ -10,9 +10,9 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
10
10
 
11
11
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
16
 
17
17
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
18
 
@@ -136,10 +136,14 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
136
136
  shareError = _this$props2.shareError,
137
137
  submitButtonLabel = _this$props2.submitButtonLabel,
138
138
  isDisabled = _this$props2.isDisabled,
139
- isPublicLink = _this$props2.isPublicLink;
139
+ isPublicLink = _this$props2.isPublicLink,
140
+ integrationMode = _this$props2.integrationMode;
140
141
  var shouldShowWarning = shareError && !isSharing;
141
142
  var buttonAppearance = !shouldShowWarning ? 'primary' : 'warning';
142
- var sendLabel = isPublicLink ? messages.formSendPublic : messages.formSend;
143
+ var tabMode = integrationMode === 'tabs';
144
+ var formPublicLabel = tabMode ? messages.formSharePublic : messages.formSendPublic;
145
+ var formSendLabel = tabMode ? messages.formShare : messages.formSend;
146
+ var sendLabel = isPublicLink ? formPublicLabel : formSendLabel;
143
147
  var buttonLabel = shareError ? messages.formRetry : sendLabel;
144
148
  var ButtonLabelWrapper = buttonAppearance === 'warning' ? 'strong' : React.Fragment;
145
149
  return /*#__PURE__*/React.createElement(SubmitButtonWrapper, null, /*#__PURE__*/React.createElement(CenterAlignedIconWrapper, null, shouldShowWarning && /*#__PURE__*/React.createElement(Tooltip, {
@@ -174,9 +178,13 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
174
178
  });
175
179
 
176
180
  _defineProperty(_assertThisInitialized(_this), "changeTab", function (tab) {
181
+ var _this$props$onTabChan, _this$props4;
182
+
177
183
  _this.setState({
178
184
  selectedTab: tab
179
185
  });
186
+
187
+ (_this$props$onTabChan = (_this$props4 = _this.props).onTabChange) === null || _this$props$onTabChan === void 0 ? void 0 : _this$props$onTabChan.call(_this$props4, tab);
180
188
  });
181
189
 
182
190
  return _this;
@@ -185,9 +193,9 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
185
193
  _createClass(InternalForm, [{
186
194
  key: "componentWillUnmount",
187
195
  value: function componentWillUnmount() {
188
- var _this$props4 = this.props,
189
- onDismiss = _this$props4.onDismiss,
190
- getValues = _this$props4.getValues;
196
+ var _this$props5 = this.props,
197
+ onDismiss = _this$props5.onDismiss,
198
+ getValues = _this$props5.getValues;
191
199
 
192
200
  if (onDismiss) {
193
201
  onDismiss(getValues());
@@ -196,14 +204,11 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
196
204
  }, {
197
205
  key: "render",
198
206
  value: function render() {
199
- var _this2 = this;
200
-
201
- var _this$props5 = this.props,
202
- _this$props5$integrat = _this$props5.integrationMode,
203
- integrationMode = _this$props5$integrat === void 0 ? 'off' : _this$props5$integrat,
204
- shareIntegrations = _this$props5.shareIntegrations,
205
- onTabChange = _this$props5.onTabChange,
206
- handleCloseDialog = _this$props5.handleCloseDialog;
207
+ var _this$props6 = this.props,
208
+ _this$props6$integrat = _this$props6.integrationMode,
209
+ integrationMode = _this$props6$integrat === void 0 ? 'off' : _this$props6$integrat,
210
+ shareIntegrations = _this$props6.shareIntegrations,
211
+ handleCloseDialog = _this$props6.handleCloseDialog;
207
212
 
208
213
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
209
214
  return this.renderShareForm();
@@ -214,11 +219,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
214
219
  if (integrationMode === 'tabs') {
215
220
  return /*#__PURE__*/React.createElement(Tabs, {
216
221
  id: "ShareForm-Tabs-Integrations",
217
- onChange: function onChange(index) {
218
- _this2.changeTab(index);
219
-
220
- onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
221
- },
222
+ onChange: this.changeTab,
222
223
  selected: this.state.selectedTab
223
224
  }, /*#__PURE__*/React.createElement(TabList, null, /*#__PURE__*/React.createElement(Tab, {
224
225
  key: "share-tab-default"
@@ -237,9 +238,7 @@ var InternalForm = /*#__PURE__*/function (_React$PureComponent) {
237
238
  onIntegrationClose: function onIntegrationClose() {
238
239
  return handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog();
239
240
  },
240
- changeTab: function changeTab(index) {
241
- _this2.changeTab(index);
242
- }
241
+ changeTab: this.changeTab
243
242
  })))));
244
243
  }
245
244
 
@@ -1,6 +1,7 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
+ var _excluded = ["triggerRef"];
4
5
 
5
6
  var _templateObject, _templateObject2, _templateObject3;
6
7
 
@@ -52,7 +53,7 @@ var SplitButtonDropdown = function SplitButtonDropdown(props) {
52
53
  testId: "split-button-dropdown",
53
54
  trigger: function trigger(_ref2) {
54
55
  var triggerRef = _ref2.triggerRef,
55
- providedProps = _objectWithoutProperties(_ref2, ["triggerRef"]);
56
+ providedProps = _objectWithoutProperties(_ref2, _excluded);
56
57
 
57
58
  return /*#__PURE__*/React.createElement(Button, _extends({}, providedProps, {
58
59
  ref: triggerRef,
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import { isEmail, isTeam, isUser } from '@atlaskit/user-picker';
8
8
  import { name as packageName, version as packageVersion } from '../version.json';
@@ -1,10 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["buttonStyles"];
4
5
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
7
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
9
 
9
10
  import React from 'react';
10
11
  import Button from '@atlaskit/button/custom-theme-button';
@@ -16,7 +17,7 @@ var StyledButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
17
  theme: function theme(currentTheme, themeProps) {
17
18
  var _currentTheme = currentTheme(themeProps),
18
19
  buttonStyles = _currentTheme.buttonStyles,
19
- rest = _objectWithoutProperties(_currentTheme, ["buttonStyles"]);
20
+ rest = _objectWithoutProperties(_currentTheme, _excluded);
20
21
 
21
22
  return _objectSpread({
22
23
  buttonStyles: _objectSpread(_objectSpread({}, buttonStyles), {}, {
@@ -53,4 +53,11 @@ export var optionDataToUsers = function optionDataToUsers(optionDataArray) {
53
53
  };
54
54
  export var allowEmails = function allowEmails(config) {
55
55
  return !(config && config.disableSharingToEmails);
56
+ };
57
+ export var resolveShareFooter = function resolveShareFooter(integrationMode, tabIndex, customFooter) {
58
+ if (customFooter) {
59
+ if (integrationMode !== 'tabs' || tabIndex === 0) {
60
+ return customFooter;
61
+ }
62
+ }
56
63
  };
package/dist/esm/i18n.js CHANGED
@@ -10,11 +10,21 @@ export var messages = defineMessages({
10
10
  defaultMessage: 'Send',
11
11
  description: 'Label for Share form submit button.'
12
12
  },
13
+ formShare: {
14
+ id: 'fabric.elements.share.form.share',
15
+ defaultMessage: 'Share',
16
+ description: 'Label for Share form submit button.'
17
+ },
13
18
  formSendPublic: {
14
19
  id: 'fabric.elements.share.form.public.send',
15
20
  defaultMessage: 'Send public link',
16
21
  description: 'Label for Share form submit button when link is public.'
17
22
  },
23
+ formSharePublic: {
24
+ id: 'fabric.elements.share.form.public.share',
25
+ defaultMessage: 'Share public link',
26
+ description: 'Label for Share form submit button when link is public.'
27
+ },
18
28
  formRetry: {
19
29
  id: 'fabric.elements.share.form.retry',
20
30
  defaultMessage: 'Retry',
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "3.0.5"
3
+ "version": "3.0.9"
4
4
  }
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { OptionData } from '@atlaskit/user-picker';
3
3
  import { ConfigResponse, User } from '../types';
4
+ import type { IntegrationMode } from '../types/ShareEntities';
4
5
  /**
5
6
  * We need to generate correct zIndex, for the PopUp and for the Select inside it.
6
7
  * The PopUp's defaults to `layers.layer()` from @atlaskit/theme. But if user provides
@@ -16,3 +17,4 @@ export declare const generateSelectZIndex: (dialogZIndex?: number | undefined) =
16
17
  export declare const getMenuPortalTargetCurrentHTML: (ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined) => HTMLDivElement | null;
17
18
  export declare const optionDataToUsers: (optionDataArray: OptionData[]) => User[];
18
19
  export declare const allowEmails: (config?: ConfigResponse | undefined) => boolean;
20
+ export declare const resolveShareFooter: (integrationMode: IntegrationMode | undefined, tabIndex: number, customFooter: React.ReactNode) => React.ReactNode | undefined;
@@ -9,11 +9,21 @@ export declare const messages: {
9
9
  defaultMessage: string;
10
10
  description: string;
11
11
  };
12
+ formShare: {
13
+ id: string;
14
+ defaultMessage: string;
15
+ description: string;
16
+ };
12
17
  formSendPublic: {
13
18
  id: string;
14
19
  defaultMessage: string;
15
20
  description: string;
16
21
  };
22
+ formSharePublic: {
23
+ id: string;
24
+ defaultMessage: string;
25
+ description: string;
26
+ };
17
27
  formRetry: {
18
28
  id: string;
19
29
  defaultMessage: string;
@@ -40,4 +40,5 @@ export declare type ShareDialogWithTriggerStates = {
40
40
  isUsingSplitButton: boolean;
41
41
  showIntegrationForm: boolean;
42
42
  selectedIntegration: Integration | null;
43
+ tabIndex: number;
43
44
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/share",
3
- "version": "3.0.5",
3
+ "version": "3.0.9",
4
4
  "description": "Fabric Share Element",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"